SAP 데이터를 BigQuery로 복제하려면 맞춤 ABAP 프로그램, 사용자 종료, 비즈니스 부가기능 (BAdI), 개선사항과 같은 SAP 애플리케이션 내에서 데이터 로드 클래스 /GOOG/CL_BQTR_DATA_LOAD
를 사용합니다. SAP 애플리케이션은 복제할 데이터를 클래스의 입력으로 전달해야 합니다.
데이터 복제 메서드 호출
BigQuery Data Transfer 구성에서 구성된 대량 전송 키와 사전 객체의 이름을 전달하여 BigQuery 데이터 로드 클래스 /GOOG/CL_BQTR_DATA_LOAD
를 인스턴스화합니다.
BigQuery로 데이터를 전송하려면 /GOOG/CL_BQTR_DATA_LOAD
클래스의 REPLICATE_DATA
메서드를 호출합니다.
DATA(lo_bq_data_load) =
NEW /GOOG/CL_BQTR_DATA_LOAD( IV_MASS_TR_KEY = 'MASS_TRANSFER_KEY'
IV_DATA_SOURCE = 'DATA_SOURCE'
IV_CDC_FRAMEWORK = 'CDC_FRAMEWORK'
IV_FLDNM_MANDT = 'MANDT_FIELDNAME'
IV_MANDT_VALUE = 'MANDT_VALUE'
).
"Write Logic to populate ITAB_DATA, WA_HEADER
"Replicate Data to BigQuery
lo_bq_data_load->replicate_data(
EXPORTING
it_content = ITAB_DATA
IS_HEADER_INFO = WA_HEADER
IMPORTING
ev_error_code = data(lv_error_code)
et_return = data(lt_return) ).
다음을 바꿉니다.
MASS_TRANSFER_KEY
: BigQuery Data Transfer 구성에 구성된 대량 전송 키입니다.DATA_SOURCE
: 테이블, 사전 뷰, CDS 뷰와 같은 SAP 사전 객체의 이름입니다.CDC_FRAMEWORK
: 선택사항. 호출 프로그램에서 사용하는 변경 데이터 캡처 (CDC) 프레임워크입니다. 지원되는 값은ODQ
및SLT
입니다.SAP용 BigQuery 툴킷에는 CDC 프레임워크에 따라 작업 플래그 (삽입, 업데이트, 삭제)를 결정하는 기본 제공 로직이 있습니다. 자세한 내용은 레코드 변경사항 및 카운트 쿼리를 위한 추가 필드를 참고하세요.
CDC_FRAMEWORK
이ODQ
로 전달되면 SAP용 BigQuery 툴킷은 입력에 전달된 페이로드에서ODQ_CHANGEMODE
열의 값을 가져옵니다.- 값이
C
이면operation_flag
이I
로 설정됩니다. - 값이
U
이면operation_flag
이U
로 설정됩니다. - 값이
D
이면operation_flag
이D
로 설정됩니다. - 다른 모든 값의 경우
operation_flag
이L
로 설정됩니다.
CDC_FRAMEWORK
이SLT
로 전달되면 SAP용 BigQuery 툴킷은WA_HEADER
에서 'OPERATION' 열의 값을 가져옵니다.- 값이
I
이면operation_flag
이I
로 설정됩니다. - 값이
U
이면operation_flag
이U
로 설정됩니다. - 값이
D
이면operation_flag
이D
로 설정됩니다. - 다른 모든 값의 경우
operation_flag
이L
로 설정됩니다.
CDC_FRAMEWORK
이 전달되지 않거나 다른 값으로 전달되면operation_flag
이L
로 설정됩니다.- 값이
MANDT_FIELDNAME
: 선택사항. BigQuery 테이블 정의에 추가해야 하는 SAP 클라이언트 필드의 이름입니다. 정의에 클라이언트 필드가 없지만 BigQuery에 필드를 추가하려는 CDS 엔티티와 같은 SAP 사전 객체에 사용할 수 있습니다.MANDT_VALUE
: 선택사항. BigQuery에 채워야 하는 SAP 클라이언트 필드의 값입니다.IV_FLDNM_MANDT
도 채워진 경우에만 사용할 수 있습니다.ITAB_DATA
:DATA_SOURCE
유형의 내부 테이블입니다. BigQuery 테이블에 복제해야 하는 데이터로ITAB_DATA
를 채웁니다.WA_HEADER
: 복제에 관한 헤더 정보가 포함된 플랫 구조입니다.CDC_FRAMEWORK
이SLT
인 경우operation_flag
을 결정하는 데 사용됩니다.
이 메서드를 호출하면 BigQuery Data Transfer 모듈에서 다음 작업을 실행합니다.
- BigQuery Data Transfer 구성에 유지된 테이블 및 필드 설정을 기반으로 BigQuery 테이블 정의를 SAP 사전 객체 정의와 동기화합니다.
- BigQuery Data Transfer 구성에 유지된 필드 수준 설정을 기반으로 SAP 형식에서 BigQuery 형식으로
ITAB_DATA
에 채워진 데이터를 매핑합니다. 필드 수준 설정이 유지되지 않으면 기본 데이터 매핑 규칙이 사용됩니다. - BigQuery API
InsertAllTabledata
메서드를 호출하여 타겟 BigQuery 테이블에 데이터를 로드합니다.
모든 단계가 성공하면 내보내기 매개변수 ev_error_code
가 값 0
을 반환합니다.
단계에 오류가 있으면 ev_error_code
이 0이 아닌 값을 반환하고 해당 오류 메시지가 et_return
에 채워집니다.
애플리케이션 개발자는 나중에 분석할 수 있도록 저장하고 복제에 실패한 레코드 로드를 다시 시도하는 등 오류를 처리할 수 있습니다.
지원 받기
Google Cloud SAP용 BigQuery 툴킷의 설치, 구성, 운영, 유지관리와 관련된 문제 및 질문에 대한 지원을 제공합니다.
운영 데이터 프로비저닝 (ODP), 데이터 이전 서버 (DMIS), 핵심 데이터 서비스 (CDS), 인터넷 통신 관리자 (ICM) 또는 서드 파티 소프트웨어와 같은 SAP 관리 구성요소에서 발생하는 문제의 경우 Google Cloud Customer Care에서 근본 원인을 파악하기 위해 최선을 다합니다. 이 문제를 해결하려면 해당 공급업체 또는 지원 제공업체에 문의하세요.
SAP용 BigQuery 툴킷 문제를 해결하려면 SAP용 BigQuery 툴킷 문제 해결을 참고하세요.
ABAP SDK for Google Cloud 문제를 해결하는 데 도움이 필요한 경우 다음을 수행하세요.
Cloud 포럼에서 커뮤니티에 질문하고 ABAP SDK for Google Cloud에 대해 논의합니다.
사용 가능한 모든 진단 정보를 수집하여 Cloud Customer Care에 문의합니다. Cloud Customer Care 문의 정보는 Google Cloud기반 SAP 지원 받기를 참조하세요.