ERP do SAP

O conector SAP ERP permite realizar operações de inserção, exclusão, atualização e leitura nos dados do SAP ERP.

Antes de começar

Antes de usar o conector SAP ERP, realize as seguintes tarefas:

  • No seu projeto do Google Cloud, faça o seguinte:
    • Conceda o papel do IAM roles/connectors.admin ao usuário que estiver configurando o conector.
    • Conceda os seguintes papéis de IAM à conta de serviço que você quer usar para o conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
      • roles/storage.objectViewer

      Uma conta de serviço é um tipo especial de Conta do Google destinada a representar um usuário não humano que precisa ser autenticado e autorizado a acessar dados nas APIs do Google. Se você não tiver uma conta de serviço, será necessário criar uma. Para mais informações, consulte Como criar uma conta de serviço.

    • Ative os seguintes serviços:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para entender como ativar os serviços, consulte Como ativar serviços.

    Se esses serviços ou permissões não tiverem sido ativados no seu projeto, você precisará ativá-los ao configurar o conector.

Configurar o conector

Para configurar o conector, crie uma conexão com a fonte de dados (sistema de back-end). Uma conexão é específica a uma fonte de dados. Isso significa que, se você tiver muitas fontes de dados, precisará criar uma conexão separada para cada uma. Para criar uma conexão, siga estas etapas:

  1. No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.

    Acessar a página "Conexões"

  2. Clique em + Criar novo para abrir a página Criar conexão.
  3. Na seção Local, escolha o local da conexão.
    1. Região: selecione um local na lista suspensa.

      Para acessar a lista de todas as regiões com suporte, consulte Locais.

    2. Clique em Seguinte.
  4. Na seção Detalhes da conexão, faça o seguinte:
    1. Conector: selecione ERP da SAP na lista suspensa de conectores disponíveis.
    2. Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
    3. 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 exceder 63 caracteres.
    4. Também é possível digitar uma Descrição para a conexão.
    5. Se quiser, ative o Cloud Logging.
    6. Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
    7. Para usar a conexão para inscrições de eventos, selecione Ativar inscrição de eventos. Ao fazer isso, as seguintes opções são exibidas:
      • Ativar assinatura de evento com entidade e ações: selecione essa opção para usar a conexão para assinatura de eventos e operações de conector (entidades e ações).
      • Ativar somente inscrição de eventos: selecione esta opção para usar a conexão somente para inscrições de eventos. Se você selecionar essa opção, clique em Próxima e em Configurar a inscrição em eventos.
    8. Cliente: o cliente autenticado no sistema SAP.
    9. 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.
    10. Número do sistema: o número pelo qual o sistema de destino é definido. Usado ao definir a propriedade de conexão do host.
    11. 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.
    12. Bucket: o nome do bucket que contém os arquivos sapjco3.jar e libsapjco3.so.
    13. ID do objeto do jar do Jaco: o ID do objeto do jar do JCo.
    14. ID do objeto libsapjco3: ID do objeto do jar libsapjco3.
    15. Modo de tabela: selecione a tabela SAP a ser exibida como visualização.
    16. ID do objeto SNC_LIB: ID do objeto da biblioteca SNC.
    17. Nome do PSE: nome do arquivo do 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.
    18. Grupo: o nome do grupo para logon. Normalmente, isso é especificado quando o sistema SAP usa balanceadores de carga.
    19. Servidor de mensagens: o nome do servidor de mensagens a ser usado ao se conectar ao sistema SAP que usa balanceadores de carga.
    20. Read table function: nome da função a ser usada para ler tabelas. Para mais informações, consulte Usar uma função personalizada de tabela de leitura.
    21. Esquema de conexão: selecione um esquema de conexão a ser usado para se conectar ao seu sistema SAP.
    22. ID do sistema: o ID do sistema ou o R3Name do sistema SAP. Você pode inserir no máximo 3 caracteres.
    23. Senha do SNC: selecione o secret do Secret Manager da senha da biblioteca SNC.
    24. Versão do secret: selecione a versão do secret.
    25. Modo SNC: selecione essa opção para ativar o SNC para autenticação entre o Integration Connectors e seu sistema SAP.
    26. Nome do SNC: digite um nome para a conexão do SNC.
    27. SNC qop: selecione um nível de proteção. Estes são 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 – Aplicar proteção de privacidade. Isso também inclui proteção de autenticação e integridade.
      • 8: aplica a proteção padrão.
      • 9 - Aplicar a proteção máxima.
    28. SNC partner name: digite o nome do SNC do servidor de aplicativos.
    29. Modo de consulta: selecione quais tabelas do SAP serão exibidas como visualizações.
    30. Visualizações navegáveis: insira uma lista de visualizações separadas por vírgulas que serão exibidas. Por exemplo, ViewA,ViewB,ViewC.
    31. Nível de verbosidade: insira o nível de detalhamento para a geração de registros. Os valores aceitos são de 1 a 5. Um valor maior significa que mais detalhes vão estar disponíveis nos registros.
    32. 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.

    33. Outra opção é clicar em + ADICIONAR MARCADOR para adicionar um rótulo à conexão na forma de um par de chave-valor.
    34. Clique em Seguinte.
  5. Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar.
    1. 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.
      • Para estabelecer uma conexão particular com seus sistemas de back-end, Selecione Anexo de endpoint na lista e depois selecione o anexo de endpoint necessário. na lista Endpoint Attachment.

      Se você quiser estabelecer uma conexão pública com os sistemas de back-end com mais segurança, considere configurar endereços IP de saída estáticos para suas conexões e, em seguida, configure as regras de firewall para colocar na lista de permissões apenas os endereços IP estáticos específicos.

      Para inserir outros destinos, clique em +Adicionar destino.

    2. Clique em Seguinte.
  6. Na seção Autenticação, insira os detalhes da autenticação.
    1. 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
    2. Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.

    3. Clique em Seguinte.
  7. Se você tiver ativado a inscrição de eventos, a seção Detalhes da assinatura do evento vai aparecer na página de criação de conexão. Para entender como configurar os detalhes da assinatura de eventos, consulte Configurar a assinatura de eventos.
  8. Revisão: revise os detalhes de conexão e autenticação.
  9. Clique em Criar.

Configurar a autenticação

Digite os detalhes com base na autenticação que você quer usar.

  • Nome de usuário e senha
    • Nome de usuário: nome de usuário para o conector
    • Senha: chave secreta do Secret Manager que contém a senha associada ao conector.

Configurar para inscrição em eventos

Se você tiver ativado a assinatura do evento, insira os seguintes valores na seção Detalhes da assinatura do evento:

  1. Selecione um dos seguintes tipos de autenticação para o listener de eventos.
  2. 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
    ...
    }
  3. Select Enable private connectivity for secured connectivity between your backend application and your connection. If you select this option, you must perform additional configuration steps after creating the connection. For more information, see Private connectivity for event subscription.
  4. Enter the dead-letter configuration. If you configure dead-letter, the connection writes the unprocessed events to the specified Pub/Sub topic. Enter the following details:
    1. Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
    2. Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.

Entities, operations, and actions

All the Integration Connectors provide a layer of abstraction for the objects of the connected application. You can access an application's objects only through this abstraction. The abstraction is exposed to you as entities, operations, and actions.

  • Entity: An entity can be thought of as an object, or a collection of properties, in the connected application or service. The definition of an entity differs from a connector to a connector. For example, in a database connector, tables are the entities, in a file server connector, folders are the entities, and in a messaging system connector, queues are the entities.

    However, it is possible that a connector doesn't support or have any entities, in which case the Entities list will be empty.

  • Operation: An operation is the activity that you can perform on an entity. You can perform any of the following operations on an entity:

    Selecting an entity from the available list, generates a list of operations available for the entity. For a detailed description of the operations, see the Connectors task's entity operations. However, if a connector doesn't support any of the entity operations, such unsupported operations aren't listed in the Operations list.

  • Action: An action is a first class function that is made available to the integration through the connector interface. An action lets you make changes to an entity or entities, and vary from connector to connector. Normally, an action will have some input parameters, and an output parameter. However, it is possible that a connector doesn't support any action, in which case the Actions list will be empty.

System limitations

The SAP ERP connector can process 7 transactions per second, per node, and throttles any transactions beyond this limit. By default, Integration Connectors allocates 2 nodes (for better availability) for a connection.

For information on the limits applicable to Integration Connectors, see Limits.

Connection configuration samples

This section lists the sample values for the various fields that you would configure when creating the connection.

ApplicationServer connection type

The following table lists the sample configuration values for the ApplicationServer connection type. Refer to the connection creation interface in the console to know the mandatory and optional fields.

Field name Sample value
Region us-central1
Connector SAP ERP
Connector Version 1
Connector Name saperp-applicationserver-conn
Description NA
Service Account xxxxxxxxx-compute@developer.gserviceaccount.com
Client 800
System Number 00
Project ID xxxx-gcp-project
Bucket sap-erp-bucket
Jco Jar object ID sapjco3.jar
libsapjco3 object ID libsapjco3.so
Table Mode TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None
Read Table Function Z_CUSTOM_READ_TABLE
Connection Scheme ApplicationServer
System Id SA1
Query Mode NA
Browsable Views NA
Verbosity Level 5
Minimum number of nodes 2
Maximum number of nodes 50
Host Address 10.30.X.XX or Router string of an external SAP system.
Authentication User Password
Username 12345
Password xyz@12345
versions 1

GroupServer connection type

The following table lists the sample configuration values for the GroupServer connection type. Refer to the connection creation interface in the console to know the mandatory and optional fields.

Field name Sample value
Region us-central1
Connector SAP ERP
Connector Version 1
Connector Name saperp-GroupServer-conn
Description NA
Service Account xxxxxxxxx-compute@developer.gserviceaccount.com
Client 800
System Number 00
Project ID xxxx-gcp-project
Bucket sap-erp-bucket
Jco Jar object ID sapjco3.jar
libsapjco3 object ID libsapjco3.so
Table Mode TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None
Group PUBLIC
Message Server 10.30.X.XX
Read Table Function Z_CUSTOM_READ_TABLE
Connection Scheme GroupServer
System Id SA1
Query Mode NA
Browsable Views NA
Verbosity Level 5
Minimum number of nodes 2
Maximum number of nodes 50
Host Address 10.30.X.XX or Router String of External SAP System.
Authentication User Password
Username 12345
Password xyz@12345
versions 1

X509 certificate connection type

The following table lists the sample configuration values for the X509 certificate connection type. Refer to the connection creation interface in the console to know the mandatory and optional fields.

Field name Sample value
Region us-central1
Connector SAP ERP
Connector Version 1
Connector Name saperp-X509Certificate-conn
Description NA
Service Account xxxxxxxxx-compute@developer.gserviceaccount.com
Client 800
System Number 00
Project ID xxxx-gcp-project
Bucket sap-erp-bucket
Jco Jar object ID sapjco3.jar
libsapjco3 object ID libsapjco3.so
Table Mode TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None
SNC_LIB object ID libsapcrypto.so
PSE Name to create cred_v2 file EHP8_GCP_SA1.pse
Read Table Function Z_CUSTOM_READ_TABLE
Connection Scheme ApplicationServer
System Id SA1
SNC passcode xyz@gcp
SNC Mode A boolean determining if you are using SNC. Set this to true to use SNC.
SNC Name p:CN=EHP8_GCP_SA1, OU=IT, O=CSW, C=DE
SNC Qop 3
SNC PartnerName p:CN=SA1, OU=I0020070395, OU=SAP Web AS, O=SAP Trust Community, C=DE
Query Mode NA
Browsable Views NA
Verbosity Level 5
Minimum number of nodes 2
Maximum number of nodes 50
Host Address 10.30.X.XX or Router String of External SAP System.
Authentication X509Certificate Based Authentication
X509Certificate The X509 certificate may be specified using a file path pointing to a file containing an X509 certificate in PEM format, a PEM blob beginning with the "-----BEGIN ..." header, or a PEM blob without the "-----BEGIN ..." header.
versions 1

Actions

This section lists the actions supported by the connector. To understand how to configure the actions, see Action examples.

BAPI_MATERIAL_SAVEDATA action

This action let you perform specific tasks. For example, you can use it to create or change material master data in SAP ERP.

Input parameters of the BAPI_MATERIAL_SAVEDATA action

Parameter Name Data Type Required Description
HEADDATA String Yes The input parameter HEADDATA.
CLIENTDATA String Yes The input parameter CLIENTDATA.
CLIENTDATAX String Yes The input parameter CLIENTDATAX.
MATERIALDESCRIPTION String Yes The table MATERIALDESCRIPTION.

Output parameters of the BAPI_MATERIAL_SAVEDATA action

This action returns the status 200 (OK) if the action is successful.

For example on how to configure the BAPI_MATERIAL_SAVEDATA action, see Action examples.

ZFM_GCP_MULTIDATA_TAB action

This action let users perform specific tasks. For example, you can create multi datatype data in SAP ERP.

Input parameters of the ZFM_GCP_MULTIDATA_TAB action

Parameter Name Data Type Required Description
ReturnTables String Yes A comma separated list that specifies which tables in the function module should be output. If not specified, all returned tables will be output.
T_TABLE String Yes The table T_TABLE.
IM_INPUT_1 String Yes The input parameter IM_INPUT_1.
IM_INPUT_2 String Yes The input parameter IM_INPUT_2.

Output parameters of the ZFM_GCP_MULTIDATA_TAB action

This action returns the status 200 (OK) if the action is successful.

For example on how to configure the ZFM_GCP_MULTIDATA_TAB action, see Action examples.

PushIDoc Action

This action let you perform specific tasks. For example, you can transfer data from SAP to an external system.

Input parameters of the PushIDoc action

Parameter Name Data Type Required Description
FileType String Yes The file type.The allowed values are XML, IDoc.
Mode String Yes The transfer mode.The allowed values are Sync, ASync.
Content String Yes Content of the file.

Output parameters of the PushIDoc action

This action returns the status 200 (OK) if the action is successful.

For example on how to configure the PushIDoc action, see Action examples.

ExecuteCustomQuery action

This action lets you execute a custom query.

To create a custom query, follow these steps:

  1. Follow the detailed instructions to add a connectors task.
  2. When you configure the connector task, in the type of action you want to perform, select Actions.
  3. In the Action list, select Execute custom query, and then click Done.

    image showing execute-custom-query-action image showing execute-custom-query-action

  4. Expand the Task input section, and then do the following:
    1. In the Timeout after field, enter the number of seconds to wait till the query executes.

      Default value: 180 seconds.

    2. In the Maximum number of rows field, enter the maximum number of rows to be returned from the database.

      Default value: 25.

    3. To update the custom query, click Edit Custom Script. The Script editor dialog opens.

      image showing custom-sql-query image showing custom-sql-query

    4. In the Script editor dialog, enter the SQL query and click Save.

      You can use a question mark (?) in a SQL statement to represent a single parameter that must be specified in the query parameters list. For example, the following SQL query selects all rows from the Employees table that matches the values specified for the LastName column:

      SELECT * FROM Employees where LastName=?

    5. Se você usou pontos de interrogação na consulta SQL, adicione o parâmetro clicando em + Adicionar nome do parâmetro para cada ponto de interrogação. Ao executar a integração, esses parâmetros substituem os pontos de interrogação (?) na consulta SQL sequencialmente. Por exemplo, se você tiver adicionado três pontos de interrogação (?), deverá adicionar três parâmetros em ordem de sequência.

      imagem mostrando add-query-param imagem mostrando add-query-param

      Para adicionar parâmetros de consulta, faça o seguinte:

      1. Na lista Tipo, selecione o tipo de dados do parâmetro.
      2. No campo Valor, insira o valor do parâmetro.
      3. Para adicionar vários parâmetros, clique em + Adicionar parâmetro de consulta.

    Se a execução for bem-sucedida, esta ação retornará o status 200 (OK) com um corpo de resposta que tenha os resultados da consulta.

    Exemplos de ação

    Exemplo: criar um registro

    Este exemplo cria um registro metrial usando a ação BAPI_MATERIAL_SAVEDATA.

    1. Na caixa de diálogo Configure connector task, clique em Actions.
    2. Selecione a ação BAPI_MATERIAL_SAVEDATA e clique em Concluído.
    3. Na seção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
      {
      "HEADDATA": "{\"MATERIAL\":\"000000000000009001\",\"IND_SECTOR\":\"M\",\"MATL_TYPE\":\"HALB\",\"BASIC_VIEW\":\"X\"}",
      "CLIENTDATA" : "{\"MATL_GROUP\":\"00107\",\"BASE_UOM\":\"KG\"}",
      "CLIENTDATAX" : "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}",
      "MATERIALDESCRIPTION" : "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Google\"}"
      }
    4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa BAPI_MATERIAL_SAVEDATA terá um valor semelhante ao seguinte:

      [{
      "RETURN_TYPE": "S",
      "RETURN_ID": "MM",
      "RETURN_NUMBER": 356,
      "RETURN_MESSAGE": "The material 9001 has been created or extended",
      "RETURN_LOG_NO": "",
      "RETURN_LOG_MSG_NO": 0,
      "RETURN_MESSAGE_V1": "9001",
      "RETURN_FIELD": "",
      "RETURN_SYSTEM": "T90CLNT090",
      "RESULT_TABLE": null
      }]

    Exemplo: atualizar um registro

    Este exemplo atualiza um registro metrial usando a ação BAPI_MATERIAL_SAVEDATA.

    1. Na caixa de diálogo Configure connector task, clique em Actions.
    2. Selecione a ação BAPI_MATERIAL_SAVEDATA e clique em Concluído.
    3. Na seção Task Input da tarefa Connectors, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
      {
      "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"IND_SECTOR\":\"A\",\"MATL_TYPE\":\"FHMI\",\"BASIC_VIEW\":\"X\"}",
      "CLIENTDATA": "{\"MATL_GROUP\":\"013\",\"BASE_UOM\":\"ST\"}",
      "CLIENTDATAX": "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}",
      "MATERIALDESCRIPTION": "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Googlecloud\"}"
      }
    4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa BAPI_MATERIAL_SAVEDATA terá um valor semelhante ao seguinte:

      [{
      "RETURN_TYPE": "S",
      "RETURN_ID": "MM",
      "RETURN_NUMBER": 356,
      "RETURN_MESSAGE": "The material 9000 has been created or extended",
      "RETURN_LOG_NO": "",
      "RETURN_LOG_MSG_NO": 0,
      "RETURN_MESSAGE_V1": "9000",
      "RETURN_PARAMETER": "",
      "RETURN_ROW": 0,
      "RETURN_FIELD": "",
      "RETURN_SYSTEM": "T90CLNT090",
      "RESULT_TABLE": null
      }]

    Exemplo: excluir um registro

    Este exemplo exclui um registro metrial usando a ação BAPI_MATERIAL_SAVEDATA.

    1. Na caixa de diálogo Configure connector task, clique em Actions.
    2. Selecione a ação BAPI_MATERIAL_SAVEDATA e clique em Concluído.
    3. Na seção Task Input da tarefa Connectors, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
      {
      "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}",
      "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}",
      "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}"
      }
    4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa BAPI_MATERIAL_SAVEDATA terá um valor semelhante ao seguinte:

      [{
      "RETURN_TYPE": "S",
      "RETURN_ID": "MM",
      "RETURN_NUMBER": 356,
      "RETURN_LOG_NO": "",
      "RETURN_LOG_MSG_NO": 0,
      "RETURN_MESSAGE_V1": "9000",
      "RETURN_PARAMETER": "",
      "RETURN_ROW": 0,
      "RETURN_FIELD": "",
      "RETURN_SYSTEM": "T90CLNT090",
      "RESULT_TABLE": null
      }]
      

    Exemplo: criar dados do tipo multidados

    Este exemplo cria dados de tipo de multidados usando a ação ZFM_GCP_MULTIDATA_TAB.

    1. Na caixa de diálogo Configure connector task, clique em Actions.
    2. Selecione a ação ZFM_GCP_MULTIDATA_TAB e clique em Concluído.
    3. Na seção Task Input da tarefa Connectors, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
      {
      "T_TABLE": "{\"ZACCP\":\"111\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}",
      "IM_INPUT_1": "{\"ZACCP\":\"222\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}",
      "IM_INPUT_2": "{\"ZSTRING\": \"HI Google\",\"ZSSTRING\": \"HI Google How are you\"}"
      }
    4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa ZFM_GCP_MULTIDATA_TAB terá um valor semelhante ao seguinte:

      [{
      "EX_OUTPUT_1_ZACCP": 222,
      "EX_OUTPUT_1_ZCHAR": "CHARACTER1",
      "EX_OUTPUT_1_ZCLNT": "100",
      "EX_OUTPUT_1_ZCUKY": "INR",
      "EX_OUTPUT_1_ZCURR": 200,
      "EX_OUTPUT_1_ZDATS": "2023-12-13",
      "EX_OUTPUT_1_ZRAW": "01010008010101050401",
      "EX_OUTPUT_1_ZTIMS": "10:30:56",
      "EX_OUTPUT_1_ZUNIT": "11",
      "EX_OUTPUT_1_ZINT4P": 45,
      "EX_OUTPUT_1_ZINT4": 54,
      "EX_OUTPUT_1_ZLRAW": "0101000801010105040100030101010300040000\u0000",
      "EX_OUTPUT_2_ZSTRING": null,
      "EX_OUTPUT_2_ZSSTRING": null,
      "RESULT_TABLE": null,
      "T_TABLE_ZACCP": null,
      "T_TABLE_ZCHAR": null,
      "T_TABLE_ZCLNT": null,
      "T_TABLE_ZQUAN": null,
      "T_TABLE_ZRAW": null,
      "T_TABLE_ZTIMS": null,
      "T_TABLE_ZUNIT": null
      },{
      "EX_OUTPUT_1_ZACCP": null,
      "EX_OUTPUT_1_ZCHAR": null,
      "EX_OUTPUT_1_ZCLNT": null,
      "EX_OUTPUT_1_ZCUKY": null,
      "EX_OUTPUT_1_ZRAW": null,
      "T_TABLE_ZLANG": null,
      "T_TABLE_ZNUMC": null,
      "T_TABLE_ZPREC": null,
      "T_TABLE_ZQUAN": null,
      "T_TABLE_ZRAW": null,
      "T_TABLE_ZTIMS": null,
      "T_TABLE_ZUNIT": null
      },{
      "EX_OUTPUT_1_ZACCP": null,
      "EX_OUTPUT_1_ZCHAR": null,
      "EX_OUTPUT_1_ZCLNT": null,
      "EX_OUTPUT_1_ZCUKY": null,
      "EX_OUTPUT_1_ZCURR": null,
      "EX_OUTPUT_1_ZDATS": null,
      "EX_OUTPUT_1_ZDEC": null,
      "EX_OUTPUT_1_ZQUAN": null,
      "T_TABLE_ZNUMC": 110,
      "T_TABLE_ZPREC": 3,
      "T_TABLE_ZQUAN": 188,
      "T_TABLE_ZRAW": "01010008010101050401",
      "T_TABLE_ZTIMS": "10:30:56",
      "T_TABLE_ZUNIT": "11"
      }]
      

    Exemplo: enviar um IDoc

    Neste exemplo, enviamos um IDoc para o ERP do SAP.

    1. Na caixa de diálogo Configure connector task, clique em Actions.
    2. Selecione a ação PushIDoc e clique em Concluído.
    3. Na seção Task Input da tarefa Connectors, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
      {
      "Content": "\n\n\n EDI_DC40\n 800\n 0000000008604824\n 740\n 53\n 2\n \n MATMAS05\n MATMAS\n ZLS_QA23\n LS\n ZLS_QA23\n SAPSA1\n LS\n SA1CLNT800\n 20230218\n 232556\n\n\n 005\n 000000000000000012\n 20170328\n 42039\n 20170727\n 42039\n KLVC\n FERT\n M\n 02\n BG\n 000\n 002\n 0.000\n 0.000\n KGM\n 0.000\n 0001\n 0.000\n 0.000\n 0.000\n 0.000\n 0.000\n",
      "FileType": "XML",
      "Mode": "ASync"
      }
    4. . Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa PushIDoc terá um valor semelhante ao seguinte:

      [{
      "Result": "Success",
      "Message": "Push IDoc success"
      }]

    Exemplos de operações de entidade

    Esta seção mostra como executar algumas das operações de entidade neste conector.

    Exemplo: listar todos os registros

    Este exemplo lista todos os registros na entidade T001.

    1. Na caixa de diálogo Configure connector task, clique em Entities.
    2. Selecione T001 na lista Entity.
    3. Selecione a operação List e clique em Concluído.
    4. Opcionalmente, na seção Entrada de tarefa da tarefa Conectores, é possível filtrar o conjunto de resultados especificando uma cláusula de filtro. Especifique o valor da cláusula de filtro sempre entre aspas simples (').

    Exemplo: acessar um registro de uma entidade

    Este exemplo recebe um registro com o ID especificado da entidade T001.

    1. Na caixa de diálogo Configure connector task, clique em Entities.
    2. Selecione T001 na lista Entity.
    3. Selecione a operação Get e clique em Concluído.
    4. Na seção Entrada da tarefa da tarefa Conectores, clique em IdEntidade e insira 0001 no campo Valor padrão.

      Aqui, 0001 é um ID de registro exclusivo na entidade T001.

    Ler muitos dados

    Muitas vezes, o conector SAP ERP talvez precise ler grandes dados do back-end do SAP. Esta seção descreve a abordagem que você precisa seguir para ler grandes dados.

    O conector SAP ERP usa a função SAP RFC_READ_TABLE para receber dados das tabelas SAP, e essa função tem um tamanho fixo de 512 bytes. Ele pode armazenar em buffer para cada linha de dados e, portanto, não é possível selecionar mais colunas do que a quantidade que cabe nesse buffer. Se você selecionar mais de 512 bytes, a exceção DATA_BUFFER_EXCEEDED ocorrerá ao executar a integração, indicando que você excedeu o tamanho máximo de buffer permitido por linha e precisa selecionar menos colunas.

    Para resolver esse problema, você pode incluir o código de um Custom RFC_READ_TABLE, que é semelhante ao SAP RFC_READ_TABLE, mas com um buffer maior para resolver o problema de DATA_BUFFER_EXCEEDED.

    Como usar uma função de leitura personalizada

    O conector é compatível com um Custom RFC_READ_TABLE semelhante ao SAP RFC_READ_TABLE, mas tem um buffer maior para que possa resolver o problema de DATA_BUFFER_EXCEEDED.

    Criar um RFC_READ_TABLE personalizado no back-end do SAP

    Siga as etapas abaixo para usar o exemplo de RFC_READ_TABLE personalizado.

    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 seu grupo de funções de trabalho. Neste exemplo, RFC_READ_TABLE é copiado para Z_CUSTOM_RFC_TABLE.
    2. Na guia Attributes da página SAP, selecione Remote Enabled Module.
    3. Na guia Tables, defina o parâmetro DATA como CHAR8000. Talvez seja necessário clicar com o botão direito do mouse e, em seguida, clicar em Display -> Change.
    4. Na guia Código-fonte, insira o código RFC da tabela de leitura personalizada. Para referência, consulte a amostra Z_CUSTOM_RFC_TABLE_function.txt.
    5. Clique em Salvar.
    6. Defina as importações, tabelas e exceções conforme documentado na tabela de leitura personalizada fornecida.
    7. Ative o módulo de função.

    Tabela de leitura personalizada para ABAP 7.52

    Se você estiver usando o ABAP 7.52 ou mais recente, consulte o exemplo de Z_CUSTOM_RFC_TABLE_function_ABAP752.txt. A função de exemplo foi projetada para o ABAP versão 7.52 e mais recentes. Ela é semelhante à função Z_CUSTOM_RFC_TABLE, mas aproveita as palavras-chave recém-disponíveis no ABAP 7.52 para executar a paginação no banco de dados, em vez de no próprio script do ABAP. Isso torna a paginação muito mais eficiente e melhora o desempenho ao trabalhar com tabelas grandes. É recomendável usar Z_CUSTOM_RFC_TABLE_752 RFC sempre que possível.

    Usar o Terraform para criar conexões

    É possível usar o recurso do Terraform para criar uma nova conexão.

    Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

    Para conferir um exemplo de modelo do Terraform para a criação de conexões, consulte Exemplo de modelo.

    Ao criar essa conexão usando o Terraform, você precisa definir as seguintes variáveis no arquivo de configuração do Terraform:

    Nome do parâmetro Tipo de dados Obrigatório Descrição
    cliente STRING Verdadeiro O cliente autenticado no sistema SAP.
    grupo STRING Falso O grupo de logon que está sendo usado. Normalmente, isso só precisa ser especificado ao se conectar a um sistema SAP que usa balanceamento de carga.
    message_server STRING Falso O servidor de mensagens precisa ser especificado ao se conectar a um sistema SAP que usa balanceamento de carga.
    read_table_function STRING Falso A função a ser usada para ler os dados da tabela.
    connection_scheme ENUM Falso Especifica se você está se conectando a um sistema SAP com um servidor de mensagens (GroupServer) ou sem um (ApplicationServer). Os valores aceitos são: ApplicationServer, GroupServer
    system_id STRING Falso O ID do sistema, ou R3Name do sistema SAP, é uma string com no máximo três caracteres. Geralmente é usado em conexões de balanceamento de carga.
    system_number STRING Verdadeiro O número pelo qual o sistema de destino é definido. Usado ao definir a propriedade de conexão do host.
    project_id STRING Verdadeiro O ID do projeto do Google Cloud em que está o bucket do Cloud Storage que contém o jar do JCo do SAP.
    bucket STRING Verdadeiro O nome do bucket que contém os arquivos sapjco3.jar e libsapjco3.so
    sapjco3_jar STRING Verdadeiro O ID do objeto para sapjco3.jar
    libsapjco3_so STRING Verdadeiro O ID do objeto para libsapjco3.so
    snc_lib STRING Falso O ID do objeto para a biblioteca SNC
    snc_mode BOOLEAN Falso Um booleano que determina se você está usando o SNC. Defina como "true" para usar o SNC.
    snc_name STRING Falso Uma entrada opcional com o nome da conexão do SNC.
    snc_qop ENUM Falso A qualidade da proteção para sua conexão SNC.Os valores válidos são 1, 2, 3, 8 ou 9, que correspondem aos seguintes níveis de proteção: 1 Aplicar somente autenticação. 2 Aplicar a proteção da integridade (autenticação). 3 Aplicar proteção de privacidade (integridade e autenticação). 8. Aplique a proteção padrão. 9 Aplique a proteção máxima. Os valores aceitos são: 1, 2, 3, 8, 9
    snc_partner_name STRING Falso O nome do SNC do servidor de aplicativos. Essa é uma entrada obrigatória ao usar o SNC.
    query_mode ENUM Falso Determina quais tabelas do SAP serão exibidas como visualizações, se houver. Os valores aceitos são: Global, Local, Todos, Nenhum
    table_mode ENUM Falso Determina quais tabelas do SAP serão exibidas como visualizações, se houver. Os valores aceitos são: TransparentApplication, TransparentCustomer, TransparentSystem, Pooled, Cluster, All, None
    nível de detalhes STRING Falso O nível de detalhes da conexão varia de 1 a 5. O nível de detalhes mais alto registrará todos os detalhes da comunicação (solicitação,resposta e certificados SSL).

    Usar a conexão do SAP ERP em uma integração

    Depois que você cria a conexão, ela fica disponível na Apigee Integration e no Application Integration. É possível usar a conexão em uma integração por meio da tarefa "Conectores".

    • Para entender como criar e usar a tarefa "Conectores" na integração da Apigee, consulte a Tarefa "Conectores".
    • Para entender como criar e usar a tarefa Conectores no Application Integration, consulte Tarefa Conectores.

    Receber ajuda da comunidade do Google Cloud

    Poste suas dúvidas e converse sobre esse conector na comunidade do Google Cloud em Fóruns do Cloud.

    A seguir