Consulte os conetores suportados para a solução Application Integration.
Acionador de SAP ERP
O acionador do SAP ERP é um acionador de eventos do conetor. O conetor do SAP ERP permite-lhe realizar operações de inserção, eliminação, atualização e leitura em dados do SAP ERP.
Antes de começar
- Se planeia criar ou configurar uma nova associação para o acionador SAP ERP, certifique-se de que tem a seguinte função do IAM no projeto:
- Administrador do conetor (
roles/connectors.admin
)
Para informações sobre a concessão de funções, consulte o artigo Faça a gestão do acesso.
- Administrador do conetor (
- Conceda as seguintes funções de IAM à conta de serviço que quer usar para o acionador do SAP ERP:
- Application Integration Invoker (
roles/integrations.integrationInvoker
)
Para obter informações sobre a atribuição de funções a uma conta de serviço, consulte o artigo Faça a gestão do acesso às contas de serviço.
- Application Integration Invoker (
- Na Google Cloud consola, aceda à página Application Integration.
- No menu de navegação, clique em Integrações
A página Lista de integrações é apresentada com todas as integrações disponíveis no projeto do Google Cloud.
- Selecione uma integração existente ou clique em Criar integração para criar uma nova.
Se estiver a criar uma nova integração:
- Introduza 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. Pode alterar ou atualizar os detalhes da conta de serviço de uma integração em qualquer altura no painel Resumo da integração na barra de ferramentas de integração.
- Clique em Criar.
A integração recém-criada é aberta no editor de integração.
- Na barra de navegação do editor de integração, clique em Acionadores para ver a lista de acionadores disponíveis.
- Clique e coloque o elemento Acionador do SAP ERP no editor de integração.
- Clique no elemento Acionador SAP ERP no editor de integração para abrir o painel de configuração do acionador.
- Clique em Configurar acionador.
- Forneça os seguintes detalhes de configuração na página Editor do acionador de eventos do conetor:
- Região: selecione a região da sua ligação SAP ERP.
- Ligação: selecione a ligação SAP ERP que quer usar.
A integração de aplicações só apresenta as ligações do SAP ERP que estão ativas e têm uma subscrição de eventos ativada.
- Introduza o nome do campo do tipo de evento. Este campo identifica o tipo de evento
associado ao pedido de evento recebido.
{ "event_type": "user.created", ... // other request fields ... }
- Conta de serviço: selecione uma conta de serviço com as funções do IAM necessárias 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 Acionador SAP ERP no editor de integração para abrir o painel de configuração do acionador.
- Clique em Configurar acionador.
- Ignore o campo Região.
- Clique em Associação e selecione a opção Criar associação no menu pendente.
- Na secção Detalhes da associação, conclua o seguinte:
- Conector: selecione SAP ERP na lista pendente de conectores disponíveis.
- Versão do conetor: selecione a versão do conetor na lista pendente de versões disponíveis.
- No campo Nome da ligação, introduza um nome para a instância de ligação.
Os nomes das associações têm de cumprir os seguintes critérios:
- Os nomes das associações podem usar letras, números ou hífenes.
- As letras têm de ser minúsculas.
- Os nomes das associações têm de começar com uma letra e terminar com uma letra ou um número.
- Os nomes das associações não podem exceder 49 carateres.
- Para os conetores que suportam a subscrição de eventos, os nomes das associações não podem começar com o prefixo "goog".
- Opcionalmente, introduza uma Descrição para a associação.
- Opcionalmente, ative o Registo na nuvem e, em seguida, selecione um nível de registo. Por predefinição, o nível do registo está definido como
Error
. - Conta de serviço: selecione uma conta de serviço que tenha as funções necessárias.
- Para usar a associação para subscrições de eventos, selecione Ativar subscrição de eventos. Se selecionar
esta opção, são apresentadas as seguintes opções:
- Ativar subscrição de eventos com entidade e ações: selecione esta opção para usar a associação para a subscrição de eventos e as operações do conetor (entidades e ações).
- Ativar apenas subscrição de eventos: selecione esta opção para usar a associação apenas para a subscrição de eventos. Se selecionar esta opção, clique em Seguinte e, de seguida, configure a subscrição de eventos.
- Cliente: o cliente que está a fazer a autenticação no sistema SAP.
- ID do sistema: o ID do sistema ou o R3Name do sistema SAP é uma string com um máximo de três carateres. É frequentemente usado em ligações de balanceamento de carga.
- Número do sistema: o número pelo qual o sistema de destino é definido. Usado quando define a propriedade de ligação do anfitrião.
- ID do projeto: o ID do projeto do Google Cloud onde reside o contentor JAR do SAP JCo.
- Bucket: o nome do contentor que contém os ficheiros sapjco3.jar e libsapjco3.so.
- Caminho do Cloud Storage do JAR do JCo: caminho do Cloud Storage do JAR do JCo.
- Caminho do Cloud Storage libsapjco3: caminho do Cloud Storage do JAR libsapjco3.
- Modo de tabela: selecione a tabela SAP a apresentar como uma vista.
- Função de leitura de tabelas: nome da função a usar para ler tabelas. Para mais informações, consulte o artigo Use uma função de tabela de leitura personalizada.
- ID do sistema: o ID do sistema ou o R3Name do sistema SAP. Pode introduzir um máximo de 3 carateres.
- Modo de consulta: selecione as tabelas SAP que têm de ser apresentadas como vistas.
-
Visualizações navegáveis: introduza uma lista de visualizações separada por vírgulas a apresentar.
Por exemplo,
ViewA,ViewB,ViewC
. - Idioma: defina esta propriedade para o idioma que especificar quando iniciar sessão no SAP. Esta propriedade é um código ISO 639-1 para o idioma que o sistema SAP usa. Por predefinição, é usado o idioma EN.
- Entradas de serviço: as entradas de serviço a usar para a ligação.
-
Modo SNC: selecione esta opção para ativar o SNC para a autenticação entre a integração de aplicações e o seu sistema SAP. Se selecionar esta opção, especifique os seguintes detalhes:
- ID do objeto SNC_LIB: ID do objeto da biblioteca SNC.
- Nome do PSE: nome do ficheiro do ambiente de segurança pessoal (PSE) aplicável ao contentor. Um ficheiro PSE armazena o par de chaves públicas e privadas, bem como os certificados X.509 numa estrutura ASN.1.
- Código secreto do SNC: selecione o segredo do Secret Manager do código secreto da biblioteca do SNC.
- Versão do Secret: selecione a versão do Secret.
- Nome do SNC: introduza um nome para a ligação SNC.
-
SNC qop: selecione um nível de proteção. Seguem-se os níveis suportados:
- 1: aplique apenas a autenticação.
- 2 - Aplique a proteção de integridade. Isto também inclui a proteção de autenticação.
- 3 - Aplique a proteção de privacidade. Isto também inclui a proteção da integridade e da autenticação.
- 8 - Aplique a proteção predefinida.
- 9: aplique a proteção máxima.
- Nome do parceiro SNC: introduza o nome SNC do servidor de aplicações.
-
Esquema de ligação: especifique se está a estabelecer ligação a um sistema SAP com um servidor de mensagens (servidor de grupo) ou um servidor de aplicações. Para informações sobre os pré-requisitos que tem de cumprir para estabelecer ligação a um sistema SAP com um servidor de mensagens, consulte o tipo de ligação do servidor de mensagens (servidor de grupo).
Se selecionar GroupServer, tem de especificar os seguintes detalhes:
- Servidor de mensagens: especifique o servidor de mensagens quando se ligar a um sistema SAP que usa o equilíbrio de carga.
- Serviço de servidor de mensagens: o serviço de servidor de mensagens ao qual quer estabelecer ligação.
- Grupo: o grupo de início de sessão usado. Só tem de especificar este parâmetro quando estabelecer ligação a um sistema SAP que use o equilíbrio de carga.
Se estiver a estabelecer ligação a um sistema SAP com um servidor de mensagens (servidor de grupo), não precisa de especificar o endereço do anfitrião na secção Destinos.
- Opcionalmente, configure as definições do nó de associação:
- Número mínimo de nós: introduza o número mínimo de nós de ligação.
- Número máximo de nós: introduza o número máximo de nós de ligação.
Um nó é uma unidade (ou uma réplica) de uma ligação que processa transações. São necessários mais nós para processar mais transações para uma ligação e, inversamente, são necessários menos nós para processar menos transações. Para compreender como os nós afetam os preços dos conectores, consulte o artigo Preços dos nós de ligação. Se não introduzir valores, por predefinição, os nós mínimos são definidos como 2 (para uma melhor disponibilidade) e os nós máximos são definidos como 50.
- Opcionalmente, clique em + ADICIONAR ETIQUETA para adicionar uma etiqueta à associação sob a forma de um par chave/valor.
- Clicar em Seguinte.
- Na secção Destinos, introduza os detalhes do anfitrião remoto (sistema de back-end) ao qual quer estabelecer ligação. Se estiver a estabelecer ligação a um sistema SAP com um servidor de mensagens, não precisa de especificar o endereço do anfitrião.
- Tipo de destino: selecione um Tipo de destino.
- Selecione Endereço do anfitrião na lista para especificar o nome do anfitrião ou o endereço IP do destino.
- Se quiser estabelecer uma ligação privada aos seus sistemas de back-end, selecione Anexo de ponto final na lista e, de seguida, selecione o anexo de ponto final necessário na lista Anexo de ponto final.
Se quiser estabelecer uma ligação pública aos seus sistemas de back-end com segurança adicional, pode considerar configurar endereços IP estáticos de saída para as suas ligações e, em seguida, configurar as regras da firewall para permitir apenas os endereços IP estáticos específicos.
Para introduzir destinos adicionais, clique em +Adicionar destino.
- Clicar em Seguinte.
- Tipo de destino: selecione um Tipo de destino.
-
Na secção Autenticação, introduza os detalhes de autenticação.
- Selecione um Tipo de autenticação e introduza os detalhes relevantes.
Os seguintes tipos de autenticação são suportados pela ligação SAP ERP:
- Autenticação baseada em certificado X509
- Nome de utilizador e palavra-passe
- Clicar em Seguinte.
Para saber como configurar estes tipos de autenticação, consulte o artigo Configurar autenticação.
- Selecione um Tipo de autenticação e introduza os detalhes relevantes.
- Se tiver ativado a subscrição de eventos, a secção Detalhes da subscrição de eventos é apresentada na página de criação da associação. Para saber como configurar os detalhes da subscrição de eventos, consulte o artigo Configure a subscrição de eventos.
- Rever: reveja os detalhes da ligação e da autenticação.
- Clique em Criar.
-
Autenticação baseada em X509Certificate
- X509Certificate: o certificado X509 usado para iniciar sessão.
- Versão do Secret: selecione a versão do Secret.
-
Nome de utilizador e palavra-passe
- Nome de utilizador: nome de utilizador do conetor
- Palavra-passe: Secret do Secret Manager que contém a palavra-passe associada ao conector.
-
Selecione um dos seguintes tipos de autenticação para o ouvinte de eventos.
- Autenticação Google. Se ativar esta opção, siga os passos em Autentique através de tokens Web JSON para configurar a autenticação para o SDK ABAP. Além disso, certifique-se de que a conta de serviço tem a função roles/connectors.listener cuja chave de acesso é usada para autenticação.
- Autenticação de chave da API. Se selecionar esta opção, tem de ter criado uma chave da API e, em seguida, guardado a chave como um Secret do Secret Manager. Para mais informações, consulte o artigo Crie uma chave da API.
-
Introduza o nome do campo do tipo de evento. Este campo identifica o tipo de evento associado ao pedido de evento recebido.
{ "event_type": "user.created", ... // other request fields ... }
- Selecione Ativar conetividade privada para uma conetividade segura entre a sua aplicação de back-end e a sua ligação. Se selecionar esta opção, tem de realizar passos de configuração adicionais depois de criar a associação. Para mais informações, consulte o artigo Conetividade privada para subscrição de eventos.
- Introduza a configuração de mensagens não entregues. Se configurar a fila de mensagens rejeitadas, a ligação escreve
os eventos não processados no tópico Pub/Sub especificado. Introduza os seguintes detalhes:
- ID do projeto de mensagens não entregues: o ID do projeto do Google Cloud onde configurou o tópico Pub/Sub de mensagens não entregues.
- Tópico de mensagens não entregues: o tópico do Pub/Sub onde quer escrever 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 o seu grupo de funções de trabalho. Neste exemplo,RFC_READ_TABLE
é copiado paraZ_CUSTOM_READ_TABLE
. - No separador Atributos do ecrã SAP, selecione
Remote Enabled Module
. - No separador Tabelas, defina o parâmetro
DATA
comoCHAR8000
. Clique com o botão direito do rato no ecrã e, de seguida, clique em Ecrã -> Alterar. - No separador Código-fonte, cole o código-fonte de exemplo 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 encontra-se emZ_CUSTOM_READ_TABLE.txt
, emboraZ_CUSTOM_READ_TABLE_752.txt
seja preferível se a sua instância do SAP ERP estiver a executar a versão 7.52 ou posterior do ABAP. - Clique em Guardar.
- Defina as importações, as tabelas e as exceções, conforme documentado na tabela de leitura personalizada fornecida.
- Ative o módulo de funções e, na string de ligação, defina
ReadTableFunction
comoZ_CUSTOM_READ_TABLE
ou o nome do módulo de funções. - Saiba mais sobre todas as tarefas e acionadores.
- Saiba como testar e publicar uma integração.
- Saiba mais acerca do processamento de erros.
- Saiba mais sobre os registos de execução da integração.
Adicione o acionador do SAP ERP
Para adicionar um acionador do SAP ERP à sua integração, siga estes passos:
Para configurar o acionador SAP ERP, pode usar uma ligação SAP ERP existente disponível nos Integration Connectors ou criar uma nova ligação SAP ERP através da opção de criação de ligações inline.
Configure o acionador do SAP ERP através de uma associação existente
O acionador SAP ERP é um acionador de eventos de conetor. Por isso, só pode usar uma ligação SAP ERP com a subscrição de eventos ativada para configurar o acionador.
Para obter informações sobre como configurar um acionador do SAP ERP através de uma nova ligação do SAP ERP, consulte o artigo Configure o acionador do SAP ERP através de uma nova ligação
Para configurar um acionador do SAP ERP através de uma ligação existente ao SAP ERP, siga estes passos:
Configure o acionador do SAP ERP através de uma nova ligação
Configure a autenticação
Introduza os detalhes com base na autenticação que quer usar.
Configure para a subscrição de eventos
Se ativar a subscrição de eventos, tem de configurar o SDK ABAP. Para obter informações sobre a configuração do SDK ABAP, consulte o artigo Vista geral do SDK ABAP para o Google Cloud.
Introduza os seguintes valores na secção Detalhes da subscrição de eventos:
Use uma função de tabela de leitura personalizada
RFC_READ_TABLE
O conetor usa a função RFC_READ_TABLE
do SAP para obter dados de tabelas SAP.
No entanto, tem determinadas limitações. Por exemplo, considere a exceção DATA_BUFFER_EXCEEDED
. O SAP RFC_READ_TABLE
tem um tamanho fixo de 512 bytes. Pode armazenar em buffer cada linha de dados e, por isso, não pode selecionar mais colunas do que a quantidade que caberia neste buffer. Se selecionar mais de 512 bytes, ocorre uma exceção
a indicar que excedeu o tamanho máximo da memória intermédia permitido por linha e que tem
de selecionar menos colunas.
RFC_READ_TABLE2
O conetor SAP ERP suporta a função de leitura de tabelas RFC_READ_TABLE2
. Pode mudar
a função de leitura da tabela ativa para RFC_READ_TABLE2
definindo ReadTableFunction
como /SAPDS/RFC_READ_TABLE2
.
Funções de tabela de leitura personalizadas
O conector inclui um RFC de tabela de leitura personalizado, Z_CUSTOM_READ_TABLE
, que é semelhante ao SAP RFC_READ_TABLE
, mas com um buffer maior para resolver o problema DATA_BUFFER_EXCEEDED
e contornar as limitações do RFC_READ_TABLE
.
Para usar o RFC de tabela de leitura personalizado incluído para ignorar as limitações com o RFC_READ_TABLE
predefinido, siga estes passos:
A tabela de leitura personalizada ABAP 7.52
Juntamente com o ficheiro Z_CUSTOM_READ_TABLE.txt
, também existe um ficheiro Z_CUSTOM_READ_TABLE_752.txt
para a versão 7.52 e superior do ABAP. É semelhante a Z_CUSTOM_READ_TABLE
, mas tira partido das palavras-chave recentemente disponíveis no ABAP 7.52 para fazer a paginação na base de dados, em vez de no próprio script ABAP. Isto torna a paginação eficiente quando trabalha com tabelas grandes.
Recomendamos que use a Z_CUSTOM_READ_TABLE_752
RFC.
Configure a autenticação no SAP
Configure a autenticação no SAP seguindo as instruções no guia Vista geral da autenticação para a edição no local ou em qualquer nuvem do SDK ABAP para o Google Cloud.
Valide o acionador
Para validar o acionador, pode criar um programa ABAP. Segue-se um exemplo de um programa ABAP que pode usar 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.
Quotas e limites
Para informações sobre quotas e limites, consulte o artigo Quotas e limites.