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. 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 fornecer um nome de usuário e senha.
O conector SAP suporta autenticação com SAP Secure Network Communications (SNC).
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.
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 na galeria de conectores em Runtime>Shared. Para obter mais informações, consulte a seguinte documentação: - Referência do conector gerenciado SAP - 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 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.
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). 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:
- Crie uma sessão explicitamente usando a ação chamada [BAPI - RFC] Criar sessão com monitoração de estado.
- Na ação denominada [BAPI] Método Call no SAP, desative o recurso de confirmação automática.
- 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, 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
eDD_LANGU_TO_ISOLA
Ações BAPI BAPI_TRANSACTION_COMMIT
,BAPI_TRANSACTION_ROLLBACK
, ,SWO_QUERY_METHODS
RPY_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_IDOCNR
OUTBOUND_IDOCS_FOR_TID
, eIDOC_RECORD_READ
Leia a ação da tabela SAP Tanto RFC BBP_RFC_READ_TABLE
comoRFC_READ_TABLE
Conceder acesso mínimo restrito ao servidor SAP para a sua ligação SAP RFC_METADATA_GET
eRFC_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.
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 comotrue
.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.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 HTTPDELETE
. 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 usaPATCH
como o método HTTP, nãoDELETE
.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.
Para o gatilho de conector integrado SAP chamado Quando uma mensagem é recebida, você precisa habilitar a integração de rede virtual e portas privadas seguindo o artigo em Habilitando conectores integrados do Service Bus e SAP para aplicativos lógicos com monitoração de estado no padrão. Você também pode executar o fluxo de trabalho no Visual Studio Code para disparar o gatilho localmente. Para obter os requisitos de configuração do Visual Studio Code e mais informações, consulte Criar um fluxo de trabalho de aplicativo lógico padrão em aplicativos lógicos do Azure de locatário único usando o Visual Studio Code. Você também deve configurar as seguintes variáveis de ambiente no computador onde você instala o Visual Studio Code:
- 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.
Para cenários em que você deseja enviar IDocs do fluxo de trabalho do aplicativo lógico para o SAP, altere o modo de processamento SAP da configuração padrão Trigger imediatamente para Trigger by background program para que o fluxo de trabalho não atinja o tempo limite.
Se o sistema SAP estiver sob carga, por exemplo, quando o fluxo de trabalho enviar um lote de IDocs de uma só vez para o SAP, o IDoc em fila chama o tempo limite. O modo de processamento padrão faz com que o sistema SAP bloqueie a chamada de entrada para transmissão de IDoc até que um IDoc termine o processamento. Nos Aplicativos Lógicos do Azure, as ações de fluxo de trabalho têm um tempo limite de 2 minutos, por padrão.
Para alterar o modo de processamento do sistema SAP, siga estas etapas:
No SAP, localize o perfil de parceiro SAP e abra as configurações de perfis de parceiro. Você pode usar o código de transação we20 (T-Code) com o prefixo /n .
Na guia Opções de entrada, em Processamento por módulo de função, altere a configuração para Gatilho por programa em segundo plano de Gatilho imediatamente.
A configuração Trigger by background program permite que a chamada
IDOC_INBOUND_ASYNCHRONOUS
tRFC de transporte de IDoc subjacente seja concluída imediatamente, em vez de bloquear a conexão até que o IDoc termine o processamento. No entanto, essa configuração só funcionará se o IDoc não incluir o segmento de substituição de comportamento Express, de acordo com o Suporte SAP Nota 1777090 - Os IDocs são processados imediatamente, apesar de terem a opção "Trigger by background program" selecionada no WE20 - SAP for Me.
Para obter mais informações, consulte os seguintes recursos:
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.
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:
No portal do Azure, abra seu recurso de aplicativo lógico padrão.
No menu de recursos do aplicativo lógico, em Configurações, selecione Configuração.
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.
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. Atualmente, o conector integrado do SAP não suporta 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
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.
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.
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.
No portal do Azure, crie um recurso de gateway do Azure para sua instalação de gateway de dados local.
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.
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.
No portal do Azure, abra seu aplicativo lógico de consumo e fluxo de trabalho no designer.
Adicione ou edite uma operação de conector gerenciado SAP.
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.
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.
Para habilitar o SNC, na caixa Informações de conexão SAP, forneça as seguintes informações necessárias:
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.dllSNC 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.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
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" }
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 do SAP para o seu fluxo de trabalho
Para enviar IDocs do SAP para o fluxo de trabalho do aplicativo lógico, siga estas etapas para configurar e testar a configuração do SAP com o fluxo de trabalho do aplicativo lógico. Essas etapas se aplicam apenas aos testes, pois 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:
- Crie um destino RFC.
- Crie uma conexão ABAP.
- Crie uma porta recetora.
- Crie uma porta de remetente.
- Crie um parceiro de sistema lógico.
- Crie um perfil de parceiro.
- Teste o envio de mensagens.
Criar destino RFC
Esse destino identifica o fluxo de trabalho do aplicativo lógico como a porta do recetor.
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 .
Selecione Criar conexões> TCP/IP.
Crie um novo destino RFC com as seguintes configurações:
Para RFC Destination, insira um nome.
Na guia Configurações técnicas, para Tipo de ativação, selecione Programa de servidor registrado.
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):
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.
Guardar as suas alterações.
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.
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.
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.
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 .
Selecione ABAP Connections>Create.
Para RFC Destination, insira o identificador do seu sistema SAP de teste.
Em Configurações técnicas, deixe o host de destino vazio para criar uma conexão local com o sistema SAP.
Guardar as suas alterações.
Para testar sua conexão, selecione Teste de conexão.
Criar porta de remetente
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 .
Selecione Portas>Transacionais RFC>Criar.
Na caixa de configurações que se abre, selecione o próprio nome da porta.
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.
Nas configurações da nova porta do remetente, para o destino RFC, insira o identificador da conexão ABAP.
Guardar as suas alterações.
Criar porta de recetor
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 .
Selecione Portas>Transacionais RFC>Criar.
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.
Nas configurações da nova porta do recetor, para o destino RFC, insira o identificador do destino RFC de teste.
Guardar as suas alterações.
Criar parceiro de sistema lógico
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).
Aceite a seguinte mensagem de aviso que aparece: Cuidado: A tabela é cross-client
Acima da lista que mostra seus sistemas lógicos existentes, selecione Novas entradas.
Para o seu novo sistema lógico, insira um identificador Log.System e uma breve descrição do Nome . Guardar as suas alterações.
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.
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 os dois perfis de parceiro a seguir:
- Um perfil para o remetente, que é a sua organização e o sistema SAP.
- Um perfil para o recetor, que é o recurso e o fluxo de trabalho do aplicativo lógico.
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 .
Em Perfis de Parceiro, selecione Tipo de Parceiro LS>Criar.
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. Guardar as suas alterações.
Se você não criou o parceiro do sistema lógico, você recebe o erro, Digite um número de parceiro válido.
Nas configurações do seu perfil de parceiro, em Outbound parmtrs., selecione Create outbound parameter.
Crie um novo parâmetro de saída com as seguintes configurações:
Introduza o seu Tipo de Mensagem, por exemplo, CREMAS.
Introduza o identificador da porta do destinatário.
Insira um tamanho de IDoc para Pack. Tamanho. Ou, para enviar IDocs um de cada vez do SAP, selecione Passar IDoc imediatamente.
Guardar as suas alterações.
Testar o envio de mensagens
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 .
Em Modelo para teste, selecione Via tipo de mensagem. Introduza o seu tipo de mensagem, por exemplo, CREMAS. Selecione Criar.
Confirme a mensagem Qual tipo de IDoc? selecionando Continuar.
Selecione o nó EDIDC . Insira os valores apropriados para as portas do destinatário e do remetente. Selecione Continuar.
Selecione Processamento de saída padrão.
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.
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:
- Receber mensagem do SAP
- Receber pacotes IDoc do SAP
- Enviar IDocs para SAP
- Gerar esquemas para artefatos no SAP
Crie fluxos de trabalho para cenários SAP avançados
- Alterar cabeçalhos de idioma para enviar dados para o SAP
- Confirme a transação separadamente e evite IDocs duplicados
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:
No menu PerfView, selecione Collect>Collect para capturar os eventos.
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.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.
Selecione Iniciar coleção para iniciar o rastreamento.
Depois de reproduzir o problema ou coletar dados de análise suficientes, selecione Parar coleta.
Para compartilhar seus dados com outra parte, como engenheiros de suporte do Azure, compacte o arquivo ETL.
Para visualizar o conteúdo do seu rastreamento:
No PerfView, selecione Abrir arquivo>e selecione o arquivo ETL que você acabou de gerar.
Na barra lateral do PerfView, a seção Eventos sob seu arquivo ETL.
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:
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.
Na barra de ferramentas do designer, selecione Executar execução de gatilho> para iniciar manualmente o fluxo de trabalho.
Para acionar seu fluxo de trabalho, envie uma mensagem do seu sistema SAP.
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.
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:
No portal do Azure, abra seu recurso de aplicativo lógico padrão.
No menu do aplicativo lógico, em Configurações, selecione Variáveis de ambiente para revisar as configurações do aplicativo.
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:
- No portal do Azure, no menu do fluxo de trabalho, selecione Visão geral.
- 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.
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
No menu de recursos do aplicativo lógico padrão, em Ferramentas de Desenvolvimento, selecione Advanced Tools>Go.
Na barra de ferramentas Kudu , selecione Debug Console>CMD.
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.
Abra a pasta $SAP_RFC_TRACE_DIRECTORY , que contém os seguintes ficheiros:
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.
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:
No portal do Azure, abra seu recurso de aplicativo lógico padrão.
No menu de recursos do aplicativo lógico padrão, em Ferramentas de Desenvolvimento, selecione Advanced Tools>Go.
Na barra de ferramentas Kudu , selecione Debug Console>CMD.
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
No menu do aplicativo lógico, em Configurações, selecione Variáveis de ambiente para revisar as configurações do aplicativo.
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.
Guardar as suas alterações. Esta etapa reinicia o aplicativo.
Ver o rastreio
No menu de recursos do aplicativo lógico padrão, em Ferramentas de Desenvolvimento, selecione Advanced Tools>Go.
Na barra de ferramentas Kudu , selecione Debug Console>CMD.
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:
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.
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:
Baixe o pacote NuGet para Microsoft.ApplicationInsights.EventSourceListener.dll neste local: https://www.nuget.org/packages/Microsoft.ApplicationInsights.EventSourceListener/2.14.0.
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.
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.
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>
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:
Level
valores: EventLevel Enum
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.
No portal do Azure, abra seu recurso do Application Insights.
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 :
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"
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:
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:
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: