SAP의 BAPI에 대한 작업
BAPI(비즈니스 애플리케이션 프로그래밍 인터페이스)는 외부 프로세스에서 호출할 수 있는 SAP 비즈니스 개체의 방법입니다. BAPI는 SAP 시스템의 트랜잭션입니다.
mySAP Business Suite용 Microsoft BizTalk 어댑터는 아웃바운드 방향으로 BAPI 호출을 지원합니다. 다음과 같은 두 가지 방법으로 BAPI를 표시합니다.
RFC로. 적절한 RFC를 호출하여 BAPI를 직접 호출할 수 있습니다.
비즈니스 개체의 메서드입니다. 어댑터는 어댑터 서비스 BizTalk 프로젝트 추가 기능 사용 또는 어댑터 서비스 참조 Visual Studio 플러그 인 추가 기능을 사용할 때 메타데이터를 검색하는 데 도움이 되도록 비즈니스 개체의 방법으로 BAPI를 표시합니다.
중요
어댑터에서 BAPI를 RFC 또는 비즈니스 개체의 방법으로 호출할 수 있습니다. 그러나 어댑터에서 BAPI를 호출하는 방법에 관계없이 항상 RFC 인터페이스를 통해 SAP에서 BAPI를 호출합니다.
어댑터는 BAPI 트랜잭션을 지원합니다. SAP의 BAPI 트랜잭션 모델을 사용하면 사용자가 여러 BAPI를 하나의 LUW(논리 작업 단위)로 결합할 수 있습니다. SAP LUW는 데이터베이스 업데이트를 포함하여 트랜잭션과 관련된 모든 단계로 구성됩니다.
이 섹션의 topics BAPI가 비즈니스 개체로 표시되는 방법과 어댑터에서 LUW(BAPI 트랜잭션)를 지원하는 방법을 설명합니다.
BAPI 작업(비즈니스 개체 메서드)
어댑터는 비즈니스 개체 메서드로 BAPI를 표시하여 어댑터 서비스 BizTalk 프로젝트 추가 기능 사용 또는 어댑터 서비스 참조 Visual Studio 플러그 인 추가를 사용할 때 메타데이터를 검색하는 데 도움이 됩니다. 어댑터는 항상 RFC 인터페이스를 사용하여 SAP 시스템에서 BAPI를 호출합니다.
어댑터는 이름별로 BAPI를 아웃바운드 작업에 적합한 비즈니스 개체의 작업으로 표시합니다. 비즈니스 개체는 어댑터에 의해 BAPI 범주 노드 아래의 기능 그룹에 의해 수집됩니다. (어댑터 서비스 참조 플러그 인 추가 또는 어댑터 서비스 사용 추가 기능을 사용하는 경우 BAPI 노드에서 비즈니스 개체 및 BAPI 를 찾아보거나 검색할 수 있습니다.)
SAP 어댑터는 BAPI에서 다음을 지원합니다.
IMPORT 매개 변수
EXPORT 매개 변수
매개 변수 변경
테이블 매개 변수
비즈니스 개체 메서드로 표시되는 BAPI에 사용되는 메시지 구조 및 SOAP 작업에 대한 자세한 내용은 BAPI 작업에 대한 메시지 스키마를 참조하세요.
BAPI 트랜잭션
BAPI를 호출하는 경우 항상 SAP 시스템의 LUW에 속합니다. 이는 BAPI를 RFC로 호출하든 비즈니스 개체의 메서드로 호출하든 마찬가지입니다. RFC SDK는 동일한 SAP 연결을 통해 전송된 모든 BAPI를 동일한 LUW의 일부로 처리합니다. 연결에서 트랜잭션을 커밋하거나 롤백하도록 호출한 후 연결을 통해 전송된 다음 BAPI는 새 LUW를 시작합니다.
BAPI_TRANSACTION_COMMIT 또는 BAPI_TRANSACTION_ROLLBACK 호출하여 트랜잭션을 커밋하거나 롤백합니다. 어댑터는 다음과 같은 두 개의 BAPI를 표시합니다.
RFC 작업으로 기본 노드 아래에 있습니다.
각 비즈니스 개체 아래에 있습니다.
트랜잭션을 커밋하거나 롤백하는 호출을 포함하여 모두 동일한 SAP 연결을 통해 전송되도록 하여 트랜잭션에서 BAPI를 제어합니다. 다음에서 이 작업을 수행할 수 있습니다.
ConnectionState 메시지 컨텍스트 속성을 사용하여 트랜잭션의 BAPI가 동일한 연결을 사용하여 전송되도록 하는 BizTalk Solutions. 이 속성은 어댑터에 의해 표시되며 BizTalk 오케스트레이션에서 메시지를 보내는 데 사용되는 연결을 명시적으로 제어할 수 있습니다.
BizTalk Server 사용하여 BAPI 트랜잭션을 수행하기 위해 SAP 어댑터는 다음 메시지 컨텍스트 속성을 지원합니다.
필드 Description OPEN 트랜잭션에 대한 새 채널을 엽니다. 재사용 트랜잭션에 기존 채널을 다시 사용합니다. CLOSE 트랜잭션을 커밋하고 기존 채널을 닫습니다. 중단 트랜잭션을 중단하고 기존 채널을 닫습니다. 자세한 내용은 BizTalk Server 사용하여 SAP에서 BAPI 트랜잭션 실행을 참조하세요.
참고
BizTalk Server 사용하여 트랜잭션을 수행할 때 EnableBizTalkCompatibilityMode바인딩 속성을 설정해야 합니다.
트랜잭션의 BAPI가 동일한 WCF 클라이언트를 사용하여 전송되도록 하여 WCF 서비스 모델 솔루션. 자세한 내용은 WCF 서비스 모델을 사용하여 SAP에서 BAPI 호출을 참조하세요.
트랜잭션의 BAPI가 동일한 WCF 채널을 통해 전송되도록 하여 WCF 채널 모델 솔루션 자세한 내용은 WCF 채널 모델을 사용하여 애플리케이션 개발을 참조하세요.
BAPI 트랜잭션에 대한 제한 사항
BAPI 트랜잭션에 적용되는 제한 사항은 다음과 같습니다.
하나의 LUW 내에서 동일한 instance 두 개의 쓰기 액세스를 만들 수 없습니다. 예를 들어 주문을 만들고 동일한 트랜잭션에서 업데이트할 수 없습니다.
BizTalk Server 사용하여 BAPI 트랜잭션을 수행하는 경우 모든 메시지는 송신 포트의 단일 호스트 instance 통해 전송되어야 합니다.
쓰기 BAPI를 사용하여 instance 만들거나 업데이트하거나 삭제하는 경우 읽기 BAPI는 쓰기 BAPI가 커밋될 때까지 최신 데이터를 볼 수 없습니다.
LUW를 호출하는 외부 클라이언트는 LUW가 포함하는 모든 BAPI를 동일한 SAP 연결에 호출해야 합니다.
중요
릴리스 3.1에 속하는 BAPI는 구현의 일부로 COMMIT WORK를 호출합니다. 즉, 이러한 BAPI는 LUW의 다른 BAPI에 포함될 수 없습니다(트랜잭션을 커밋하기 때문). 자세한 내용은 SAP 설명서를 참조하세요.