Consulte os conectores compatíveis com a integração de aplicativos.
Acionador do ERP da SAP
O gatilho do SAP ERP é um gatilho de evento do conector. O conector do SAP ERP permite executar operações de inserção, exclusão, atualização e leitura nos dados do SAP ERP.
Antes de começar
- Se você planeja criar ou configurar uma nova conexão para o gatilho SAP ERP, verifique se tem o seguinte papel do IAM no projeto:
- Administrador do conector (
roles/connectors.admin
)
Para mais informações sobre como conceder papéis, consulte Gerenciar o acesso.
- Administrador do conector (
- Conceda os seguintes papéis do IAM à conta de serviço que você quer usar para o gatilho SAP ERP:
- Invocador do Application Integration (
roles/integrations.integrationInvoker
)
Para informações sobre como conceder papéis a uma conta de serviço, consulte Gerenciar o acesso a contas de serviço.
- Invocador do Application Integration (
- No console do Google Cloud, acesse a página Application Integration.
- No menu de navegação, clique em Integrações.
A página Lista de integrações aparece listando todas as integrações disponíveis no projeto do Google Cloud.
- Selecione uma integração ou clique em Criar integração para criar uma nova.
Caso você esteja criando uma nova integração, siga estas etapas:
- Insira um nome e uma descrição no painel Criar integração.
- Selecione uma região para a integração.
- Selecione uma conta de serviço para a integração. Você pode mudar ou atualizar os detalhes da conta de serviço de uma integração a qualquer momento no painel Resumo da integração na barra de ferramentas da integração.
- Clique em Criar.
Isso abre a integração na página do editor de integração.
- Na barra de navegação do editor de integração, clique em Gatilhos para ver a lista de gatilhos disponíveis.
- Clique e coloque o elemento do gatilho ERP do SAP no editor de integração.
- Clique no elemento Gatilho do SAP ERP no editor de integração para abrir o painel de configuração do gatilho.
- Clique em Configurar gatilho.
- Informe os seguintes detalhes de configuração na página Editor de gatilho de evento do conector:
- Região:selecione a região da sua conexão do SAP ERP.
- Conexão:selecione a conexão do SAP ERP que você quer usar.
A integração de aplicativos só mostra as conexões do SAP ERP que estão ativas e têm uma assinatura de evento ativada.
- Insira o nome do campo do tipo de evento. Esse campo identifica o tipo de evento
associadas à solicitação de evento recebida.
{ "event_type": "user.created", ... // other request fields ... }
- Conta de serviço: selecione uma conta de serviço com os papéis do IAM necessários para o acionador do SAP ERP.
- Clique em Concluído para concluir a configuração do acionador e fechar a página.
- Clique no elemento Gatilho do SAP ERP no editor de integração para abrir o painel de configuração do gatilho.
- Clique em Configurar gatilho.
- Ignore o campo Região.
- Clique em Conexão e selecione a opção Criar conexão no menu suspenso.
- Na seção Detalhes da conexão, faça o seguinte:
- Conector: selecione SAP ERP na lista suspensa de conectores disponíveis.
- Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
- No campo Nome da conexão, insira um nome para a instância de conexão
Os nomes de conexão precisam atender aos seguintes critérios:
- Os nomes de conexões podem usar letras, números ou hifens.
- As letras precisam ser minúsculas.
- Os nomes das conexões precisam começar com uma letra e terminar com uma letra ou um número.
- Os nomes das conexões não podem ter mais de 49 caracteres.
- Nos conectores que oferecem suporte a assinaturas de eventos, os nomes das conexões não podem começar com "goog". .
- Também é possível digitar uma Descrição para a conexão.
- Se quiser, ative o Cloud Logging.
e selecione um nível de registro. Por padrão, o nível de registro é definido como
Error
. - Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
- Para usar a conexão para inscrições de eventos, selecione Ativar inscrição de eventos. Selecionando
isso exibe as seguintes opções:
- Ativar a assinatura de eventos com entidade e ações: selecione essa opção para usar a conexão nas operações de assinatura de eventos e conector (entidades e ações).
- Ativar somente inscrição de eventos: selecione esta opção para usar a conexão. apenas para inscrição em eventos. Se você selecionar essa opção, clique em Próxima e, em seguida, configure a assinatura de eventos.
- Cliente: o cliente que faz a autenticação no sistema SAP.
- System Id: o System Id ou R3Name do sistema SAP é uma string com no máximo três caracteres. Geralmente é usado em conexões de balanceamento de carga.
- Número do sistema: o número pelo qual o sistema de destino é definido. Usado ao definir a propriedade de conexão do host.
- ID do projeto: o ID do projeto do Google Cloud em que está o bucket do GCS que contém o jar do JCo do SAP.
- Bucket: o nome do bucket que contém os arquivos sapjco3.jar e libsapjco3.so.
- ID do objeto do jar do Jaco: ID do objeto do jar do Jaco.
- ID do objeto libsapjco3: ID do objeto do jar libsapjco3.
- Modo de tabela: selecione a tabela da SAP que será mostrada como uma visualização.
- ID do objeto SNC_LIB: ID do objeto da biblioteca SNC.
- Nome do PSE: nome do arquivo de ambiente de segurança pessoal (PSE, na sigla em inglês) aplicável ao bucket. Um arquivo PSE armazena o par de chaves pública e privada, bem como certificados X.509, em uma estrutura ASN.1.
- Grupo: o nome do grupo para logon. Isso normalmente é especificado quando o sistema SAP usa balanceadores de carga.
- Servidor de mensagens: o nome do servidor de mensagens a ser usado na conexão com o sistema SAP que usa balanceadores de carga.
- Read table function: nome da função a ser usada para ler tabelas. Para mais informações, consulte Usar uma função de tabela de leitura personalizada.
- Esquema de conexão: selecione um esquema de conexão a ser usado para se conectar ao seu sistema SAP.
- ID do sistema: o ID do sistema ou o R3Name do sistema SAP. Você pode inserir no máximo 3 caracteres.
- Senha do SNC: selecione o secret do Secret Manager da senha da biblioteca SNC.
- Versão do secret: selecione a versão do secret.
- Modo SNC: selecione essa opção para ativar o SNC para autenticação entre a integração de aplicativos e o sistema SAP.
- Nome do SNC: digite um nome para a conexão do SNC.
-
SNC qop: selecione um nível de proteção. Confira a seguir os níveis compatíveis:
- 1 - Aplicar apenas a autenticação.
- 2 - Aplicar a proteção da integridade. Isso também inclui a proteção de autenticação.
- 3: aplique a proteção de privacidade. Isso também inclui proteção de integridade e autenticação.
- 8: aplique a proteção padrão.
- 9 - Aplicar a proteção máxima.
- SNC partner name: digite o nome do SNC do servidor de aplicativos.
- Modo de consulta: selecione quais tabelas do SAP devem ser mostradas como visualizações.
-
Visualizações pesquisáveis: insira uma lista separada por vírgulas das visualizações que serão exibidas.
Por exemplo,
ViewA,ViewB,ViewC
. - Nível de verbosidade: insira o nível de detalhamento para a geração de registros. Os recursos são de 1 a 5. Um valor maior significa que mais detalhes estarão disponíveis nos registros.
- Opcionalmente, defina as Configurações do nó de conexão:
- Número mínimo de nós: digite o número mínimo de nós de conexão.
- Número máximo de nós: digite o número máximo de nós de conexão.
Um nó é uma unidade (ou réplica) de uma conexão que processa transações. Mais nós são necessários para processar mais transações para uma conexão e, por outro lado, menos nós são necessários para processar menos transações. Para entender como os nós afetam os preços do conector, consulte Preços dos nós de conexão. Se você não inserir qualquer valor, por padrão, os nós mínimos serão definidos como 2 (para melhor disponibilidade) e os nós máximos serão definidos como 50.
- Outra opção é clicar em + ADICIONAR MARCADOR para adicionar um rótulo à conexão na forma de um par de chave-valor.
- Clique em Próxima.
- Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar.
- Tipo de destino: selecione um Tipo de destino.
- Selecione Endereço do host na lista para especificar o nome do host ou o endereço IP do destino.
- Se você quiser estabelecer uma conexão particular com seus sistemas de back-end, Selecione Anexo do endpoint na lista e escolha o anexo de endpoint necessário. na lista Anexo do endpoint.
Se você quiser estabelecer uma conexão pública com seus sistemas de back-end com mais segurança, considere configurar endereços IP estáticos de saída para suas conexões e, em seguida, configurar as regras do firewall para permitir apenas os endereços IP estáticos específicos.
Para inserir outros destinos, clique em +Adicionar destino.
- Clique em Próxima.
- Tipo de destino: selecione um Tipo de destino.
-
Na seção Autenticação, insira os detalhes da autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
Os seguintes tipos de autenticação são compatíveis com a conexão SAP ERP:
- Nome de usuário e senha
- Clique em Próxima.
Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
- Se você tiver ativado a assinatura de eventos, a seção Detalhes da assinatura de eventos vai aparecer na página de criação da conexão. Para entender Saiba como configurar detalhes da assinatura de eventos em Configurar a assinatura de eventos.
- Revisão: revise os detalhes de conexão e autenticação.
- Clique em Criar.
-
Nome de usuário e senha
- Nome de usuário: nome de usuário para o conector
- Senha: secret do Secret Manager que contém a senha associada ao conector.
-
Selecione um dos seguintes tipos de autenticação para o listener de eventos.
- Autenticação do Google. Se você ativar essa opção, siga as etapas em Autenticar usando JSON Web Tokens para configurar a autenticação para o SDK do ABAP. Além disso, verifique se a conta de serviço tem roles/connectors.listener com token de acesso que é usado para autenticação.
- Autenticação de chave de API. Se você selecionar essa opção, será necessário criar uma chave de API e, em seguida, salvá-la como um secret do Secret Manager. Para mais informações, consulte Criar uma chave de API.
-
Insira o nome do campo do tipo de evento. Esse campo identifica o tipo de evento associado à
solicitação de evento recebida.
{ "event_type": "user.created", ... // other request fields ... }
- Selecione Ativar conectividade particular para ter uma conexão segura entre o aplicativo de back-end e a conexão. Se você selecionar essa opção, será necessário realizar outras etapas de configuração depois de criar a conexão. Para mais informações, consulte Conectividade particular para assinatura de eventos.
- Insira a configuração de mensagens inativas. Se você configurar mensagens inativas, a conexão gravará
os eventos não processados para o tópico do Pub/Sub especificado. Digite os seguintes detalhes:
- ID do projeto de mensagens inativas: o ID do projeto do Google Cloud em que você configurou o tópico de mensagens inativas do Pub/Sub.
- Tópico de mensagens inativas: o tópico do Pub/Sub em que você quer gravar os detalhes do evento não processado.
- Use a função
RFC_READ_TABLE
como modelo para a nova função. Selecione o código de transaçãoSE37
e o grupo de funçõesSDTX
e copieRFC_READ_TABLE
para um novo grupo de funções ou para seu grupo de funções de trabalho. Neste exemplo,RFC_READ_TABLE
é copiado paraZ_CUSTOM_READ_TABLE
. - Na guia Attributes da tela do SAP, selecione
Remote Enabled Module
. - Na guia Tabelas, defina o parâmetro
DATA
comoCHAR8000
. Clique com o botão direito do mouse na tela e selecione Exibição -> Alterar. - Na guia Source Code, cole o exemplo de código-fonte para o módulo de função
RFC_READ_TABLE
de substituição localizado na subpastadb
do diretório de instalação. O código está localizado emZ_CUSTOM_READ_TABLE.txt
, emboraZ_CUSTOM_READ_TABLE_752.txt
seja preferível se a instância do SAP ERP estiver executando o ABAP versão 7.52 ou posterior. - Clique em Salvar.
- Defina as importações, tabelas e exceções conforme documentado na tabela de leitura personalizada fornecida.
- Ative o módulo de função e, na string de conexão, defina
ReadTableFunction
comoZ_CUSTOM_READ_TABLE
ou o nome do módulo de função. - Saiba mais sobre todas as tarefas e acionadores.
- Saiba como testar e publicar uma integração.
- Saiba mais sobre o tratamento de erros.
- Saiba mais sobre os registros de execução de integração.
Adicionar o acionador do SAP ERP
Para adicionar um gatilho SAP ERP à integração, siga estas etapas:
Para configurar o gatilho do SAP ERP, use uma conexão SAP ERP disponível nos Integration Connectors ou crie uma nova usando a opção de criação de conexão inline.
Configurar o acionador do SAP ERP usando uma conexão existente
O gatilho SAP ERP é um acionador de evento do conector. Portanto, só é possível usar uma conexão do SAP ERP com a assinatura de eventos ativada para configurar o acionador.
Para saber como configurar um gatilho do SAP ERP usando uma nova conexão do SAP ERP, consulte Configurar o gatilho do SAP ERP usando uma nova conexão.
Para configurar um gatilho do SAP ERP usando uma conexão SAP ERP, siga estas etapas:
Configurar o acionador do SAP ERP usando uma nova conexão
Configurar a autenticação
Digite os detalhes com base na autenticação que você quer usar.
Configurar para assinatura de eventos
Se você tiver ativado a assinatura de eventos, insira os seguintes valores na seção Detalhes da assinatura de eventos:
Usar uma função personalizada de leitura de tabela
RFC_READ_TABLE
O conector usa a função RFC_READ_TABLE
do SAP para receber dados das tabelas SAP.
No entanto, há algumas limitações. Como exemplo, considere a exceção
DATA_BUFFER_EXCEEDED
. O RFC_READ_TABLE
do SAP tem um tamanho fixo de 512 bytes. Ele pode armazenar em buffer
cada linha de dados e, portanto, não é possível selecionar mais colunas do que a quantidade que
que cabem nesse buffer. Se você selecionar mais de 512 bytes, ocorrerá uma exceção
indicando que você excedeu o tamanho máximo de buffer permitido por linha e precisa
para selecionar menos colunas.
RFC_READ_TABLE2
O conector do SAP ERP é compatível com a função de leitura de tabela RFC_READ_TABLE2
. É possível alternar
a função de leitura de tabela ativa como RFC_READ_TABLE2
definindo ReadTableFunction
para /SAPDS/RFC_READ_TABLE2
.
Funções de leitura de tabela personalizadas
O conector inclui um RFC de tabela de leitura personalizado, Z_CUSTOM_READ_TABLE
, que é semelhante
ao RFC_READ_TABLE
do SAP, mas com um buffer maior para resolver o problema de DATA_BUFFER_EXCEEDED
e ignorar as limitações de RFC_READ_TABLE
.
Para usar o RFC da tabela de leitura personalizada incluído para ignorar limitações com o RFC_READ_TABLE
padrão, siga estas etapas:
Tabela de leitura personalizada do ABAP 7.52
Além de Z_CUSTOM_READ_TABLE.txt
, há também um arquivo Z_CUSTOM_READ_TABLE_752.txt
para ABAP versão 7.52 e mais recentes. Ele é semelhante ao Z_CUSTOM_READ_TABLE
, mas aproveita as palavras-chave recém-disponíveis no ABAP 7.52 para realizar a paginação no banco de dados.
e não no próprio script ABAP. Isso torna a paginação eficiente ao trabalhar com tabelas grandes.
É recomendável usar o RFC Z_CUSTOM_READ_TABLE_752
.
Configurar a autenticação no SAP
Configure a autenticação no SAP seguindo as instruções no guia Visão geral da autenticação para o local ou qualquer edição na nuvem do SDK do ABAP para o Google Cloud.
Validar o acionador
Para validar o gatilho, crie um programa ABAP. Confira a seguir um exemplo de programa ABAP que pode ser usado como referência. O campo ls_event_payload
muda com base nos seus requisitos:
*&---------------------------------------------------------------------* *& Report ZR_TEST_INT_CONNECTOR *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT zr_test_int_connector. PARAMETERS: p_auth TYPE char1 RADIOBUTTON GROUP rbg1 USER-COMMAND uc DEFAULT 'X', p_apik TYPE char1 RADIOBUTTON GROUP rbg1. DATA: lv_p_projects_id TYPE string, lv_p_locations_id TYPE string, lv_p_connections_id TYPE string, ls_input TYPE /goog/cl_connectors_v1=>ty_103. TYPES: BEGIN OF event_payload, event_type TYPE string, event_id TYPE string, name TYPE string, org_id TYPE string, END OF event_payload. DATA: ls_event_payload TYPE event_payload. ls_event_payload = VALUE #( event_type = 'create-entity' event_id = '1' name = 'demo-org' org_id = 'SAP' ). TRY. IF p_Auth = abap_true. DATA(lv_client_key) = 'IC_DEMO_GOOGLE_AUTH'. lv_p_connections_id = 'conn-event-triggers-from-sap-erp'. ELSE. lv_client_key = 'IC_DEMO_GOOGLE_APIK'. lv_p_connections_id = 'conn-event-triggers-from-sap-erp-apik'. ENDIF. * Open HTTP Connection DATA(lo_client) = NEW /goog/cl_connectors_v1( iv_key_name = CONV #( lv_client_key ) ). * Populate relevant parameters lv_p_projects_id = lo_client->gv_project_id. lv_p_locations_id = 'us-central1'. GET REFERENCE OF ls_event_payload INTO ls_input-payload . * Call API method: connectors.projects.locations.connections.listenEvent CALL METHOD lo_client->listen_event_connections EXPORTING iv_p_projects_id = lv_p_projects_id iv_p_locations_id = lv_p_locations_id iv_p_connections_id = lv_p_connections_id is_input = ls_input IMPORTING * es_raw = es_output = DATA(ls_output) ev_ret_code = DATA(lv_ret_code) ev_err_text = DATA(lv_err_text) es_err_resp = DATA(ls_err_resp). IF lo_client->is_success( lv_ret_code ). MESSAGE 'Success' TYPE 'S'. ELSE. MESSAGE lv_err_text TYPE 'E'. ENDIF. * Close HTTP Connection lo_client->close( ). CATCH /goog/cx_sdk INTO DATA(lo_exception). MESSAGE lo_exception->get_text( ) TYPE 'E'. ENDTRY.
Cotas e limites
Para informações sobre o assunto, consulte Cotas e limites.