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 seus aplicativos SAP, como programas ABAP personalizados, saídas de usuário, complementos de negócios (BAdIs) e melhorias. Seu aplicativo SAP precisa transmitir os dados a serem replicados como uma entrada para a classe.

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

Você instancia a classe de carregamento de dados do BigQuery /GOOG/CL_BQTR_DATA_LOAD transmitindo a chave de transferência em massa e o nome do objeto de dicionário configurado na configuraçã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 de transferência de dados do BigQuery.
  • DATA_SOURCE: o nome do objeto de dicionário da SAP, como tabela, visualização de dicionário ou visualização do CDS.
  • CDC_FRAMEWORK: opcional. O framework de captura de dados alterados (CDC, na sigla em inglês) usado 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 no framework 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 no payload transmitido na entrada:

    • Se o valor for C, operation_flag será definido como I.
    • Se o valor for U, o operation_flag será definido como U.
    • Se o valor for 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 for I, o operation_flag será definido como I.
    • Se o valor for U, o operation_flag será definido como U.
    • Se o valor for 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 do SAP, como entidades CDS, que não têm o campo de cliente na definição, mas você quer que o campo seja adicionado ao BigQuery.

  • MANDT_VALUE: opcional. O valor do campo de cliente SAP que precisa ser preenchido no BigQuery. Ele só pode ser usado quando IV_FLDNM_MANDT também estiver 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 plana que contém informações do cabeçalho sobre a replicação. Ele é 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 dados preenchidos em ITAB_DATA do formato SAP para o formato do BigQuery com base nas configurações de nível de campo mantidas na configuração de transferência de dados do BigQuery. Se as configurações de nível de 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 do BigQuery de destino.

Se todas as etapas forem concluídas, 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, inclusive salvando-os para análise posterior e tentando novamente o carregamento de registros que falharam na replicação.

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. No entanto, o suporte é limitado ao próprio kit de ferramentas.

Google Cloud não oferece suporte a outros componentes do ambiente, como infraestrutura de rede, bancos de dados, sistemas operacionais ou softwares de terceiros. Para problemas relacionados a componentes de ambiente que não sejam o BigQuery Toolkit para SAP, entre em contato com o fornecedor ou provedor de suporte apropriado.

Para funcionalidades fornecidas pela SAP, como o provisionamento de dados operacionais (ODP, na sigla em inglês) e a transformação de paisagem do SAP (SLT, na sigla em inglês), entre em contato com o suporte da SAP para receber ajuda.

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: