SAP에서 BAPI 호출 활동

런타임 중에 SAP에서 BAPI 호출 활동을 사용하여 지정된 SAP 엔드포인트에서 원격으로 사용 가능한 BAPI(Business Object Method)를 호출할 수 있습니다.

주: Studio에서 SAP 시스템에 연결하려면 Window 개발 시스템에 SAP Jar 파일 및 DLL을 다운로드하여 설치해야 합니다. 자세한 정보는 SAP Jar 파일과 DLL 다운로드 및 설치를 참조하십시오.

오케스트레이션에 SAP에서 BAPI 호출 활동 추가

  1. 오케스트레이션을 작성하거나 여십시오. 오케스트레이션의 그래픽 표시가 나타납니다.
  2. 활동 탭을 선택하고 SAP 폴더를 펼치십시오.
  3. SAP에서 BAPI 호출 활동을 오케스트레이션에 끌어 놓으십시오.
  4. 활동을 선택하십시오. 점검 목록이 표시됩니다.

SAP 엔드포인트 작성, 선택 또는 편집

  1. 점검 목록에서 엔드포인트 선택 태스크를 클릭하고 다음 조치 중 하나를 선택하십시오.
    • 기존 엔드포인트를 선택하십시오.
      1. 찾아보기를 선택하십시오. 프로젝트 탐색기가 표시됩니다.
      2. 기존 엔드포인트를 선택하고 확인을 클릭하십시오. 활동 구성 프로시저로 이동하십시오.
    • 기존 엔드포인트를 선택하고 편집하십시오.
      1. 찾아보기를 선택하십시오. 프로젝트 탐색기가 표시됩니다.
      2. 기존 엔드포인트를 선택하고 확인을 클릭하십시오.
      3. 편집을 클릭하십시오. 엔드포인트 편집 분할창이 표시됩니다.
    • 새로 작성을 선택하여 새 엔드포인트를 작성하십시오. 엔드포인트 작성 패널이 표시됩니다.
  2. SAP 엔드포인트를 작성 또는 편집하십시오.

활동 구성

  1. 점검 목록에서 구성 태스크를 선택하십시오. 구성 패널이 표시됩니다.
  2. 오브젝트 이름 필드에서 찾아보기...를 클릭하십시오. BAPI 목록 대화 상자가 표시됩니다.
  3. 비즈니스 오브젝트를 검색하십시오. 목록에서 비즈니스 오브젝트를 클릭하고 비즈니스 오브젝트 이름의 시작 문자를 입력하십시오.
  4. 비즈니스 오브젝트를 펼쳐 연관된 BAPI 메소드를 확인하십시오.
  5. 비즈니스 오브젝트를 선택하고 확인을 클릭하십시오.
  6. 다음 트랜잭션 옵션 중 하나를 선택하십시오.
    • 아무것도 하지 않음(BAPI가 직접 처리하는 트랜잭션) - 런타임 중에 BAPI를 호출하는 통합 어플라이언스가 트랜잭션 처리를 수행하지 않습니다. 트랜잭션이 BAPI와 연관되어 있으면 BAPI가 트랜잭션을 완벽하게 처리해야 합니다.
    • 완료 후 트랜잭션 커미트 -  런타임 중에 통합 어플라이언스가 BAPI를 호출하고 SAP 시스템에서 리턴 메시지를 기다립니다. SAP 시스템에서 리턴되는 메시지의 리턴 코드에 따라 SAP 시스템에서 트랜잭션이 커미트 또는 롤백되도록 요청하는 다른 메시지를 통합 어플라이언스가 전송하는지 여부가 결정됩니다.
      • BAPI에서 다시 전달되는 리턴 코드가 성공을 나타낼 경우, 통합 어플라이언스는 SAP 시스템에서 트랜잭션을 커미트하도록 요청하는 다른 메시지를 전송한 직후에 오케스트레이션의 다음 활동을 처리합니다.
      • BAPI에서 다시 전달되는 리턴 코드가 실패를 나타낼 경우, 통합 어플라이언스는 SAP 시스템에 롤백 요청을 전송한 직후에 오케스트레이션의 다음 활동을 처리합니다.
    • 트랜잭션 커미트 및 완료 시 대기 - 런타임 중에 통합 어플라이언스가 BAPI를 호출하고 SAP 시스템에서 리턴되는 메시지를 대기합니다. SAP 시스템에서 리턴되는 메시지의 리턴 코드에 따라 SAP 시스템에서 트랜잭션이 커미트 또는 롤백되도록 요청하는 다른 메시지를 통합 어플라이언스가 전송하는지 여부가 결정됩니다.
      • BAPI에서 다시 전달되는 리턴 코드가 성공을 나타낼 경우, 통합 어플라이언스는 SAP 시스템에서 트랜잭션을 커미트하도록 요청하는 다른 메시지를 전송합니다. 오케스트레이션은 SAP 시스템이 오케스트레이션의 다음 활동을 처리하기 전에 트랜잭션이 커미트되었다는 내용의 두 번째 메시지를 전송할 때까지 기다립니다.
      • BAPI에서 다시 전달되는 리턴 코드가 실패를 나타낼 경우, 통합 어플라이언스는 SAP 시스템에 롤백 요청을 전송합니다. 오케스트레이션은 SAP 시스템이 오케스트레이션의 다음 활동을 처리하기 전에 트랜잭션 롤백이 발생했다는 내용의 두 번째 메시지를 전송할 때까지 기다립니다.

재시도 옵션 지정

  1. 점검 목록에서 재시도 태스크를 선택하십시오. 재시도 패널이 표시됩니다.
  2. SAP 시스템에 연결하는 데 사용할 재시도 옵션을 구성하십시오. 다음 표에서는 SAP 시스템에 연결하는 데 사용할 재시도 옵션에 대해 설명합니다. 
    재시도 옵션 설명
    1) 각 재시도 사이에 __초 동안 대기합니다. 통합 어플라이언스가 SAP 시스템과의 연결을 설정하기 이전에 대기하는 시간(초)을 지정합니다.
    2) 실패 전에 ___번 연결을 시도합니다. 오류가 발생하여 현재 오케스트레이션 작업 처리가 중지되기 전에 통합 어플라이언스가 SAP 시스템과의 연결을 설정하려고 시도하는 최대 재시도 횟수를 지정합니다. SAP에서 BAPI 호출 활동이 포함된 오케스트레이션을 배치한 상태에서 통합 어플라이언스가 지정된 SAP 시스템에 연결할 수 없는 경우, 통합 어플라이언스는 재시도 횟수 값에 도달할 때까지 시스템 및 오케스트레이션 로그에 연결 오류를 경고로 로그합니다. 재시도 횟수에 도달하면 통합 어플라이언스가 시스템 및 오케스트레이션 로그에 오류를 로그하고 현재 오케스트레이션 작업 처리를 중지합니다.예를 들어, 재시도 횟수를 3으로 설정한 경우 첫 번째, 두 번째 및 세 번째 연결 오류가 시스템 로그에 경고로 나타납니다. 통합 어플라이언스가 네 번째 연결 오류를 오류로 로그하고 현재 오케스트레이션 작업 처리를 중지합니다.

활동의 입력 맵핑

  1. 점검 목록에서 입력 맵핑 태스크를 선택하십시오. BAPI의 입력 매개변수에서 생성된 XML 스키마가 활동으로 패널의 request 입력 매개변수 아래에 노드로 표시됩니다. 또한 BAPI에 테이블이 포함되어 있으면 BAPI의 테이블을 나타내는 XML 스키마가 활동으로 패널의 request 입력 매개변수 아래에 노드로 표시됩니다.
  2. 오케스트레이션 변수와 BAPI 입력 매개변수 및 테이블 사이의 맵을 작성하십시오. 맵핑에 대한 지시사항은 맵핑 작성을 참조하십시오.

    런타임 중에 BAPI 입력 매개변수 또는 테이블의 필수 요소에 값을 제공해야 합니다. 요소에 기본값을 지정하거나 요소를 입력 노드와 연결하여 값을 제공할 수 있습니다. 런타임 시 필수 요소의 값을 제공하지 않으면, 런타임 중에 활동에서 WMC(Web Management Console)가 보고하는 예외가 발생합니다. 런타임 시에 BAPI 입력 매개변수 또는 테이블의 선택적 요소에 값을 제공하지 않아도 런타임 중에 예외가 발생하지 않습니다.

활동의 출력 맵핑

  1. 점검 목록에서 출력 맵핑 태스크를 선택하십시오. BAPI의 리턴 유형에서 생성된 XML 스키마가 활동에서 분할창의 response 출력 매개변수 아래에 노드로 표시됩니다. 또한 BAPI에 테이블이 포함되어 있으면 이 테이블을 나타내는 XML 스키마가 활동에서 분할창의 response 노드 아래에 노드로 표시됩니다.
  2. BAPI 출력 매개변수 및 테이블과 오케스트레이션 변수 사이의 맵을 작성하십시오. 맵핑에 대한 지시사항은 맵핑 작성을 참조하십시오.

SAP 오케스트레이션 배치에 대한 참고

WMC를 사용하여 SAP 활동에 오케스트레이션을 배치하려면, 먼저 통합 어플라이언스에서 SAP 시스템과의 연결을 설정할 수 있어야 합니다. 통합 어플라이언스에서 SAP 시스템과의 연결을 설정할 수 없는 경우 오케스트레이션을 배치할 수 없습니다.