Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

JAVA 애플리케이션에서 SAP RFC 함수 모듈 RFC_SYSTEM_INFO 호출을 위한 사용자 권한(S_RFC) 설정 가이드


Java Connector 사용 시 필요한 기본 권한

Java Connector(JCo)를 통해 SAP 시스템에 연결하는 경우, 함수 모듈의 메타데이터를 읽어오기 위한 최소한의 권한이 반드시 필요합니다. 이때 사용되는 것이 S_RFC 권한 오브젝트로, 모든 RFC 호출에 대한 접근 제어를 담당합니다.

S_RFC 권한 오브젝트의 주요 필드

  • RFC_TYPE: 보호하려는 RFC 오브젝트의 유형입니다. 'FUGR'(함수 그룹) 또는 'FUNC'(함수 모듈) 값을 지정할 수 있습니다.
  • RFC_NAME: 보호 대상 RFC의 이름입니다. 이 필드에는 함수 그룹 또는 함수 모듈의 이름이 입력됩니다.
  • ACTVT: 활동(Activity) 유형입니다.

ACTVT 필드는 일반적으로 16(실행/Execute) 값을 가집니다.

권한 설정 예시

예를 들어, 특정 사용자가 'ABCD'라는 함수 그룹에 속한 함수 모듈들을 원격으로 호출할 수 있게 하려면 아래와 같은 권한 구성이 필요합니다.

활동(Activity)16
보호 대상 RFC 오브젝트 이름ABCD
보호 대상 RFC 오브젝트 유형FUGR

ABAP에서는 다음과 같이 AUTHORITY_CHECK_RFC 함수를 호출하여 권한 보유 여부를 사전에 점검할 수 있습니다.

CALL FUNCTION 'AUTHORITY_CHECK_RFC'
    EXPORTING
      USERID = 'USER'
      FUNCTIONGROUP = 'ABCD'
    EXCEPTIONS
RFC_NO_AUTHORITY = 1.

사용자에게 권한 오브젝트 할당하기

권한 오브젝트를 사용자에게 할당하려면 트랜잭션 코드 SU01(사용자 관리)을 사용합니다.

JAVA 애플리케이션에서 SAP RFC 함수 모듈 RFC_SYSTEM_INFO 호출을 위한 사용자 권한(S_RFC) 설정 가이드

그 외에도 트랜잭션 SU03으로 권한(Authorization)을 관리하거나, SU21로 권한 오브젝트 자체를 생성·수정할 수 있습니다.

JAVA 애플리케이션에서 SAP RFC 함수 모듈 RFC_SYSTEM_INFO 호출을 위한 사용자 권한(S_RFC) 설정 가이드

함수 모듈의 원격 호출 가능(Remote Enabled) 설정

마지막으로 주의할 점은, Java에서 호출하려는 SAP 함수 모듈이 반드시 '원격 호출 가능(Remote Enabled Module)' 속성을 가져야 한다는 것입니다. 이 설정은 트랜잭션 코드 SE37(함수 빌더)에서 확인하고 변경할 수 있습니다.

JAVA 애플리케이션에서 SAP RFC 함수 모듈 RFC_SYSTEM_INFO 호출을 위한 사용자 권한(S_RFC) 설정 가이드

참고로 본문의 예시인 RFC_SYSTEM_INFO 함수 모듈은 SYST 함수 그룹에 속해 있으므로, 해당 모듈을 호출하려면 S_RFC 권한 오브젝트의 RFC_NAME 필드에 'SYST'를 지정해야 합니다.