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.

  • Conceda as seguintes funções de IAM à conta de serviço que quer usar para o acionador do SAP ERP:
  • Adicione o acionador do SAP ERP

    Para adicionar um acionador do SAP ERP à sua integração, siga estes passos:

    1. Na Google Cloud consola, aceda à página Application Integration.

      Aceda à solução Application Integration

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

    3. Selecione uma integração existente ou clique em Criar integração para criar uma nova.

      Se estiver a criar uma nova integração:

      1. Introduza um nome e uma descrição no painel Criar integração.
      2. Selecione uma região para a integração.
      3. 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.
      4. Clique em Criar.

      A integração recém-criada é aberta no editor de integração.

    4. Na barra de navegação do editor de integração, clique em Acionadores para ver a lista de acionadores disponíveis.
    5. Clique e coloque o elemento Acionador do SAP ERP no editor de integração.
    6. 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:

    1. Clique no elemento Acionador SAP ERP no editor de integração para abrir o painel de configuração do acionador.
    2. Clique em Configurar acionador.
    3. Forneça os seguintes detalhes de configuração na página Editor do acionador de eventos do conetor:
      1. Região: selecione a região da sua ligação SAP ERP.
      2. 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.

      3. 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
            ...
            }
      4. Conta de serviço: selecione uma conta de serviço com as funções do IAM necessárias para o acionador do SAP ERP.
    4. Clique em Concluído para concluir a configuração do acionador e fechar a página.

    Configure o acionador do SAP ERP através de uma nova ligação

    1. Clique no elemento Acionador SAP ERP no editor de integração para abrir o painel de configuração do acionador.
    2. Clique em Configurar acionador.
    3. Ignore o campo Região.
    4. Clique em Associação e selecione a opção Criar associação no menu pendente.
    5. Na secção Detalhes da associação, conclua o seguinte:
      1. Conector: selecione SAP ERP na lista pendente de conectores disponíveis.
      2. Versão do conetor: selecione a versão do conetor na lista pendente de versões disponíveis.
      3. 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".
      4. Opcionalmente, introduza uma Descrição para a associação.
      5. 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.
      6. Conta de serviço: selecione uma conta de serviço que tenha as funções necessárias.
      7. 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.
      8. Cliente: o cliente que está a fazer a autenticação no sistema SAP.
      9. 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.
      10. 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.
      11. ID do projeto: o ID do projeto do Google Cloud onde reside o contentor JAR do SAP JCo.
      12. Bucket: o nome do contentor que contém os ficheiros sapjco3.jar e libsapjco3.so.
      13. Caminho do Cloud Storage do JAR do JCo: caminho do Cloud Storage do JAR do JCo.
      14. Caminho do Cloud Storage libsapjco3: caminho do Cloud Storage do JAR libsapjco3.
      15. Modo de tabela: selecione a tabela SAP a apresentar como uma vista.
      16. 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.
      17. ID do sistema: o ID do sistema ou o R3Name do sistema SAP. Pode introduzir um máximo de 3 carateres.
      18. Modo de consulta: selecione as tabelas SAP que têm de ser apresentadas como vistas.
      19. Visualizações navegáveis: introduza uma lista de visualizações separada por vírgulas a apresentar. Por exemplo, ViewA,ViewB,ViewC.
      20. 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.
      21. Entradas de serviço: as entradas de serviço a usar para a ligação.
      22. 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.
      23. 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.

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

      25. Opcionalmente, clique em + ADICIONAR ETIQUETA para adicionar uma etiqueta à associação sob a forma de um par chave/valor.
      26. Clicar em Seguinte.
    6. 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.
      1. 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.

      2. Clicar em Seguinte.
    7. Na secção Autenticação, introduza os detalhes de autenticação.
      1. 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
      2. Para saber como configurar estes tipos de autenticação, consulte o artigo Configurar autenticação.

      3. Clicar em Seguinte.
    8. 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.
    9. Rever: reveja os detalhes da ligação e da autenticação.
    10. Clique em Criar.

    Configure a autenticação

    Introduza os detalhes com base na autenticação que quer usar.

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

    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:

    1. Selecione um dos seguintes tipos de autenticação para o ouvinte de eventos.
    2. 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
      ...
      }
    3. 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.
    4. 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:
      1. 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.
      2. Tópico de mensagens não entregues: o tópico do Pub/Sub onde quer escrever os detalhes do evento não processado.

    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:

    1. Use a função RFC_READ_TABLE como modelo para a nova função. Selecione o código de transação SE37 e o grupo de funções SDTX e copie RFC_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 para Z_CUSTOM_READ_TABLE.
    2. No separador Atributos do ecrã SAP, selecione Remote Enabled Module.
    3. No separador Tabelas, defina o parâmetro DATA como CHAR8000. Clique com o botão direito do rato no ecrã e, de seguida, clique em Ecrã -> Alterar.
    4. 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 subpasta db do diretório de instalação. O código encontra-se em Z_CUSTOM_READ_TABLE.txt, embora Z_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.
    5. Clique em Guardar.
    6. Defina as importações, as tabelas e as exceções, conforme documentado na tabela de leitura personalizada fornecida.
    7. Ative o módulo de funções e, na string de ligação, defina ReadTableFunction como Z_CUSTOM_READ_TABLE ou o nome do módulo de funções.

    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.

    O que se segue?