Replicação de dados SAP no BigQuery usando o BigQuery Toolkit para SAP

Para replicar dados do SAP no BigQuery, use a classe de carga de dados /GOOG/CL_BQTR_DATA_LOAD nos aplicativos SAP, como programas ABAP personalizados, saídas de usuário, Business Add-Ins (BAdIs) e melhorias. O aplicativo SAP precisa transmitir os dados a serem replicados como entrada para a classe.

Chamar o método de replicação de dados

Para instanciar a classe de carregamento de dados do BigQuery /GOOG/CL_BQTR_DATA_LOAD, transmita a chave de transferência em massa e o nome do objeto de dicionário configurado na configuração do serviço de transferência de dados do BigQuery.

Para enviar os dados ao BigQuery, chame o método REPLICATE_DATA da classe /GOOG/CL_BQTR_DATA_LOAD.

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) ).

Substitua:

  • MASS_TRANSFER_KEY: a chave de transferência em massa configurada na configuração do serviço de transferência de dados do BigQuery.
  • DATA_SOURCE: o nome do objeto do dicionário SAP, como tabela, visualização do dicionário ou visualização do CDS.
  • CDC_FRAMEWORK: opcional. A estrutura de captura de dados alterados (CDC) usada pelo programa de chamada. Os valores aceitos são ODQ e SLT.

    O BigQuery Toolkit para SAP tem uma lógica integrada para determinar a flag de operação (inserir, atualizar e excluir) com base na estrutura de CDC. Para mais informações, consulte Campos extras para alterações de registro e consultas de contagem.

    Quando CDC_FRAMEWORK é transmitido como ODQ, o BigQuery Toolkit para SAP recebe o valor da coluna ODQ_CHANGEMODE na carga transmitida na entrada:

    • Se o valor = C, o operation_flag será definido como I.
    • Se o valor = U, o operation_flag será definido como U.
    • Se o valor = D, o operation_flag será definido como D.
    • Para todos os outros valores, o operation_flag é definido como L.

    Quando CDC_FRAMEWORK é transmitido como SLT, o BigQuery Toolkit para SAP recebe o valor da coluna "OPERATION" de WA_HEADER:

    • Se o valor = I, o operation_flag será definido como I.
    • Se o valor = U, o operation_flag será definido como U.
    • Se o valor = D, o operation_flag será definido como D.
    • Para todos os outros valores, o operation_flag é definido como L.

    Se CDC_FRAMEWORK não for transmitido ou for transmitido como qualquer outro valor, operation_flag será definido como L.

  • MANDT_FIELDNAME: opcional. O nome do campo de cliente do SAP que precisa ser anexado à definição da tabela do BigQuery. Isso pode ser usado para objetos de dicionário SAP, como entidades CDS, que não têm o campo "cliente" na definição, mas você quer que ele seja adicionado ao BigQuery.

  • MANDT_VALUE: opcional. O valor do campo de cliente SAP que precisa ser preenchido no BigQuery. Isso só pode ser usado quando IV_FLDNM_MANDT também está preenchido.

  • ITAB_DATA: uma tabela interna do tipo DATA_SOURCE. Preencha ITAB_DATA com os dados que precisam ser replicados na tabela do BigQuery.

  • WA_HEADER: uma estrutura simples que contém informações de cabeçalho sobre a replicação. Isso é usado para determinar o operation_flag quando CDC_FRAMEWORK é SLT.

Quando você chama esse método, o módulo de transferência de dados do BigQuery realiza as seguintes ações:

  • Sincronize a definição da tabela do BigQuery com a definição do objeto do dicionário SAP com base nas configurações de tabela e campo mantidas na configuração de transferência de dados do BigQuery.
  • Mapeie os dados preenchidos em ITAB_DATA do formato SAP para o formato do BigQuery com base nas configurações no nível do campo mantidas na configuração de transferência de dados do BigQuery. Se as configurações no nível do campo não forem mantidas, as regras de mapeamento de dados padrão serão usadas.
  • Chame o método InsertAllTabledata da API BigQuery para carregar dados na tabela de destino do BigQuery.

Se todas as etapas forem concluídas com êxito, o parâmetro de exportação ev_error_code vai retornar o valor 0. Se houver um erro em qualquer etapa, ev_error_code vai retornar um valor diferente de zero e a mensagem de erro correspondente será preenchida em et_return.

Como desenvolvedor de aplicativos, você pode processar erros, incluindo salvá-los para análise posterior e tentar novamente o carregamento de registros que não foram replicados.

Receber suporte

Google Cloud oferece suporte para problemas e dúvidas relacionados à instalação, configuração, operação e manutenção do BigQuery Toolkit para SAP.

Para problemas originados de componentes gerenciados pela SAP, como Operational Data Provisioning (ODP), Data Migration Server (DMIS), Core Data Services (CDS), Internet Communication Manager (ICM) ou software de terceiros, Google Cloud o atendimento ao cliente faz o possível para identificar a causa raiz. Para resolver esses problemas, entre em contato com o fornecedor ou provedor de suporte respectivo.

Para resolver problemas com o BigQuery Toolkit para SAP, consulte Solução de problemas do BigQuery Toolkit para SAP.

Se você precisar de ajuda para resolver problemas com o ABAP SDK for Google Cloud, faça o seguinte: