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:
- 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 acessar a lista de todas as regiões com suporte, consulte Locais.
- Clique em Próxima.
- 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.
- Como opção, insira uma Descrição para a instância de conexão.
- Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
- 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, na sigla em inglês) aplicável ao bucket. Um arquivo PSE armazena o par de chaves pública e privada, bem como certificados X.509, em uma estrutura ASN.1.
- Grupo: o nome do grupo para logon. Normalmente, isso é 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. 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.
- 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 valores aceitos 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 Próxima.
- Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar.
- Tipo de destino: selecione um Tipo de destino.
- Selecione Endereço do host na lista para especificar o nome do host ou o endereço IP do destino.
- 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.
- Clique em Próxima.
- Tipo de destino: selecione um Tipo de destino.
-
Na seção Autenticação, insira os detalhes da autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
Os seguintes tipos de autenticação são compatíveis com a conexão SAP ERP:
- Nome de usuário e senha
- Clique em Próxima.
Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
- 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: a senha do Secret Manager que contém a senha associada ao conector.
Entidades, operações e ações
Todos os Integration Connectors fornecem uma camada de abstração para os objetos do aplicativo conectado. Só é possível acessar os objetos de um aplicativo por esta abstração. A abstração é exposta a você como entidades, operações e ações.
- Entidade: uma entidade pode ser considerada um objeto ou um conjunto de propriedades no aplicativo ou serviço conectado. A definição de uma entidade difere de um conector para
outro. Por exemplo, em um conector de banco de dados, as tabelas são as entidades, em um conector de servidor de arquivos, as pastas são as entidades e, em um conector de sistema de mensagens, as filas são as entidades.
No entanto, é possível que um conector não aceite ou não tenha entidades. Nesse caso, a lista
Entities
estará vazia. - Operação: uma operação é a atividade que pode ser realizada em uma entidade. É possível executar
qualquer uma das seguintes operações em uma entidade:
Selecionar uma entidade na lista disponível gera uma lista de operações disponíveis para ela. Para uma descrição detalhada das operações, consulte as operações de entidades da tarefa "Conectores". No entanto, se um conector não for compatível com nenhuma das operações da entidade, essas operações sem suporte não serão incluídas na lista de
Operations
. - Ação: uma ação é uma função de primeira classe disponibilizada para a integração por meio da interface do conector. Uma ação permite fazer alterações em uma ou mais entidades e varia de um conector para outro. Normalmente, uma ação tem alguns parâmetros de entrada e de saída. No entanto, é possível que o conector não ofereça suporte a nenhuma ação. Nesse caso, a lista
Actions
estará vazia.
Limitações do sistema
O conector do SAP ERP pode processar sete transações por segundo, por nó, e limitar as transações acima desse limite. Por padrão, o Integration Connectors aloca dois nós para melhor disponibilidade para uma conexão.
Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.
Exemplos de configuração de conexão
Nesta seção, listamos os valores de amostra para os vários campos que você configuraria ao criar a conexão.
Tipo de conexão do ApplicationServer
A tabela a seguir lista os exemplos de valores de configuração para o tipo de conexão ApplicationServer
. Consulte a
interface de criação de conexão no console para conhecer os campos obrigatórios e opcionais.
Nome do campo | Valor de amostra |
---|---|
Região | us-central1 |
Conector | ERP do SAP |
Versão do conector | 1 |
Nome do conector | saperp-servidor-de-aplicativos-conn |
Descrição | Não relevante |
Conta de serviço | xxxxxxxxx-compute@developer.gserviceaccount.com |
Cliente | 800 |
Número do sistema | 00 |
ID do projeto | xxxx-gcp-project |
Bucket | sap-erp-bucket |
ID do objeto Jco Jar | sapjco3.jar |
ID do objeto libsapjco3 | libsapjco3.so |
Modo de mesa | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
Ler função da tabela | Z_CUSTOM_READ_TABLE |
Esquema de conexão | ApplicationServer |
ID do sistema | SA1 |
Modo de consulta | Não relevante |
Visualizações navegáveis | Não relevante |
Nível de verbosidade | 5 |
Número mínimo de nós | 2 |
Número máximo de nós | 50 |
Endereço do host | 10.30.X.XX ou string de roteador de um sistema SAP externo. |
Autenticação | Senha de usuário |
Nome de usuário | 12345 |
Senha | xyz@12345 |
versions | 1 |
Tipo de conexão GroupServer
A tabela a seguir lista os exemplos de valores de configuração para o tipo de conexão GroupServer
. Consulte a interface de criação de conexão no console para conhecer os campos obrigatórios e opcionais.
Nome do campo | Valor de amostra |
---|---|
Região | us-central1 |
Conector | ERP do SAP |
Versão do conector | 1 |
Nome do conector | saperp-servidor-de-grupos-conn |
Descrição | Não relevante |
Conta de serviço | xxxxxxxxx-compute@developer.gserviceaccount.com |
Cliente | 800 |
Número do sistema | 00 |
ID do projeto | xxxx-gcp-project |
Bucket | sap-erp-bucket |
ID do objeto Jco Jar | sapjco3.jar |
ID do objeto libsapjco3 | libsapjco3.so |
Modo de mesa | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
Grupo | PÚBLICO |
Servidor de mensagens | 10.30.X.XX |
Ler função da tabela | Z_CUSTOM_READ_TABLE |
Esquema de conexão | GroupServer |
ID do sistema | SA1 |
Modo de consulta | Não relevante |
Visualizações navegáveis | Não relevante |
Nível de verbosidade | 5 |
Número mínimo de nós | 2 |
Número máximo de nós | 50 |
Endereço do host | 10.30.X.XX ou string de roteador do sistema SAP externo. |
Autenticação | Senha de usuário |
Nome de usuário | 12345 |
Senha | xyz@12345 |
versions | 1 |
Tipo de conexão do certificado X509
A tabela a seguir lista os exemplos de valores de configuração para o tipo de conexão X509 certificate
. Consulte a interface de criação de conexão no console para conhecer os campos obrigatórios e opcionais.
Nome do campo | Valor de amostra |
---|---|
Região | us-central1 |
Conector | ERP do SAP |
Versão do conector | 1 |
Nome do conector | saperp-X509Certificate-conn |
Descrição | Não relevante |
Conta de serviço | xxxxxxxxx-compute@developer.gserviceaccount.com |
Cliente | 800 |
Número do sistema | 00 |
ID do projeto | xxxx-gcp-project |
Bucket | sap-erp-bucket |
ID do objeto Jco Jar | sapjco3.jar |
ID do objeto libsapjco3 | libsapjco3.so |
Modo de mesa | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
ID do objeto SNC_LIB | libsapcrypto.so |
Nome do PSE para criar o arquivo cred_v2 | EHP8_GCP_SA1.pse |
Ler função da tabela | Z_CUSTOM_READ_TABLE |
Esquema de conexão | ApplicationServer |
ID do sistema | SA1 |
Senha do SNC | xyz@gcp |
Modo SNC | Um booleano que determina se você está usando o SNC. Defina como "true" para usar o SNC. |
Nome do SNC | p:CN=EHP8_GCP_SA1, UO=IT, O=CSW, C=DE |
Qop de SNC | 3 |
Nome do parceiro do SNC | p:CN=SA1, UO=I0020070395, UO=SAP Web AS, O=SAP Trust Community, C=DE |
Modo de consulta | Não relevante |
Visualizações navegáveis | Não relevante |
Nível de verbosidade | 5 |
Número mínimo de nós | 2 |
Número máximo de nós | 50 |
Endereço do host | 10.30.X.XX ou string de roteador do sistema SAP externo. |
Autenticação | Autenticação X509Com base no certificado |
X509Certificate | O certificado X509 pode ser especificado usando um caminho de arquivo que aponta para um arquivo contendo um certificado X509 no formato PEM, um blob PEM que comece com o cabeçalho "-----BEGIN ..." ou um blob PEM sem o cabeçalho "-----BEGIN ...". |
versions | 1 |
Ações
Nesta seção, listamos as ações compatíveis com o conector. Para entender como configurar as ações, consulte Exemplos de ação.
Ação BAPI_MATERIAL_SAVEDATA
Essa ação permite realizar tarefas específicas. Por exemplo, você pode usá-lo para criar ou alterar dados mestres do material no SAP ERP.
Parâmetros de entrada da ação BAPI_MATERIAL_SAVEDATA
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
HEADDATA | String | Sim | O parâmetro de entrada HEADDATA. |
DADOS DO CLIENTE | String | Sim | O parâmetro de entrada CLIENTDATA. |
CLIENTDATAX | String | Sim | O parâmetro de entrada CLIENTDATAX. |
DESCRIÇÃO DO MATERIAL | String | Sim | A tabela MATERIALDESCRIPTION. |
Parâmetros de saída da ação BAPI_MATERIAL_SAVEDATA
Essa ação retorna o status 200 (OK) se a ação for bem-sucedida.
Para ver como configurar a ação BAPI_MATERIAL_SAVEDATA
, consulte Exemplos de ação.
Ação ZFM_GCP_MULTIDATA_TAB
Essa ação permite que os usuários realizem tarefas específicas. Por exemplo, é possível criar dados de vários tipos de dados no SAP ERP.
Parâmetros de entrada da ação ZFM_GCP_MULTIDATA_TAB
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
ReturnTables | String | Sim | Uma lista separada por vírgulas que especifica quais tabelas no módulo de função serão geradas. Se não for especificado, todas as tabelas retornadas serão mostradas. |
T_TABLE | String | Sim | A tabela T_TABLE. |
IM_INPUT_1 | String | Sim | O parâmetro de entrada IM_INPUT_1. |
IM_INPUT_2 | String | Sim | O parâmetro de entrada IM_INPUT_2. |
Parâmetros de saída da ação ZFM_GCP_MULTIDATA_TAB
Essa ação retorna o status 200 (OK) se a ação for bem-sucedida.
Para ver como configurar a ação ZFM_GCP_MULTIDATA_TAB
, consulte os Exemplos de ação.
Ação PushIDoc
Essa ação permite realizar tarefas específicas. Por exemplo, é possível transferir dados do SAP para um sistema externo.
Parâmetros de entrada da ação PushIDoc
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
FileType | String | Sim | O tipo de arquivo.Os valores permitidos são XML e IDoc. |
Modo | String | Sim | O modo de transferência.Os valores permitidos são "Sync" e "ASync". |
Conteúdo | String | Sim | Conteúdo do arquivo. |
Parâmetros de saída da ação PushIDoc
Essa ação retorna o status 200 (OK) se a ação for bem-sucedida.
Para saber como configurar a ação PushIDoc
,
consulte Exemplos de ação.
Ação ExecuteCustomQuery
Essa ação permite executar uma consulta personalizada.
Para criar uma consulta salva, siga estas etapas:
- Siga as instruções detalhadas para adicionar uma tarefa de conectores.
- Quando você configurar a tarefa do conector, selecione Ações no tipo de ação que você quer realizar.
- Na lista Ação, selecione Executar consulta personalizada e clique em Concluído.
- Expanda a seção Entrada de tarefas e faça o seguinte:
- No campo Tempo limite após, digite o número de segundos de espera até que a consulta seja executada.
Valor padrão:
180
segundos - No campo Número máximo de linhas, digite o número máximo de linhas a serem retornadas do banco de dados.
Valor padrão:
25
. - Para atualizar a consulta personalizada, clique em Editar script personalizado. A caixa de diálogo Editor de script é aberta.
- Na caixa de diálogo Editor de script, insira a consulta SQL e clique em Salvar.
É possível usar um ponto de interrogação (?) em uma instrução SQL para representar um único parâmetro que precisa ser especificado na lista de parâmetros de consulta. Por exemplo, a seguinte consulta SQL seleciona todas as linhas da tabela
Employees
que correspondem aos valores especificados na colunaLastName
: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.
- No campo Tempo limite após, digite o número de segundos de espera até que a consulta seja executada.
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.
- 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 da tarefa da tarefa Conectores, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no 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 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.
- 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 Task Input da tarefa Connectors, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no 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
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.
- 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 Task Input da tarefa Connectors, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no campoDefault Value
:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
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.
- 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 Task Input da tarefa Connectors, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no 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
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.
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
PushIDoc
e clique em Concluído. - Na seção Task Input da tarefa Connectors, clique em
connectorInputPayload
e insira um valor semelhante ao seguinte no 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" }
. 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
.
- Na caixa de diálogo
Configure connector task
, clique emEntities
. - Selecione
T001
na listaEntity
. - Selecione a operação
List
e clique em Concluído. - 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
.
- 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 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 entidadeT001
.
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.
- 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 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 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
- Entenda como suspender e retomar uma conexão.
- Entenda como monitorar o uso do conector.
- Saiba como acessar os registros do conector.