Conectar-se ao SAP a partir de fluxos de trabalho nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Este guia de instruções com várias partes mostra como acessar seu servidor SAP a partir de um fluxo de trabalho nos Aplicativos Lógicos do Azure usando o conector SAP. Você pode usar as operações do conector SAP para criar fluxos de trabalho automatizados que são executados quando acionados por eventos no servidor SAP ou em outros sistemas e executar ações para gerenciar recursos no servidor SAP.

Os fluxos de trabalho do aplicativo lógico Standard e Consumption oferecem o conector gerenciado SAP hospedado e executado no Azure multilocatário. Os fluxos de trabalho padrão também oferecem o conector interno SAP que é hospedado e executado em Aplicativos Lógicos do Azure de locatário único. Se você criar e hospedar um fluxo de trabalho de Consumo em um ambiente de serviço de integração (ISE), também poderá usar a versão nativa do ISE do conector SAP. Para obter mais informações, consulte Referência técnica do conector.

Compatibilidade SAP

O conector SAP é compatível com os seguintes tipos de sistemas SAP:

  • Sistemas SAP locais e baseados em nuvem baseados em HANA, como o S/4 HANA.

  • Sistemas SAP locais clássicos, como R/3 e ECC.

O SAP deve suportar a versão do sistema SAP que você deseja conectar. Caso contrário, quaisquer problemas que você possa encontrar podem não ser resolvidos. Para obter mais informações sobre versões do sistema SAP e informações de manutenção, consulte a Matriz de disponibilidade de produtos (PAM) SAP.

O conector SAP suporta os seguintes tipos de integração de mensagens e dados de sistemas baseados no SAP NetWeaver:

  • Documento Intermédio (IDoc)

  • Interface de programação de aplicativos de negócios (BAPI)

  • Chamada de função remota (RFC) e RFC transacional (tRFC)

O conector SAP usa a biblioteca SAP .NET Connector (NCo).

Para usar as operações do conector SAP, você precisa primeiro autenticar sua conexão e ter as seguintes opções:

Você pode usar o SNC for SAP NetWeaver single sign-on (SSO) ou para recursos de segurança de produtos externos. Se você optar por usar o SNC, revise os pré-requisitos do SNC e os pré-requisitos do SNC para o conector ISE.

Referência técnica do conector

O conector SAP tem diferentes versões, com base no tipo de aplicativo lógico e no ambiente host.

Aplicação lógica Environment Versão do conector
Consumo Aplicativos Lógicos do Azure Multilocatários Conector gerenciado, que aparece no designer sob o rótulo Empresa . Para obter mais informações, consulte a seguinte documentação:

- Referência do conector gerenciado SAP
- Conectores gerenciados em Aplicativos Lógicos do Azure
Consumo Ambiente de serviço de integração (ISE) Conector gerenciado, que aparece no designer sob o rótulo Enterprise , e a versão nativa do ISE, que aparece no designer com o rótulo ISE e tem limites de mensagem diferentes do conector gerenciado.

Nota: Certifique-se de usar a versão nativa do ISE, não a versão gerenciada.

Para obter mais informações, consulte a seguinte documentação:

- Referência do conector gerenciado SAP
- Limites de mensagens ISE
- Conectores gerenciados em Aplicativos Lógicos do Azure
Standard Aplicativos Lógicos do Azure e Ambiente do Serviço de Aplicativo v3 de locatário único (somente planos do Windows) Conector gerenciado, que aparece na galeria de conectores em Runtime>Shared, e o conector interno, que aparece na galeria de conectores em Runtime>In-App e é baseado em provedor de serviços. O conector interno pode acessar diretamente as redes virtuais do Azure com uma cadeia de conexão sem um gateway de dados local. Para obter mais informações, consulte a seguinte documentação:

- Referência do conector gerenciado SAP
- Referência do conector integrado SAP

- Conectores gerenciados em Aplicativos Lógicos do Azure
- Conectores internos nos Aplicativos Lógicos do Azure

Diferenças do conector

O conector integrado SAP difere significativamente do conector gerenciado SAP e do conector com versão SAP ISE das seguintes maneiras:

  • As conexões locais não exigem o gateway de dados local.

    Em vez disso, o conector integrado SAP se comunica diretamente com o servidor SAP na rede virtual integrada, o que evita saltos, latência e pontos de falha para um gateway de rede. Certifique-se de carregar ou implantar as bibliotecas de cliente SAP não redistribuíveis com seu aplicativo de fluxo de trabalho de aplicativo lógico. Para obter mais informações, consulte os Pré-requisitos neste guia.

  • São suportados tamanhos de carga útil de até 100 MB, portanto, você não precisa usar um URI de blob para solicitações grandes.

  • Ações específicas estão disponíveis para Call BAPI, Call RFC e Send IDoc. Essas ações dedicadas fornecem uma experiência melhor para BAPIs com monitoração de estado, transações RFC e desduplicação de IDoc e não usam o modelo de mensagens SOAP Windows Communication Foundation (WCF) mais antigo.

    A ação Chamar BAPI inclui até duas respostas com o JSON retornado, a resposta XML do chamado BAPI e a resposta de confirmação BAPI ou reversão BAPI também e se você usar confirmação automática. Esse recurso resolve o problema com o conector gerenciado SAP, onde o resultado da confirmação automática é silencioso e observável apenas por meio de logs.

  • Tempo limite mais longo em 5 minutos em comparação com o conector gerenciado e o conector com versão ISE.

    O conector integrado SAP não usa a infraestrutura de conector compartilhado ou global, o que significa que os tempos limite são maiores em 5 minutos em comparação com o conector gerenciado SAP (dois minutos) e o conector com versão ISE do SAP (quatro minutos). As solicitações de longa execução funcionam sem que você precise implementar o padrão de ação de solicitação baseado em webhook de longa execução.

  • Por padrão, as operações do conector integrado SAP são sem monitoração de estado. No entanto, você pode habilitar o modo stateful (afinidade) para essas operações.

    No modo stateful, o conector integrado SAP suporta alta disponibilidade e configurações de expansão horizontal. Em comparação, o conector gerenciado SAP tem restrições em relação ao gateway de dados local limitado a uma única instância para gatilhos e a clusters apenas no modo de failover para ações. Para obter mais informações, consulte SAP managed connector - Known issues and limitations.

  • Os fluxos de trabalho de aplicativos lógicos padrão exigem e usam a biblioteca de cliente SAP NCo 3.1, não a versão SAP NCo 3.0. Para obter mais informações, veja os Pré-requisitos.

  • Os fluxos de trabalho de aplicativos lógicos padrão fornecem configurações de aplicativo onde você pode especificar um ambiente de segurança pessoal (PSE) e uma senha PSE.

    Essa alteração impede que você carregue vários arquivos PSE, o que não é suportado e resulta em falhas de conexão SAP. Nos fluxos de trabalho do aplicativo lógico de consumo, o conector gerenciado SAP permite especificar esses valores por meio de parâmetros de conexão, o que permite carregar vários arquivos PSE e não é suportado, causando falhas de conexão SAP.

  • Gerar ação de esquema

    • Você pode selecionar entre vários tipos de operação, como BAPI, IDoc, RFC e tRFC, versus a mesma ação no conector gerenciado SAP, que usa o parâmetro SapActionUris e uma experiência de seletor de sistema de arquivos.

    • Você pode fornecer diretamente um nome de parâmetro como um valor personalizado. Por exemplo, você pode especificar o parâmetro Nome da RFC na ação Chamar RFC . Em comparação, no conector gerenciado SAP, era necessário fornecer um nome de parâmetro URI de ação complexo.

    • Por design, essa ação não suporta a geração de vários esquemas para RFCs, BAPIs ou IDocs na execução de uma única ação, que o conector gerenciado SAP suporta. Essa alteração de capacidade agora impede tentativas de enviar grandes quantidades de conteúdo em uma única chamada.

Parâmetros do conector

Juntamente com entradas simples de string e número, o conector SAP aceita os seguintes parâmetros de tabela (Type=ITAB entradas):

  • Parâmetros de direção da tabela, entrada e saída, para versões mais antigas do SAP.
  • Alterações de parâmetros, que substituem os parâmetros de direção da tabela para versões mais recentes do SAP.
  • Parâmetros hierárquicos da tabela.

Problemas e limitações conhecidos

Conector gerenciado SAP

  • Atualmente, o conector SAP não suporta cadeias de caracteres do roteador SAP. O gateway de dados local deve existir em uma rede virtual onde o gateway possa acessar diretamente o sistema SAP que você deseja conectar.

  • Em geral, o gatilho SAP não suporta clusters de gateway de dados. Em alguns casos de failover, o nó do gateway de dados que se comunica com o sistema SAP pode diferir do nó ativo, o que resulta em um comportamento inesperado.

    • Para cenários de envio de mensagens, há suporte para clusters de gateway de dados no modo de failover.

    • As ações SAP com monitoração de estado não oferecem suporte a clusters de gateway de dados no modo de balanceamento de carga. As comunicações com estado devem permanecer no mesmo nó de cluster do gateway de dados. Use o gateway de dados no modo não cluster ou em um cluster configurado apenas para failover. Por exemplo, essas ações incluem o seguinte:

      • Todas as ações que especificam um valor de ID de sessão
      • [BAPI] Confirmar transação
      • [BAPI] Transação de reversão
      • [BAPI - RFC] Fechar sessão com estado
      • [BAPI - RFC] Criar sessão com estado
  • Na ação denominada método Call [BAPI] no SAP, o recurso de confirmação automática não confirmará as alterações BAPI se existir pelo menos um aviso no objeto CallBapiResponse retornado pela ação. Para confirmar alterações BAPI apesar de quaisquer avisos, siga estes passos:

    1. Crie uma sessão explicitamente usando a ação chamada [BAPI - RFC] Criar sessão com monitoração de estado.
    2. Na ação denominada [BAPI] Método Call no SAP, desative o recurso de confirmação automática.
    3. Em vez disso, chame a ação chamada [BAPI] Commit transaction .

Conexões baseadas em IP com o SAP Message Server (configuração com balanceamento de carga)

Se você especificar um endereço IP para se conectar a um SAP Message Server, por exemplo, um balanceador de carga, a conexão ainda poderá falhar com uma mensagem de erro semelhante a "hostname SAPDBSERVER01.example.com unknown". O servidor de mensagens instrui o conector SAP a usar um nome de host para a conexão com o servidor de aplicativos SAP back-end ou o servidor por trás do balanceador de carga. Se o DNS não conseguir resolver o nome do host, a conexão falhará.

Para esse problema, existem as seguintes soluções alternativas:

  • Certifique-se de que o cliente que faz a conexão, como o computador com o gateway de dados local para o conector SAP ou o host do conector ISE para o conector SAP baseado em ISE, possa resolver os nomes de host retornados pelo servidor de mensagens.

  • Na transação chamada RZ11, altere ou adicione a configuração SAP chamada ms/lg_with_hostname=0.

Contexto ou antecedentes do problema

A SAP atualizou seu conector .NET (NCo) para a versão 3.1, o que mudou a maneira como o conector solicita conexões com servidores back-end a partir de servidores de mensagens. O conector agora usa uma nova API para resolução do servidor de aplicativos pelo servidor de mensagens, a menos que você force o conector a usar a API anterior por meio da configuração chamada ms/lg_with_hostname=0'. Para obter mais informações, consulte SAP KB Artigo 3305039 - Configuração de endereço IP SMLG não considerada durante o login do grupo de logon.

Pré-requisitos

  • Uma conta e subscrição do Azure. Se ainda não tiver uma subscrição do Azure, inscreva-se numa conta gratuita do Azure.

  • O servidor de aplicativos SAP ou o servidor de mensagens SAP que você deseja acessar a partir dos Aplicativos Lógicos do Azure.

    • Configure seu servidor SAP e sua conta de usuário para permitir o uso de RFC.

      Para obter mais informações, que incluem os tipos de conta de usuário suportados e a autorização mínima necessária para cada tipo de ação (RFC, BAPI, IDoc), revise a seguinte nota SAP: 460089 - Perfis mínimos de autorização para programas RFC externos.

    • Sua conta de usuário SAP precisa acessar o grupo de RFC_METADATA funções e os respetivos módulos de função para as seguintes operações:

      Operações Aceder a módulos de função
      Ações da RFC RFC_GROUP_SEARCH e DD_LANGU_TO_ISOLA
      Ações BAPI BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK, , SWO_QUERY_METHODSRPY_BOR_TREE_INIT, eSWO_QUERY_API_METHODS
      Ações do IDoc IDOCTYPES_LIST_WITH_MESSAGES, IDOCTYPES_FOR_MESTYPE_READ, , INBOUND_IDOCS_FOR_TID, GET_STATUS_FROM_IDOCNROUTBOUND_IDOCS_FOR_TID, eIDOC_RECORD_READ
      Leia a ação da tabela SAP Tanto RFC BBP_RFC_READ_TABLE como RFC_READ_TABLE
      Conceder acesso mínimo restrito ao servidor SAP para a sua ligação SAP RFC_METADATA_GET e RFC_METADATA_GET_TIMESTAMP
  • O fluxo de trabalho do aplicativo lógico de onde você deseja acessar seu servidor SAP.

    • Para um fluxo de trabalho de Consumo em Aplicativos Lógicos do Azure multilocatário, consulte Pré-requisitos multilocatário.

    • Para um fluxo de trabalho padrão em Aplicativos Lógicos do Azure de locatário único, consulte Pré-requisitos de locatário único.

    • Para um fluxo de trabalho de consumo em um ambiente de serviço de integração de nível Premium (ISE), consulte Pré-requisitos do ISE.

      Nota

      Ao usar um ISE de nível Premium, use o conector SAP nativo do ISE, não o conector gerenciado do SAP, que não é executado nativamente em um ISE. Para obter mais informações, consulte os pré-requisitos do ISE.

  • Por padrão, as operações do conector integrado SAP são sem monitoração de estado. Para executar essas operações no modo com monitoração de estado, consulte Habilitar o modo com monitoração de estado para conectores internos sem monitoração de estado.

  • Para usar o gatilho de conector gerenciado SAP ou integrado chamado Quando uma mensagem é recebida, conclua as seguintes tarefas:

    • Configure suas permissões de segurança do gateway SAP ou a Lista de Controle de Acesso (ACL). Na caixa de diálogo Gateway Monitor (T-Code SMGW), que mostra os arquivos secinfo e reginfo, abra o menu Goto e selecione Expert Functions>External Security>Maintenance of ACL Files.

      A seguinte configuração de permissão é necessária:

      P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*

      Esta linha tem o seguinte formato:

      P TP=<trading-partner-identifier-(program-name)-or-*-for-all-partners> HOST=<comma-separated-list-with-external-host-IP-or-network-names-that-can-register-the-program> ACCESS=<*-for-all-permissions-or-a-comma-separated-list-of-permissions>

      Se você não configurar as permissões de segurança do gateway SAP, poderá receber o seguinte erro:

      Registro de tp Microsoft.PowerBI.EnterpriseGateway a partir do nome> do <host não permitido

      Para obter mais informações, consulte SAP Note 1850230 - GW: "Registro de ID> do programa tp <não permitido".

    • Configure o log de segurança do gateway SAP para ajudar a encontrar problemas de ACL (Lista de Controle de Acesso). Para obter mais informações, consulte o tópico de ajuda do SAP para configurar o registro em log do gateway.

    • Na caixa de diálogo Configuração de conexões RFC (T-Code SM59), crie uma conexão RFC com o tipo TCP/IP. Certifique-se de que o Tipo de Ativação está definido como Programa de Servidor Registrado. Defina o valor Tipo de comunicação da conexão RFC com sistema de destino como Unicode.

    • Se você usar esse gatilho SAP com o parâmetro IDOC Format definido como FlatFile junto com a ação Flat File Decode, será necessário usar a early_terminate_optional_fields propriedade em seu esquema de arquivo simples definindo o valor como true.

      Esse requisito é necessário porque o registro de dados IDoc de arquivo simples enviado pelo SAP na chamada IDOC_INBOUND_ASYNCHRONOUS tRFC não é acolchoado ao comprimento total do campo SDATA. Os Aplicativos Lógicos do Azure fornecem os dados originais do IDoc de arquivo simples sem preenchimento conforme recebido do SAP. Além disso, quando você combina esse gatilho SAP com a ação Decodificação de arquivo simples, o esquema fornecido à ação deve corresponder.

    Nota

    Nos fluxos de trabalho Consumo e Padrão, o gatilho gerenciado SAP chamado Quando uma mensagem é recebida usa o mesmo local de URI para renovar e cancelar a assinatura de uma assinatura de webhook. A operação de renovação usa o método HTTP PATCH , enquanto a operação de cancelamento de inscrição usa o método HTTP DELETE . Esse comportamento pode fazer com que uma operação de renovação apareça como uma operação de cancelamento de inscrição no histórico do gatilho, mas a operação ainda é uma renovação porque o gatilho usa PATCH como o método HTTP, não DELETE.

    Em fluxos de trabalho padrão, o gatilho interno do SAP chamado Quando uma mensagem é recebida usa o gatilho do Azure Functions e mostra apenas os retornos de chamada reais do SAP.

    • WEBSITE_PRIVATE_IP: Defina esse valor de variável de ambiente como 127.0.0.1 como o endereço localhost.
    • WEBSITE_PRIVATE_PORTS: Defina o valor desta variável de ambiente para duas portas livres e utilizáveis no computador local, separando os valores com uma vírgula (,), por exemplo, 8080,8088.
  • O conteúdo da mensagem a ser enviada ao servidor SAP, como um arquivo IDoc de exemplo. Esse conteúdo deve estar em formato XML e incluir o namespace da ação SAP que você deseja usar. Você pode enviar IDocs com um esquema de arquivo simples envolvendo-os em um envelope XML.

Pré-requisitos de conectividade de rede

O sistema SAP requer conectividade de rede do host da biblioteca SAP .NET Connector (NCo):

  • Para fluxos de trabalho de aplicativos lógicos de consumo em Aplicativos Lógicos do Azure multilocatário, o gateway de dados local hospeda a biblioteca SAP .NET Connector (NCo). Se você usar um cluster de gateway de dados local, todos os nós do cluster exigirão conectividade de rede com o sistema SAP.

  • Para fluxos de trabalho de aplicativos lógicos padrão em Aplicativos Lógicos do Azure de locatário único, o recurso de aplicativo lógico hospeda a biblioteca SAP .NET Connector (NCo). Portanto, o próprio recurso do aplicativo lógico deve permitir a integração de rede virtual, e essa rede virtual deve ter conectividade de rede com o sistema SAP.

  • Para fluxos de trabalho do aplicativo lógico de consumo em um ISE, a rede virtual do ISE hospeda a biblioteca SAP .NET Connector (NCo).

A conectividade de rede necessária pelo sistema SAP inclui os seguintes servidores e serviços:

  • Servidor de aplicativos SAP, serviço Dispatcher (para todos os tipos de logon)

    Seu sistema SAP pode incluir vários servidores de aplicativos SAP. O host da biblioteca SAP .NET Connector (NCo) requer acesso a cada servidor e seus serviços.

  • Servidor de Mensagens SAP, Serviço de Mensagens (para Grupo do tipo Logon)

    O Servidor de Mensagens e o serviço serão redirecionados para um ou mais serviços de Dispatcher do Servidor de Aplicativos. O host da biblioteca SAP .NET Connector (NCo) requer acesso a cada servidor e seus serviços.

  • Servidor Gateway SAP, Serviço de gateway

  • SAP Gateway Server, serviço seguro de gateway

    A conectividade de rede necessária pelo sistema SAP também inclui este servidor e serviço para uso com Secure Network Communications (SNC).

O redirecionamento de solicitações do Servidor de Aplicativos, serviço Dispatcher para Gateway Server, serviço Gateway acontece automaticamente dentro da biblioteca SAP .NET Connector (NCo). Esse redirecionamento ocorre mesmo se apenas as informações do serviço Servidor de Aplicativos, Dispatcher forem fornecidas nos parâmetros de conexão.

Se você estiver usando um balanceador de carga na frente do seu sistema SAP, deverá redirecionar todos os serviços para seus respetivos servidores. Para obter mais informações sobre serviços e portas SAP, consulte as portas TCP/IP de todos os produtos SAP.

Nota

Certifique-se de que ativou a conectividade de rede a partir do anfitrião da biblioteca SAP .NET Connector (NCo) e de que as portas necessárias estão abertas em firewalls e grupos de segurança de rede. Caso contrário, você receberá erros como parceiro não alcançado do componente NI (interface de rede) e texto de erro como WSAECONNREFUSED: Connection refused.

Pré-requisitos da biblioteca de clientes SAP NCo

Para usar o conector SAP, você precisa instalar a biblioteca de cliente SAP Connector NCo para Microsoft .NET 3.1. A lista a seguir descreve os pré-requisitos para a biblioteca de clientes SAP NCo, com base no fluxo de trabalho em que você está usando o conector SAP:

  • Versão:

    • Para fluxos de trabalho de aplicativos lógicos de consumo que usam o gateway de dados local, certifique-se de instalar a versão mais recente de 64 bits, SAP Connector for Microsoft .NET 3.1.3.0 for Windows 64bit (x64). O gateway de dados é executado apenas em sistemas de 64 bits. A instalação da versão de 32 bits não suportada resulta num erro de "imagem incorreta ".

    • Para fluxos de trabalho de aplicativos lógicos padrão, você pode instalar a versão mais recente de 64 bits ou 32 bits do SAP Connector (NCo 3.1) para Microsoft .NET 3.1.3.0 compilada com o .NET Framework 4.6.2. No entanto, certifique-se de instalar a versão que corresponde à configuração no recurso do aplicativo lógico padrão. Para verificar a versão usada pelo seu aplicativo lógico, siga estas etapas:

      1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

      2. No menu de recursos do aplicativo lógico, em Configurações, selecione Configuração.

      3. Na página Configuração, selecione a guia Configurações gerais. Em Configurações da plataforma, verifique se o valor da plataforma está definido como 64 bits ou 32 bits.

      4. Certifique-se de instalar a versão do SAP Connector (NCo 3.1) para Microsoft .NET 3.1.3.0 compilada com o .NET Framework 4.6.2 que corresponda à configuração da sua plataforma.

  • Na pasta de instalação padrão da biblioteca do cliente, copie os arquivos de assembly (.dll) para outro local, com base no seu cenário, da seguinte maneira. Ou, opcionalmente, se você estiver usando apenas o conector gerenciado SAP, ao instalar a biblioteca de cliente SAP NCo, selecione Registro de cache de montagem global. O arquivo zip ISE e o conector integrado SAP atualmente não suportam o registro GAC.

    • Para um fluxo de trabalho de Consumo executado em Aplicativos Lógicos do Azure multilocatário e usando seu gateway de dados local, copie os seguintes arquivos de assembly (.dll) para a pasta de instalação do gateway de dados local, por exemplo, C:\Arquivos de Programas\Gateway de Dados Local. A biblioteca de clientes SAP NCo 3.0 contém os seguintes assemblies:

      • libicudecnumber.dll
      • rscp4n.dll
      • sapnco.dll
      • sapnco_utils.dll

      Certifique-se de copiar os arquivos de assembly para a pasta de instalação do gateway de dados. Caso contrário, sua conexão SAP pode falhar com a mensagem de erro, verifique as informações e/ou permissões da sua conta e tente novamente. Você pode solucionar outros problemas usando o visualizador de log de vinculação de assembly .NET. Esta ferramenta permite que você verifique se seus arquivos de montagem estão no local correto.

    • Para fluxos de trabalho padrão, copie os seguintes arquivos de assembly (.dll) para um local de onde você pode carregá-los para seu recurso de aplicativo lógico ou projeto onde você está criando seu fluxo de trabalho, no portal do Azure ou localmente no Visual Studio Code, respectivamente. A biblioteca de clientes SAP NCo 3.1 inclui os seguintes assemblies:

      • rscp4n.dll
      • sapnco.dll
      • sapnco_utils.dll
    • Para um fluxo de trabalho de Consumo em um ISE, siga os pré-requisitos do ISE.

Existem as seguintes relações entre a biblioteca de cliente SAP NCo, o .NET Framework, o tempo de execução do .NET e o gateway de dados:

  • O Microsoft SAP Adapter e o serviço de host de gateway usam o .NET Framework 4.7.2.

  • O SAP NCo para .NET Framework 4.0 funciona com processos que usam o tempo de execução do .NET 4.0 a 4.8.

  • O SAP NCo para .NET Framework 2.0 funciona com processos que usam o tempo de execução do .NET 2.0 a 3.5, mas não funciona mais com o gateway mais recente.

Pré-requisitos do SNC

Para fluxos de trabalho de Consumo em Aplicativos Lógicos do Azure multilocatários que usam o gateway de dados local e, opcionalmente, SNC, você também deve definir as seguintes configurações.

  • Verifique se a versão da biblioteca SNC e suas dependências são compatíveis com o ambiente SAP. Para solucionar problemas de compatibilidade de biblioteca, você pode usar o gateway de dados local e os logs do gateway de dados.

  • Certifique-se de ter copiado os seguintes arquivos de assembly (.dll) na biblioteca de cliente SAP NCo 3.0 para a pasta de instalação do gateway de dados local, por exemplo, C:\Program Files\On-Premises Data Gateway.

    • libicudecnumber.dll
    • rscp4n.dll
    • sapnco.dll
    • sapnco_utils.dll
  • Para o utilitário SAPGENPSE, você deve usar especificamente sapgenpse.exe.

  • Se você fornecer um ambiente de segurança pessoal (PSE) com sua conexão, não precisará copiar e configurar o PSE e o SECUDIR para seu gateway de dados local.

  • Se você habilitar o SNC por meio de um produto de segurança externo, como sapseculib, Kerberos ou NTLM, verifique se a biblioteca SNC existe no mesmo computador que a instalação do gateway de dados. Para esta tarefa, copie os arquivos binários da biblioteca SNC para a mesma pasta que a instalação do gateway de dados no computador local, por exemplo, C:\Program Files\On-Premises Data Gateway.

    Nota

    No computador com a instalação do gateway de dados e a biblioteca SNC, não defina as variáveis de ambiente para SNC_LIB e SNC_LIB_64. Caso contrário, essas variáveis terão precedência sobre o valor da biblioteca SNC passado pelo conector.

  • Para usar o SNC com logon único (SSO), verifique se o serviço de gateway de dados está sendo executado como um usuário mapeado para um usuário SAP. Para alterar a conta padrão da conta de serviço de gateway, selecione Alterar conta e insira as credenciais do usuário.

    Captura de tela que mostra o instalador do gateway de dados local e a página Configurações do Serviço com o botão para alterar a conta de serviço do gateway selecionado.

Para obter mais informações sobre como habilitar o SNC, consulte Habilitar comunicações de rede seguras (SNC).

Pré-requisitos do ambiente do Azure Logic Apps

Para um fluxo de trabalho de Consumo em Aplicativos Lógicos do Azure multilocatário, o conector gerenciado SAP integra-se aos sistemas SAP por meio de um gateway de dados local. Por exemplo, em cenários em que seu fluxo de trabalho envia uma mensagem para o sistema SAP, o gateway de dados atua como um cliente RFC e encaminha as solicitações recebidas do fluxo de trabalho para o SAP. Da mesma forma, em cenários em que seu fluxo de trabalho recebe uma mensagem do SAP, o gateway de dados atua como um servidor RFC que recebe solicitações do SAP e as encaminha para seu fluxo de trabalho.

  1. Em um computador host ou máquina virtual que exista na mesma rede virtual que o sistema SAP ao qual você está se conectando, baixe e instale o gateway de dados local.

    O gateway de dados ajuda você a acessar dados e recursos locais com segurança. Certifique-se de usar uma versão suportada do gateway. Se você tiver um problema com seu gateway, tente atualizar para a versão mais recente, que pode incluir atualizações para resolver o problema.

  2. No portal do Azure, crie um recurso de gateway do Azure para sua instalação de gateway de dados local.

  3. No mesmo computador local que a instalação do gateway de dados local, faça download e instale a biblioteca de cliente SAP NCo mais recente.

  4. Para o computador host com a instalação do gateway de dados local, configure os nomes de host de rede e a resolução de nomes de serviço.

    • Para usar os nomes de host ou nomes de serviço para conexões dos Aplicativos Lógicos do Azure, você precisa configurar a resolução de nomes para cada servidor SAP Application, Message e Gateway junto com seus serviços:

      • No arquivo %windir%\System32\drivers\etc\hosts ou no servidor DNS disponível para o computador host para a instalação do gateway de dados local, configure a resolução de nomes de host de rede.

      • No ficheiro %windir%\System32\drivers\etc\services, configure a resolução do nome do serviço.

    • Se você não pretende usar nomes de host de rede ou nomes de serviço para a conexão, você pode usar endereços IP de host e números de porta de serviço.

    • Se você não tiver uma entrada DNS para seu sistema SAP, o exemplo a seguir mostra uma entrada de exemplo para o arquivo hosts:

      10.0.1.9           sapserver                   # SAP single-instance system host IP by simple computer name
      10.0.1.9           sapserver.contoso.com       # SAP single-instance system host IP by fully qualified DNS name
      

      A lista a seguir mostra um conjunto de exemplos de entradas para os arquivos de serviços:

      sapdp00            3200/tcp              # SAP system instance 00 dialog (application) service port
      sapgw00            3300/tcp              # SAP system instance 00 gateway service port
      sapmsDV6           3601/tcp              # SAP system ID DV6 message service port
      

Habilitar comunicações de rede seguras (SNC)

Para um fluxo de trabalho de Consumo executado em Aplicativos Lógicos do Azure multilocatário, você pode habilitar o SNC para autenticação, que se aplica somente quando você usa o gateway de dados. Antes de começar, certifique-se de que você atendeu a todos os pré-requisitos necessários e pré-requisitos SNC.

  1. No portal do Azure, abra seu aplicativo lógico de consumo e fluxo de trabalho no designer.

  2. Adicione ou edite uma operação de conector gerenciado SAP.

  3. Na caixa Informações de conexão SAP, forneça as seguintes informações necessárias. O Tipo de Autenticação selecionado altera as opções disponíveis.

    Captura de tela mostrando as configurações de conexão SAP para Consumo.

    Nota

    Os campos Nome de usuário e Senha SAP são opcionais. Se você não fornecer um nome de usuário e senha, o conector usará o certificado de cliente fornecido em uma etapa posterior para autenticação.

  4. Para habilitar o SNC, na caixa Informações de conexão SAP, forneça as seguintes informações necessárias:

    Captura de tela mostrando as configurações de conexão SAP para SNC ativado para consumo.

    Parâmetro Description
    Usar SNC Marque a caixa de seleção.
    Biblioteca SNC Insira um dos seguintes valores:

    - O nome da sua biblioteca SNC, por exemplo, sapsnc.dll
    - O caminho relativo para o local de instalação NCo, por exemplo, .\security\sapsnc.dll
    - O caminho absoluto para o local de instalação NCo, por exemplo, c:\security\sapsnc.dll
    SNC SSO Selecione Logon usando a identidade SNC ou Logon com o nome de usuário/senha fornecido no nível RFC.

    Normalmente, a identidade SNC é usada para autenticar o chamador. Em vez disso, você pode optar por autenticar com um nome de usuário e senha, mas esse valor de parâmetro ainda está criptografado.
    SNC Meu Nome Na maioria dos casos, você pode omitir esse valor. Normalmente, a solução SNC instalada sabe o seu próprio nome SNC. No caso em que sua solução oferece suporte a várias identidades, talvez seja necessário especificar a identidade a ser usada para esse destino ou servidor específico.
    Nome do parceiro SNC Digite o nome do SNC de back-end, por exemplo, p:CN=DV3, OU=LA, O=MS, C=US.
    Qualidade de proteção SNC Selecione a qualidade do serviço a ser usado para a comunicação SNC com esse destino ou servidor específico. O valor padrão é definido pelo sistema de back-end. O valor máximo é definido pelo produto de segurança utilizado para a SNC.
    Certificado SNC Insira a chave pública codificada em base64 para o certificado a ser usado para identificar seu cliente no SAP.

    Nota: - Não inclua o cabeçalho ou rodapé do PEM.

    - Não insira a chave privada para o certificado do cliente aqui. Seu Ambiente de Segurança Pessoal (PSE) deve conter a chave privada correspondente para este certificado e pode conter outros certificados privados. Para obter mais informações, revise o próximo parâmetro.
    PSE Insira seu SNC Personal Security Environment (PSE) como um binário codificado em base64.

    - Seu PSE deve conter a chave privada para o certificado do cliente onde a impressão digital corresponde à chave pública para o certificado do cliente no parâmetro Certificado SNC.

    - Embora seu PSE possa conter vários certificados de cliente, para usar certificados de cliente diferentes, crie fluxos de trabalho separados.

    - Se você estiver usando mais de um certificado de cliente SNC para seu recurso de aplicativo lógico padrão, deverá fornecer o mesmo PSE para todas as conexões. Seu PSE deve conter a chave privada correspondente para o certificado do cliente para cada uma das conexões. Você deve definir o parâmetro Certificado SNC para corresponder ao certificado privado específico para cada conexão.
  5. Para concluir a criação da conexão, selecione Criar.

    Se os parâmetros estiverem corretos, a conexão será criada. Se houver um problema com os parâmetros, a caixa de diálogo de criação de conexão exibirá uma mensagem de erro. Para solucionar problemas de parâmetros de conexão, você pode usar a instalação do gateway de dados local e os logs locais do gateway.

Converter um arquivo PSE binário em formato codificado em base64

  1. Use um script do PowerShell, por exemplo:

    Param ([Parameter(Mandatory=$true)][string]$psePath, [string]$base64OutputPath)
    $base64String = [convert]::ToBase64String((Get-Content -path $psePath -Encoding byte))
    if ($base64OutputPath -eq $null)
    {
        Write-Output $base64String
    }
    else
    {
        Set-Content -Path $base64OutputPath -Value $base64String
        Write-Output "Output written to $base64OutputPath"
    } 
    
  2. Salve o script como um arquivo pseConvert.ps1 e invoque o script, por exemplo:

    .\pseConvert.ps1 -psePath "C:\Temp\SECUDIR\request.pse" -base64OutputPath "connectionInput.txt"
    Output written to connectionInput.txt 
    

    Se você não fornecer o parâmetro de caminho de saída, a saída do script para o console conterá quebras de linha. Remova as quebras de linha na cadeia de caracteres codificada em base 64 para o parâmetro de entrada de conexão.

Configurar e testar o envio de IDocs para o seu fluxo de trabalho a partir do SAP

Siga estas etapas apenas para testar sua configuração SAP com o fluxo de trabalho do aplicativo lógico. Os ambientes de produção exigem configuração adicional.

Para enviar IDocs do SAP para seu fluxo de trabalho, você precisa da seguinte configuração mínima:

  1. Crie um destino RFC.
  2. Crie uma conexão ABAP.
  3. Crie uma porta recetora.
  4. Crie uma porta de remetente.
  5. Crie um parceiro de sistema lógico.
  6. Crie um perfil de parceiro.
  7. Teste o envio de mensagens.

Criar destino RFC

Esse destino identifica o fluxo de trabalho do aplicativo lógico como a porta do recetor.

  1. No SAP, abra as configurações de Configuração de conexões RFC. Você pode usar o código de transação sm59 (T-Code) com o prefixo /n .

  2. Selecione Criar conexões> TCP/IP.

  3. Crie um novo destino RFC com as seguintes configurações:

    1. Para RFC Destination, insira um nome.

    2. Na guia Configurações técnicas, para Tipo de ativação, selecione Programa de servidor registrado.

    3. Para ID do programa, insira um valor. No servidor SAP, o gatilho do fluxo de trabalho é registrado usando esse identificador.

      Importante

      O ID do programa SAP diferencia maiúsculas de minúsculas. Certifique-se de usar consistentemente o mesmo formato de caso para sua ID de programa ao configurar seu fluxo de trabalho e servidor SAP. Caso contrário, poderá receber os seguintes erros no monitor tRFC (T-Code SM58) quando tenta enviar um IDoc para o SAP:

      • Função IDOC_INBOUND_ASYNCHRONOUS não encontrada
      • Cliente RFC não-ABAP (tipo de parceiro) não suportado

      Para obter mais informações da SAP, revise as seguintes notas (login necessário):

    4. Na guia Unicode, para Tipo de Comunicação com Sistema de Destino, selecione Unicode.

      Nota

      As bibliotecas do SAP .NET Client suportam apenas codificação de caracteres Unicode. Se você receber o erro Cliente RFC não-ABAP (tipo de parceiro) sem suporte ao enviar um IDoc do SAP para os Aplicativos Lógicos do Azure, verifique se o valor Tipo de Comunicação com Sistema de Destino está definido como Unicode.

  4. Guardar as suas alterações.

  5. Registe o seu novo ID de Programa com as Aplicações Lógicas do Azure criando um fluxo de trabalho de aplicação lógica que começa com o gatilho gerido SAP denominado Quando uma mensagem é recebida.

    Dessa forma, quando você salva seu fluxo de trabalho, os Aplicativos Lógicos do Azure registram a ID do Programa no Gateway SAP.

  6. No histórico de gatilhos do fluxo de trabalho, os logs do adaptador SAP do gateway de dados local, se aplicável, e os logs de rastreamento do SAP Gateway, verificam o status do registro.

    Na caixa Monitor do SAP Gateway (T-Code SMGW), em Clientes conectados, o novo registro aparece como Servidor registrado.

  7. Para testar sua conexão, em seu novo Destino RFC, selecione Teste de Conexão.

Criar conexão ABAP

Esse destino identifica seu sistema SAP como a porta do remetente.

  1. No SAP, abra as configurações de Configuração de conexões RFC. Você pode usar o código de transação sm59 (T-Code) com o prefixo /n .

  2. Selecione ABAP Connections>Create.

  3. Para RFC Destination, insira o identificador do seu sistema SAP de teste.

  4. Em Configurações técnicas, deixe o host de destino vazio para criar uma conexão local com o sistema SAP.

  5. Guardar as suas alterações.

  6. Para testar sua conexão, selecione Teste de conexão.

Criar porta de recetor

  1. No SAP, abra as configurações de processamento Portas no IDOC. Você pode usar o código de transação we21 (T-Code) com o prefixo /n .

  2. Selecione Portas>Transacionais RFC>Criar.

  3. Na caixa de configurações que se abre, selecione o próprio nome da porta. Para sua porta de teste, insira um Nome. Guardar as suas alterações.

  4. Nas configurações da nova porta do recetor, para o destino RFC, insira o identificador do destino RFC de teste.

  5. Guardar as suas alterações.

Criar porta de remetente

  1. No SAP, abra as configurações de processamento Portas no IDOC. Você pode usar o código de transação we21 (T-Code) com o prefixo /n .

  2. Selecione Portas>Transacionais RFC>Criar.

  3. Na caixa de configurações que se abre, selecione o próprio nome da porta.

  4. Para sua porta de teste, insira um Nome que comece com SAP. Guardar as suas alterações.

    Todos os nomes de porta do remetente devem começar com as letras SAP, por exemplo, SAPTEST.

  5. Nas configurações da nova porta do remetente, para o destino RFC, insira o identificador da conexão ABAP.

  6. Guardar as suas alterações.

Criar parceiro de sistema lógico

  1. No SAP, abra as configurações Change View "Logical Systems": Overview (Alterar visualização "Sistemas lógicos"): Visão geral . Você pode usar o código de transação bd54 (T-Code).

  2. Aceite a seguinte mensagem de aviso que aparece: Cuidado: A tabela é cross-client

  3. Acima da lista que mostra seus sistemas lógicos existentes, selecione Novas entradas.

  4. Para o seu novo sistema lógico, insira um identificador Log.System e uma breve descrição do Nome . Guardar as suas alterações.

  5. Quando o Prompt for Workbench for exibido, crie uma nova solicitação fornecendo uma descrição ou, se você já tiver criado uma solicitação, ignore esta etapa.

  6. Depois de criar a solicitação de bancada de trabalho, vincule essa solicitação à solicitação de atualização de tabela. Para confirmar que a tabela foi atualizada, salve as alterações.

Criar perfis de parceiros

Para ambientes de produção, você deve criar dois perfis de parceiro. O primeiro perfil é para o remetente, que é a sua organização e o sistema SAP. O segundo perfil é para o recetor, que é o recurso e o fluxo de trabalho do aplicativo lógico.

  1. No SAP, abra as configurações de perfis de parceiro. Você pode usar o código de transação we20 (T-Code) com o prefixo /n .

  2. Em Perfis de Parceiro, selecione Tipo de Parceiro LS>Criar.

  3. Crie um novo perfil de parceiro com as seguintes configurações:

    Definição Descrição
    N.º de Parceiro Insira o identificador do parceiro do sistema lógico.
    Partn. Type Digite LS.
    Agente Insira o identificador da conta de usuário SAP a ser usada ao registrar identificadores de programa para Aplicativos Lógicos do Azure ou outros sistemas que não sejam SAP.
  4. Guardar as suas alterações.

    Se você não criou o parceiro de sistema lógico, você recebe o erro, Digite um número de parceiro válido.

  5. Nas configurações do seu perfil de parceiro, em Outbound parmtrs., selecione Create outbound parameter.

  6. Crie um novo parâmetro de saída com as seguintes configurações:

  7. Guardar as suas alterações.

Testar o envio de mensagens

  1. No SAP, abra as configurações da Test Tool for IDoc Processing . Você pode usar o código de transação we19 (T-Code) com o prefixo /n .

  2. Em Modelo para teste, selecione Via tipo de mensagem. Introduza o seu tipo de mensagem, por exemplo, CREMAS. Selecione Criar.

  3. Confirme a mensagem Qual tipo de IDoc? selecionando Continuar.

  4. Selecione o nó EDIDC . Insira os valores apropriados para as portas do destinatário e do remetente. Selecione Continuar.

  5. Selecione Processamento de saída padrão.

  6. Para iniciar o processamento do IDoc de saída, selecione Continuar.

    Quando a ferramenta termina o processamento, a mensagem IDoc enviado para o sistema SAP ou programa externo aparece.

  7. Para verificar se há erros de processamento, use o código de transação sm58 (T-Code) com o prefixo /n .

Crie fluxos de trabalho para cenários comuns do SAP

Para obter o guia de instruções para criar fluxos de trabalho para cargas de trabalho comuns de integração SAP, consulte as seguintes etapas:

Crie fluxos de trabalho para cenários SAP avançados

Localizar logs de erros estendidos (somente conector gerenciado)

Se você estiver usando o conector gerenciado SAP, poderá encontrar mensagens de erro completas verificando os logs estendidos do adaptador SAP. Você também pode habilitar um arquivo de log estendido para o conector SAP.

  • Para versões de gateway de dados locais de abril de 2020 e anteriores, os logs são desabilitados por padrão.

  • Para versões de gateway de dados locais de junho de 2020 e posteriores, você pode habilitar logs de gateway nas configurações do aplicativo.

    • O nível de log padrão é Aviso.

    • Se você habilitar o log adicional nas configurações de Diagnóstico do aplicativo de gateway de dados local, o nível de log será aumentado para Informativo.

    • Para aumentar o nível de log para Detalhado, atualize a seguinte configuração no arquivo de configuração. Normalmente, o arquivo de configuração está localizado em C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

      <setting name="SapTraceLevel" serializeAs="String">
         <value>Verbose</value>
      </setting>
      

Configurar o log estendido do SAP no gateway de dados local (somente conector gerenciado)

Se você usar um gateway de dados local para Aplicativos Lógicos do Azure, poderá configurar um arquivo de log estendido para o conector SAP. Você pode usar seu gateway de dados local para redirecionar eventos ETW (Rastreamento de Eventos para Windows) para arquivos de log rotativos incluídos nos arquivos de .zip de log do gateway.

Você pode exportar todos os logs de configuração e serviço do gateway para um arquivo de .zip nas configurações do aplicativo de gateway.

Nota

O registro em log estendido pode afetar o desempenho do fluxo de trabalho quando sempre habilitado. Como prática recomendada, desative os arquivos de log estendidos depois de concluir a análise e a solução de um problema.

Capturar eventos ETW

Como uma tarefa de log avançada opcional, você pode capturar diretamente eventos ETW e, em seguida , consumir os dados no Diagnóstico do Azure em Hubs de Eventos ou coletar seus dados para os Logs do Azure Monitor. Para obter mais informações, consulte as práticas recomendadas para coletar e armazenar dados.

Para trabalhar com os arquivos ETL resultantes, você pode usar PerfView, ou você pode escrever seu próprio programa. O passo a passo a seguir usa o PerfView:

  1. No menu PerfView, selecione Collect>Collect para capturar os eventos.

  2. No parâmetro Additional Provider, insira *Microsoft-LobAdapter para especificar o provedor SAP para capturar eventos do SAP Adapter. Se você não especificar essas informações, seu rastreamento incluirá apenas eventos ETW gerais.

  3. Mantenha as outras configurações padrão. Se desejar, você pode alterar o nome do arquivo ou o local no parâmetro Arquivo de Dados.

  4. Selecione Iniciar coleção para iniciar o rastreamento.

  5. Depois de reproduzir o problema ou coletar dados de análise suficientes, selecione Parar coleta.

  6. Para compartilhar seus dados com outra parte, como engenheiros de suporte do Azure, compacte o arquivo ETL.

  7. Para visualizar o conteúdo do seu rastreamento:

    1. No PerfView, selecione Abrir arquivo>e selecione o arquivo ETL que você acabou de gerar.

    2. Na barra lateral do PerfView, a seção Eventos sob seu arquivo ETL.

    3. Em Filtrar, filtre por Microsoft-LobAdapter para exibir apenas eventos relevantes e processos de gateway.

Testar o fluxo de trabalho

Com base no facto de ter um fluxo de trabalho de Consumo em Aplicações Lógicas do Azure multiinquilino ou um fluxo de trabalho Padrão em Aplicações Lógicas do Azure de inquilino único, siga os passos correspondentes:

  1. Se o recurso do aplicativo lógico de consumo ainda não estiver habilitado, no menu do aplicativo lógico, selecione Visão geral. Na barra de ferramentas, selecione Ativar.

  2. Na barra de ferramentas do designer, selecione Executar execução de gatilho> para iniciar manualmente o fluxo de trabalho.

  3. Para acionar seu fluxo de trabalho, envie uma mensagem do seu sistema SAP.

  4. Retorne ao painel Visão geral do seu aplicativo lógico. Em Histórico de execuções, encontre novas execuções para o seu fluxo de trabalho.

  5. Abra a execução mais recente, que mostra uma execução manual. Encontre e revise a seção de saídas do gatilho.

Ativar o registro e o rastreamento da biblioteca do cliente SAP (NCo) (somente conector integrado)

Quando você tiver que investigar quaisquer problemas com esse componente, poderá configurar o rastreamento NCo baseado em arquivo de texto personalizado, que o suporte da SAP ou da Microsoft pode solicitar de você. Por padrão, esse recurso é desabilitado porque habilitar esse rastreamento pode afetar negativamente o desempenho e consumir rapidamente o espaço de armazenamento do host do aplicativo.

Você pode controlar esse recurso de rastreamento no nível do aplicativo adicionando as seguintes configurações:

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No menu do aplicativo lógico, em Configurações, selecione Variáveis de ambiente para revisar as configurações do aplicativo.

  3. Na página Variáveis de ambiente, na guia Configurações do aplicativo, adicione as seguintes configurações do aplicativo:

    • SAP_RFC_TRACE_DIRECTORY: O diretório onde armazenar os arquivos de rastreamento NCo, por exemplo, C:\home\LogFiles\NCo.

    • SAP_RFC_TRACE_LEVEL: O nível de rastreamento NCo com Level4 como o valor sugerido para registro detalhado típico. O suporte da SAP ou da Microsoft pode solicitar que você defina um nível de rastreamento diferente.

      Nota

      Para fluxos de trabalho de aplicativos lógicos padrão que usam a versão de tempo de execução 1.69.0 ou posterior, você pode habilitar o registro em log para vários níveis de rastreamento separando cada nível de rastreamento com uma vírgula (,).

      Para localizar a versão de tempo de execução do fluxo de trabalho, siga estas etapas:

      1. No portal do Azure, no menu do fluxo de trabalho, selecione Visão geral.
      2. Na seção Essentials, localize a propriedade Runtime Version.
    • SAP_CPIC_TRACE_LEVEL: O nível de rastreamento da Common Programming Interface for Communication (CPI-C) com Verbose como o valor sugerido para o registro detalhado típico. O suporte da SAP ou da Microsoft pode solicitar que você defina um nível de rastreamento diferente.

    Para obter mais informações sobre como adicionar configurações de aplicativo, consulte Editar configurações de host e aplicativo para fluxos de trabalho de aplicativo lógico padrão.

  4. Guardar as suas alterações. Esta etapa reinicia o aplicativo.

Níveis de vestígios disponíveis

Níveis de rastreamento NCo

valor Description
Level1 O nível para rastrear chamadas de função remota.
Level2 O nível para rastrear chamadas de função remota e chamadas de método de API pública.
Level3 O nível para rastrear chamadas de função remota, chamadas de método de API públicas e chamadas de método de API internas.
Level4 O nível para rastrear chamadas de função remota, chamadas de método de API pública, chamadas de método de API internas, despejos hexadecimais para o protocolo RFC e informações relacionadas à rede.
Bloqueio Grava dados nos arquivos de rastreamento que mostram quando os threads solicitam, adquirem e liberam bloqueios em objetos.
Metadados Rastreia os metadados envolvidos em uma chamada de função remota para cada chamada.
Nenhuma O nível para suprimir todas as saídas de rastreamento.
ParâmetroData Rastreia os dados do contêiner enviados e recebidos durante cada chamada de função remota.
Desempenho Grava dados nos arquivos de rastreamento que podem ajudar na análise de problemas de desempenho.
PublicAPI Rastreia a maioria dos métodos da API pública, exceto getters, setters ou métodos relacionados.
API interna Rastreia a maioria dos métodos da API interna, exceto getters, setters ou métodos relacionados.
RemoteFunctionCall Rastreia chamadas de função remota.
RfcData Rastreia os bytes enviados e recebidos durante cada chamada de função remota.
Provedor de Sessão Rastreia todos os métodos da implementação atualmente usada de ISessionProvider.
SetValue Grava informações nos arquivos de rastreamento sobre valores definidos para parâmetros de funções ou campos de estruturas ou tabelas.

Níveis de rastreamento CPIC

valor Description
Desativado Sem registo
Básica Registo básico
Verboso Registro detalhado
VerboseWithData Registro detalhado com todo o despejo de resposta do servidor

Ver o rastreio

  1. No menu de recursos do aplicativo lógico padrão, em Ferramentas de Desenvolvimento, selecione Advanced Tools>Go.

  2. Na barra de ferramentas Kudu , selecione Debug Console>CMD.

  3. Navegue até a pasta para a configuração do aplicativo chamada $SAP_RFC_TRACE_DIRECTORY.

    Uma nova pasta chamada NCo, ou qualquer nome de pasta que você usou, aparece para o valor de configuração do aplicativo, C:\home\LogFiles\NCo, que você definiu anteriormente.

  4. Abra a pasta $SAP_RFC_TRACE_DIRECTORY , que contém o seguinte:

    • Logs de rastreamento NCo: um arquivo chamado dev_nco_rfc.log, um ou vários arquivos chamados nco_rfc_NNNN.log e um ou vários arquivos chamados arquivos nco_rfc_NNNN.trc onde NNNN é um identificador de thread.

    • Logs de rastreamento CPIC: um ou vários arquivos chamados arquivos nco_cpic_NNNN.trc onde NNNN é identificador de thread.

  5. Para exibir o conteúdo em um arquivo de log ou rastreamento, selecione o botão Editar ao lado de um arquivo.

    Nota

    Se você baixar um arquivo de log ou rastreamento que o fluxo de trabalho do aplicativo lógico abriu e está em uso no momento, o download poderá resultar em um arquivo vazio.

Ativar o rastreamento do SAP Common Crypto Library (CCL) (somente conector integrado)

Se você tiver que investigar quaisquer problemas com a biblioteca de criptografia ao usar a autenticação SNC, poderá configurar o rastreamento CCL baseado em arquivo de texto personalizado. Você pode usar esses logs CCL para solucionar problemas de autenticação SNC ou compartilhá-los com o suporte da Microsoft ou SAP, se solicitado. Por padrão, esse recurso é desabilitado porque habilitar esse rastreamento pode afetar negativamente o desempenho e consumir rapidamente o espaço de armazenamento do host do aplicativo.

Você pode controlar esse recurso de rastreamento no nível do aplicativo adicionando as seguintes configurações:

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No menu de recursos do aplicativo lógico padrão, em Ferramentas de Desenvolvimento, selecione Advanced Tools>Go.

  3. Na barra de ferramentas Kudu , selecione Debug Console>CMD.

  4. Navegue até um local em C:\home\site\wwwroot e crie um arquivo de texto, por exemplo: CCLPROFILE.txt.

    Para obter mais informações sobre parâmetros de registro, consulte Tracing> SAP NOTE 2338952. O exemplo a seguir fornece um exemplo de configuração de rastreamento:

    ccl/trace/directory=C:\home\LogFiles\CCLLOGS
    ccl/trace/level=4
    ccl/trace/rotatefilesize=10000000
    ccl/trace/rotatefilenumber=10
    
  5. No menu do aplicativo lógico, em Configurações, selecione Variáveis de ambiente para revisar as configurações do aplicativo.

  6. Na página Variáveis de ambiente, na guia Configurações do aplicativo, adicione a seguinte configuração do aplicativo:

    CCL_PROFILE: O diretório onde CCLPROFILE.txt foi criado, por exemplo, C:\home\site\wwwroot\CCLPROFILE.txt.

  7. Guardar as suas alterações. Esta etapa reinicia o aplicativo.

Ver o rastreio

  1. No menu de recursos do aplicativo lógico padrão, em Ferramentas de Desenvolvimento, selecione Advanced Tools>Go.

  2. Na barra de ferramentas Kudu , selecione Debug Console>CMD.

  3. Navegue até a pasta para o parâmetro $ccl/trace/directory , que é do arquivo CCLPROFILE.txt .

    Normalmente, os arquivos de rastreamento são chamados sec-Microsoft.Azure.Work-$processId.trc e sec-sapgenpse.exe-$processId.trc.

    O fluxo de trabalho do aplicativo lógico executa a autenticação SNC como um processo de duas etapas:

    1. O fluxo de trabalho do aplicativo lógico invoca sapgenpse.exe para gerar um arquivo cred_v2 a partir do arquivo PSE.

      Você pode encontrar os rastreamentos relacionados a esta etapa em um arquivo chamado sec-sapgenpse.exe-$processId.trc.

    2. Seu fluxo de trabalho de aplicativo lógico autentica o acesso ao servidor SAP consumindo o arquivo cred_v2 gerado, com a biblioteca de cliente SAP invocando a biblioteca de criptografia comum.

      Você pode encontrar os rastreamentos relacionados a essa etapa em um arquivo chamado sec-Microsoft.Azure.Work-$processId.trc.

Enviar telemetria SAP para gateway de dados local para o Azure Application Insights

Com a atualização de agosto de 2021 para o gateway de dados local, as operações do conector SAP podem enviar dados de telemetria da biblioteca de cliente SAP NCo e rastreamentos do Microsoft SAP Adapter para o Application Insights, que é um recurso do Azure Monitor. Essa telemetria inclui principalmente os seguintes dados:

  • Métricas e rastreamentos baseados em métricas e monitores SAP NCo.

  • Rastreamentos do Microsoft SAP Adapter.

Métricas e rastreamentos da biblioteca de clientes SAP NCo

As métricas baseadas em SAP NCo são valores numéricos que podem ou não variar ao longo de um período de tempo, com base no uso e na disponibilidade de recursos no gateway de dados local. Você pode usar essas métricas para entender melhor a integridade do sistema e criar alertas sobre as seguintes atividades:

  • Declínio da integridade do sistema.
  • Acontecimentos inusitados.
  • Carga pesada do sistema.

Essas informações são enviadas para a tabela do Application Insights chamada customMetrics. Por padrão, as métricas são enviadas em intervalos de 30 segundos.

Os rastreamentos baseados em SAP NCo incluem informações de texto usadas com métricas. Essas informações são enviadas para a tabela do Application Insights chamada rastreamentos. Por padrão, os rastreamentos são enviados em intervalos de 10 minutos.

As métricas e rastreamentos SAP NCo são baseados em métricas SAP NCo, especificamente as seguintes classes NCo:

  • RfcDestinationMonitor.
  • RfcConnectionMonitor.
  • RfcServerMonitor.
  • RfcRepositoryMonitor.

Para obter mais informações sobre as métricas fornecidas por cada classe, consulte a documentação do SAP NCo (login necessário).

Configurar a telemetria SAP para o Application Insights

Antes de enviar a telemetria SAP para a instalação do gateway para o Application Insights, você precisa ter criado e configurado seu recurso do Application Insights. Para obter mais informações, consulte a seguinte documentação:

Para habilitar o envio de telemetria SAP para o Application insights, siga estas etapas:

  1. Baixe o pacote NuGet para Microsoft.ApplicationInsights.EventSourceListener.dll neste local: https://www.nuget.org/packages/Microsoft.ApplicationInsights.EventSourceListener/2.14.0.

  2. Adicione o arquivo baixado ao diretório de instalação do gateway de dados local, por exemplo, C:\Arquivos de Programas\Gateway de Dados Local.

  3. No diretório de instalação do gateway de dados local, verifique se o arquivo Microsoft.ApplicationInsights.dll tem o mesmo número de versão do arquivo Microsoft.ApplicationInsights.EventSourceListener.dll que você adicionou. O gateway atualmente usa a versão 2.14.0.

  4. No arquivo ApplicationInsights.config, adicione sua chave de instrumentação do Application Insights descomentando a linha com o <InstrumentationKey></InstrumentationKey> elemento . Substitua o espaço reservado, your-Application-Insights-instrumentation-key, pela sua chave, por exemplo:

    <?xml version="1.0" encoding="utf-8"?>
    <ApplicationInsights schemaVersion="2014-05-30" xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
       <!-- Uncomment this element and insert your Application Insights key to receive ETW telemetry about your gateway <InstrumentationKey>*your-instrumentation-key-placeholder*</InstrumentationKey> -->
       <TelemetryModules>
          <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights">
             <IsHeartbeatEnabled>false</IsHeartbeatEnabled>
          </Add>
          <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
             <Sources>
                <Add Name="Microsoft-LobAdapter" Level="Verbose" />
             </Sources>
          </Add>
       </TelemetryModules>
    </ApplicationInsights>
    
  5. No arquivo ApplicationInsights.config, você pode alterar o valor de rastreamentos Level necessário para suas operações de conector SAP, de acordo com seus requisitos, por exemplo:

    <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
       <Sources>
          <Add Name="Microsoft-LobAdapter" Level="Verbose" />
       </Sources>
    </Add>
    

    Para obter mais informações, consulte a seguinte documentação:

  6. Depois de aplicar as alterações, reinicie o serviço de gateway de dados local.

Revisar métricas no Application Insights

Depois que as operações SAP forem executadas no fluxo de trabalho do aplicativo lógico, você poderá revisar a telemetria enviada ao Application Insights.

  1. No portal do Azure, abra seu recurso do Application Insights.

  2. No menu de recursos, em Monitoramento, selecione Logs.

    A captura de tela a seguir mostra o portal do Azure com o Application Insights, que está aberto no painel Logs :

    A captura de tela mostra o portal do Azure com o Application Insights aberto no painel

  3. No painel Logs, você pode criar uma consulta usando a KQL (Kusto Query Language) baseada em seus requisitos específicos.

    Você pode usar um padrão de consulta semelhante à consulta de exemplo a seguir:

    customMetrics
    | extend DestinationName = tostring(customDimensions["DestinationName"])
    | extend MetricType = tostring(customDimensions["MetricType"])
    | where customDimensions contains "RfcDestinationMonitor"
    | where name contains "MaxUsedCount"
    
  4. Depois de executar a consulta, reveja os resultados.

    A captura de tela a seguir mostra a tabela de resultados de métricas da consulta de exemplo:

    A captura de tela mostra o Application Insights com a tabela de resultados de métricas.

    • MaxUsedCount é "O número máximo de conexões de cliente que foram usadas simultaneamente pelo destino monitorado." conforme descrito na documentação do SAP NCo (login necessário). Você pode usar esse valor para entender o número de conexões abertas simultaneamente.

    • A coluna valueCount mostra 2 para cada leitura porque as métricas são geradas em intervalos de 30 segundos. O Application Insights agrega essas métricas por minuto.

    • A coluna DestinationName contém uma cadeia de caracteres que é um nome interno do Microsoft SAP Adapter.

      Para entender melhor esse destino de RFC (Chamada de Função Remota), use esse valor com traces, por exemplo:

      customMetrics
      | extend DestinationName = tostring(customDimensions["DestinationName"])
      | join kind=inner (traces
         | extend DestinationName = tostring(customDimensions["DestinationName"]),
         AppServerHost = tostring(customDimensions["AppServerHost"]),
         SncMode = tostring(customDimensions["SncMode"]),
         SapClient = tostring(customDimensions["Client"])
         | where customDimensions contains "RfcDestinationMonitor"
         )
         on DestinationName , $left.DestinationName == $right.DestinationName
      | where customDimensions contains "RfcDestinationMonitor"
      | where name contains "MaxUsedCount"
      | project AppServerHost, SncMode, SapClient, name, valueCount, valueSum, valueMin, valueMax
      

Você também pode criar gráficos de métricas ou alertas usando esses recursos no Application Insights, por exemplo:

A captura de tela mostra o Application Insights com os resultados em formato de gráfico.

Rastreamentos do Microsoft SAP Adapter

Você pode usar rastreamentos enviados do Microsoft SAP Adapter para pós-análise de problemas e para localizar quaisquer erros internos do sistema existentes que possam ou não surgir a partir de operações do conector SAP. Esses rastreamentos foram message definidos porque "n\a" vêm de uma estrutura de origem de evento anterior que antecede o Application Insights, por exemplo:

traces
| where message == "n/a"
| where severityLevel > 0
| extend ActivityId = tostring(customDimensions["ActivityId"])
| extend fullMessage = tostring(customDimensions["fullMessage"])
| extend shortMessage = tostring(customDimensions["shortMessage"])
| where ActivityId contains "8ad5952b-371e-4d80-b355-34e28df9b5d1"

A captura de tela a seguir mostra a tabela de resultados de rastreamentos da consulta de exemplo:

A captura de tela mostra o Application Insights com a tabela de resultados de rastreamentos.

Próximos passos