SAP Gateway

O conector do SAP Gateway permite executar operações de inserção, exclusão, atualização e leitura no banco de dados do SAP Gateway.

Versões compatíveis

Esse conector usa a API SAP Gateway para permitir o acesso bidirecional aos serviços SAP que usam o gateway. As seguintes edições do SAP são compatíveis:

  • S/4 HANA Cloud
  • S/4 HANA
  • SAP ERP
  • Qualquer outra edição da SAP que seja compatível com a API SAP Gateway

Antes de começar

Antes de usar o conector do SAP Gateway, faça o seguinte:

  • No seu projeto do Google Cloud, faça o seguinte:
    • Verifique se a conectividade de rede está configurada. Para informações sobre padrões de rede, consulte Conectividade de rede.
    • Conceda o papel do IAM roles/connectors.admin ao usuário que está 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

      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 serviço SAP OData no S/4HANA on-premise

Para configurar o serviço SAP OData no S/4HANA local, faça o seguinte:

  • Ativar serviços do ICM
  • Ativar o SAP Gateway
  • Ativar serviços OData
  • Testar o serviço OData ativado no servidor SAP

Ativar serviços do ICM

O serviço SAP OData funciona com protocolos HTTP ou HTTPS. Portanto, verifique se os serviços relevantes estão ativados no Internet Communication Manager (ICM). Use HTTPS para proteger os dados durante a transmissão.

  1. Acesse a transação SMICM.
  2. Acesse "Serviços".
  3. Clique em Serviço > Criar.
  4. Defina um novo serviço.
  5. Ao definir portas de serviço, alguns parâmetros são preenchidos automaticamente com base no sistema SAP.

  6. Defina os parâmetros restantes para protocolos HTTP e HTTPS.

Ativar o SAP Gateway

Para ativar o SAP Gateway, siga estas etapas:

  1. Acesse a transação SPRO e selecione IMG de referência do SAP.
  2. Expanda o nó SAP NetWeaver > SAP Gateway > OData Channel > Configuration > User Settings > Connection Settings > Activate or Deactivate SAP Gateway. Em seguida, clique com o botão direito do mouse e selecione Edit Activity.
  3. Clique em Ativar. Se a mensagem O SAP Gateway está ativo aparecer na caixa de diálogo, clique em Cancelar.

Ativar serviços OData

Para ativar os serviços do OData, siga estas etapas.

  1. Acesse a transação SICF.
  2. Clique em Executar ou pressione F8.
  3. Pular Filtro na tela de seleção.
  4. Navegue até o nó da árvore default_host > sap > opu > OData para ativar todos os serviços OData (V2).
  5. Navegue até o nó correspondente mais abaixo na árvore para ativar um serviço individual.
  6. Clique com o botão direito do mouse no nó do serviço OData e selecione Ativar.

Testar o serviço OData ativado no servidor SAP

Use a ferramenta SAP Gateway Client para executar solicitações OData.

Chame a seguinte transação para iniciar a ferramenta: /n/IWFND/GW_CLIENT

  1. Especifique o URI de solicitação do OData.
  2. Selecione o método HTTP, o protocolo (HTTP ou HTTPS), os cabeçalhos e o corpo da solicitação.
  3. Clique em Executar para enviar a solicitação depois de inserir todos os dados necessários.
  4. Os cabeçalhos e dados de resposta são mostrados após a execução.

Configurar o serviço SAP OData no S/4HANA Cloud

Para configurar o serviço SAP OData no S/4HANA Cloud, faça o seguinte:

  • Criar usuário de comunicação
  • Criar sistema de comunicação
  • Criar um acordo de comunicação

Criar usuário de comunicação

O usuário de comunicação é um tipo especial de usuário técnico usado para chamadas de serviço OData externas. Ele é usado apenas para comunicação do SAP com o sistema externo. Não é possível fazer login usando a GUI do SAP com o usuário de comunicação. Com o app "Manter usuários de comunicação", é possível definir essas configurações na nuvem.

  1. Acesse o app Manter usuários de comunicação.
  2. Clique em Novo para criar um usuário.
  3. Insira o nome de usuário e a descrição do usuário.
  4. Digite a senha. Use propose password para gerar a senha.
  5. Clique em Criar.

Criar sistema de comunicação

Um sistema de comunicação é uma especificação de um sistema que representa um parceiro de comunicação e todas as informações técnicas necessárias para a comunicação, como nome do host/endereço IP, identidade, informações do usuário e certificados. Nos sistemas do S/4HANA Cloud, essas entidades são necessárias para a comunicação externa. Com o app Communication Systems, é possível definir essas configurações na nuvem.

  1. Acesse o app Communication Systems.
  2. Clique em Novo para criar um sistema de comunicação.
  3. Insira o ID do sistema e o nome do sistema.
  4. Clique em + para adicionar o usuário de comunicação criado para comunicação de entrada. Insira os detalhes do usuário de comunicação.
  5. A comunicação de entrada significa que o sistema definido é usado por um parceiro de comunicação para fazer chamadas de fora para o sistema SAP S/4HANA.

  6. Clique em Salvar.

Criar um acordo de comunicação

Para informações sobre o modelo de comunicação, consulte Modelo de comunicação.

  1. Acesse o app Communication Arrangements.
  2. Clique em Novo para criar uma nova configuração de comunicação.
  3. Selecione seu cenário de comunicação, insira o nome do arranjo e clique em Criar.
  4. Adicione seu sistema de comunicação e selecione o usuário de comunicação a ser usado nesse acordo.
  5. O URL para chamar o serviço OData pode ser encontrado no acordo de comunicação neste formato:https://-api.s4hana.ondemand.com/sap/opu/odata/sap/
  6. Clique em Salvar.

Configurar conexão

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, faça o seguinte:

  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 conferir a lista de todas as regiões com suporte, consulte Locais.

    2. Clique em PRÓXIMA.
  4. Na seção Detalhes da conexão, faça o seguinte:
    1. Conector: selecione SAP Gateway 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 49 caracteres.
      • Para conectores que aceitam inscrição em eventos, os nomes de conexão não podem começar com o prefixo "goog".
    4. Como opção, insira uma Descrição para a instância de conexão.
    5. Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
    6. Para usar a conexão em assinaturas de eventos, selecione Ativar assinatura de eventos. Ao selecionar essa opção, as seguintes opções vão aparecer:
      • Ativar assinatura de eventos 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 a assinatura de eventos: selecione essa opção para usar a conexão apenas para assinatura de eventos. Se você selecionar essa opção, clique em Próxima e configure a inscrição no evento.
    7. Namespace: especifique o namespace do serviço do qual você quer recuperar dados. Isso é necessário se o serviço não for especificado no URL.
    8. Serviço: especifique o serviço com os dados que você quer recuperar. Isso é necessário se o serviço não for especificado no URL.
    9. CustomUrlParams:especifique parâmetros de string de consulta personalizados incluídos na solicitação HTTP. Os parâmetros precisam ser codificados como uma string de consulta no seguinte formato: field1=value1&field2=value2. Os valores na string de consulta precisam ser codificados para uso em URLs.
    10. Formato de dados: o formato de dados onde os dados serão recuperados. Selecione XML ou JSON.
    11. Usar nomes de exibição: booleano que determina se os rótulos SAP serão usados ou não.
    12. 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.

    13. Outra opção é clicar em + ADICIONAR MARCADOR para adicionar um rótulo à conexão na forma de um par de chave-valor.
    14. Clique em PRÓXIMA.
  5. Na seção Destinos, defina o URL do seu ambiente do SAP Gateway ou o URL completo do serviço OData. Por exemplo, formato: ${ENVIRONMENT_URL}/sap/opu/odata/${NAMESPACE}/${SERVICE}/ e URL de amostra: https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/. Adicione outras propriedades usando a propriedade CustomUrlParams.
    1. Tipo de destino: selecione um Tipo de destino.
      • Para especificar o nome do host ou o endereço IP de destino, selecione Endereço do host e insira o endereço no campo Host 1.
      • Para estabelecer uma conexão particular, selecione Anexo de endpoint e escolha o anexo necessário na lista Anexo de endpoint.

      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.

    2. Clique em PRÓXIMA.
  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 do SAP Gateway:

      • Nome de usuário e senha
      • Anônimo
      • SAP BTP (OAuth 2.0: credenciais do cliente)
    2. Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.

    3. Clique em PRÓXIMA.
  7. Revisão: revise os detalhes de conexão e autenticação.
  8. 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.
  • Anônimo

    Se você quiser usar o login anônimo, selecione Não disponível.

    • Chave de API: a chave de API do usuário autenticado no momento.
  • SAP BTP (OAuth 2.0 – credenciais de cliente)
    • ID do cliente: insira o ID do cliente obtido na página do cliente da API.
    • Chave secreta do cliente: insira a chave secreta do cliente obtida na página do cliente da API.
    • Versão do secret: insira a versão do secret selecionado acima.
    • OAuthAccessTokenURL: insira o URL do token de acesso do OAuth.
    • Nome do destino: insira o nome do destino do SAP BTP.
    • URL de destino: insira o URL de destino do SAP BTP.
    • Ativar substituição de autenticação: selecione essa opção para permitir que a conexão aceite uma autenticação diferente de forma dinâmica durante a execução.

Configurar assinatura de evento

Se você ativou a assinatura de eventos, insira os seguintes valores na seção Detalhes da assinatura de eventos:

  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. Selecione Ativar conectividade particular para uma conectividade segura entre o aplicativo de back-end e a conexão. Se você selecionar essa opção, precisará executar mais etapas de configuração depois de criar a conexão. Para mais informações, consulte Conectividade particular para assinatura de eventos.
  4. Insira a configuração de mensagens inativas. Se você configurar a carta inativa, a conexão gravará os eventos não processados no tópico do Pub/Sub especificado. Digite os seguintes detalhes:
    1. ID do projeto de dead-letter : o ID do projeto do Google Cloud em que você configurou o tópico de dead-letter do Pub/Sub.
    2. Tópico de mensagens mortas : o tópico do Pub/Sub em que você quer gravar os detalhes do evento não processado.

Exemplos de configuração de conexão

Esta seção fornece os valores de exemplo para os vários campos que você configura ao criar um conector do SAP Gateway.

Autenticação básica: tipo de conexão

Nome do campo Detalhes
Região us-central1
Conector Conector do SAP Gateway
Versão do conector 1
Nome do conector sapgateway-basicauth-conn
Conta de serviço SERVICE_ACCOUNT-compute@developer.gserviceaccount.com
Formato de dados JSON
Nível de verbosidade 5
Endereço do host http://192.0.2.0/sap/opu/odata/sap/HOST_ADDRESS
Autenticação: Senha do usuário
Nome de usuário nome de usuário
Senha senha
versões 1

Token da API: tipo de conexão

Nome do campo Detalhes
Região us-central1
Conector Conector do SAP Gateway
Versão do conector 1
Nome do conector sapgateway-api-token-conn
Conta de serviço SERVICE_ACCOUNT-compute@developer.gserviceaccount.com
Formato de dados JSON
Nível de verbosidade 5
Endereço do host http://192.0.2.0/sap/opu/odata/sap/HOST_ADDRESS
Chave de API API_KEY-example-pet-store.com
versões 1

Proxy: tipo de conexão

Nome do campo Detalhes
Região us-central1
Conector Conector do SAP Gateway
Versão do conector 1
Nome do conector sapgateway-basicauth-conn
Conta de serviço SERVICE_ACCOUNT-compute@developer.gserviceaccount.com
Formato de dados JSON
Nível de verbosidade 5
Endereço do host http://192.0.2.0/sap/opu/odata/sap/HOST_ADDRESS
Formato de dados: JSON
Nível de verbosidade: 5
Proxy Verdadeiro
Tipo de proxy SSL Automático
Servidor proxy 34.148.1.XX:XXXX
Endereço do host: http://192.0.2.0/sap/opu/odata/sap/HOST_ADDRESS
Autenticação: Senha do usuário
Nome de usuário nome de usuário
Senha: senha
Versões 1

SAP BTP (OAuth 2.0: credenciais do cliente) - tipo de conexão

Nome do campo Detalhes
Região us-central1
Conector Conector do SAP Gateway
Versão do conector 1
Nome do conector sap-gateway-oauth-client-connection
Conta de serviço SERVICE_ACCOUNT-compute@developer.gserviceaccount.com
Formato de dados JSON
Endereço do host: https://my-api.s4hana.cloud.sap/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV
Autenticação: SAP BTP
ID do cliente CLIENT_ID
Chave secreta do cliente CLIENT_SECRET
OAuthAccessTokenURL https://atrial.authentication.us10.hana.ondemand.com/oauth/token
Nome do destino DESTINATION_NAME
URL de destino https://destination-configuration.cfapps.us10.hana.ondemand.com/destination-configuration/v1/destinations/Google
Versões 1

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 oferecer suporte a nenhuma das operações de entidade, essas operações não serão listadas na lista 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 um parâmetro 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 Gateway pode processar no máximo nove transações por segundo, por .

    Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.

  • Os seguintes recursos não são compatíveis:
    • Autenticação baseada no OAuth 2.0
    • ETags
    • Inserção profunda
    • Operações baseadas em arquivos

Exemplos de operações de entidade

Nesta seção, mostramos como realizar algumas das operações de entidade neste conector.

Exemplo: listar todos os registros

Este exemplo lista todos os registros na entidade SalesOrderSet.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione SalesOrderSet na lista Entity.
  3. Selecione a operação List e clique em Concluído.
  4. Se quiser, na seção Entrada de tarefa da tarefa Conectores, é possível filtrar o conjunto de resultados especificando uma cláusula de filtro. Por exemplo, City='Bangalore'. Também é possível especificar várias condições de filtro usando os operadores lógicos. Por exemplo, City='Bangalore' and region='asia-south2'.

Exemplo: receber um registro

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

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione SalesOrderSet 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 EntityId e insira 13 no campo Valor padrão.

    Aqui, 13 é um valor de chave primária na entidade SalesOrderSet.

Exemplo: criar um registro

Este exemplo cria um registro na entidade SalesOrderSet.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione SalesOrderSet na lista Entity.
  3. Selecione a operação Create e clique em Concluído.
  4. Na seção Entrada da tarefa da tarefa Connectors, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
    {
    "Vbeln":"999",
    "Erdat":"2020-08-25 00:00:00",
    "Erzet":"13:12:31",
    "Ernam":"Test"
    }

    Se a integração for bem-sucedida, o campo connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    {
    "Vbeln": "999"
    }

Exemplo: criar um registro

Este exemplo cria um registro na entidade SalesPriceSet.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione SalesPriceSet na lista Entity.
  3. Selecione a operação Create e clique em Concluído.
  4. Na seção Entrada da tarefa da tarefa Connectors, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
    {
    "Vbeln": "129",
    "Posnr": "000000",
    "Knumh": "SUN25MAY",
    "Kpein": 1.0
    }

    Se a integração for bem-sucedida, o campo connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    {
    "Posnr": "000000",
    "Vbeln": "129"
    }

Exemplo: atualizar um registro

Este exemplo atualiza um registro na entidade SalesOrderSet.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione SalesOrderSet na lista Entity.
  3. Selecione a operação Update e clique em Concluído.
  4. Na seção Entrada da tarefa da tarefa Connectors, clique em connectorInputPayload e insira um valor semelhante ao seguinte no campo Default Value:
    {
    "Ernam": "Test123"
    }
  5. Clique em entityId e digite 99 no campo Valor padrão.

    Se a integração for bem-sucedida, o campo connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    {
    "Vbeln": "999"
    }

Criar conexões usando o Terraform

Use o recurso do Terraform para criar uma conexão.

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

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

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

Nome do parâmetro Tipo de dados Obrigatório Descrição
namespace STRING Falso Especifique o namespace do serviço do qual você quer recuperar dados. Isso é necessário se o serviço não for especificado no URL.
serviço STRING Falso Especifique o serviço com os dados que você quer recuperar. Isso é necessário se o serviço não for especificado no URL.
custom_url_params STRING Falso Com os CustomUrlParams, é possível especificar parâmetros de string de consulta personalizados que são incluídos na solicitação HTTP. Os parâmetros precisam ser codificados como uma string de consulta no formato field1=value1&field2=value2. Os valores na string de consulta precisam ser codificados para uso em URLs.
data_format ENUM Falso O formato de dados onde os dados serão recuperados. Selecione XML ou JSON. Valores aceitos: XML, JSON
use_display_names BOOLEAN Falso Booleano que determina se os rótulos SAP serão usados ou não.
nível de detalhes STRING Falso Nível de detalhes da conexão, varia de 1 a 5. Um nível de detalhes mais alto registra todos os detalhes da comunicação (solicitação,resposta e certificados SSL).
proxy_enabled BOOLEAN Falso Marque esta caixa de seleção para configurar um servidor proxy para a conexão.
proxy_auth_scheme ENUM Falso O tipo de autenticação a ser usado para autenticar o proxy ProxyServer. Os valores aceitos são: BASIC, DIGEST, NONE
proxy_user STRING Falso Um nome de usuário a ser usado para autenticar no proxy ProxyServer.
proxy_password SECRET Falso Uma senha a ser usada para autenticar no proxy ProxyServer.
proxy_ssltype ENUM Falso O tipo de SSL a ser usado ao se conectar ao proxy ProxyServer. Os valores aceitos são: AUTO, ALWAYS, NEVER, TUNNEL

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

Depois de criar a conexão, ela fica disponível na integração da Apigee e Application Integration. É possível usar a conexão em uma integração pela tarefa de conectores.

  • Para entender como criar e usar a tarefa "Conectores" na integração da Apigee, consulte Tarefa "Conectores".
  • Para entender como criar e usar a tarefa "Conectores" na 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