Dela via


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 SAP-servern 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.

Arbetsflöden för både standard- och förbrukningslogikappen 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.

Anmärkning

Den här guiden delar länkar till SAP-webbplatsen för SAP-supportanteckningar och kunskapsbasartiklar. I de flesta fall måste du logga in för att få åtkomst till det fullständiga innehållet.

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 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 läser du kraven för SNC.

Teknisk referens för anslutningar

SAP-anslutningsappen har olika versioner, baserat på logikapptyp och värdmiljö.

Logik-app Miljö Anslutningsversion
Förbrukning Azure Logic Apps för många användare Hantera anslutning, som visas i anslutningsgalleriet under filtret Delad. Mer information finns i följande dokumentation:

- Referens för SAP-hanterad anslutning
- Hanterade anslutningsappar i Azure Logic Apps
Standard Azure Logic Apps för en klientorganisation och App Service-miljön v3 (endast Windows-abonnemang) Hanterad anslutning, som visas i anslutningsgalleriet under Runtime>Shared och den inbyggda anslutningen, som visas i anslutningsgalleriet under det inbyggda filtret och är baserat på tjänstleverantörer. Den inbyggda anslutningsmodulen kan komma åt Azure-virtuella nätverk direkt med en anslutningssträng utan en intern datagateway. Mer information finns i följande dokumentation:

- Referens för SAP-hanterad anslutning
- Referens för inbyggd SAP-kontakt

- 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 arbetsflödesapplikationen för din logikapp. Mer information finns i Krav i den här guiden.

  • 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.

  • 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 statefulläge stöder den inbyggda SAP-anslutningen hög tillgänglighet och horisontell utskalningskonfiguration. Som jämförelse har den SAP-hanterade anslutningen begränsningar för den lokala datagatewayen, begränsad till en enda instans för utlösare och till kluster endast i failover-läge för åtgärder. Mer information finns i SAP Managed Connector – Kända problem och begränsningar.

  • 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. De använder inte den äldre SOAP Windows Communication Foundation (WCF)-meddelandemodellen.

    Åtgärden Anropa BAPI innehåller upp till två svar med den returnerade JSON:en:

    • XML-svaret från det anropade BAPI.

    • BAPI-commit- eller BAPI-rollback-svaret om du aktiverar alternativet Auto Commit.

      Den här funktionen åtgärdar ett problem med den SAP-hanterade anslutningsappen där resultatet från autocommit-beteendet är tyst och endast kan observeras via loggar.

  • Standardarbetsflöden för logikappar innehåller programinställningar där du kan ange en personlig säkerhetsmiljö (PSE) och ett PSE-lösenord.

    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 konsumtionslogikappen låter SAP-hanterade anslutningen dig ange dessa värden via anslutningsparametrar, vilket gör att du kan ladda upp flera PSE-filer, men detta stöds inte och orsakar SAP-anslutningsfel.

  • En längre time-out jämfört med den hanterade SAP-anslutningen.

    Den inbyggda SAP-anslutningsappen körs internt på Azure Logic Apps-körningen, till skillnad från den SAP-hanterade anslutningsappen som körs på den delade, globala Azure-infrastrukturen med flera klientorganisationer. Den här designskillnaden innebär att du kan ändra standardvärdet för timeout på standardlogikappresursen med hjälp av host.json-inställningarna med namnet Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout och functionTimeout.

    Möjligheten att justera tidsgränsvärdet innebär att du kan använda den inbyggda SAP-anslutningsappen as-is för långvariga synkrona begäranden. Annars måste dessa begäranden använda åtgärdsmönstret för långvariga webhook-baserade begäranden i den SAP-hanterade anslutningsappen, som har en mycket kortare tidsgräns på två minuter för synkrona begäranden.

  • Var du hittar parametrarna guid och tId

    XML-parametrarna för guid och tId är inte längre tillgängliga i XML-nyttolaster för indata och utdata. I stället kan du hitta parametrarna som explicita parametrar i arbetsflödesdesignern på fliken Parametrar och som dynamiska utdatauttryck.

  • Hantera tomma XML-element

    • Inbyggd SAP-anslutningsapp: Ett tomt XML-element behandlas som en SAP-parameter med ett explicit tomt värde eller standardvärde. Om du vill utelämna att parametern skickas till SAP kan du bara ta bort det tomma elementet från indatanyttolasten.

    • SAP-hanterad anslutningsapp: Ett tomt XML-element tolkas som en parameter som saknas och skickas inte till SAP-funktionen.

    Exempel

    Anta att du har följande SAP RFC-indatapayload:

    <RfcName>
       <Parameter></Parameter>
    </RfcName>
    
    • I den inbyggda SAP-kopplaren innehåller SAP RFC-anropet parametern som ett explicit tomt värde ('').

    • I SAP-hanterad anslutning utelämnar SAP RFC-anropet parametern.

  • Trimma mellanslagstecken

    Den inbyggda SAP-anslutningen trimmar automatiskt mellanslagstecken i XML-element.

    Anta till exempel att du har följande indata:

    <RfcName>
       <Parameter>   </Parameter>
    </RfcName>
    

    I SAP RFC-funktionsanropet behandlas blanksteget i parametervärdet som en tom sträng ('') och trimmas. Om du vill se till att anropet behåller blanksteg precis som i nyttolasten, inkludera xml:space="preserve"-attributet med elementet för att följa W3C-specifikationens avsnitt 2.10, Hantering av blanksteg, till exempel:

    <RfcName>
       <Parameter xml:space="preserve">   </Parameter>
    </RfcName>
    
  • Verifiera IDoc-format

    • Inbyggd SAP-anslutning: Validerar strängt inmatningsdata mot den IDoc Format som anges i åtgärdsindata. Om det finns ett matchningsfel mellan den angivna IDoc Format xml-IDoc-strukturen och indatastrukturen utlöser den inbyggda anslutningsappen ett fel.

    • SAP-hanterad anslutningsapp: Direkt härleder IDoc-formatet från indatanyttolasten, vilket ger mer flexibilitet genom att inte kräva ett exakt matchande format.

  • Hantera BizTalk XML-gruppsegment

    • Inbyggd SAP-koppling: Följer strikt schemat som definierats av schemageneratorn.

      • Ett segment som slutar med GRP (gruppsegment) måste bara definiera underordnade segment en gång per instans.

      • Om du vill representera flera uppsättningar underordnade segment skapar du flera instanser av gruppsegmentet så att varje instans innehåller en egen enskild uppsättning underordnade segment.

    • SAP-ansluten koppling: Tillåter flera upprepningar av underordnade del-element inom ett enda gruppsegment. Dessa upprepningar tolkas som flera instanser av gruppsegmentet.

    Exempelbeteende

    I följande struktur definierar ett enskilt gruppsegment flera sekvenser av underordnade element, som avvisas av den inbyggda SAP-anslutningsappen:

    <ns2:E2EDKT1002GRP>
       <ns2:E2EDKT1002>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT1002</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDID>FD</ns2:TDID>
       </ns2:E2EDKT1002>
       <ns2:E2EDKT2001>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT2001</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDLINE>CRSD</ns2:TDLINE>
       </ns2:E2EDKT2001>
       <ns2:E2EDKT1002>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT1002</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDID>DTP</ns2:TDID>
       </ns2:E2EDKT1002>
       <ns2:E2EDKT2001>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT2001</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDLINE>OriginalRelease:0|</ns2:TDLINE>
          <ns2:TDFORMAT>/</ns2:TDFORMAT>
       </ns2:E2EDKT2001>
    </ns2:E2EDKT1002GRP>
    

    Använd i stället den följande strukturen för den inbyggda SAP-kopplingen där varje E2EDKT1002GRP gruppinstans endast innehåller en enda sekvens med underordnade segment.

    <ns2:E2EDKT1002GRP>
       <ns2:E2EDKT1002>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT1002</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDID>FD</ns2:TDID>
       </ns2:E2EDKT1002>
       <ns2:E2EDKT2001>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT2001</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDLINE>CRSD</ns2:TDLINE>
       </ns2:E2EDKT2001>
    </ns2:E2EDKT1002GRP>
    <ns2:E2EDKT1002GRP>
       <ns2:E2EDKT1002>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT1002</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDID>DTP</ns2:TDID>
       </ns2:E2EDKT1002>
       <ns2:E2EDKT2001>
          <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT2001</ns2:DATAHEADERCOLUMN_SEGNAM>
          <ns2:TDLINE>OriginalRelease:0|</ns2:TDLINE>
          <ns2:TDFORMAT>/</ns2:TDFORMAT>
       </ns2:E2EDKT2001>
    </ns2:E2EDKT1002GRP>
    
  • Inbyggt utlösarbeteende

    • Namnområdeskonstruktion

      Utlösaren bygger namnrymden i SAP-utlösarens nyttolast med hjälp av versionsnumret från IDoc-metadata, som hämtas innan en IDoc parsas (BizTalk XML eller vanlig XML). Om du vill åsidosätta den här källan och använda versionsnumret från kontrollposten i stället går du till arbetsflödesdesignern och anger egenskapen EnforceControlRecordNamespace som true i utlösarens indataparametrar.

    • Hantera tomma element

      SAP-utlösaren innehåller som standard inte tomma element i utdatanyttolasten. Om du vill inkludera tomma element i utlösarutdata går du till arbetsflödesdesignern och anger egenskapen EnableEmptyXmlNode till true i parametrarna för utlösareindata.

  • Inbyggd åtgärd för att 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 måste du 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 vid en enda körning, vilket den SAP-hanterade anslutningen 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 anslutning

  • SAP-anslutningen stödjer 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 stanna kvar på samma nod i datagatewayklustret. Använd antingen datagatewayen i icke-klusterläge eller i ett kluster som endast har konfigurerats för felhantering. Det här scenariot gäller till exempel för följande åtgärder:

      • Alla åtgärder som anger ett sessions-ID-värde
      • [BAPI] Bekräfta transaktion
      • [BAPI] Återställningstransaktion
      • [BAPI - RFC] Stäng tillståndskänslig session
      • [BAPI - RFC] Skapa tillståndskänslig session
  • I åtgärden [BAPI]-anropsmetoden i SAP genomför funktionen för automatisk återtagande inte 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:

    1. Skapa en session explicit med hjälp av åtgärden [BAPI – RFC] Skapa tillståndskänslig session.
    2. I åtgärden [BAPI] Anropa metoden i SAP inaktiverar du alternativet Automatisk transaktionsbekräftelse.
    3. 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-anslutning (NCo) till version 3.1, vilket ändrade hur anslutningen begär anslutningar till backend-servrar från meddelandeservrar. Anslutningsappen använder nu ett nytt API för programservermatchning av meddelandeservern om du inte tvingar anslutningsappen att använda det tidigare API:et via inställningen med namnet ms/lg_with_hostname=0. Mer information finns i SAP KB-artikeln 3305039 – SMLG IP-adressinställning som inte tas i hänsyn vid 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 användarkontotyper som stöds och minsta nödvändiga auktorisering för varje åtgärdstyp (RFC, BAPI, IDoc), finns i SAP Obs: 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:

      Operativa åtgärder Åtkomst till funktionsmoduler
      RFC-åtgärder RFC_GROUP_SEARCH och DD_LANGU_TO_ISOLA
      BAPI-åtgärder BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK, RPY_BOR_TREE_INIT, SWO_QUERY_METHODS, och SWO_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, och IDOC_RECORD_READ
      Läs SAP-tabellåtgärd Antingen RFC BBP_RFC_READ_TABLE eller RFC_READ_TABLE
      Bevilja strikt lägsta åtkomst till SAP-servern för din SAP-anslutning RFC_METADATA_GET och RFC_METADATA_GET_TIMESTAMP
  • Arbetsflödet för logikappen där du vill komma åt SAP-servern.

  • Som standard är de inbyggda SAP-anslutningsåtgärderna tillståndslösa. Information om hur du kör dessa operationer i tillståndsbaserat läge finns i Aktivera tillståndsbaserat läge för tillståndslösa inbyggda anslutningar.

    Tillståndskänslig kommunikation måste hålla sig till samma arbetsflödesinstans under bearbetningen. En standard logikapp kan använda utskalning för att distribuera arbetsbelastningen över flera arbetsflödesinstanser när det behövs. Det här kravet gäller för följande typer av åtgärder:

    • Alla åtgärder som anger ett session-ID, till exempel [BAPI] säkerställa transaktion.

    • Alla åtgärder som anger ett transaktions-ID-värde , förutom följande åtgärder: [IDOC – RFC] Bekräfta transaktions-ID och [IDoc] Hämta IDoc-lista för transaktionen.

    • Svara på SAP-servern

  • 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 SecurityMaintenance 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ärdnamn <> tillåts inte

      Mer information finns i SAP KB-artikeln 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älpartikeln om hur du konfigurerar 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 till true.

      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 i å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-metoden DELETE . 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änder PATCH som HTTP-metod, inte DELETE.

      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 stegen i Aktivera tillståndskänsligt läge för tillståndslösa inbyggda anslutningsappar i Azure Logic Apps. Annars, utan dessa krav, kan åtgärden med namnet Svara på SAP-servern sakna det tillstånd som krävs för att fungera korrekt.

      För att utlösa triggern lokalt kan du köra arbetsflödet i Visual Studio Code. Konfigurationskrav för Visual Studio Code och mer information finns i Skapa standardarbetsflöden i Azure Logic Apps 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: Ställ in det här miljövariabelvärdet på två lediga och användbara portar på den lokala datorn och avgränsa 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, anropar de köade IDocsen för en timeout. Ett exempelscenario är när arbetsflödet skickar en batch med IDocs på en gång till SAP. 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:

    1. 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 .

    2. 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 expressbeteendeöverskrivningssegmentet, enligt SAP KB-artikel 1777090 – IDocs bearbetas omedelbart trots att alternativet "Utlösare av bakgrundsprogram" har valts i WE20.

    Mer information finns i följande resurser:

Krav för nätverksanslutning

SAP-systemet kräver nätverksanslutning från den server som har 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 och gatewaytjänsten sker automatiskt inom 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 DITT SAP-system måste du omdirigera alla tjänster till deras respektive servrar.

Mer information om SAP-tjänster och -portar finns i TCP/IP-portar för alla SAP-produkter.

Anmärkning

Kontrollera att nätverksanslutningen från värden för SAP .NET Connector-biblioteket (NCo) är aktiverad och att de portar som krävs är öppna i brandväggarna och nätverkssäkerhetsgrupperna. 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:

  • Från klientbibliotekets standardinstallationsmapp kopierar du sammansättningsfilerna (.dll) till en annan plats, baserat på ditt scenario enligt följande. Alternativt, om du endast använder den hanterade SAP-anslutningen, välj 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 loggvyn för .NET-bindningssammanställningar. 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 i Azure-portalen eller till ditt lokala logikappsprojekt 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.

    Anmärkning

    Ange inte miljövariablerna för SNC_LIB och SNC_LIB_64 på datorn med installationen av datagatewayen och SNC-biblioteket. I annat fall har dessa variabler företräde framför värdet i SNC-biblioteket som överförs via anslutningen.

  • 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.

    Skärmbild som visar installationssidan för den lokala datagatewayen och sidan Tjänstinställningar med knappen för att ändra gatewaytjänstkontot valt.

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 konsumtionsarbetsflöde i en fleranvändarmiljö i Azure Logic Apps integreras den hanterade SAP-anslutningen 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.

  1. 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.

  2. I Azure-portalen skapar du en Azure Gateway-resurs för din lokala datagatewayinstallation.

  3. På samma lokala dator som din lokala datagatewayinstallation laddar du ned och installerar det senaste SAP NCo-klientbiblioteket.

  4. 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 vid installationen av den lokala datagatewayen, konfigurera nätverksvärdens namnupplösning.

      • I filen%windir%\System32\drivers\etc\services konfigurerar du namnupplösning 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 ett exempel på poster för tjänstefilerna.

      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.

Mer information om SNC finns i Komma igång med SAP SNC för RFC-integreringar – SAP-blogg.

  1. I Azure Portal öppnar du din logikapp och arbetsflöde för förbrukning i designern.

  2. Lägg till en SAP-hanterad anslutningsåtgärd eller redigera anslutningen för en befintlig åtgärd.

  3. Ange nödvändig information i rutan SAP-anslutningsinformation.

    Anmärkning

    För autentiseringstyp är Basic för närvarande det enda tillgängliga alternativet. 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.

    Skärmbild som visar SAP-anslutningsparametrar i arbetsflöden för förbrukning.

  4. Om du vill aktivera SNC går du till rutan SAP-anslutningsinformation och väljer Använd SNC och anger motsvarande nödvändig information:

    Parameter Beskrivning
    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.dll
    SNC 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-skyddskvalitet Välj vilken tjänstkvalitet som ska användas för SNC-kommunikation med det här specifika målet eller servern. Backend-systemet definierar standardvärdet. Säkerhetsprodukten som används för SNC definierar det maximala värdet.
    SNC-certifikat Ange den base64-kodade offentliga nyckeln för certifikatet som ska användas för att identifiera klienten till SAP.

    Obs! Följ den här vägledningen:

    – Exkludera PEM-header eller footer.

    – 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) i base64-kodad binär form.

    – 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.

    Skärmbild som visar SAP-anslutningsparametrar med SNC aktiverat för arbetsflöde för förbrukning.

  5. Välj Skapa ny för att slutföra skapandet av anslutningen.

    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

  1. 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"
    } 
    
  2. 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 testning eftersom produktionsmiljöer kräver annan konfiguration.

Om du vill skicka IDocs från SAP till arbetsflödet måste du konfigurera den minsta konfigurationen genom att följa dessa steg:

  1. Skapa ett RFC-mål.
  2. Skapa en ABAP-anslutning (Advanced Business Application Programming).
  3. Skapa en mottagarport.
  4. Skapa en avsändarport.
  5. Skapa en logisk systempartner.
  6. Skapa en partnerprofil.
  7. Testa att skicka meddelanden.

Skapa RFC-mål

Det här målet identifierar ditt Logic App-arbetsflöde som mottagarport.

  1. Öppna konfigurationen av RFC-anslutningar i SAP. Du kan använda sm59-transaktionskoden (T-Code) med prefixet /n .

  2. Välj TCP/IP-anslutningar>Skapa.

  3. Skapa ett nytt RFC-mål med följande inställningar:

    1. För RFC-mål anger du ett namn.

    2. På fliken Tekniska inställningar går du till Aktiveringstyp och väljer Registrerat serverprogram.

    3. 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 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:

    4. På fliken Unicode väljer du Unicode för Kommunikationstyp med målsystem.

      Anmärkning

      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.

  4. Spara ändringarna.

  5. 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.

  6. 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) under Logged-On-klienter visas den nya registreringen som registrerad server.

  7. Om du vill testa anslutningen väljer du Anslutningstest under det nya RFC-målet.

Skapa ABAP-anslutning

Det här destinationen identifierar ditt SAP-system som avsändarport.

  1. Öppna konfigurationen av RFC-anslutningar i SAP. Du kan använda sm59-transaktionskoden (T-Code) med prefixet /n .

  2. Välj ABAP-anslutningar>Skapa.

  3. För RFC-mål anger du identifieraren för ditt TEST SAP-system.

  4. Under Tekniska inställningar lämnar du målvärd tom för att skapa en lokal anslutning till SAP-systemet.

  5. Spara ändringarna.

  6. Om du vill testa anslutningen väljer du Anslutningstest.

Skapa avsändarport

  1. Öppna inställningarna för portar i IDOC-bearbetning i SAP. Du kan använda we21-transaktionskoden (T-Code) med prefixet /n .

  2. Välj Portar>Transaktions-RFC>Skapa.

  3. I inställningsrutan som öppnas väljer du eget portnamn.

  4. För testporten anger du ett namn som börjar med SAP. Spara ändringarna.

    Alla avsändarportnamn måste börja med bokstäverna SAP, till exempel SAPTEST.

  5. I inställningarna för den nya avsändarporten för RFC-målet anger du identifieraren för din ABAP-anslutning.

  6. Spara ändringarna.

Skapa mottagarport

  1. Öppna inställningarna för portar i IDOC-bearbetning i SAP. Du kan använda we21-transaktionskoden (T-Code) med prefixet /n .

  2. Välj Portar>Transaktions-RFC>Skapa.

  3. I inställningsrutan som öppnas väljer du eget portnamn. För testporten anger du ett Namn. Spara ändringarna.

  4. I inställningarna för den nya mottagarporten för RFC-målet anger du identifieraren för ditt RFC-testmål.

  5. Spara ändringarna.

Skapa en logisk partner för systemet

  1. I SAP öppnar du ändringsvyn "Logiska system": Översiktsinställningar . Du kan använda bd54-transaktionskoden (T-Code).

  2. Acceptera följande varningsmeddelande som visas: Varning: Tabellen är korsklient

  3. Ovanför listan som visar dina befintliga logiska system klickar du på Nya poster.

  4. För det nya logiska systemet anger du en Log.System-identifierare och en kort namnbeskrivning . Spara ändringarna.

  5. 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.

  6. 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.
  1. Öppna inställningarna för Partnerprofiler i SAP. Du kan använda we20-transaktionskoden (T-Code) med prefixet /n .

  2. Under Partnerprofiler väljer du Partnertyp LS>Skapa.

  3. Skapa en ny partnerprofil med följande inställningar:

    Inställning Beskrivning
    Partnernr Ange den logiska systempartnerns 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.
  4. Spara ändringarna.

    Om du inte skapade den logiska systempartnern får du felet Ange ett giltigt partnernummer.

  5. Välj Skapa utgående parameter under Utgående parmtrs i partnerprofilens inställningar.

  6. Skapa en ny utgående parameter med följande inställningar:

  7. Spara ändringarna.

Testa att skicka meddelanden

  1. Öppna inställningarna för testverktyget för IDoc-bearbetning i SAP. Du kan använda we19-transaktionskoden (T-Code) med prefixet /n .

  2. Under Mall för test väljer du Via meddelandetyp. Ange din meddelandetyp, till exempel CREMAS. Välj Skapa.

  3. Bekräfta meddelandet Vilken IDoc-typ? genom att välja Fortsätt.

  4. Välj EDIDC-noden . Ange lämpliga värden för mottagar- och avsändarportarna. Välj Fortsätt.

  5. Välj Standard Utgående Hantering.

  6. Om du vill starta utgående IDoc-bearbetning väljer du Fortsätt.

    När verktyget har slutfört bearbetningen visas meddelandet IDoc skickat till SAP-systemet eller ett externt program .

  7. 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:

Skapa arbetsflöden för avancerade SAP-scenarier

Hitta utökade felloggar (endast hanterad kontakt)

Om du använder den hanterade SAP-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>
      

Ställ in utökad SAP-loggning i lokal datagateway (endast hanterad anslutning)

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 Event Tracing for Windows (ETW)-händelser till roterande loggfiler som inkluderats i din gateways .zip-loggfiler.

Du kan exportera alla konfigurations- och tjänstloggar för din gateway till en .zip fil från gatewayappens inställningar.

Anmärkning

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:

  1. På PerfView-menyn väljer du Samla in>för att samla in händelserna.

  2. 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.

  3. Behåll de andra standardinställningarna. Om du vill kan du ändra filnamnet eller platsen i parametern Datafil .

  4. Välj Starta samling för att påbörja spårningen.

  5. När du har återskapat problemet eller samlat in tillräckligt med analysdata väljer du Stoppa insamling.

  6. Om du vill dela dina data med en annan part, till exempel Azure-supporttekniker, komprimerar du ETL-filen.

  7. För att visa innehållet i din spårning:

    1. I PerfView väljer du Öppna fil> och väljer den ETL-fil som du genererade.

    2. I sidofältet PerfView går du till avsnittet Händelser under din ETL-fil.

    3. 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:

  1. Om din förbrukningslogikappresurs inte redan är aktiverad väljer du Översikt på logikappmenyn. I verktygsfältet väljer du Aktivera.

  2. I designerverktygsfältet väljer du Kör>kör för att starta arbetsflödet manuellt.

  3. Om du vill utlösa arbetsflödet skickar du ett meddelande från SAP-systemet.

  4. Gå tillbaka till logikappens översiktssida . Under Körningshistorik hittar du alla nya körningar för arbetsflödet.

  5. Öppna den senaste körningen, vilken 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 anslutning)

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:

  1. Öppna din standard-logikappresurs i Azure-portalen.

  2. På logikappmenyn går du till Inställningar och väljer Miljövariabler för att granska programinställningarna.

  3. 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å.

      Anmärkning

      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:

      1. I Azure-portalen går du till arbetsflödesmenyn och väljer Översikt.
      2. 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.

  4. Spara ändringarna. Det här steget startar om programmet.

Tillgängliga spårningsnivåer

NCo-spårningsnivåer

Värde Beskrivning
Nivå 1 Nivån för spårning av fjärrfunktionsanrop.
Nivå 2 Nivån för spårning av fjärrfunktionsanrop och offentliga API-metodanrop.
Nivå 3 Nivån för spårning av fjärrfunktionsanrop, offentliga API-metodanrop och interna API-metodanrop.
Nivå 4 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.
Metainformation Spårar metadata som ingår i ett fjärrfunktionsanrop för varje anrop.
Ingen Nivån för att undertrycka alla spårutdata.
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 liknande metoder.
Fjärrfunktionsanrop Spårar fjärrfunktionsanrop.
RfcData Spårar de byte som skickas och tas emot under varje fjärrfunktionsanrop.
Sessionsleverantör Spårar alla metoder för den för närvarande använda implementeringen av ISessionProvider.
Sätt värde 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 detaljerat serversvarsutdata

Visa spårningen

  1. På resursmenyn för standardlogikapp, under Utvecklingsverktyg, välj Avancerade verktyg>Öppna.

  2. Verktygsfältet Kudu väljer du Felsökningskonsol>CMD-konsol.

  3. 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.

  4. Ö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.

  5. Om du vill visa innehållet i en logg eller spårningsfil väljer du knappen Redigera bredvid en fil.

    Anmärkning

    Om du laddar ned en logg- eller spårningsfil som för närvarande öppnas eller används av logikappens arbetsflöde kan nedladdningen resultera i en tom fil.

Aktivera spårning av SAP Common Crypto Library (CCL) (endast inbyggd anslutning)

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 CCL-loggarna 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:

  1. Öppna din standard-logikappresurs i Azure-portalen.

  2. På resursmenyn för standardlogikapp, under Utvecklingsverktyg, välj Avancerade verktyg>Öppna.

  3. Verktygsfältet Kudu väljer du Felsökningskonsol>CMD-konsol.

  4. Bläddra till en plats under C:\home\site\wwwroot och skapa en textfil, till exempel: CCLPROFILE.txt.

    Mer information om loggningsparametrar finns i SAP KB-artikel 3192871 – Så här kontrollerar du CommonCryptoLib-versionsinformation i ABAP-systemet. 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
    
  5. På logikappmenyn går du till Inställningar och väljer Miljövariabler för att granska programinställningarna.

  6. 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.

  7. Spara ändringarna. Det här steget startar om programmet.

Visa spårningen

  1. På resursmenyn för standardlogikapp, under Utvecklingsverktyg, välj Avancerade verktyg>Öppna.

  2. Verktygsfältet Kudu väljer du Felsökningskonsol>CMD-konsol.

  3. 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:

    1. 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.

    2. 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 de spårningar 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

Från och 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. Den här funktionen är en funktion i Azure Monitor. Telemetrin innehåller främst följande data:

  • Mått och spår baserade på SAP NCo-mått och övervakning
  • 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:

  • Minskning av systemhälsa
  • 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 loggar innehåller textinformation som används med prestandamå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
  • Rfc-anslutningsmonitor
  • RfcServerMonitor
  • RfcRepositoryMonitor

Mer information om de mått som varje klass tillhandahåller finns i SAP NCo-dokumentationen.

Konfigurera SAP-telemetri för Application Insights

Innan du kan skicka SAP-telemetri för gatewayinstallationen till Application Insights måste du skapa och konfigurera 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:

  1. 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.

  2. Lägg till den nedladdade filen i installationskatalogen för din lokala datagateway, till exempel C:\Program Files\On-Premises Data Gateway.

  3. I installationskatalogen för den lokala datagatewayen kontrollerar du att filenMicrosoft.ApplicationInsights.dll har samma versionsnummer som denMicrosoft.ApplicationInsights.EventSourceListener.dll fil som du lade till. Gatewayen använder för närvarande version 2.14.0.

  4. I filenApplicationInsights.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>
    
  5. I denApplicationInsights.config filen kan du ändra det nödvändiga spårningsvärdet Level för dina SAP-anslutningsåtgärder, enligt dina krav, 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:

  6. 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.

  1. Öppna Application Insights-resursen i Azure-portalen.

  2. På resursmenyn går du till Övervakning och väljer Loggar.

    Följande skärmbild visar Azure-portalen där Application Insights-resursen har sidan Loggar öppen:

    Skärmbild som visar Azure-portalen med Application Insights öppna på sidan Loggar för att skapa sökfrågor.

  3. På sidan Loggar kan du skapa en fråga som använder Kusto Query Language (KQL) baserat 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"
    
  4. När du har kört din fråga granskar du resultatet.

    Följande skärmbild visar exempelfrågans resultattabell för mått:

    Skärmbild som visar Application Insights med resultattabellen för mått.

    Kolumn Beskrivning
    MaxUsedCount "Det maximala antalet klientanslutningar som användes samtidigt av det övervakade målet." enligt beskrivningen i SAP NCo-dokumentationen. Du kan använda det här värdet för att förstå antalet samtidiga öppna anslutningar.
    valueCount Visar 2 för varje läsning eftersom mått genereras med 30 sekunders intervall. Application Insights aggregerar dessa mått per minut.
    DestinationName Innehåller en teckensträng som är ett internt namn för Microsoft SAP Adapter.

    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:

Skärmbild som visar Application Insights med resultatet i diagramformat.

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:

Skärmbild som visar Application Insights med resultattabellen traces.