Ansluta till SAP från arbetsflöden i Azure Logic Apps
Gäller för: Azure Logic Apps (Förbrukning + Standard)
Den här instruktionsguiden för flera delar visar hur du kommer åt DIN SAP-server från ett arbetsflöde i Azure Logic Apps med hjälp av SAP-anslutningsappen. Du kan använda SAP-anslutningsappens åtgärder för att skapa automatiserade arbetsflöden som körs när de utlöses av händelser i SAP-servern eller i andra system och köra åtgärder för att hantera resurser på SAP-servern.
Både standard- och förbrukningslogikapparbetsflöden erbjuder den SAP-hanterade anslutningsappen som finns och körs i Azure med flera klientorganisationer. Standardarbetsflöden erbjuder också den inbyggda SAP-anslutningsappen som finns och körs i Azure Logic Apps med en enda klientorganisation. Mer information finns i Teknisk referens för anslutningsprogram.
SAP-kompatibilitet
SAP-anslutningsappen är kompatibel med följande typer av SAP-system:
Lokala och molnbaserade HANA-baserade SAP-system, till exempel S/4 HANA.
Klassiska lokala SAP-system, till exempel R/3 och ECC.
SAP måste ha stöd för den SAP-systemversion som du vill ansluta till. Annars kanske eventuella problem som du kan stöta på inte kan lösas. Mer information om SAP-systemversioner och underhållsinformation finns i SAP Product Availability Matrix (PAM).
SAP-anslutningsappen stöder följande typer av meddelande- och dataintegrering från SAP NetWeaver-baserade system:
Mellanliggande dokument (IDoc)
Business Application Programming Interface (BAPI)
Fjärrfunktionsanrop (RFC) och transaktionell RFC (tRFC)
SAP-anslutningsappen använder SAP .NET Connector-biblioteket (NCo).
Om du vill använda SAP Connector-åtgärderna måste du först autentisera anslutningen och ha följande alternativ:
Du kan ange ett användarnamn och lösenord.
SAP-anslutningsappen stöder autentisering med SAP Secure Network Communications (SNC).
Du kan använda SNC för enkel inloggning med SAP NetWeaver (SSO) eller för säkerhetsfunktioner från externa produkter. Om du väljer att använda SNC granskar du SNC-kraven.
Teknisk referens för anslutningsprogram
SAP-anslutningsappen har olika versioner, baserat på logikapptyp och värdmiljö.
Logikapp | Environment | Anslutningsversion |
---|---|---|
Förbrukning | Azure Logic Apps med flera klientorganisationer | Hanterad anslutningsapp, som visas i anslutningsgalleriet under Runtime>Shared. Mer information finns i följande dokumentation: - Referens för SAP-hanterad anslutningsapp - Hanterade anslutningsappar i Azure Logic Apps |
Standard | Azure Logic Apps för en klientorganisation och App Service-miljön v3 (endast Windows-abonnemang) | Hanterad anslutningsapp, som visas i anslutningsgalleriet under Runtime>Shared och den inbyggda anslutningsappen, som visas i anslutningsgalleriet under Runtime>In-App och är tjänstleverantörsbaserad. Den inbyggda anslutningsappen kan komma åt virtuella Azure-nätverk direkt med en anslutningssträng utan en lokal datagateway. Mer information finns i följande dokumentation: - Referens för SAP-hanterad anslutningsapp - Referens för inbyggd SAP-anslutningsapp - Hanterade anslutningsappar i Azure Logic Apps - Inbyggda anslutningsappar i Azure Logic Apps |
Kopplingsskillnader
Den inbyggda SAP-anslutningsappen skiljer sig avsevärt från den SAP-hanterade anslutningsappen på följande sätt:
Lokala anslutningar kräver inte den lokala datagatewayen.
I stället kommunicerar den inbyggda SAP-anslutningsappen direkt med SAP-servern i det integrerade virtuella nätverket, vilket undviker hopp, svarstid och felpunkter för en nätverksgateway. Se till att du laddar upp eller distribuerar de icke-omdistribuerbara SAP-klientbiblioteken med logikappens arbetsflödesprogram. Mer information finns i Krav i den här guiden.
Nyttolaststorlekar på upp till 100 MB stöds, så du behöver inte använda en blob-URI för stora begäranden.
Specifika åtgärder är tillgängliga för Call BAPI, Call RFC och Send IDoc. Dessa dedikerade åtgärder ger en bättre upplevelse för tillståndskänsliga BAPI:er, RFC-transaktioner och IDoc-deduplicering och använder inte den äldre soap Windows Communication Foundation-meddelandemodellen (WCF).
Åtgärden Anropa BAPI innehåller upp till två svar med returnerad JSON, XML-svaret från det anropade BAPI och BAPI-inchecknings- eller BAPI-återställningssvaret samt om du använder automatisk incheckning. Den här funktionen åtgärdar problemet med den SAP-hanterade anslutningsappen där resultatet från den automatiska incheckningen är tyst och endast kan observeras via loggar.
Längre timeout vid 5 minuter jämfört med hanterad anslutningsapp.
Den inbyggda SAP-anslutningsappen använder inte den delade eller globala anslutningsinfrastrukturen, vilket innebär att tidsgränserna är längre vid 5 minuter jämfört med den HANTERADE SAP-anslutningsappen (två minuter). Långvariga begäranden fungerar utan att du behöver implementera det långvariga webhook-baserade åtgärdsmönstret för begäranden.
Som standard är de inbyggda SAP-anslutningsåtgärderna tillståndslösa. Du kan dock aktivera tillståndskänsligt läge (tillhörighet) för dessa åtgärder.
I tillståndskänsligt läge stöder den inbyggda SAP-anslutningsappen hög tillgänglighet och horisontella utskalningskonfigurationer. Som jämförelse har DEN SAP-hanterade anslutningsappen begränsningar för den lokala datagatewayen som är begränsad till en enda instans för utlösare och till kluster endast i redundansläge för åtgärder. Mer information finns i SAP Managed Connector – Kända problem och begränsningar.
Standardarbetsflöden för logikappar kräver och använder SAP NCo 3.1-klientbiblioteket, inte SAP NCo 3.0-versionen. Mer information finns i Förutsättningar.
Standardarbetsflöden för logikappar innehåller programinställningar där du kan ange ett PSE-lösenord (Personal Security Environment) och PSE.
Den här ändringen hindrar dig från att ladda upp flera PSE-filer, vilket inte stöds och resulterar i SAP-anslutningsfel. I arbetsflöden för förbrukningslogikappen kan du ange dessa värden via anslutningsparametrar, vilket gjorde att du kunde ladda upp flera PSE-filer och inte stöds, vilket orsakar SAP-anslutningsfel.
Åtgärden Generera schema
Du kan välja mellan flera åtgärdstyper, till exempel BAPI, IDoc, RFC och tRFC, jämfört med samma åtgärd i den SAP-hanterade anslutningsappen, som använder parametern SapActionUris och en filsystemväljare.
Du kan ange ett parameternamn direkt som ett anpassat värde. Du kan till exempel ange parametern RFC-namn från åtgärden Anropa RFC . Som jämförelse var du tvungen att ange ett komplext åtgärds-URI-parameternamn i den hanterade SAP-anslutningsappen.
Den här åtgärden har avsiktligt inte stöd för att generera flera scheman för RFC:er, BAPI:er eller IDoc:er i en enda åtgärdskörning, som sap-hanterad anslutningsapp stöder. Den här funktionsändringen förhindrar nu försök att skicka stora mängder innehåll i ett enda anrop.
Anslutningsparametrar
Tillsammans med enkla sträng- och nummerindata accepterar SAP-anslutningsappen följande tabellparametrar (Type=ITAB
indata):
- Tabellriktningsparametrar, både indata och utdata, för äldre SAP-versioner.
- Parameterändringar, som ersätter tabellriktningsparametrarna för nyare SAP-versioner.
- Hierarkiska tabellparametrar.
Kända problem och begränsningar
SAP-hanterad anslutningsapp
SAP-anslutningsappen stöder för närvarande inte SAP-routersträngar. Den lokala datagatewayen måste finnas i ett virtuellt nätverk där gatewayen direkt kan nå det SAP-system som du vill ansluta till.
I allmänhet stöder SAP-utlösaren inte datagatewaykluster. I vissa redundansfall kan den datagatewaynod som kommunicerar med SAP-systemet skilja sig från den aktiva noden, vilket resulterar i oväntat beteende.
För scenarier med skicka meddelanden stöds datagatewaykluster i redundansläge.
Tillståndskänsliga SAP-åtgärder stöder inte datagatewaykluster i belastningsutjämningsläge. Tillståndskänslig kommunikation måste finnas kvar på samma datagatewayklusternod. Använd antingen datagatewayen i icke-klusterläge eller i ett kluster som endast har konfigurerats för redundans. Dessa åtgärder omfattar till exempel följande:
- Alla åtgärder som anger ett sessions-ID-värde
- [BAPI] Checka in transaktion
- [BAPI] Återställningstransaktion
- [BAPI - RFC] Stäng tillståndskänslig session
- [BAPI - RFC] Skapa tillståndskänslig session
I åtgärden [BAPI] Anropa metoden i SAP checkar inte funktionen för automatisk incheckning in BAPI-ändringarna om det finns minst en varning i CallBapiResponse-objektet som returneras av åtgärden. Följ dessa steg för att genomföra BAPI-ändringar trots varningar:
- Skapa en session explicit med hjälp av åtgärden [BAPI – RFC] Skapa tillståndskänslig session.
- I åtgärden [ BAPI] Anropa metoden i SAP inaktiverar du funktionen för automatisk incheckning.
- Anropa åtgärden med namnet [BAPI] Commit transaction i stället.
IP-baserade anslutningar till SAP Message Server (belastningsutjämningskonfiguration)
Om du anger en IP-adress för att ansluta till en SAP-meddelandeserver, till exempel en lastbalanserare, kan anslutningen fortfarande misslyckas med ett felmeddelande som liknar "värdnamnet SAPDBSERVER01.example.com okänt". Meddelandeservern instruerar SAP-anslutningsappen att använda ett värdnamn för anslutningen till serverdelens SAP-programserver eller servern bakom lastbalanseraren. Om DNS inte kan matcha värdnamnet misslyckas anslutningen.
För det här problemet finns följande lösningar:
Kontrollera att klienten som upprättar anslutningen, till exempel datorn med den lokala datagatewayen för SAP-anslutningsappen, kan matcha värdnamnen som returneras av meddelandeservern.
I transaktionen med namnet RZ11 ändrar eller lägger du till SAP-inställningen med namnet ms/lg_with_hostname=0.
Problemkontext eller bakgrund
SAP uppgraderade sin .NET-anslutningsapp (NCo) till version 3.1, vilket ändrade hur anslutningsappen begär anslutningar till serverdelsservrar från meddelandeservrar. Anslutningsappen använder nu ett nytt API för programservermatchning av meddelandeservern såvida du inte tvingar anslutningsappen att använda det tidigare API:et via inställningen ms/lg_with_hostname=0". Mer information finns i ARTIKELN om SAP KB 3305039 – SMLG IP-adressinställning som inte beaktas vid inloggning med inloggning i inloggningsgruppen.
Förutsättningar
Ett Azure-konto och prenumeration. Om du inte har någon Azure-prenumeration än registrerar du dig för ett kostnadsfritt Azure-konto.
DEN SAP-programserver eller SAP-meddelandeserver som du vill komma åt från Azure Logic Apps.
Konfigurera din SAP-server och ditt användarkonto för att tillåta användning av RFC.
Mer information, som innehåller de typer av användarkonton som stöds och minsta nödvändiga auktorisering för varje åtgärdstyp (RFC, BAPI, IDoc), finns i följande SAP-kommentar: 460089 – Minsta auktoriseringsprofiler för externa RFC-program.
Ditt SAP-användarkonto behöver åtkomst till
RFC_METADATA
funktionsgruppen och respektive funktionsmoduler för följande åtgärder:Operationer Åtkomst till funktionsmodul RFC-åtgärder RFC_GROUP_SEARCH
ochDD_LANGU_TO_ISOLA
BAPI-åtgärder BAPI_TRANSACTION_COMMIT
,BAPI_TRANSACTION_ROLLBACK
,RPY_BOR_TREE_INIT
,SWO_QUERY_METHODS
, ochSWO_QUERY_API_METHODS
IDoc-åtgärder IDOCTYPES_LIST_WITH_MESSAGES
,IDOCTYPES_FOR_MESTYPE_READ
,INBOUND_IDOCS_FOR_TID
,OUTBOUND_IDOCS_FOR_TID
,GET_STATUS_FROM_IDOCNR
, ochIDOC_RECORD_READ
Läs SAP-tabellåtgärd Antingen RFC BBP_RFC_READ_TABLE
ellerRFC_READ_TABLE
Ge strikt minimiåtkomst till SAP-servern för din SAP-anslutning RFC_METADATA_GET
ochRFC_METADATA_GET_TIMESTAMP
Arbetsflödet för logikappen där du vill komma åt SAP-servern.
Ett arbetsflöde för förbrukning i Azure Logic Apps med flera klientorganisationer finns i Krav för flera klientorganisationer.
Ett Standard-arbetsflöde i Azure Logic Apps för en klientorganisation finns i Krav för en enda klientorganisation.
Som standard är de inbyggda SAP-anslutningsåtgärderna tillståndslösa. Information om hur du kör dessa åtgärder i tillståndskänsligt läge finns i Aktivera tillståndskänsligt läge för tillståndslösa inbyggda anslutningsappar.
Utför följande uppgifter om du vill använda den SAP-hanterade eller inbyggda anslutningsutlösaren med namnet När ett meddelande tas emot:
Konfigurera säkerhetsbehörigheter för SAP-gatewayen eller åtkomstkontrollistan (ACL). I dialogrutan Gateway Monitor (T-Code SMGW), som visar filerna secinfo och reginfo, öppnar du Menyn Goto och väljer Expert Functions>External Security Maintenance of ACL Files (Externt säkerhetsunderhåll>av ACL-filer).
Följande behörighetsinställning krävs:
P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*
Den här raden har följande format:
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>
Om du inte konfigurerar säkerhetsbehörigheterna för SAP Gateway kan du få följande fel:
Registrering av tp Microsoft.PowerBI.EnterpriseGateway från värdvärdnamn <> tillåts inte
Mer information finns i SAP Note 1850230 – GW: "Registrering av tp-program-ID <> tillåts inte".
Konfigurera säkerhetsloggningen för SAP Gateway för att hitta problem med åtkomstkontrollistan (ACL). Mer information finns i sap-hjälpavsnittet för att konfigurera gatewayloggning.
I dialogrutan Konfiguration av RFC-anslutningar (T-Code SM59) skapar du en RFC-anslutning med TCP/IP-typen. Kontrollera att aktiveringstypen är inställd på Registrerat serverprogram. Ställ in RFC-anslutningens kommunikationstyp med värdet Målsystem till Unicode.
Om du använder den här SAP-utlösaren med parametern IDOC Format inställd på FlatFile tillsammans med åtgärden Flat File Decode måste du använda
early_terminate_optional_fields
egenskapen i ditt flata filschema genom att ange värdet tilltrue
.Det här kravet är nödvändigt eftersom den flata IDoc-dataposten som skickas av SAP på tRFC-anropet
IDOC_INBOUND_ASYNCHRONOUS
inte är vadderad till den fullständiga SDATA-fältlängden. Azure Logic Apps tillhandahåller originaldata för flatfil-IDoc utan utfyllnad som tagits emot från SAP. När du kombinerar den här SAP-utlösaren med åtgärden Flat File Decode måste det schema som anges för åtgärden matcha.I arbetsflöden för förbrukning och standard använder den SAP-hanterade utlösaren med namnet När ett meddelande tas emot samma URI-plats för att både förnya och avbryta prenumerationen från en webhook-prenumeration. Förnyelseåtgärden använder HTTP-metoden
PATCH
, medan avprenumerationsåtgärden använder HTTP-metodenDELETE
. Det här beteendet kan göra så att en förnyelseåtgärd visas som en avprenumerationsåtgärd i utlösarens historik, men åtgärden är fortfarande en förnyelse eftersom utlösaren använderPATCH
som HTTP-metod, inteDELETE
.I Standard-arbetsflöden använder den inbyggda SAP-utlösaren med namnet När ett meddelande tas emot Azure Functions-utlösaren i stället och visar endast de faktiska återanropen från SAP.
För den inbyggda SAP-anslutningsutlösaren med namnet När ett meddelande tas emot måste du aktivera integrering av virtuella nätverk och privata portar genom att följa artikeln i Aktivera inbyggda Anslutningsappar för Service Bus och SAP för tillståndskänsliga Logic Apps i Standard. Du kan också köra arbetsflödet i Visual Studio Code för att utlösa utlösaren lokalt. För installationskrav för Visual Studio Code och mer information, se Skapa ett standardarbetsflöde för logikappar i Azure Logic Apps med en enda klientorganisation med Visual Studio Code. Du måste också konfigurera följande miljövariabler på datorn där du installerar Visual Studio Code:
- WEBSITE_PRIVATE_IP: Ange det här miljövariabelvärdet till 127.0.0.1 som localhost-adress.
- WEBSITE_PRIVATE_PORTS: Ange det här miljövariabelvärdet till två lediga och användbara portar på den lokala datorn, vilket avgränsar värdena med kommatecken (,), till exempel 8080 8088.
Meddelandeinnehållet som ska skickas till SAP-servern, till exempel en exempel-IDoc-fil. Det här innehållet måste vara i XML-format och innehålla namnområdet för den SAP-åtgärd som du vill använda. Du kan skicka IDocs med ett platt filschema genom att omsluta dem i ett XML-kuvert.
För scenarier där du vill skicka IDocs från logikappens arbetsflöde till SAP ändrar du SAP-bearbetningsläget från standardinställningen Utlösare omedelbart till Utlösare av bakgrundsprogram så att arbetsflödet inte överskrider tidsgränsen.
Om DITT SAP-system är under belastning, till exempel när arbetsflödet skickar en batch med IDocs på en gång till SAP, tar tidsgränsen för köade IDoc-anrop. Standardbearbetningsläget gör att SAP-systemet blockerar det inkommande anropet för IDoc-överföring tills en IDoc har slutfört bearbetningen. I Azure Logic Apps har arbetsflödesåtgärder som standard en tidsgräns på 2 minuter.
Följ dessa steg för att ändra SAP-systemets bearbetningsläge:
I SAP letar du upp SAP-partnerprofilen och öppnar inställningarna för Partnerprofiler . Du kan använda we20-transaktionskoden (T-Code) med prefixet /n .
På fliken Inkommande alternativ under Bearbetning efter funktionsmodul ändrar du inställningen till Utlösare av bakgrundsprogram från Utlösare omedelbart.
Med inställningen Utlösare efter bakgrundsprogram kan det underliggande IDoc-transport-tRFC-anropet
IDOC_INBOUND_ASYNCHRONOUS
slutföras omedelbart, i stället för att blockera anslutningen tills IDoc har slutfört bearbetningen. Den här inställningen fungerar dock bara om IDoc inte innehåller segmentet expressbeteendeöverskrivning, enligt SAP Support Note 1777090 – IDocs bearbetas omedelbart trots att alternativet "Utlösare efter bakgrundsprogram" har valts i WE20 – SAP for Me.
Mer information finns i följande resurser:
Krav för nätverksanslutning
SAP-systemet kräver nätverksanslutning från värden för SAP .NET Connector-biblioteket (NCo):
För arbetsflöden för förbrukningslogikappar i Azure Logic Apps med flera klientorganisationer är den lokala datagatewayen värd för SAP .NET Connector-biblioteket (NCo). Om du använder ett lokalt datagatewaykluster kräver alla noder i klustret nätverksanslutning till SAP-systemet.
För standardarbetsflöden för logikappar i Azure Logic Apps med en enda klientorganisation är logikappresursen värd för SAP .NET Connector-biblioteket (NCo). Därför måste själva logikappresursen aktivera integrering av virtuella nätverk och det virtuella nätverket måste ha nätverksanslutning till SAP-systemet.
Sap-systemanslutna nätverksanslutningar innehåller följande servrar och tjänster:
SAP Application Server, Dispatcher Service (för alla inloggningstyper)
SAP-systemet kan innehålla flera SAP-programservrar. Värden för SAP .NET Connector-biblioteket (NCo) kräver åtkomst till varje server och deras tjänster.
SAP-meddelandeserver, meddelandetjänst (för inloggningstypgrupp)
Meddelandeservern och tjänsten omdirigeras till en eller flera av programserverns Dispatcher-tjänster. Värden för SAP .NET Connector-biblioteket (NCo) kräver åtkomst till varje server och deras tjänster.
SAP Gateway Server, Gateway-tjänst
SAP Gateway Server, gateway-skyddad tjänst
SAP-systemanslutna nätverksanslutningar omfattar även den här servern och tjänsten som ska användas med SNC (Secure Network Communications).
Omdirigering av begäranden från Application Server, Dispatcher-tjänsten till gatewayservern sker gatewaytjänsten automatiskt i SAP .NET Connector-biblioteket (NCo). Den här omdirigeringen sker även om endast programservern, dispatchertjänstinformation anges i anslutningsparametrarna.
Om du använder en lastbalanserare framför SAP-systemet måste du omdirigera alla tjänster till respektive servrar. Mer information om SAP-tjänster och -portar finns i TCP/IP-portarna för alla SAP-produkter.
Kommentar
Kontrollera att du har aktiverat nätverksanslutningen från värden för SAP .NET Connector-biblioteket (NCo) och att de portar som krävs är öppna i brandväggar och nätverkssäkerhetsgrupper. Annars får du fel som att partnern inte har nåtts från NI-komponenten (nätverksgränssnittet) och feltext som WSAECONNREFUSED: Anslutningen nekades.
Krav för SAP NCo-klientbibliotek
Om du vill använda SAP-anslutningsappen måste du installera SAP Connector NCo-klientbiblioteket för Microsoft .NET 3.1. I följande lista beskrivs förutsättningarna för SAP NCo-klientbiblioteket, baserat på arbetsflödet där du använder SAP-anslutningsappen:
Version:
För arbetsflöden för förbrukningslogikapp som använder den lokala datagatewayen kontrollerar du att du installerar den senaste 64-bitarsversionen, SAP Connector för Microsoft .NET 3.1.3.0 för Windows 64bit (x64). Datagatewayen körs endast på 64-bitarssystem. Om du installerar den 32-bitarsversion som inte stöds resulterar det i ett "felaktig avbildningsfel" .
För standardarbetsflöden för logikappar kan du installera den senaste 64-bitars- eller 32-bitarsversionen för SAP Connector (NCo 3.1) för Microsoft .NET 3.1.3.0 som kompilerats med .NET Framework 4.6.2. Kontrollera dock att du installerar den version som matchar konfigurationen i standardlogikappresursen. Följ dessa steg för att kontrollera vilken version som används av logikappen:
Öppna din standardlogikappresurs i Azure Portal.
På resursmenyn för logikappen går du till Inställningar och väljer Konfiguration.
På sidan Konfiguration väljer du fliken Allmänna inställningar . Under Plattformsinställningar kontrollerar du om plattformsvärdet är inställt på 64 bitar eller 32 bitar.
Se till att installera versionen av SAP Connector (NCo 3.1) för Microsoft .NET 3.1.3.0 som kompilerats med .NET Framework 4.6.2 som matchar din plattformskonfiguration.
Från klientbibliotekets standardinstallationsmapp kopierar du sammansättningsfilerna (.dll) till en annan plats, baserat på ditt scenario enligt följande. Om du bara använder den hanterade SAP-anslutningsappen kan du också välja Registrering av global sammansättningscache när du installerar SAP NCo-klientbiblioteket. Den inbyggda SAP-anslutningsappen stöder för närvarande inte GAC-registrering.
För ett förbrukningsarbetsflöde som körs i Azure Logic Apps med flera klienter och använder din lokala datagateway kopierar du följande sammansättningsfiler (.dll) till installationsmappen för den lokala datagatewayen, till exempel C:\Program Files\On-Premises Data Gateway. SAP NCo 3.0-klientbiblioteket innehåller följande sammansättningar:
- libicudecnumber.dll
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Se till att du kopierar sammansättningsfilerna till datagatewayens installationsmapp. Annars kan SAP-anslutningen misslyckas med felmeddelandet. Kontrollera kontoinformationen och/eller behörigheterna och försök igen. Du kan felsöka ytterligare problem med loggvisaren för .NET-sammansättningsbindning. Med det här verktyget kan du kontrollera att sammansättningsfilerna är på rätt plats.
För Standard-arbetsflöden kopierar du följande sammansättningsfiler (.dll) till en plats där du kan ladda upp dem till din logikappresurs eller ditt projekt där du skapar arbetsflödet, antingen i Azure Portal eller lokalt i Visual Studio Code. SAP NCo 3.1-klientbiblioteket innehåller följande sammansättningar:
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Följande relationer finns mellan SAP NCo-klientbiblioteket, .NET Framework, .NET-körningen och datagatewayen:
Både Microsoft SAP Adapter och gateway-värdtjänsten använder .NET Framework 4.7.2.
SAP NCo för .NET Framework 4.0 fungerar med processer som använder .NET Runtime 4.0 till 4.8.
SAP NCo för .NET Framework 2.0 fungerar med processer som använder .NET runtime 2.0 till 3.5, men som inte längre fungerar med den senaste gatewayen.
SNC-krav
För förbrukningsarbetsflöden i Azure Logic Apps med flera klientorganisationer som använder den lokala datagatewayen, och eventuellt SNC, måste du också konfigurera följande inställningar.
Kontrollera att SNC-biblioteksversionen och dess beroenden är kompatibla med DIN SAP-miljö. Om du vill felsöka eventuella problem med bibliotekskompatibilitet kan du använda dina lokala datagateway- och datagatewayloggar.
Kontrollera att du kopierade följande sammansättningsfiler (.dll) i SAP NCo 3.0-klientbiblioteket till installationsmappen för den lokala datagatewayen, till exempel C:\Program Files\On-Premises Data Gateway.
- libicudecnumber.dll
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
För SAPGENPSE-verktyget måste du specifikt använda sapgenpse.exe.
Om du anger en personlig säkerhetsmiljö (PSE) med din anslutning behöver du inte kopiera och konfigurera PSE och SECUDIR för din lokala datagateway.
Om du aktiverar SNC via en extern säkerhetsprodukt, till exempel sapseculib, Kerberos eller NTLM, kontrollerar du att SNC-biblioteket finns på samma dator som din datagatewayinstallation. För den här uppgiften kopierar du SNC-bibliotekets binära filer till samma mapp som installationen av datagatewayen på den lokala datorn, till exempel C:\Program Files\On-Premises Data Gateway.
Kommentar
Ange inte miljövariablerna för SNC_LIB och SNC_LIB_64 på datorn med installation av datagatewayen och SNC-biblioteket. I annat fall har dessa variabler företräde framför SNC-biblioteksvärdet som skickas via anslutningsappen.
Om du vill använda SNC med enkel inloggning (SSO) kontrollerar du att datagatewaytjänsten körs som en användare som är mappad till en SAP-användare. Om du vill ändra standardkontot för gatewaytjänstkontot väljer du Ändra konto och anger autentiseringsuppgifterna för användaren.
Mer information om hur du aktiverar SNC finns i Aktivera säker nätverkskommunikation (SNC).
Miljökrav för Azure Logic Apps
För ett förbrukningsarbetsflöde i Azure Logic Apps med flera klientorganisationer integreras den HANTERADE SAP-anslutningsappen med SAP-system via en lokal datagateway. I scenarier där arbetsflödet till exempel skickar ett meddelande till SAP-systemet fungerar datagatewayen som en RFC-klient och vidarebefordrar de begäranden som tas emot från arbetsflödet till SAP. I scenarier där arbetsflödet tar emot ett meddelande från SAP fungerar datagatewayen på samma sätt som en RFC-server som tar emot begäranden från SAP och vidarebefordrar dem till ditt arbetsflöde.
På en värddator eller virtuell dator som finns i samma virtuella nätverk som DET SAP-system som du ansluter till laddar du ned och installerar den lokala datagatewayen.
Datagatewayen hjälper dig att på ett säkert sätt komma åt lokala data och resurser. Se till att använda en version av gatewayen som stöds. Om det uppstår ett problem med din gateway kan du prova att uppgradera till den senaste versionen, som kan innehålla uppdateringar för att lösa problemet.
I Azure Portal skapar du en Azure Gateway-resurs för din lokala datagatewayinstallation.
På samma lokala dator som din lokala datagatewayinstallation laddar du ned och installerar det senaste SAP NCo-klientbiblioteket.
För värddatorn med din lokala datagatewayinstallation konfigurerar du nätverksvärdnamnen och lösningen för tjänstnamn.
Om du vill använda värdnamnen eller tjänstnamnen för anslutningar från Azure Logic Apps måste du konfigurera namnmatchning för varje SAP-program, meddelande- och gatewayserver tillsammans med deras tjänster:
I filen %windir%\System32\drivers\etc\hosts eller på DEN DNS-server som är tillgänglig för värddatorn för installationen av den lokala datagatewayen konfigurerar du nätverksvärdens namnmatchning.
I filen %windir%\System32\drivers\etc\services konfigurerar du namnmatchningen för tjänsten.
Om du inte tänker använda nätverksvärdnamn eller tjänstnamn för anslutningen kan du använda värd-IP-adresser och tjänstportnummer i stället.
Om du inte har någon DNS-post för DITT SAP-system visar följande exempel en exempelpost för värdfilen:
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
I följande lista visas en exempeluppsättning med poster för tjänstfilerna:
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
Aktivera säker nätverkskommunikation (SNC)
För ett förbrukningsarbetsflöde som körs i Azure Logic Apps med flera klientorganisationer kan du aktivera SNC för autentisering, vilket endast gäller när du använder datagatewayen. Innan du börjar kontrollerar du att du uppfyller alla nödvändiga krav och SNC-krav.
Öppna logikappen och arbetsflödet för förbrukning i designern i Azure Portal.
Lägg till eller redigera en SAP-hanterad anslutningsåtgärd.
I rutan SAP-anslutningsinformation anger du följande information som krävs. Den autentiseringstyp som du väljer ändrar de tillgängliga alternativen.
Kommentar
Fälten SAP-användarnamn och SAP-lösenord är valfria. Om du inte anger ett användarnamn och lösenord använder anslutningsappen klientcertifikatet som angavs i ett senare steg för autentisering.
Om du vill aktivera SNC anger du följande nödvändig information i rutan SAP-anslutningsinformation i stället:
Parameter Description Använda SNC Markera kryssrutan. SNC-bibliotek Ange något av följande värden:
– Namnet på ditt SNC-bibliotek, till exempel sapsnc.dll
– Den relativa sökvägen till NCo-installationsplatsen, till exempel .\security\sapsnc.dll
– Den absoluta sökvägen till NCo-installationsplatsen, till exempel c:\security\sapsnc.dllSNC SSO Välj antingen Inloggning med hjälp av SNC-identiteten eller Inloggning med användarnamnet/lösenordet som anges på RFC-nivå.
Vanligtvis används SNC-identiteten för att autentisera anroparen. Du kan välja att autentisera med ett användarnamn och lösenord i stället, men det här parametervärdet är fortfarande krypterat.SNC Mitt namn I de flesta fall kan du utelämna det här värdet. Den installerade SNC-lösningen känner vanligtvis till sitt eget SNC-namn. Om din lösning stöder flera identiteter kan du behöva ange den identitet som ska användas för det här specifika målet eller servern. SNC-partnernamn Ange namnet på serverdelens SNC, till exempel p:CN=DV3, OU=LA, O=MS, C=US. SNC-skydd Välj vilken tjänstkvalitet som ska användas för SNC-kommunikation med det här specifika målet eller servern. Standardvärdet definieras av serverdelssystemet. Maximivärdet definieras av säkerhetsprodukten som används för SNC. SNC-certifikat Ange den base64-kodade offentliga nyckeln för certifikatet som ska användas för att identifiera klienten till SAP.
Obs! – Inkludera inte PEM-sidhuvud eller sidfot.
– Ange inte den privata nyckeln för klientcertifikatet här. Din personliga säkerhetsmiljö (PSE) måste innehålla den matchande privata nyckeln för det här certifikatet och kan innehålla andra privata certifikat. Mer information finns i nästa parameter.PSE Ange din SNC Personal Security Environment (PSE) som en base64-kodad binär fil.
– Din PSE måste innehålla den privata nyckeln för klientcertifikatet där tumavtrycket matchar den offentliga nyckeln för klientcertifikatet i SNC-certifikatparametern .
– Även om din PSE kan innehålla flera klientcertifikat kan du skapa separata arbetsflöden i stället om du vill använda olika klientcertifikat.
– Om du använder mer än ett SNC-klientcertifikat för standardlogikappresursen måste du ange samma PSE för alla anslutningar. Din PSE måste innehålla den matchande privata nyckeln för klientcertifikatet för var och en av anslutningarna. Du måste ange SNC-certifikatparametern så att den matchar det specifika privata certifikatet för varje anslutning.Om du vill slutföra skapandet av anslutningen väljer du Skapa.
Om parametrarna är korrekta skapas anslutningen. Om det uppstår ett problem med parametrarna visas ett felmeddelande i dialogrutan för att skapa anslutningen. Om du vill felsöka problem med anslutningsparametern kan du använda installationen av den lokala datagatewayen och gatewayens lokala loggar.
Konvertera en binär PSE-fil till base64-kodat format
Använd ett PowerShell-skript, till exempel:
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" }
Spara skriptet som en pseConvert.ps1-fil och anropa sedan skriptet, till exempel:
.\pseConvert.ps1 -psePath "C:\Temp\SECUDIR\request.pse" -base64OutputPath "connectionInput.txt" Output written to connectionInput.txt
Om du inte anger parametern för utdatasökväg innehåller skriptets utdata till konsolen radbrytningar. Ta bort radbrytningarna i den grundläggande 64-kodade strängen för anslutningsindataparametern.
Konfigurera och testa att skicka IDocs från SAP till ditt arbetsflöde
Om du vill skicka IDocs från SAP till logikappens arbetsflöde följer du de här stegen för att konfigurera och testa SAP-konfigurationen med logikappens arbetsflöde. De här stegen gäller endast för testning eftersom produktionsmiljöer kräver ytterligare konfiguration.
Om du vill skicka IDocs från SAP till arbetsflödet behöver du följande minsta konfiguration:
- Skapa ett RFC-mål.
- Skapa en ABAP-anslutning.
- Skapa en mottagarport.
- Skapa en avsändarport.
- Skapa en logisk systempartner.
- Skapa en partnerprofil.
- Testa att skicka meddelanden.
Skapa RFC-mål
Det här målet identifierar logikappens arbetsflöde som mottagarport.
Öppna konfigurationen av RFC-anslutningar i SAP. Du kan använda sm59-transaktionskoden (T-Code) med prefixet /n .
Välj TCP/IP-anslutningar>Skapa.
Skapa ett nytt RFC-mål med följande inställningar:
För RFC-mål anger du ett namn.
På fliken Tekniska inställningar går du till Aktiveringstyp och väljer Registrerat serverprogram.
För Program-ID anger du ett värde. I SAP-servern registreras arbetsflödets utlösare med hjälp av den här identifieraren.
Viktigt!
SAP-program-ID :t är skiftlägeskänsligt. Se till att du konsekvent använder samma skiftlägesformat för program-ID:t när du konfigurerar arbetsflödet och SAP-servern. Annars kan du få följande fel i tRFC Monitor (T-Code SM58) när du försöker skicka en IDoc till SAP:
- Funktionen IDOC_INBOUND_ASYNCHRONOUS hittades inte
- Icke-ABAP RFC-klient (partnertyp) stöds inte
Mer information från SAP finns i följande anteckningar (inloggning krävs):
På fliken Unicode väljer du Unicode för Kommunikationstyp med målsystem.
Kommentar
SAP .NET-klientbibliotek stöder endast Unicode-teckenkodning. Om du får felet Icke-ABAP RFC-klient (partnertyp) som inte stöds när du skickar en IDoc från SAP till Azure Logic Apps kontrollerar du att värdet Kommunikationstyp med målsystem är inställt på Unicode.
Spara dina ändringar.
Registrera ditt nya program-ID med Azure Logic Apps genom att skapa ett arbetsflöde för logikappen som börjar med den SAP-hanterade utlösaren med namnet När ett meddelande tas emot.
På så sätt registrerar Azure Logic Apps program-ID :t på SAP Gateway när du sparar arbetsflödet.
I arbetsflödets utlösarhistorik kontrollerar du registreringsstatusen för den lokala datagatewayens SAP-adapterloggar, om tillämpligt, och SAP Gateway-spårningsloggarna.
I rutan SAP Gateway-övervakare (T-Code SMGW) visas den nya registreringen som registrerad server under Inloggade klienter.
Om du vill testa anslutningen väljer du Anslutningstest under det nya RFC-målet.
Skapa ABAP-anslutning
Det här målet identifierar DITT SAP-system som avsändarport.
Öppna konfigurationen av RFC-anslutningar i SAP. Du kan använda sm59-transaktionskoden (T-Code) med prefixet /n .
Välj SKAPA ABAP-anslutningar>.
För RFC-mål anger du identifieraren för ditt TEST SAP-system.
I Tekniska inställningar lämnar du målvärden tom för att skapa en lokal anslutning till SAP-systemet.
Spara dina ändringar.
Om du vill testa anslutningen väljer du Anslutningstest.
Skapa avsändarport
Öppna inställningarna för portar i IDOC-bearbetning i SAP. Du kan använda we21-transaktionskoden (T-Code) med prefixet /n .
Välj Portar>Transaktions-RFC>Skapa.
I inställningsrutan som öppnas väljer du eget portnamn.
För testporten anger du ett namn som börjar med SAP. Spara dina ändringar.
Alla avsändarportnamn måste börja med bokstäverna SAP, till exempel SAPTEST.
I inställningarna för den nya avsändarporten för RFC-målet anger du identifieraren för din ABAP-anslutning.
Spara dina ändringar.
Skapa mottagarport
Öppna inställningarna för portar i IDOC-bearbetning i SAP. Du kan använda we21-transaktionskoden (T-Code) med prefixet /n .
Välj Portar>Transaktions-RFC>Skapa.
I inställningsrutan som öppnas väljer du eget portnamn. För testporten anger du ett Namn. Spara dina ändringar.
I inställningarna för den nya mottagarporten för RFC-målet anger du identifieraren för ditt RFC-testmål.
Spara dina ändringar.
Skapa en logisk systempartner
I SAP öppnar du ändringsvyn "Logiska system": Översiktsinställningar . Du kan använda bd54-transaktionskoden (T-Code).
Acceptera följande varningsmeddelande som visas: Varning: Tabellen är korsklient
Ovanför listan som visar dina befintliga logiska system väljer du Nya poster.
För det nya logiska systemet anger du en Log.System-identifierare och en kort namnbeskrivning . Spara dina ändringar.
När Prompt for Workbench visas skapar du en ny begäran genom att ange en beskrivning, eller om du redan har skapat en begäran hoppar du över det här steget.
När du har skapat workbench-begäran länkar du den begäran till tabelluppdateringsbegäran. Spara ändringarna för att bekräfta att tabellen har uppdaterats.
Skapa partnerprofiler
För produktionsmiljöer måste du skapa följande två partnerprofiler:
- En profil för avsändaren, som är din organisation och SAP-system.
- En profil för mottagaren, som är logikappens resurs och arbetsflöde.
Öppna inställningarna för Partnerprofiler i SAP. Du kan använda we20-transaktionskoden (T-Code) med prefixet /n .
Under Partnerprofiler väljer du Partnertyp LS>Skapa.
Skapa en ny partnerprofil med följande inställningar:
Inställning beskrivning Partnernr Ange din logiska systempartners identifierare. Partn. Typ Ange LS. Handläggare Ange identifieraren för DET SAP-användarkonto som ska användas när du registrerar programidentifierare för Azure Logic Apps eller andra icke-SAP-system. Spara dina ändringar.
Om du inte skapade den logiska systempartnern får du felet Ange ett giltigt partnernummer.
Välj Skapa utgående parameter under Utgående parmtrs under Utgående parmtrs i partnerprofilens inställningar.
Skapa en ny utgående parameter med följande inställningar:
Ange din meddelandetyp, till exempel CREMAS.
Ange en IDoc-storlek för Pack. Storlek. Om du vill skicka IDocs en i taget från SAP väljer du Skicka IDoc omedelbart.
Spara dina ändringar.
Testa att skicka meddelanden
Öppna inställningarna för testverktyget för IDoc-bearbetning i SAP. Du kan använda we19-transaktionskoden (T-Code) med prefixet /n .
Under Mall för test väljer du Via meddelandetyp. Ange din meddelandetyp, till exempel CREMAS. Välj Skapa.
Bekräfta meddelandet Vilken IDoc-typ? genom att välja Fortsätt.
Välj EDIDC-noden. Ange lämpliga värden för mottagar- och avsändarportarna. Välj Fortsätt.
Välj Standard Utgående bearbetning.
Om du vill starta utgående IDoc-bearbetning väljer du Fortsätt.
När verktyget har slutfört bearbetningen visas det IDoc som skickas till SAP-systemet eller ett externt programmeddelande .
Om du vill söka efter bearbetningsfel använder du sm58-transaktionskoden (T-Code) med prefixet /n .
Skapa arbetsflöden för vanliga SAP-scenarier
Anvisningar för hur du skapar arbetsflöden för vanliga SAP-integreringsarbetsbelastningar finns i följande steg:
- Ta emot meddelande från SAP
- Ta emot IDoc-paket från SAP
- Skicka IDocs till SAP
- Generera scheman för artefakter i SAP
Skapa arbetsflöden för avancerade SAP-scenarier
- Ändra språkrubriker för att skicka data till SAP
- Bekräfta transaktionen separat och undvik duplicerade IDocs
Hitta utökade felloggar (endast hanterad anslutningsapp)
Om du använder DEN SAP-hanterade anslutningsappen kan du hitta fullständiga felmeddelanden genom att kontrollera SAP-adapterns utökade loggar. Du kan också aktivera en utökad loggfil för SAP-anslutningsappen.
För lokala datagatewayversioner från april 2020 och tidigare inaktiveras loggarna som standard.
För lokala datagatewayversioner från juni 2020 och senare kan du aktivera gatewayloggar i appinställningarna.
Standardloggningsnivån är Varning.
Om du aktiverar Ytterligare loggning i diagnostikinställningarna för den lokala datagatewayappen ökas loggningsnivån till Informational.
Om du vill öka loggningsnivån till Utförlig uppdaterar du följande inställning i konfigurationsfilen. Konfigurationsfilen finns vanligtvis på
C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
.<setting name="SapTraceLevel" serializeAs="String"> <value>Verbose</value> </setting>
Konfigurera utökad SAP-loggning i lokal datagateway (endast hanterad anslutningsapp)
Om du använder en lokal datagateway för Azure Logic Apps kan du konfigurera en utökad loggfil för SAP-anslutningsappen. Du kan använda din lokala datagateway för att omdirigera händelsespårning för Windows-händelser (ETW) till roterande loggfiler som ingår i gatewayens loggning .zip filer.
Du kan exportera alla konfigurations- och tjänstloggar för din gateway till en .zip fil från gatewayappens inställningar.
Kommentar
Utökad loggning kan påverka arbetsflödets prestanda när den alltid är aktiverad. Vi rekommenderar att du inaktiverar utökade loggfiler när du är klar med att analysera och felsöka ett problem.
Samla in ETW-händelser
Som en valfri avancerad loggningsuppgift kan du direkt samla in ETW-händelser och sedan använda data i Azure Diagnostics i Event Hubs eller samla in dina data till Azure Monitor-loggar. Mer information finns i metodtipsen för att samla in och lagra data.
Om du vill arbeta med de resulterande ETL-filerna kan du använda PerfView eller skriva ett eget program. Följande genomgång använder PerfView:
På PerfView-menyn väljer du Samla in>för att samla in händelserna.
I parametern Ytterligare provider anger du
*Microsoft-LobAdapter
för att ange SAP-providern för att samla in SAP Adapter-händelser. Om du inte anger den här informationen innehåller spårningen endast allmänna ETW-händelser.Behåll de andra standardinställningarna. Om du vill kan du ändra filnamnet eller platsen i parametern Datafil .
Välj Starta samling för att påbörja spårningen.
När du har återskapat problemet eller samlat in tillräckligt med analysdata väljer du Stoppa insamling.
Om du vill dela dina data med en annan part, till exempel Azure Support tekniker, komprimerar du ETL-filen.
Så här visar du innehållet i spårningen:
I PerfView väljer du Öppna fil>och väljer den ETL-fil som du nyss genererade.
I sidofältet PerfView går du till avsnittet Händelser under din ETL-fil.
Under Filtrera filtrerar du
Microsoft-LobAdapter
efter för att endast visa relevanta händelser och gatewayprocesser.
Testa arbetsflödet
Baserat på om du har ett förbrukningsarbetsflöde i Azure Logic Apps med flera klienter eller ett Standard-arbetsflöde i Azure Logic Apps med en enda klient följer du motsvarande steg:
Om din förbrukningslogikappresurs inte redan är aktiverad väljer du Översikt på logikappmenyn. I verktygsfältet väljer du Aktivera.
I designerverktygsfältet väljer du Kör utlösarkörning> för att starta arbetsflödet manuellt.
Om du vill utlösa arbetsflödet skickar du ett meddelande från SAP-systemet.
Gå tillbaka till logikappens översiktsfönster. Under Körningshistorik hittar du alla nya körningar för arbetsflödet.
Öppna den senaste körningen, som visar en manuell körning. Leta upp och granska avsnittet utdata för utlösare.
Aktivera loggning och spårning av SAP-klientbibliotek (NCo) (endast inbyggd anslutningsapp)
När du måste undersöka eventuella problem med den här komponenten kan du konfigurera anpassad textfilbaserad NCo-spårning, som SAP eller Microsoft-supporten kan begära från dig. Som standard är den här funktionen inaktiverad eftersom aktivering av den här spårningen kan påverka prestandan negativt och snabbt förbruka programvärdens lagringsutrymme.
Du kan styra den här spårningsfunktionen på programnivå genom att lägga till följande inställningar:
Öppna din standardlogikappresurs i Azure Portal.
På logikappmenyn går du till Inställningar och väljer Miljövariabler för att granska programinställningarna.
Lägg till följande programinställningar på fliken Appinställningar på sidan Miljövariabler:
SAP_RFC_TRACE_DIRECTORY: Katalogen där NCo-spårningsfilerna ska lagras, till exempel C:\home\LogFiles\NCo.
SAP_RFC_TRACE_LEVEL: NCo-spårningsnivån med Level4 som föreslaget värde för typisk utförlig loggning. SAP- eller Microsoft-supporten kan begära att du anger en annan spårningsnivå.
Kommentar
För standardarbetsflöden för logikappar som använder körningsversion 1.69.0 eller senare kan du aktivera loggning för flera spårningsnivåer genom att avgränsa varje spårningsnivå med kommatecken (,).
Följ dessa steg för att hitta arbetsflödets körningsversion:
- I Azure Portal går du till arbetsflödesmenyn och väljer Översikt.
- I avsnittet Essentials hittar du egenskapen Runtime Version .
SAP_CPIC_TRACE_LEVEL: Spårningsnivån Common Programming Interface for Communication (CPI-C) med Verbose som föreslaget värde för typisk utförlig loggning. SAP- eller Microsoft-supporten kan begära att du anger en annan spårningsnivå.
Mer information om hur du lägger till programinställningar finns i Redigera värd- och appinställningar för standardarbetsflöden för logikappar.
Spara dina ändringar. Det här steget startar om programmet.
Tillgängliga spårningsnivåer
NCo-spårningsnivåer
Värde | beskrivning |
---|---|
Level1 | Nivån för spårning av fjärrfunktionsanrop. |
Level2 | Nivån för spårning av fjärrfunktionsanrop och offentliga API-metodanrop. |
Level3 | Nivån för spårning av fjärrfunktionsanrop, offentliga API-metodanrop och interna API-metodanrop. |
Level4 | Nivån för spårning av fjärrfunktionsanrop, offentliga API-metodanrop, interna API-metodanrop, hexdumpar för RFC-protokollet och nätverksrelaterad information. |
Låsning | Skriver data till spårningsfilerna som visar när trådar begär, hämtar och släpper lås på objekt. |
Metadata | Spårar metadata som ingår i ett fjärrfunktionsanrop för varje anrop. |
Ingen | Nivån för att utelämna alla spårningsutdata. |
ParameterData | Spårar containerdata som skickas och tas emot under varje fjärrfunktionsanrop. |
Prestanda | Skriver data till spårningsfilerna som kan hjälpa dig att analysera prestandaproblem. |
PublicAPI | Spårar de flesta metoder i det offentliga API:et, förutom getters, setters eller relaterade metoder. |
InternalAPI | Spårar de flesta metoder i det interna API:et, förutom getters, setters eller relaterade metoder. |
RemoteFunctionCall | Spårar fjärrfunktionsanrop. |
RfcData | Spårar de byte som skickas och tas emot under varje fjärrfunktionsanrop. |
SessionProvider | Spårar alla metoder för den för närvarande använda implementeringen av ISessionProvider. |
SetValue | Skriver information till spårningsfilerna om värden som angetts för parametrar för funktioner eller fält i strukturer eller tabeller. |
CPIC-spårningsnivåer
Värde | beskrivning |
---|---|
Av | Ingen loggning |
Grundläggande | Grundläggande loggning |
Utförlig | Utförlig loggning |
VerboseWithData | Utförlig loggning med alla serversvarsdumpar |
Visa spårningen
På resursmenyn standardlogikapp går du till Utvecklingsverktyg och väljer Avancerade verktyg>Gå.
I Verktygsfältet Kudu väljer du Felsök konsol-CMD>.
Bläddra till mappen för programinställningen med namnet $SAP_RFC_TRACE_DIRECTORY.
En ny mapp med namnet NCo, eller det mappnamn som du använde, visas för programmets inställningsvärde, C:\home\LogFiles\NCo, som du angav tidigare.
Öppna mappen $SAP_RFC_TRACE_DIRECTORY, som innehåller följande filer:
NCo-spårningsloggar: En fil med namnet dev_nco_rfc.log, en eller flera filer med namnet nco_rfc_NNNN.log och en eller flera filer med namnet nco_rfc_NNNN.trc-filer där NNNN är en trådidentifierare.
CPIC-spårningsloggar: En eller flera filer med namnet nco_cpic_NNNN.trc-filer där NNNN är trådidentifierare.
Om du vill visa innehållet i en logg eller spårningsfil väljer du knappen Redigera bredvid en fil.
Kommentar
Om du laddar ned en logg- eller spårningsfil som logikappens arbetsflöde har öppnats och används för närvarande kan nedladdningen resultera i en tom fil.
Aktivera spårning av SAP Common Crypto Library (CCL) (endast inbyggd anslutningsapp)
Om du behöver undersöka eventuella problem med kryptobiblioteket när du använder SNC-autentisering kan du konfigurera anpassad textfilbaserad CCL-spårning. Du kan använda dessa CCL-loggar för att felsöka problem med SNC-autentisering eller dela dem med Microsoft- eller SAP-support om det begärs. Som standard är den här funktionen inaktiverad eftersom aktivering av den här spårningen kan påverka prestandan negativt och snabbt förbruka programvärdens lagringsutrymme.
Du kan styra den här spårningsfunktionen på programnivå genom att lägga till följande inställningar:
Öppna din standardlogikappresurs i Azure Portal.
På resursmenyn standardlogikapp går du till Utvecklingsverktyg och väljer Avancerade verktyg>Gå.
I Verktygsfältet Kudu väljer du Felsök konsol-CMD>.
Bläddra till en plats under C:\home\site\wwwroot och skapa en textfil, till exempel: CCLPROFILE.txt.
Mer information om loggningsparametrar finns i Spåra> SAP NOTE-2338952. Följande exempel innehåller ett exempel på spårningskonfiguration:
ccl/trace/directory=C:\home\LogFiles\CCLLOGS ccl/trace/level=4 ccl/trace/rotatefilesize=10000000 ccl/trace/rotatefilenumber=10
På logikappmenyn går du till Inställningar och väljer Miljövariabler för att granska programinställningarna.
Lägg till följande programinställning på fliken Appinställningar på sidan Miljövariabler:
CCL_PROFILE: Katalogen där CCLPROFILE.txt skapades, till exempel C:\home\site\wwwroot\CCLPROFILE.txt.
Spara dina ändringar. Det här steget startar om programmet.
Visa spårningen
På resursmenyn standardlogikapp går du till Utvecklingsverktyg och väljer Avancerade verktyg>Gå.
I Verktygsfältet Kudu väljer du Felsök konsol-CMD>.
Bläddra till mappen för parametern $ccl/trace/directory, som kommer från CCLPROFILE.txt-filen.
Vanligtvis heter spårningsfilerna sec-Microsoft.Azure.Work-$processId.trc och sec-sapgenpse.exe-$processId.trc.
Arbetsflödet för logikappen utför SNC-autentisering som en tvåstegsprocess:
Arbetsflödet för logikappen anropar sapgenpse.exe för att generera en cred_v2 fil från PSE-filen.
Du hittar de spårningar som är relaterade till det här steget i en fil med namnet sec-sapgenpse.exe-$processId.trc.
Arbetsflödet för logikappen autentiserar åtkomsten till SAP-servern genom att använda den genererade cred_v2-filen , med SAP-klientbiblioteket som anropar det gemensamma kryptobiblioteket.
Du hittar spårningarna som är relaterade till det här steget i en fil med namnet sec-Microsoft.Azure.Work-$processId.trc.
Skicka SAP-telemetri för lokal datagateway till Azure Application Insights
Med uppdateringen från augusti 2021 för den lokala datagatewayen kan SAP-anslutningsåtgärder skicka telemetridata från SAP NCo-klientbiblioteket och spårningar från Microsoft SAP Adapter till Application Insights, vilket är en funktion i Azure Monitor. Den här telemetrin innehåller främst följande data:
Mått och spårningar baserat på SAP NCo-mått och övervakare.
Spårningar från Microsoft SAP Adapter.
Mått och spårningar från SAP NCo-klientbiblioteket
SAP NCo-baserade mått är numeriska värden som kanske eller kanske inte varierar under en tidsperiod, baserat på användningen och tillgängligheten av resurser på den lokala datagatewayen. Du kan använda dessa mått för att bättre förstå systemets hälsa och skapa aviseringar om följande aktiviteter:
- Systemhälsan minskar.
- Ovanliga händelser.
- Tung systembelastning.
Den här informationen skickas till tabellen Application Insights med namnet customMetrics. Som standard skickas mått med 30 sekunders intervall.
SAP NCo-baserade spårningar innehåller textinformation som används med mått. Den här informationen skickas till tabellen Application Insights med namnet traces. Som standard skickas spårningar med 10 minuters intervall.
SAP NCo-mått och -spårningar baseras på SAP NCo-mått, särskilt följande NCo-klasser:
- RfcDestinationMonitor.
- RfcConnectionMonitor.
- RfcServerMonitor.
- RfcRepositoryMonitor.
Mer information om de mått som varje klass tillhandahåller finns i SAP NCo-dokumentationen (inloggning krävs).
Konfigurera SAP-telemetri för Application Insights
Innan du kan skicka SAP-telemetri för gatewayinstallationen till Application Insights måste du ha skapat och konfigurerat Application Insights-resursen. Mer information finns i följande dokumentation:
Följ dessa steg för att aktivera sändning av SAP-telemetri till Application Insights:
Ladda ned NuGet-paketet för Microsoft.ApplicationInsights.EventSourceListener.dll från den här platsen: https://www.nuget.org/packages/Microsoft.ApplicationInsights.EventSourceListener/2.14.0.
Lägg till den nedladdade filen i installationskatalogen för din lokala datagateway, till exempel C:\Program Files\On-Premises Data Gateway.
I installationskatalogen för den lokala datagatewayen kontrollerar du att filen Microsoft.ApplicationInsights.dll har samma versionsnummer som den Microsoft.ApplicationInsights.EventSourceListener.dll fil som du lade till. Gatewayen använder för närvarande version 2.14.0.
I filen ApplicationInsights.config lägger du till instrumentationsnyckeln för Application Insights genom att avkommentera raden med elementet
<InstrumentationKey></InstrumentationKey>
. Ersätt platshållaren, your-Application-Insights-instrumentation-key, med din nyckel, till exempel:<?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>
I filen ApplicationInsights.config kan du ändra det nödvändiga spårningsvärdet
Level
för dina SAP-anslutningsåtgärder, enligt dina behov, till exempel:<Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener"> <Sources> <Add Name="Microsoft-LobAdapter" Level="Verbose" /> </Sources> </Add>
Mer information finns i följande dokumentation:
Level
values: EventLevel Enum
När du har tillämpat ändringarna startar du om den lokala datagatewaytjänsten.
Granska mått i Application Insights
När SAP-åtgärderna har körts i logikappens arbetsflöde kan du granska telemetrin som skickades till Application Insights.
I Azure-portalen öppnar du din Application Insights resurs.
På resursmenyn går du till Övervakning och väljer Loggar.
Följande skärmbild visar Azure Portal med Application Insights, som är öppen för fönstret Loggar:
I fönstret Loggar kan du skapa en fråga med hjälp av den Kusto-frågespråk (KQL) som baseras på dina specifika krav.
Du kan använda ett frågemönster som liknar följande exempelfråga:
customMetrics | extend DestinationName = tostring(customDimensions["DestinationName"]) | extend MetricType = tostring(customDimensions["MetricType"]) | where customDimensions contains "RfcDestinationMonitor" | where name contains "MaxUsedCount"
När du har kört frågan granskar du resultatet.
Följande skärmbild visar exempelfrågans resultattabell för mått:
MaxUsedCount är "Det maximala antalet klientanslutningar som användes samtidigt av det övervakade målet." enligt beskrivningen i SAP NCo-dokumentationen (inloggning krävs). Du kan använda det här värdet för att förstå antalet samtidiga öppna anslutningar.
Kolumnen valueCount visar 2 för varje läsning eftersom mått genereras med 30 sekunders intervall. Application Insights aggregerar dessa mått per minut.
Kolumnen DestinationName innehåller en teckensträng som är ett internt microsoft SAP-kortnamn.
För att bättre förstå det här RFC-målet (Remote Function Call) använder du det här värdet med
traces
, till exempel: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
Du kan också skapa måttdiagram eller aviseringar med hjälp av dessa funktioner i Application Insights, till exempel:
Spårningar från Microsoft SAP Adapter
Du kan använda spårningar som skickas från Microsoft SAP Adapter för problem efter analys och för att hitta eventuella befintliga interna systemfel som kanske eller kanske inte dyker upp från SAP-anslutningsåtgärder. Dessa spårningar har message
angetts till "n\a"
eftersom de kommer från ett tidigare ramverk för händelsekällor som föregår Application Insights, till exempel:
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"
Följande skärmbild visar exempelfrågans resultattabell för spårningar: