SAP용 BigQuery 도구 키트를 사용하여 SAP 데이터를 BigQuery로 복제

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_bqtr->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) 프레임워크입니다. 지원되는 값은 ODQSLT입니다.

    SAP용 BigQuery 툴킷에는 CDC 프레임워크를 기반으로 작업 플래그 (삽입, 업데이트, 삭제)를 결정하는 로직이 내장되어 있습니다. 자세한 내용은 레코드 변경사항 및 카운트 쿼리를 위한 추가 필드를 참고하세요.

    CDC_FRAMEWORKODQ로 전달되면 SAP용 BigQuery 툴킷은 입력에 전달된 페이로드에서 ODQ_CHANGEMODE 열의 값을 가져옵니다.

    • 값이 C이면 operation_flagI로 설정됩니다.
    • 값이 U이면 operation_flagU로 설정됩니다.
    • 값이 D이면 operation_flagD로 설정됩니다.
    • 다른 모든 값의 경우 operation_flagL로 설정됩니다.

    CDC_FRAMEWORKSLT로 전달되면 SAP용 BigQuery 툴킷은 WA_HEADER에서 'OPERATION' 열의 값을 가져옵니다.

    • 값이 I이면 operation_flagI로 설정됩니다.
    • 값이 U이면 operation_flagU로 설정됩니다.
    • 값이 D이면 operation_flagD로 설정됩니다.
    • 다른 모든 값의 경우 operation_flagL로 설정됩니다.

    CDC_FRAMEWORK가 전달되지 않거나 다른 값으로 전달되면 operation_flagL로 설정됩니다.

  • MANDT_FIELDNAME: 선택사항. BigQuery 테이블 정의에 추가해야 하는 SAP 클라이언트 필드의 이름입니다. 이는 정의에 클라이언트 필드가 없지만 BigQuery에 필드를 추가하려는 CDS 항목과 같은 SAP 사전 객체에 사용할 수 있습니다.

  • MANDT_VALUE: 선택사항. BigQuery에 채워야 하는 SAP 클라이언트 필드의 값입니다. IV_FLDNM_MANDT도 채워진 경우에만 사용할 수 있습니다.

  • ITAB_DATA: DATA_SOURCE 유형의 내부 테이블입니다. BigQuery 테이블에 복제해야 하는 데이터로 ITAB_DATA를 채웁니다.

  • WA_HEADER: 복제에 관한 헤더 정보가 포함된 평면 구조입니다. CDC_FRAMEWORKSLT인 경우 operation_flag를 결정하는 데 사용됩니다.

이 메서드를 호출하면 BigQuery Data Transfer 모듈은 다음 작업을 실행합니다.

  • BigQuery 데이터 전송 구성에 유지되는 테이블 및 필드 설정을 기반으로 BigQuery 테이블 정의를 SAP 사전 객체 정의와 동기화합니다.
  • BigQuery 데이터 전송 구성에서 유지되는 필드 수준 설정에 따라 ITAB_DATA에 채워진 데이터를 SAP 형식에서 BigQuery 형식으로 매핑합니다. 필드 수준 설정이 유지되지 않으면 기본 데이터 매핑 규칙이 사용됩니다.
  • BigQuery API InsertAllTabledata 메서드를 호출하여 대상 BigQuery 테이블에 데이터를 로드합니다.

모든 단계가 성공하면 내보내기 매개변수 ev_error_code가 값 0를 반환합니다. 어떤 단계에서든 오류가 발생하면 ev_error_code는 0이 아닌 값을 반환하고 상응하는 오류 메시지가 et_return에 채워집니다.

애플리케이션 개발자는 나중에 분석하기 위해 오류를 저장하고 복제에 실패한 레코드의 로드를 다시 시도하는 등 오류를 처리할 수 있습니다.

지원 받기

Google Cloud 는 SAP용 BigQuery 툴킷의 설치, 구성, 운영, 유지보수와 관련된 문제 및 질문에 대한 지원을 제공합니다. 하지만 지원은 툴킷 자체로 제한됩니다.

Google Cloud 는 네트워크 인프라, 데이터베이스, 운영체제, 서드 파티 소프트웨어와 같은 다른 환경 구성요소를 지원하지 않습니다. SAP용 BigQuery 툴킷 이외의 환경 구성요소와 관련된 문제는 적절한 공급업체 또는 지원 제공업체에 문의하세요.

Operational Data Provisioning (ODP) 및 SAP Landscape Transformation (SLT)과 같이 SAP에서 제공하는 기능의 경우 SAP 지원팀에 문의하여 지원을 받으세요.

SAP용 BigQuery 툴킷 문제를 해결하려면 SAP용 BigQuery 툴킷 문제 해결을 참고하세요.

ABAP SDK for Google Cloud 문제를 해결하는 데 도움이 필요한 경우 다음을 수행하세요.