이 문서에서는 SAP용 비즈니스 이벤트 툴킷을 설치하고 구성하는 방법을 설명합니다.
SAP용 비즈니스 이벤트 도구 키트 설치
ABAP SDK for Google Cloud의 최신 버전 온프레미스 또는 모든 클라우드 버전을 설치하면 SAP용 비즈니스 이벤트 도구 키트가 자동으로 설치됩니다. 설치 단계에 관한 자세한 내용은 ABAP SDK for Google Cloud의 온프레미스 또는 모든 클라우드 버전 설치 및 구성을 참고하세요.
ABAP SDK for Google Cloud의 온프레미스 버전 1.9 이하 또는 임의의 클라우드 버전을 사용 중인 경우 최신 버전으로 SDK를 업데이트하여 SAP용 비즈니스 이벤트 도구 키트를 가져옵니다. 자세한 내용은 ABAP SDK for Google Cloud 업데이트를 참고하세요.
대상 Google Cloud API 사용 설정
타겟 Google Cloud 서비스를 사용하기 전에 프로젝트에서 상응하는Google Cloud API가 사용 설정되어 있는지 확인합니다. 예를 들어 Pub/Sub에 이벤트를 게시하려면 Pub/Sub API를 사용 설정하세요.
Google Cloud API를 사용 설정하는 방법에 관한 자세한 내용은 API 사용 설정을 참고하세요.
인증 설정
ABAP SDK for Google Cloud의 온프레미스 또는 클라우드 버전에서 Google Cloud API에 액세스하기 위한 인증을 설정해 두면 SAP용 비즈니스 이벤트 도구 키트는 동일한 인증 방법을 사용하여 Google Cloud API에 SAP 이벤트를 게시합니다. ABAP SDK for Google Cloud의 온프레미스 또는 클라우드 버전에서 인증을 설정하는 방법에 관한 자세한 내용은 인증 개요를 참고하세요.
ABAP SDK for Google Cloud 클라이언트 키 구성에 구성된 서비스 계정에 타겟Google Cloud 서비스에 맞는 필수 IAM 역할이 있는지 확인합니다.
인증 설정의 일부로 만든 클라이언트 키를 기록해 둡니다. SAP 시스템에서 SAP용 비즈니스 이벤트 도구 키트를 구성할 때 이 클라이언트 키를 사용합니다.
CloudEvent 속성 구성
CloudEvent 속성의 기본값을 유지할 수 있습니다. 이러한 값은 테이블 /GOOG/CE_DEFAULT
에 저장됩니다.
이 구성은 선택사항입니다. CloudEvent 속성을 전달하거나 코드에서 직접 기본 속성을 재정의할 수 있습니다.
CloudEvent 속성을 구성하려면 다음 단계를 따르세요.
SAP GUI에서 트랜잭션 코드
/GOOG/SDK_IMG
를 실행합니다.또는 트랜잭션 코드
SPRO
를 실행한 후 SAP 참조 IMG를 클릭합니다.ABAP SDK for Google Cloud > 기본 설정 > 비즈니스 이벤트 처리: Cloud 이벤트의 컨텍스트 속성 구성을 클릭합니다.
새 항목을 클릭합니다.
다음 필드에 값을 입력합니다.
필드 데이터 유형 설명 Cloud 이벤트 기본 속성 키 String
기본 CloudEvent 속성 구성의 이름을 지정합니다. 예: CLOUD_EVENT_ATTRIBUTE_KEY 소스 String
이벤트가 발생한 컨텍스트를 식별하는 URI 참조를 제공합니다. ID String
이벤트의 고유 식별자입니다. 제작자는 고유한 이벤트마다 소스 + ID가 고유하도록 보장해야 합니다. 사양 버전 String
이벤트에서 사용하는 CloudEvents 사양 버전입니다. 이 필드를 비워두면 시스템에서 1.0을 사용합니다. 유형 String
발생한 이벤트 유형을 설명합니다. 라우팅, 관측 가능성, 정책 시행에 주로 사용됩니다. 데이터 콘텐츠 유형 String
데이터 값의 Content-type입니다. 데이터가 모든 유형의 콘텐츠를 전송할 수 있도록 합니다. 데이터 스키마 String
데이터가 준수하는 스키마를 식별하는 URI입니다. 제목 String
이벤트 프로듀서의 맥락에서 이벤트의 주제를 설명합니다. 이러한 필드에 대한 자세한 내용은 CloudEvents 컨텍스트 속성을 참고하세요.
새 항목을 저장합니다.
타겟 Google Cloud 서비스 구성
이 설정을 사용하여 이벤트의 타겟 Google Cloud 서비스를 유지할 수 있습니다.
이 설정은 SAP용 비즈니스 이벤트 도구 키트를 사용하여 SAP에서 서비스로 이벤트를 게시할 때 사용됩니다. Google Cloud
타겟 Google Cloud 서비스를 구성하려면 다음 단계를 따르세요.
SAP GUI에서 트랜잭션 코드
/GOOG/SDK_IMG
를 실행합니다.또는 트랜잭션 코드
SPRO
를 실행한 후 SAP 참조 IMG를 클릭합니다.ABAP SDK for Google Cloud > 기본 설정 > 비즈니스 이벤트 처리: 이벤트의 Google Cloud 타겟 구성을 클릭합니다.
새 항목을 클릭합니다.
다음 필드에 값을 입력합니다.
필드 데이터 유형 설명 이벤트 키 String
게시자 이벤트 구성의 이름을 지정합니다. 예를 들면 EVENT_KEY입니다. 이벤트 프로세서 클래스 String
이벤트의 프로세서 클래스를 지정합니다. 타겟 Google Cloud 서비스에 따라 다음 옵션 중 하나를 선택합니다.
-
/GOOG/CL_PUBLISHER_PUBSUB
: Pub/Sub에 이벤트를 게시합니다. -
/GOOG/CL_PUBLISHER_CLOUDFUNC
: Cloud Run 함수에 이벤트를 게시하는 경우 -
/GOOG/CL_PUBLISHER_FCM
: Firebase 클라우드 메시징 (FCM)에 이벤트를 게시하는 경우 -
/GOOG/CL_PUBLISHER_CONNECTORS
: Integration Connectors API에 이벤트를 게시하는 경우
Google Cloud 키 이름 String
인증 설정 중에 Google Cloud Google Cloud에 인증하기 위해 구성된 클라이언트 키입니다. 이벤트 매개변수 1 String
사용하려는 대상 Google Cloud 서비스에 필요한 추가 속성을 지정합니다. 이벤트 매개변수 2 String
사용하려는 대상 Google Cloud 서비스에 필요한 추가 속성을 지정합니다. 이벤트 매개변수 3 String
사용하려는 대상 Google Cloud 서비스에 필요한 추가 속성을 지정합니다. Cloud 이벤트 기본 속성 키 String
이벤트를 CloudEvent로 전송하려면 CloudEvent 속성 구성 섹션에서 구성한 해당 기본 속성 키의 값을 제공합니다. Cloud 이벤트: 인코딩 String
CloudEvents 인코딩에 적절한 모드를 선택합니다.
- 구조화됨: CloudEvent 속성이 요청 본문에서 전달됩니다.
- 바이너리: CloudEvent 속성이 요청 헤더에 전달됩니다.
CloudEvents 사양을 우회하여 원시 이벤트 데이터를 Google Cloud 서비스로 직접 전송해야 하는 시나리오의 경우 이 입력란을 비워 둡니다.
-
새 항목을 저장합니다.
게시자 모듈 확장
사전 빌드된 타겟 외의 다른 Google Cloud 서비스 또는 맞춤 타겟과 통합하려면 자체 구현을 만들어 게시자 모듈을 확장하면 됩니다.
맞춤 구현을 만들려면 다음 단계를 따르세요.
- SAP 트랜잭션
SE24
에서/GOOG/CL_PUBLISHER_BASE
에서 상속받는 새 클래스를 만듭니다. PUBLISH_EVENT
및VALIDATE_PARAMS
메서드를 구현합니다.PUBLISH_EVENT
: 이벤트 데이터를 대상으로 전송하는 맞춤 로직이 포함되어 있습니다. 입력 매개변수를 매핑하고 데이터를 전송한 후 타겟의 응답으로 출력 구조를 채웁니다.VALIDATE_PARAMS
: 필요한 모든 매개변수가 테이블/GOOG/CE_ROUTER
에 구성되어 있는지 확인할 수 있습니다. 필수 값이 누락된 경우/GOOG/CX_SDK
유형의 예외를 발생시킵니다.
ABAP 코드가 실행되면 게시자 클래스는 이 테이블에서 구성을 읽어 이벤트 게시 프로세스를 안내합니다.
비즈니스 이벤트 리스너 구성
비즈니스 객체 변경으로 인해 트리거된 이벤트를 캡처하려면 각 비즈니스 객체에 이벤트 리스너를 구성해야 합니다.
비즈니스 이벤트 연결 만들기
SAP용 비즈니스 이벤트 도구 키트를 사용하여 비즈니스 이벤트 연결을 만들어 중요한 SAP 비즈니스 객체 변경사항을 자동으로 트리거하고 Google Cloud 서비스에 이벤트로 게시합니다.
이 연결을 통해 비즈니스 이벤트의 리스너 역할을 하는 수신기를 정의합니다.
비즈니스 이벤트 연결을 만들려면 다음 단계를 따르세요.
SAP GUI에서 트랜잭션 코드
SWETYPV
를 실행합니다.새 항목을 클릭합니다.
적절한 비즈니스 객체 카테고리와 비즈니스 객체 유형을 지정합니다.
SAP용 비즈니스 이벤트 도구 키트를 사용하여 이벤트를 수신 대기하고 전달할 이벤트를 지정합니다.
수신자 유형 필드에
Google_Cloud
또는Google
을 입력합니다.연결 설정 (수신기) 섹션에서 다음을 입력합니다.
- 수신자 호출: 드롭다운 목록에서 방법을 선택합니다.
- 클래스 이름:
/GOOG/CL_BO_EVENT_FORWARD
을 입력합니다.
Linkage Activated(연결 활성화됨) 체크박스를 선택합니다.
구성을 저장합니다.
이벤트 리스너를 이벤트 키에 매핑
SAP용 비즈니스 이벤트 도구 키트가 Google Cloud 통합을 위해 특정 SAP 비즈니스 이벤트를 처리하는 방식을 정의하려면 비즈니스 이벤트 리스너를 이벤트 게시의 설정을 유지하는 이벤트 키에 매핑합니다.
이벤트 리스너를 이벤트 키에 매핑하려면 다음 단계를 따르세요.
SAP GUI에서 트랜잭션 코드
/GOOG/SDK_IMG
를 실행합니다.또는 트랜잭션 코드
SPRO
를 실행한 후 SAP 참조 IMG를 클릭합니다.ABAP SDK for Google Cloud > 기본 설정 > 비즈니스 이벤트 처리: 비즈니스 객체의 이벤트 리스너 구성을 클릭합니다.
새 항목을 클릭합니다.
다음 필드에 값을 입력합니다.
필드 데이터 유형 설명 객체 유형 CHAR
트랜잭션 SWETYPV
에서 구성한 비즈니스 객체의 이름입니다.이벤트 CHAR
비즈니스 객체에 연결된 이벤트의 이름입니다. 수신자 이름 CHAR
객체 유형과 이벤트의 조합에 대해 트랜잭션 SWETYPV
에 구성된 수신기의 이름입니다.이벤트 키 CHAR
타겟 서비스 구성 Google Cloud 섹션에 유지되는 게시자 이벤트 구성의 이름입니다. 프로세서 클래스 CHAR
선택사항입니다. 이벤트 본문을 채우거나 확장 프로그램 속성을 확장하는 추가 로직을 작성한 프로세서 클래스의 이름입니다. 이 클래스는
/GOOG/IF_BOR_EVNT_DATA_HANDLER
인터페이스를 구현해야 합니다.프로세서 클래스를 만드는 방법에 관한 자세한 내용은 프로세서 클래스 확장을 참고하세요.
구성을 저장합니다.
기본 본문 및 Cloud Event 확장 속성
기본적으로 Pub/Sub에 이벤트를 게시하면 이벤트 리스너가 비즈니스 이벤트 컨테이너에서 대상Google Cloud 서비스로 다음 속성을 전달합니다.
{
"EVENT_OBJECT": "BUS2012",
"EVENT_OBJECT_KEY": "450000011",
"EVENT_NAME": "CHANGED",
"EVENT_CREATOR": "USER-ID",
"EVENT_CREATION_DATE": "20250321",
"EVENT_CREATION_TIME": "135050",
"EVENT_CREATION_TIMESTAMP": "20250321135050",
"EVENT_CREATION_LANGUAGE": "EN"
}
클라우드 이벤트 속성이 구성된 경우 페이로드 구조는 다음과 같습니다.
{
"eventObjectType": "BUS2012", - Picked from Event Container
"eventObjectKey": "450000011", - Picked from Event Container
"eventName": "RELEASED", - Picked from Event Container
"eventCreator": "USER", - Picked from Event Container
"eventCreationDate": "20250321", -Picked from Event Container
"eventCreationTime": "135850", - Picked from Event Container
"eventCreationTimestamp": "20250321135850", - Picked from Event Container
"id": "D5D1CB352A321FD081FFF6EEA9566190", - Auto Populated
"source": "sap-s4hana-doc", - Picked from CE Defaults
"type": "pochanged", - Picked from CE Defaults
"specversion": "1.0", - Picked from CE Defaults
"time": "2025-04-09T16:16:38Z", - Auto Populated
"subject": "test-subject-A" - Picked from CE Defaults Table
}
이벤트 리스너에서 프로세서 클래스를 만들고 구성하면 결과 페이로드에 맞춤 페이로드 구조가 반영됩니다.
프로세서 클래스 확장
SAP용 비즈니스 이벤트 도구 키트를 사용하면 데이터를 설정하고 클라우드 이벤트에 확장 속성을 추가할 수 있습니다.
이렇게 하려면 /GOOG/IF_BOR_EVNT_DATA_HANDLER
인터페이스를 상속하고 인터페이스 메서드 FILL_EVENT_DATA
를 구현하는 클래스를 구현합니다.
이 메서드에는 다음과 같은 가져오기 및 변경 매개변수가 있습니다.
이름 | 유형 | 연결된 유형 | 설명 |
---|---|---|---|
SENDER |
가져오는 중 | SIBFLPORB |
로컬 영구 객체 참조: BOR 호환 |
EVENT |
가져오는 중 | SIBFEVENT |
이벤트 |
EVENT_CONTAINER |
가져오는 중 | IF_SWF_IFS_PARAMETER_CONTAINER 참조 유형 | 매개변수 전송을 위한 컨테이너 |
RECTYPE |
가져오는 중 | SWFERECTYP |
수신기 유형의 이름 |
HANDLER |
가져오는 중 | SIBFLPORB |
로컬 영구 객체 참조: BOR 호환 |
CT_DATA |
변경 중 | /GOOG/CL_PUBLISHER_BASE=>TT_MESSAGES |
메시지 표 |
CT_CE_EXTN_ATTRIBUTES |
변경 중 | /GOOG/T_CE_ATTR_VALUE |
Cloud Event: 속성 이름, 값 쌍 테이블 |
PO 헤더 정보를 클라우드 이벤트 본문으로 포함하는 비즈니스 객체 BUS2012
(구매 주문)의 샘플 구현:
TYPES: BEGIN OF ty_event_attributes,
ekgrp TYPE ekgrp,
werks TYPE werks_d,
stlnr TYPE stnum,
stlal TYPE mast-stlal,
stlty TYPE stko-stlty,
END OF ty_event_attributes.
DATA: ls_po_header TYPE bapimepoheader.
DATA: ls_event_attributes TYPE ty_event_attributes,
lv_json TYPE string.
DATA ls_data TYPE /goog/cl_publisher_base=>ty_message.
CALL FUNCTION 'BAPI_PO_GETDETAIL1'
EXPORTING
purchaseorder = '4500000007'
IMPORTING
poheader = ls_po_header.
/ui2/cl_json=>serialize(
EXPORTING
data = ls_po_header
RECEIVING
r_json = lv_json
).
ls_data-data = lv_json.
APPEND ls_data TO ct_data.
RAP 이벤트 리스너 구성
Google Cloud에 전송하려는 각 RAP 이벤트에 대해 이벤트 핸들러 클래스를 만들어야 합니다. 이 이벤트 핸들러 클래스는 해당 RAP 이벤트의 이벤트 리스너 역할을 합니다.
이벤트 핸들러 클래스를 프로그래매틱 방식으로 만들려면 GitHub에서 제공되는 커뮤니티 리소스를 사용하면 됩니다. RAP 항목 세부정보를 제공하고 이벤트 핸들러 클래스를 생성해야 합니다. 이벤트 객체에 대한 자세한 내용은 SAP 문서 SAP Business Accelerator Hub를 참고하세요.
이벤트 핸들러 클래스를 수동으로 만들려면 다음 단계를 따르세요.
RAP 이벤트를 위한 ABAP 클래스를 만듭니다.
- ABAP 패키지를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > ABAP 클래스를 선택합니다.
ABAP 클래스에 대해 다음 세부정보를 입력합니다.
- 이름: 클래스의 이름입니다(예:
ZCL_PRODUCT_EXT
). - 설명: 클래스에 대한 설명입니다(예:
Event handler for RAP events
).
- 이름: 클래스의 이름입니다(예:
마침을 클릭합니다.
다음과 같이 클래스 정의를 업데이트합니다.
class CLASS_NAME definition public abstract final for events of RAP_ENTITY_NAME . public section. protected section. private section. ENDCLASS. CLASS CLASS_NAME IMPLEMENTATION. ENDCLASS.
다음을 바꿉니다.
CLASS_NAME
: 클래스의 이름입니다(예:ZCL_PRODUCT_EXT
).RAP_ENTITY_NAME
: RAP 항목의 이름입니다(예:R_PRODUCT
).
로컬 유형 탭을 열고 로컬 구현을 만듭니다.
CLASS lcl_event_extension DEFINITION INHERITING FROM cl_abap_behavior_event_handler. PRIVATE SECTION. METHODS on_EVENT_NAME FOR ENTITY EVENT created FOR RAP_ENTITY_NAME~EVENT_NAME. ENDCLASS. CLASS lcl_event_extension IMPLEMENTATION. METHOD on_EVENT_NAME. TRY. /goog/cl_event_publisher=>publish_event( EXPORTING iv_event_key = 'EVENT_KEY' it_data = VALUE #( FOR <ls_created> IN created ( data = /goog/cl_json=>serialize( data = <ls_created> ) ) ) IMPORTING et_output = DATA(lt_output) ). CATCH /goog/cx_sdk INTO DATA(lo_exp). "Error handling logic here ENDTRY. ENDMETHOD. ENDCLASS.
다음을 바꿉니다.
EVENT_NAME
: 이벤트 이름입니다(예:CREATED
).RAP_ENTITY_NAME
: RAP 항목의 이름입니다(예:ZCL_PRODUCT_EXT
).EVENT_KEY
: 대상 구성이 있는 이벤트 키입니다.
IDoc 이벤트 리스너 구성
IDoc 변경으로 인해 트리거된 이벤트를 캡처하려면 IDoc 이벤트에 대한 이벤트 리스너를 구성해야 합니다.
IDoc 이벤트 리스너 구성
SAP용 비즈니스 이벤트 도구 키트가 통합을 위해 IDoc 이벤트를 처리하는 방식을 정의하려면 Google Cloud IDoc 이벤트의 이벤트 리스너를 구성합니다. IDoc 이벤트 리스너를 이벤트 게시의 설정을 유지하는 이벤트 키에 매핑합니다.
IDoc 이벤트 리스너를 구성하려면 다음 단계를 따르세요.
SAP GUI에서 트랜잭션 코드
/GOOG/SDK_IMG
를 실행합니다.또는 트랜잭션 코드
SPRO
를 실행한 후 SAP 참조 IMG를 클릭합니다.ABAP SDK for Google Cloud > 기본 설정 > 비즈니스 이벤트 처리: IDoc의 이벤트 리스너 구성을 클릭합니다.
새 항목을 클릭합니다.
다음 필드에 값을 입력합니다.
필드 데이터 유형 설명 기본 유형 CHAR
이벤트를 Google Cloud에 전송할 IDoc 기본 유형의 이름입니다(예: MATMAS05
).IDoc 방향 CHAR
IDoc의 방향: 인바운드 또는 아웃바운드 이벤트 키 CHAR
타겟 서비스 구성 Google Cloud 섹션에 유지되는 게시자 이벤트 구성의 이름입니다. 프로세서 클래스 CHAR
선택사항입니다. 이벤트 본문을 채우거나 확장 프로그램 속성을 확장하는 추가 로직을 작성한 프로세서 클래스의 이름입니다. 이 클래스는
/GOOG/IF_IDOC_EVT_DATA_HANDLER
인터페이스를 구현해야 합니다.프로세서 클래스를 만드는 방법에 관한 자세한 내용은 프로세서 클래스 확장을 참고하세요.
구성을 저장합니다.
기본 본문 및 Cloud Event 확장 속성
기본적으로 Pub/Sub에 이벤트를 게시하면 이벤트 리스너가 다음 속성을 전달합니다.
{
"messages": [
{
"attributes": {
"idocNumber": "0000000000000134",
"direct": "1",
"messageType": "MATMAS",
"basicType": "MATMAS05",
"createdOn": "20250515",
"createdAt": "132254",
"updatedOn": "20250410",
"updatedAt": "144958"
},
"data": [
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000001",
"segnam": "E1MARAM",
"hlevel": "02",
"dtint2": 1000,
"sdata": " TEST-MATNR-IDOC-0111032025KRITIS 11032025KRITIS KL ROH C01 EA"
},
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000002",
"segnam": "E1MARA1",
"psgnum": "000001",
"hlevel": "03",
"dtint2": 1000
}
// ...additional IDOC segments
]
}
]
}
클라우드 이벤트 속성이 구성된 경우 페이로드 구조는 다음과 같습니다.
{
"id": "D5D1CB352A321FD081FFF6EEA9566190", // Auto Populated
"source": "sap-s4hana-doc", // Picked from CE Defaults
"type": "pochanged", // Picked from CE Defaults
"specversion": "1.0", // Picked from CE Defaults
"time": "2025-04-09T16:16:38Z", // Auto Populated
"subject": "test-subject-A", // Picked from CE Defaults Table
"messages": [
{
"attributes": {
"idocNumber": "0000000000000134",
"direct": "1",
"messageType": "MATMAS",
"basicType": "MATMAS05",
"createdOn": "20250515",
"createdAt": "132254",
"updatedOn": "20250410",
"updatedAt": "144958"
},
"data": [
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000001",
"segnam": "E1MARAM",
"hlevel": "02",
"dtint2": 1000,
"sdata": " TEST-MATNR-IDOC-0111032025KRITIS 11032025KRITIS KL ROH C01 EA"
},
{
"mandt": "100",
"docnum": "0000000000000132",
"segnum": "000002",
"segnam": "E1MARA1",
"psgnum": "000001",
"hlevel": "03",
"dtint2": 1000
}
// ...additional IDOC segments
]
}
]
}
이벤트 리스너에서 프로세서 클래스를 만들고 구성하면 결과 페이로드에 맞춤 페이로드 구조가 반영됩니다.
프로세서 클래스 확장
SAP용 비즈니스 이벤트 도구 키트를 사용하면 이벤트 데이터를 맞춤설정하고 클라우드 이벤트에 확장 속성을 추가할 수 있습니다.
이렇게 하려면 /GOOG/IF_IDOC_EVT_DATA_HANDLER
인터페이스를 상속하고 인터페이스 메서드 FILL_EVENT_DATA
를 구현하는 클래스를 구현합니다.
FILL_EVENT_DATA
메서드에는 다음과 같은 매개변수가 있습니다.
이름 | 유형 | 연결된 유형 | 설명 |
---|---|---|---|
IS_IDOC_CONTRL |
가져오는 중 | EDIDC |
IDoc의 제어 레코드입니다. |
IT_IDOC_DATA |
가져오는 중 | TAB_EDIDD |
IDoc 데이터 레코드 테이블입니다. |
CT_DATA |
변경 중 | /GOOG/CL_PUBLISHER_BASE=>TT_MESSAGES |
메시지 표 |
CT_CE_EXTN_ATTRIBUTES |
변경 중 | /GOOG/T_CE_ATTR_VALUE |
Cloud Event: 속성 이름, 값 쌍 테이블 |
IDoc 이벤트 게시를 표준 SAP IDoc 프로세스와 통합
IDoc 이벤트를 Google Cloud 서비스에 게시하려면 SAP의 IDoc 이벤트 전달 로직을 위한 비즈니스 이벤트 도구 키트를 기존 SAP IDoc 처리에 통합해야 합니다. 이렇게 하면 IDoc가 생성, 변경 또는 특정 상태에 도달하면 데이터가 이벤트로 자동 게시됩니다.
다음 방법 중 하나를 사용하여 IDoc 이벤트 게시를 통합할 수 있습니다.
IDOC_DATA_MAPPER
BAdI 사용
IDOC_DATA_MAPPER
비즈니스 부가기능 (BAdI)을 사용하면 수신 및 발신 IDoc 처리 중에 트리거되는 맞춤 로직을 구현할 수 있습니다.
이 BAdI를 사용하여 IDoc 이벤트를 Google Cloud에 게시할 수 있습니다.
IDOC_DATA_MAPPER
BAdI를 구현하려면 다음을 실행합니다.
- 트랜잭션
SE18
를 엽니다. - BAdI 이름 필드에
IDOC_DATA_MAPPER
을 입력합니다. - 구현 메뉴로 이동하여 만들기를 선택합니다.
- Name of Enhancement Implementation(개선사항 구현 이름) 필드에 개선사항 구현의 이름을 입력합니다(예:
ZEI_IDOC_DATA_MAPPER
). - 구현 내에서 구현 클래스의 이름을
/GOOG/CL_IM_BADI_IDOC_MAPPER
로 업데이트합니다. - BAdI 구현을 활성화합니다.
기존 개선사항 종료 사용
IDoc 처리 흐름에 기존 개선사항 종료가 있는 경우 IDoc 이벤트 게시 로직을 종료에 직접 삽입할 수 있습니다.
개선사항 종료에 다음 ABAP 스니펫을 삽입합니다.
DATA : lt_return TYPE bapiret2_t.
/goog/cl_idoc_event_forward=>publish_event(
EXPORTING
is_control = IDOC_CONTROL " Replace with your IDoc control record
it_data = IDOC_DATA " Replace with your IDoc data records
IMPORTING
et_return = lt_return
).
" Handle errors if LT_RETURN contains erroneous records.
다음을 바꿉니다.
맞춤 함수 모듈 사용 (OWN_FUNCTION
템플릿 기반)
아웃바운드 IDoc 이벤트를 게시할 때 표준 OWN_FUNCTION
템플릿을 기반으로 하는 맞춤 함수 모듈을 호출하도록 SAP IDoc 처리를 구성할 수 있습니다. 이 맞춤 함수 모듈을 사용하면 데이터가 타겟 서비스로 전송되기 전에 IDoc 데이터를 처리하고 이벤트 게시를 트리거할 수 있습니다. Google Cloud
커스텀 함수 모듈을 사용하여 아웃바운드 IDoc 이벤트를 게시하는 자세한 구성 단계는 SAP 유틸리티용 비즈니스 이벤트 도구 키트를 참고하세요. 맞춤 함수를 구현하는 동안 GitHub에서 제공되는 샘플 Z 구현을 사용할 수 있습니다.
지원 받기
ABAP SDK for Google Cloud 문제를 해결하는 데 도움이 필요한 경우 다음을 수행하세요.
Cloud 포럼의 커뮤니티에서 ABAP SDK for Google Cloud에 대해 질문하고 논의합니다.
사용 가능한 모든 진단 정보를 수집하여 Cloud Customer Care에 문의합니다. Customer Care 문의 정보는 Google Cloud에서 SAP 지원 받기를 참고하세요.