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:
- Conceder o papel do IAM roles/connectors.admin ao usuário e configurar 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:
- No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.
- Clique em + Criar novo para abrir a página Criar conexão.
-
Na seção Local, escolha o local da conexão.
- Região: selecione um local na lista suspensa.
Para conferir a lista de todas as regiões com suporte, consulte Locais.
- Clique em Next.
- Região: selecione um local na lista suspensa.
- Na seção Detalhes da conexão, faça o seguinte:
- Conector: selecione ERP da SAP 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 exceder 63 caracteres.
- Também é possível digitar uma Descrição para a conexão.
- Se quiser, ative o Cloud Logging.
- Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
- Se quiser 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 entidades e ações: selecione essa opção para usar a conexão para operações de assinatura de eventos e de 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 configurar a inscrição em eventos.
- Cliente: o cliente autenticado 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: o ID do objeto do jar do JCo.
- ID do objeto libsapjco3: ID do objeto do jar libsapjco3.
- Modo de tabela: selecione a tabela SAP a ser exibida como visualização.
- ID do objeto SNC_LIB: ID do objeto da biblioteca SNC.
- Nome do PSE: nome do arquivo do Ambiente de Segurança Pessoal (PSE) aplicável para o 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 ao se conectar ao 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 personalizada de leitura de tabela.
- 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 o Integration Connectors e seu 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 – 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.
- SNC partner name: digite o nome do SNC do servidor de aplicativos.
- Modo de consulta: selecione quais tabelas do SAP serão exibidas como visualizações.
-
Visualizações navegáveis: insira uma lista de visualizações separadas por vírgulas 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 vão estar 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 Next.
- 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.
- 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.
Para 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 configure as regras de firewall para autorizar apenas os endereços IP estáticos específicos.
Para inserir outros destinos, clique em +Adicionar destino.
- Clique em Next.
- 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 Next.
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 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 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.
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: secret do Secret Manager que contém a senha associada ao conector.
Configurar para inscrição em eventos
Se você ativou a inscrição no evento, insira os seguintes valores no campo Seção Detalhes da assinatura do evento:
-
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. Ao selecionar essa opção, você deve ter criado uma chave de API e, em seguida, salvo como um secret do Secret Manager. Para mais informações, consulte Crie uma chave de API.
-
Insira o nome do campo do tipo de evento. Esse campo identifica o tipo de evento associado ao
solicitação de evento recebida.
{ "event_type": "user.created", ... // other request fields ... }
- 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.
- 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:
- Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
- 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:
- Follow the detailed instructions to add a connectors task.
- When you configure the connector task, in the type of action you want to perform, select Actions.
- In the Action list, select Execute custom query, and then click Done.
- Expand the Task input section, and then do the following:
- In the Timeout after field, enter the number of seconds to wait till the query executes.
Default value:
180
seconds. - In the Maximum number of rows field, enter the maximum number of rows to be returned from the database.
Default value:
25
. - To update the custom query, click Edit Custom Script. The Script editor dialog opens.
- 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 theLastName
column:SELECT * FROM Employees where LastName=?
- 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.
Para adicionar parâmetros de consulta, faça o seguinte:
- Na lista Tipo, selecione o tipo de dados do parâmetro.
- No campo Valor, insira o valor do parâmetro.
- 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.
- In the Timeout after field, enter the number of seconds to wait till the query executes.
Exemplos de ação
Exemplo: criar um registro
Este exemplo cria um registro metrial usando a ação BAPI_MATERIAL_SAVEDATA.
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
BAPI_MATERIAL_SAVEDATA
e clique em Concluído. - Na seção Entrada de tarefa da tarefa Conectores, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no campo CampoDefault 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\"}" }
Se a ação for bem-sucedida, o
BAPI_MATERIAL_SAVEDATA
resposta da tarefa connectorOutputPayload
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.
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
BAPI_MATERIAL_SAVEDATA
e clique em Concluído. - Na seção Entrada de tarefa da tarefa Conectores, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no campo CampoDefault 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\"}" }
Se a ação for bem-sucedida, o
BAPI_MATERIAL_SAVEDATA
resposta da tarefa connectorOutputPayload
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.
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
BAPI_MATERIAL_SAVEDATA
e clique em Concluído. - Na seção Entrada de tarefa da tarefa Conectores, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no campo CampoDefault Value
:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
Se a ação for bem-sucedida, o
BAPI_MATERIAL_SAVEDATA
resposta da tarefa connectorOutputPayload
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.
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
ZFM_GCP_MULTIDATA_TAB
e clique em Concluído. - Na seção Entrada de tarefa da tarefa Conectores, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no campo CampoDefault 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\"}" }
Se a ação for bem-sucedida, o
ZFM_GCP_MULTIDATA_TAB
resposta da tarefa connectorOutputPayload
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.
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
PushIDoc
e clique em Concluído. - Na seção Entrada de tarefa da tarefa Conectores, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no campo CampoDefault 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" }
do Google. Se a ação for bem-sucedida, o
PushIDoc
resposta da tarefa connectorOutputPayload
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
.
- Na caixa de diálogo
Configure connector task
, clique emEntities
. - Selecione
T001
na listaEntity
. - Selecione a operação
List
e clique em Concluído. - Na seção Entrada de tarefa da tarefa Conectores, você também pode 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
.
- Na caixa de diálogo
Configure connector task
, clique emEntities
. - Selecione
T001
na listaEntity
. - Selecione a operação
Get
e clique em Concluído. - Na seção Task Input da tarefa Connectors, clique em EntityId e
e insira
0001
no campo Valor padrão.Aqui,
0001
é um ID de registro exclusivo na entidadeT001
.
Ler muitos dados
Muitas vezes, o conector SAP ERP talvez precise ler grandes dados do back-end do SAP. Isso descreve a abordagem que você precisa seguir para ler grandes dados.
O conector do SAP ERP usa a função SAP RFC_READ_TABLE
para receber dados de tabelas SAP.
e essa função tem um tamanho fixo de 512 bytes. Ele pode armazenar em buffer cada linha de dados e, assim,
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 limite
tamanho do 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 com DATA_BUFFER_EXCEEDED
.
Como usar uma função de leitura personalizada
O conector oferece suporte a um Custom RFC_READ_TABLE
semelhante à
SAP RFC_READ_TABLE
, mas tem um buffer maior para que
ele pode 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.
- 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 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_RFC_TABLE
. - Na guia Attributes da página SAP, selecione Remote Enabled Module.
- Na guia Tables, defina o parâmetro
DATA
comoCHAR8000
. Talvez seja necessário clicar com o botão direito do mouse e, em seguida, clicar em Display -> Change. - 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.
- 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.
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 realizar a paginação
banco de dados em vez de no próprio script ABAP. Isso torna
a paginação mais eficiente,
e melhora o desempenho ao trabalhar com tabelas grandes. Recomenda-se usar o
Z_CUSTOM_RFC_TABLE_752 RFC
quando possível.
Usar o Terraform para criar conexões
É possível usar o Terraform recurso 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 nos Apigee Integration e Application Integration. Você pode usar a conexão em uma integração pela 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
- Entenda como suspender e retomar uma conexão.
- Entenda como monitorar o uso do conector.
- Saiba como acessar os registros do conector.