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ãoODQ
eSLT
.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 comoODQ
, o BigQuery Toolkit para SAP recebe o valor da colunaODQ_CHANGEMODE
na carga transmitida na entrada:- Se o valor =
C
, ooperation_flag
será definido comoI
. - Se o valor =
U
, ooperation_flag
será definido comoU
. - Se o valor =
D
, ooperation_flag
será definido comoD
. - Para todos os outros valores, o
operation_flag
é definido comoL
.
Quando
CDC_FRAMEWORK
é transmitido comoSLT
, o BigQuery Toolkit para SAP recebe o valor da coluna "OPERATION" deWA_HEADER
:- Se o valor =
I
, ooperation_flag
será definido comoI
. - Se o valor =
U
, ooperation_flag
será definido comoU
. - Se o valor =
D
, ooperation_flag
será definido comoD
. - Para todos os outros valores, o
operation_flag
é definido comoL
.
Se
CDC_FRAMEWORK
não for transmitido ou for transmitido como qualquer outro valor,operation_flag
será definido comoL
.- Se o valor =
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 quandoIV_FLDNM_MANDT
também está preenchido.ITAB_DATA
: uma tabela interna do tipoDATA_SOURCE
. PreenchaITAB_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 ooperation_flag
quandoCDC_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:
Consulte o guia de solução de problemas do ABAP SDK for Google Cloud.
Faça suas perguntas e discuta o ABAP SDK for Google Cloud com a comunidade nos Fóruns do Cloud.
Colete todas as informações de diagnóstico disponíveis e entre em contato com o Cloud Customer Care. Para mais informações sobre como entrar em contato com o atendimento ao cliente, consulte Como receber suporte para o SAP no Google Cloud.