Share via


Munkafolyamatok létrehozása gyakori SAP-integrációs forgatókönyvekhez az Azure Logic Appsben

A következőkre vonatkozik: Azure Logic Apps (Használat + Standard)

Ez az útmutató bemutatja, hogyan hozhat létre példalogikaalkalmazás-munkafolyamatokat néhány gyakori SAP-integrációs forgatókönyvhöz az Azure Logic Apps és az SAP-összekötő használatával.

A Standard és a Consumption logikai alkalmazás munkafolyamatai is kínálják a több-bérlős Azure-ban üzemeltetett és futtatott SAP felügyelt összekötőt. A standard munkafolyamatok az SAP beépített szolgáltatói összekötőjét is kínálják, amely egybérlős Azure Logic Appsben fut. Ha egy integrációs szolgáltatási környezetben (I Standard kiadás) létrehoz és üzemeltet egy Használat munkafolyamatot, használhatja az SAP-összekötő I Standard kiadás natív verzióját is. További információ: Csatlakozás or műszaki referencia.

Előfeltételek

Mielőtt hozzákezd, mindenképpen tekintse át és feleljen meg az SAP-összekötőknek az adott forgatókönyvre vonatkozó követelményeinek .

Üzenetek fogadása az SAP-tól

Az alábbi példa logikai alkalmazás munkafolyamata akkor aktiválódik, amikor a munkafolyamat SAP-eseményindítója üzenetet kap egy SAP-kiszolgálótól.

SAP-eseményindító hozzáadása

Attól függően, hogy rendelkezik-e használati munkafolyamattal a több-bérlős Azure Logic Appsben vagy egy standard munkafolyamattal az egybérlős Azure Logic Appsben, kövesse a megfelelő lépéseket:

  1. Az Azure Portalon nyissa meg a Consumption logikai alkalmazást és az üres munkafolyamatot a tervezőben.

  2. A tervezőben kövesse az alábbi általános lépéseket az SAP által felügyelt összekötő eseményindítójának a fogadásakor elnevezett hozzáadásához.

  3. Ha a rendszer kéri, adja meg a következő kapcsolati adatokat a helyszíni SAP-kiszolgálóhoz. Amikor elkészült, válassza a Létrehozás lehetőséget. Ellenkező esetben folytassa a következő lépéssel az SAP-eseményindító beállításához.

    Paraméter Kötelező Leírás
    Kapcsolat neve Igen Adja meg a kapcsolat nevét.
    Data Gateway Igen 1. Előfizetés esetén válassza ki az Azure-előfizetést az Azure Portalon az adatátjáró telepítéséhez létrehozott adatátjáró-erőforráshoz.

    2. A Csatlakozás ion Gateway esetében válassza ki az azure-beli adatátjáró-erőforrást.
    Client Igen Az SAP-kiszolgálóhoz való csatlakozáshoz használandó SAP-ügyfélazonosító
    Hitelesítési típus Igen A kapcsolathoz használandó hitelesítési típusnak alapszintűnek (felhasználónévnek és jelszónak) kell lennie. SNC-kapcsolat létrehozásához tekintse meg a Biztonságos hálózati kommunikáció engedélyezése (SNC) című témakört.
    SAP-felhasználónév Igen Az SAP-kiszolgáló felhasználóneve
    SAP-jelszó Igen Az SAP-kiszolgáló jelszava
    Bejelentkezési típus Igen Válassza ki az Application Server vagy a Group (Message Server) lehetőséget, majd konfigurálja a megfelelő szükséges paramétereket, annak ellenére, hogy nem kötelezőnek tűnnek:

    Alkalmazáskiszolgáló:
    - AS-gazdagép: Az SAP Application Server gazdagépneve
    - AS szolgáltatás: Az SAP Application Server szolgáltatásneve vagy portszáma
    - AS rendszerszám: Az SAP-kiszolgáló rendszerszáma, amely 00 és 99 közötti

    Csoport:
    - MS Server-gazdagép: Az SAP-üzenetkiszolgáló gazdagépneve
    - MS szolgáltatásnév vagy portszám: Az SAP-üzenetkiszolgáló szolgáltatásneve vagy portszáma
    - MS rendszerazonosító: Az SAP-kiszolgáló rendszerazonosítója
    - MS bejelentkezési csoport: Az SAP-kiszolgáló bejelentkezési csoportja. Az SAP-kiszolgálón megkeresheti vagy szerkesztheti a bejelentkezési csoport értékét a CCMS: Logon Groups (T-Code SMLG) párbeszédpanel megnyitásával. További információ: SAP Note 26317 – A LOGON-csoport beállítása automatikus terheléselosztáshoz.
    Széf gépelés Nem Ez a beállítás a visszamenőleges kompatibilitás érdekében érhető el, és csak a sztring hosszát ellenőrzi. Alapértelmezés szerint az erős gépelés az érvénytelen értékek ellenőrzésére szolgál, ha XML-ellenőrzést végez a sémán. Ez a viselkedés segíthet a problémák korábbi észlelésében. További információ a Széf Gépelés beállításról.
    Az SNC használata Nem SNC-kapcsolat létrehozásához tekintse meg a Biztonságos hálózati kommunikáció engedélyezése (SNC) című témakört.

    További választható kapcsolati paraméterekért tekintse meg az Alapértelmezett kapcsolati információkat.

    Miután az Azure Logic Apps beállította és tesztelte a kapcsolatot, megjelenik az eseményindító információs mezője. További információ az esetleges csatlakozási problémákról: Kapcsolatok hibaelhárítása.

  4. Az SAP-kiszolgáló konfigurációja és forgatókönyve alapján adja meg az üzenet fogadásának eseményindítójához szükséges paraméterértékeket, és adja hozzá a forgatókönyvben használni kívánt egyéb elérhető triggerparamétereket.

    Megjegyzés:

    Ez az SAP-eseményindító webhookalapú eseményindító, nem lekérdezési eseményindító, és nem tartalmaz lekérdezési ütemezés megadására szolgáló beállításokat. Ha például a felügyelt SAP-összekötőt a helyszíni adatátjáróval használja, az eseményindítót csak akkor hívja meg az adatátjáró, amikor egy üzenet érkezik, így nincs szükség lekérdezésre.

    Paraméter Kötelező Leírás
    GatewayHost Igen Az SAP RFC-kiszolgáló regisztrációs átjárójának állomása
    GatewayService Igen Az SAP RFC-kiszolgáló regisztrációs átjáró szolgáltatása
    Programazonosító Igen Az SAP RFC-kiszolgáló regisztrációs átjáró programazonosítója.

    Megjegyzés: Ez az érték megkülönbözteti a kis- és nagybetűk értékét. Győződjön meg arról, hogy a logikai alkalmazás munkafolyamatának és az SAP-kiszolgálónak konfigurálásakor következetesen ugyanazt az esetformátumot használja a programazonosító értékéhez. Ellenkező esetben, amikor IDoc-t próbál elküldeni az SAP-nak, a tRFC Monitor (T-Code SM58) a következő hibákat jelenítheti meg (a hivatkozásokhoz SAP-bejelentkezés szükséges):

    - Nem található IDOC_INBOUND_ASYNCHRONOUS függvény (2399329)
    - Nem ABAP RFC-ügyfél (partnertípus) nem támogatott (353597)
    DegreeOfParallelism Nem A párhuzamosan feldolgozandó hívások száma. A paraméter hozzáadásához és az érték módosításához az Új paraméter hozzáadása listából válassza a DegreeOfParallelism lehetőséget, és adja meg az új értéket.
    SapActions Nem Az SAP-kiszolgálótól kapott üzenetek szűrése az SAP-műveletek listája alapján. A paraméter hozzáadásához az Új paraméter hozzáadása listából válassza a SapActions lehetőséget. Az új SapActions szakaszban a SapActions - 1 paraméterhez használja a fájlválasztót egy SAP-művelet kiválasztásához, vagy manuálisan adjon meg egy műveletet. Az SAP-műveletről további információt az Üzenetsémák az IDoc-műveletekhez című témakörben talál.
    IDoc formátum Nem Az IDocs fogadásához használandó formátum. A paraméter hozzáadásához válassza az Új paraméter hozzáadása listában az IDoc Formátum lehetőséget.

    – Ha egyszerű SAP XML-fájlként szeretné fogadni az IDocs-ot, válassza az SapPlainXml elemet az IDoc Formátum listájából.

    – Ha az IDocsot egybesimított fájlként szeretné fogadni, az IDoc Formátum listájában válassza a FlatFile lehetőséget.

    - Megjegyzés: Ha a munkafolyamatban a Flat File Decode műveletet is használja, a sima fájlsémában a early_terminate_optional_fields tulajdonságot kell használnia, és igaz értékre kell állítania az értéket. Erre a követelményre azért van szükség, mert az SAP által a tRFC-híváson IDOC_INBOUND_ASYNCHRONOUS küldött egybesimított IDoc-adatrekord nincs kitöltve a teljes SDATA-mezőhosszra. Az Azure Logic Apps az SAP-tól kapott kitöltés nélkül biztosítja az egyszerű fájl IDoc-eredeti adatait. Ha ezt az SAP-eseményindítót a Flat File Decode művelettel kombinálja, a művelethez megadott sémának egyeznie kell.
    IDOCS fogadása nem kiadatlan szegmensekkel Nem IDocs fogadása nem kiadatlan szegmensekkel vagy anélkül. A paraméter hozzáadásához és az érték módosításához az Új paraméter hozzáadása listából válassza az IDOCS fogadása kiadatlan szegmensekkel lehetőséget, majd válassza az Igen vagy a Nem lehetőséget.
    SncPartnerNames Nem Azoknak az SNC-partnereknek a listája, akik rendelkeznek engedéllyel az eseményindító meghívására az SAP ügyfélkódtár szintjén. Az SAP-kiszolgáló SNC-kapcsolata csak a felsorolt partnereket engedélyezi. A paraméter hozzáadásához válassza az Új paraméter hozzáadása listából az SncPartnerNames lehetőséget. Minden nevet függőleges sáv (|) választ el egymástól.

    Az alábbi példa egy alapvetően konfigurált SAP által felügyelt eseményindítót mutat be egy használatalapú munkafolyamatban:

    Screenshot shows basically configured SAP managed connector trigger in Consumption workflow.

    Az alábbi példa egy SAP által felügyelt eseményindítót mutat be, ahol az SAP-műveletek kiválasztásával szűrheti az üzeneteket:

    Screenshot shows selecting an SAP action to filter messages in a Consumption workflow.

    Vagy egy művelet manuális megadásával:

    Screenshot shows manually entering the SAP action to filter messages in a Consumption workflow.

    Az alábbi példa bemutatja, hogyan jelenik meg a művelet, amikor az eseményindítót egynél több üzenet fogadására állítja be:

    Screenshot shows example trigger that receives multiple messages in a Consumption workflow.

  5. Mentse a munkafolyamatot, hogy elkezdhesse az üzenetek fogadását az SAP-kiszolgálóról. A tervező eszköztárán válassza a Mentés lehetőséget.

    A munkafolyamat most már készen áll arra, hogy üzeneteket fogadjon az SAP-kiszolgálóról.

  6. Miután az eseményindító aktiválta és futtatta a munkafolyamatot, tekintse át a munkafolyamat eseményindító-előzményeit, és győződjön meg arról, hogy az eseményindító regisztrációja sikeres volt.

IDoc-csomagok fogadása az SAP-ból

Az IDoc-csomagok fogadásához, amelyek kötegek vagy IDocs-csoportok, az SAP-eseményindítónak nincs szüksége további konfigurációra. Ha azonban egy IDoc-csomag minden elemét feldolgozni szeretné, miután az eseményindító megkapta a csomagot, végre kell hajtania néhány további lépést a csomag egyes IDocs-fájlokra való felosztásához, ha beállítja az SAP-t az IDocs csomagokban való küldésére.

Az alábbi példa-munkafolyamat bemutatja, hogyan nyerhet ki egyéni IDocs-fájlokat egy csomagból a xpath() függvény használatával:

  1. Mielőtt hozzákezd, szüksége lesz egy használatalapú vagy standard logikai alkalmazás munkafolyamatára egy SAP-eseményindítóval. Ha a munkafolyamat még nem ezzel az eseményindítóval kezdődik, az útmutató korábbi lépéseit követve adja hozzá a munkafolyamathoz üzeneteket fogadó SAP-eseményindítót.

  2. Ha azonnal válaszolni szeretne az SAP-kiszolgálóra az SAP-kérések állapotával, adja hozzá a következő válaszműveletet, attól függően, hogy SAP által felügyelt eseményindítót vagy beépített SAP-eseményindítót használ-e:

    • SAP által felügyelt eseményindító: Ehhez az eseményindítóhoz adjon hozzá egy válaszműveletet a munkafolyamathoz.

      A Válasz műveletben használja az alábbi állapotkódok egyikét (statusCode):

      Állapotkód Leírás
      202 Elfogadva A kérelem feldolgozásra lett elfogadva, de a feldolgozás még nem fejeződött be.
      204 Nincs tartalom A kiszolgáló sikeresen teljesítette a kérést, és nincs további tartalom, amelyet elküldhet a válasz hasznos adattörzsében.
      200 OK Ez az állapotkód mindig tartalmaz hasznos adatokat, még akkor is, ha a kiszolgáló nulla hosszúságú hasznos adattörzset hoz létre.
    • SAP beépített eseményindító: Ehhez az eseményindítóhoz adja hozzá a Válasz az SAP-kiszolgálóra műveletet a munkafolyamathoz.

    Megjegyzés:

    Ajánlott eljárásként közvetlenül az eseményindító után adja hozzá a válaszműveletet, hogy felszabadítsa a kommunikációs csatornát az SAP-kiszolgálóval.

  3. Kérje le a gyökérnévteret a munkafolyamat által az SAP-tól kapott XML-azonosítóból.

    1. Ha ki szeretné nyerni ezt a névteret az XML-dokumentumból, és egy helyi sztringváltozóban szeretné tárolni a névteret, adja hozzá az Inicializálás változót .

    2. Nevezze át a művelet címét a kapott IDoc gyökércsomópont névterének lekérésére.

    3. Adjon nevet a változónak, és állítsa a típust sztringre.

    4. A művelet Érték paraméterében jelölje ki a szerkesztési mezőben, nyissa meg a kifejezést vagy a függvényszerkesztőt, és hozza létre a következő kifejezést a xpath() függvény használatával:

      xpath(xml(triggerBody()?['Content']), 'namespace-uri(/*)')

      Használati munkafolyamat

      Screenshot shows the expression to get the root node namespace from received IDoc for a Consumption workflow.

      Standard munkafolyamat

      Screenshot shows the expression to get the root node namespace from received IDoc for a Standard workflow.

      Ha elkészült, a kifejezés feloldja a problémát, és most a következő formátumként jelenik meg:

      Screenshot shows the resolved expression that gets the root node namespace from received IDoc.

  4. Ha ki szeretne nyerni egy egyéni azonosítót az IDoc-gyűjtemény helyi tömbváltozóban való tárolásával, kövesse az alábbi lépéseket:

    1. Adjon hozzá egy másik inicializálási változóműveletet .

    2. Nevezze át a művelet címét úgy, hogy az IDoc-adatelemeket tartalmazó tömb lekérése legyen.

    3. Adjon nevet a változónak, és állítsa a típust Tömbre.

      A tömbváltozó lehetővé teszi az egyes IDoc-ok külön-külön történő feldolgozását a gyűjteményen keresztül.

    4. A művelet Érték paraméterében válassza ki a szerkesztési mezőben, nyissa meg a kifejezést vagy a függvényszerkesztőt, és hozza létre a következő xpath() kifejezést:

      xpath(xml(triggerBody()?['Content']), '/*[local-name()="Receive"]/*[local-name()="idocData"]')

      Ha elkészült, a kifejezés feloldja a problémát, és most a következő formátumként jelenik meg:

      Használati munkafolyamat

      Screenshot shows the expression to get an array of IDocs for a Consumption workflow.

      Ebben a példában a következő munkafolyamat az egyes IDoc-fájlokat egy SFTP-kiszolgálóra továbbítja egy Minden egyes vezérlőművelet és a Create fájl nevű SFTP-SSH művelet használatával. Minden IDoc-nak tartalmaznia kell a gyökérnévteret, ezért a fájltartalom egy <Receive></Receive> elembe és a gyökérnévtérbe van csomagolva, mielőtt elküldené az IDoc-t az alsóbb rétegbeli alkalmazásnak, vagy ebben az esetben az SFTP-kiszolgálónak.

      Screenshot shows sending an IDoc to an SFTP server from a Consumption workflow.

      Megjegyzés:

      A használatalapú munkafolyamatok esetében ez a minta gyorsútmutató-sablonként érhető el, amelyet a sablongyűjteményből választhat a Használat logikai alkalmazás erőforrásának létrehozásakor és az üres munkafolyamatok létrehozásakor. Ha a munkafolyamat-tervező meg van nyitva, a tervező eszköztárán válassza a Sablonok lehetőséget.

      Screenshot that shows selecting the template for getting an IDoc batch.

      Standard munkafolyamat

      Screenshot shows the expression to get an array of IDocs for a Standard workflow.

      Ebben a példában a következő munkafolyamat az egyes IDoc-fájlokat egy SFTP-kiszolgálóra továbbítja egy Minden egyes vezérlőművelet és a Create fájl nevű SFTP-SSH művelet használatával. Minden IDoc-nak tartalmaznia kell a gyökérnévteret, ezért a fájltartalom egy <Receive></Receive> elembe és a gyökérnévtérbe van csomagolva, mielőtt elküldené az IDoc-t az alsóbb rétegbeli alkalmazásnak, vagy ebben az esetben az SFTP-kiszolgálónak.

      Screenshot shows sending an IDoc to an SFTP server from a Standard workflow.


Fogadott üzenetek szűrése SAP-műveletekkel

Ha az SAP által felügyelt összekötőt vagy az I Standard kiadás verziójú SAP-összekötőt használja, a munkafolyamat eseményindítója alatt állítson be egy módot, hogy explicit módon kiszűrje a nem kívánt műveleteket az SAP-kiszolgálóról a fogadott XML-hasznos adat gyökércsomópont-névtere alapján. Egy listát (tömböt) egyetlen vagy több SAP-művelettel is megadhat. Alapértelmezés szerint ez a tömb üres, ami azt jelenti, hogy a munkafolyamat szűrés nélkül fogadja az összes üzenetet az SAP-kiszolgálóról. A tömbszűrő beállításakor az eseményindító csak a megadott SAP-művelettípusokból fogad üzeneteket, és elutasítja az SAP-kiszolgáló összes többi üzenetét. Ez a szűrő azonban nem befolyásolja, hogy a kapott hasznos adat beírása gyenge vagy erős-e. Az SAP-műveletek szűrése a helyszíni adatátjáró SAP-adapterének szintjén történik. További információkért tekintse át , hogyan tesztelheti az IDocs-küldést az Azure Logic Appsbe az SAP-ból.

Aszinkron kérés-válasz minta beállítása triggerekhez

Az SAP felügyelt összekötője támogatja az Azure aszinkron válaszmintáját az Azure Logic Apps-eseményindítókhoz. Ezzel a mintával olyan sikeres kéréseket hozhat létre, amelyek egyébként az alapértelmezett szinkron kérés-válasz mintával meghiúsulnának.

Megjegyzés:

A több válaszművelettel rendelkező munkafolyamatokban minden válaszműveletnek ugyanazt a kérés-válasz mintát kell használnia. Ha például a munkafolyamat több lehetséges válaszművelettel rendelkező kapcsolóvezérlőt használ, az összes válaszműveletet be kell állítania, hogy ugyanazt a kérés-válasz mintát használja, szinkron vagy aszinkron módon.

Ha engedélyezi az aszinkron választ a válaszművelethez , a munkafolyamat egy 202 Elfogadva válaszsal válaszolhat a feldolgozásra vonatkozó kérés elfogadása után. A válasz tartalmaz egy helyfejlécet, amellyel lekérheti a kérés végleges állapotát.

Ha aszinkron kérés-válasz mintát szeretne konfigurálni a munkafolyamathoz az SAP-összekötő használatával, kövesse az alábbi lépéseket:

  1. A tervezőben nyissa meg a logikai alkalmazás munkafolyamatát. Győződjön meg arról, hogy a munkafolyamat SAP-eseményindítóval kezdődik.

  2. A munkafolyamatban keresse meg a Válasz műveletet, és nyissa meg a művelet Gépház.

  3. Attól függően, hogy használatalapú vagy standard munkafolyamattal rendelkezik-e, kövesse a megfelelő lépéseket:

    • Használat: Az Aszinkron válasz csoportban kapcsolja ki a beállítást Be értékre, és válassza a Kész lehetőséget.
    • Standard: Bontsa ki a hálózatkezelést, és az Aszinkron válasz csoportban kapcsolja be a beállítást Kiről Be értékre.
  4. Mentse a munkafolyamatot.

IDocs küldése az SAP-nak

Ha olyan logikai alkalmazás-munkafolyamatot szeretne létrehozni, amely egy IDoc-t küld egy SAP-kiszolgálónak, és választ ad vissza, kövesse az alábbi példákat:

  1. Hozzon létre egy HTTP-kérés által aktivált logikai alkalmazás-munkafolyamatot.
  2. Sap-művelet hozzáadása a munkafolyamathoz az IDoc SAP-ba való küldéséhez.
  3. Válaszművelet hozzáadása a munkafolyamathoz.
  4. Hozzon létre egy távoli függvényhívási (RFC) kérés-válasz mintát, ha RFC-t használ az SAP ABAP-től érkező válaszok fogadására.
  5. Tesztelje a munkafolyamatot.

A Kérelem eseményindító hozzáadása

Ha azt szeretné, hogy a munkafolyamat xml HTTP-n keresztül fogadjon IDocs-fájlokat az SAP-ból, használhatja a kérelem beépített eseményindítóját. Ez az eseményindító létrehoz egy URL-címmel rendelkező végpontot, ahol az SAP-kiszolgáló HTTP POST-kéréseket küldhet a munkafolyamatnak. Amikor a munkafolyamat megkapja ezeket a kéréseket, az eseményindító aktiválódik, és a munkafolyamat következő lépését futtatja.

Ha egyszerű XML-fájlként vagy egyszerű fájlként szeretné fogadni az IDocs-t a Common Programming Interface Communication (CPIC) szolgáltatáson keresztül, tekintse át az SAP üzenet fogadása című szakaszt.

Attól függően, hogy rendelkezik-e használati munkafolyamattal a több-bérlős Azure Logic Appsben vagy egy standard munkafolyamattal az egybérlős Azure Logic Appsben, kövesse a megfelelő lépéseket:

  1. Az Azure Portalon hozzon létre egy Használat logikai alkalmazás erőforrást és egy üres munkafolyamatot a tervezőben.

  2. A tervezőben az alábbi általános lépéseket követve keresse meg és adja hozzá a HTTP-kérés érkezésekor elnevezett beépített kérésindítót.

    Screenshot shows the Request trigger for a Consumption workflow.

  3. Mentse a munkafolyamatot. A tervező eszköztárán válassza a Mentés lehetőséget.

    Ez a lépés létrehoz egy végpont URL-címét, ahol az eseményindító kéréseket fogadhat az SAP-kiszolgálótól, például:

    Screenshot shows the Request trigger's generated endpoint URL for receiving requests in a Consumption workflow.

SAP-művelet hozzáadása az IDoc küldéséhez

Ezután hozzon létre egy műveletet, amely elküldi az IDoc-t az SAP-nak, amikor a munkafolyamat kérése aktiválódik. Attól függően, hogy rendelkezik-e használati munkafolyamattal a több-bérlős Azure Logic Appsben vagy egy standard munkafolyamattal az egybérlős Azure Logic Appsben, kövesse a megfelelő lépéseket:

  1. A munkafolyamat-tervezőBen a Kérelem eseményindító alatt válassza az Új lépést.

  2. A tervezőben kövesse az alábbi általános lépéseket az ÜZENET küldése az SAP-nak nevű, az SAP által felügyelt művelet megkereséséhez és hozzáadásához.

  3. Ha a rendszer kéri, adja meg a következő kapcsolati adatokat a helyszíni SAP-kiszolgálóhoz. Amikor elkészült, válassza a Létrehozás lehetőséget. Ellenkező esetben folytassa a következő lépéssel az SAP-művelet beállításához.

    Paraméter Kötelező Leírás
    Kapcsolat neve Igen Adja meg a kapcsolat nevét.
    Data Gateway Igen 1. Előfizetés esetén válassza ki az Azure-előfizetést az Azure Portalon az adatátjáró telepítéséhez létrehozott adatátjáró-erőforráshoz.

    2. A Csatlakozás ion Gateway esetében válassza ki az azure-beli adatátjáró-erőforrást.
    Client Igen Az SAP-kiszolgálóhoz való csatlakozáshoz használandó SAP-ügyfélazonosító
    Hitelesítési típus Igen A kapcsolathoz használandó hitelesítési típusnak alapszintűnek (felhasználónévnek és jelszónak) kell lennie. SNC-kapcsolat létrehozásához tekintse meg a Biztonságos hálózati kommunikáció engedélyezése (SNC) című témakört.
    SAP-felhasználónév Igen Az SAP-kiszolgáló felhasználóneve
    SAP-jelszó Igen Az SAP-kiszolgáló jelszava
    Bejelentkezési típus Igen Válassza ki az Application Server vagy a Group (Message Server) lehetőséget, majd konfigurálja a megfelelő szükséges paramétereket, annak ellenére, hogy nem kötelezőnek tűnnek:

    Alkalmazáskiszolgáló:
    - AS-gazdagép: Az SAP Application Server gazdagépneve
    - AS szolgáltatás: Az SAP Application Server szolgáltatásneve vagy portszáma
    - AS rendszerszám: Az SAP-kiszolgáló rendszerszáma, amely 00 és 99 közötti

    Csoport:
    - MS Server-gazdagép: Az SAP-üzenetkiszolgáló gazdagépneve
    - MS szolgáltatásnév vagy portszám: Az SAP-üzenetkiszolgáló szolgáltatásneve vagy portszáma
    - MS rendszerazonosító: Az SAP-kiszolgáló rendszerazonosítója
    - MS bejelentkezési csoport: Az SAP-kiszolgáló bejelentkezési csoportja. Az SAP-kiszolgálón megkeresheti vagy szerkesztheti a bejelentkezési csoport értékét a CCMS: Logon Groups (T-Code SMLG) párbeszédpanel megnyitásával. További információ: SAP Note 26317 – A LOGON-csoport beállítása automatikus terheléselosztáshoz.
    Széf gépelés Nem Ez a beállítás a visszamenőleges kompatibilitás érdekében érhető el, és csak a sztring hosszát ellenőrzi. Alapértelmezés szerint az erős gépelés az érvénytelen értékek ellenőrzésére szolgál, ha XML-ellenőrzést végez a sémán. Ez a viselkedés segíthet a problémák korábbi észlelésében. További információ a Széf Gépelés beállításról.
    Az SNC használata Nem SNC-kapcsolat létrehozásához tekintse meg a Biztonságos hálózati kommunikáció engedélyezése (SNC) című témakört.

    További választható kapcsolati paraméterekért tekintse meg az Alapértelmezett kapcsolati információkat.

    Miután az Azure Logic Apps beállította és tesztelte a kapcsolatot, megjelenik az SAP műveletinformációs mezője. További információ az esetleges csatlakozási problémákról: Kapcsolatok hibaelhárítása.

    Screenshot shows a Consumption workflow with the SAP managed action named Send message to SAP.

  4. Az Üzenet küldése az SAP-nak műveletben keressen és válasszon ki egy elérhető SAP-műveletet az SAP-kiszolgálón az IDoc elküldéséhez.

    Az Üzenet küldése az SAP-nak művelet általános, és a BAPI, az IDoc, az RFC vagy a tRFC számára is küldhet üzenetet, de először ki kell választania a használni kívánt üzenettípust és SAP-műveletet.

    1. Az SAP Action paraméter szerkesztési mezőjében válassza a mappa ikont. A megnyíló listában válassza a BAPI, az IDOC, az RFC vagy a TRFC lehetőséget. Ez a példa az IDOC-t választja. Ha másik típust választ, az elérhető SAP-műveletek a kijelölés alapján változnak.

      Megjegyzés:

      Ha hibás átjáró (500) vagy hibás kérés (400) hibaüzenetet kap, tekintse meg az 500 Hibás átjáró vagy a 400 hibás kérés hibát.

      Screenshot shows selecting IDOC for a Consumption workflow.

    2. Tallózással keresse meg az SAP-művelettípusok mappáit a nyilakkal, és válassza ki a használni kívánt SAP-műveletet.

      Ez a példa az ORDERS>ORDERS05>720>Send lehetőséget választja.

      Screenshot shows finding an Orders action for a Consumption workflow.

      Ha nem találja a kívánt műveletet, manuálisan is megadhat egy elérési utat, például:

      Screenshot shows manually entering a path to an Orders action type for a Consumption workflow.

      Tipp.

      Az SAP Action paraméter esetében a kifejezésszerkesztővel adhat meg paraméterértéket. Így ugyanazt az SAP-műveletet használhatja különböző üzenettípusokhoz.

      Az IDoc-üzenetekkel kapcsolatos további információkért tekintse át az IDoc-műveletek üzenetsémáit.

    3. Az Üzenet küldése az SAP-nak műveletben adja meg a Kérelem eseményindító törzskimenetét.

      1. A Beviteli üzenet paraméterben válassza a szerkesztési mezőben a dinamikus tartalomlista megnyitásához.

      2. A dinamikus tartalomlistából válassza a Törzs lehetőséget a HTTP-kérés fogadása esetén csoportban. A Törzs mező a Kérelem eseményindító törzskimenetét tartalmazza.

        Megjegyzés:

        Ha a Törzs mező nem jelenik meg a listában, a HTTP-kérés fogadása felirat mellett válassza a Továbbiak elemet.

      Screenshot shows selecting the Request trigger's output named Body for Consumption workflow.

      Az Üzenet küldése az SAP-nak művelet mostantól tartalmazza a Kérelem eseményindító törzstartalmat, és elküldi a kimenetet az SAP-kiszolgálónak, például:

      Screenshot shows completed SAP action for Consumption workflow.

  5. Mentse a munkafolyamatot.

Egyszerű fájl IDocs küldése AZ SAP-kiszolgálóra (csak felügyelt összekötő)

Ha egy egyszerű fájlsémával szeretne elküldeni egy IDoc-t az SAP felügyelt összekötő használatakor, az IDoc-t egy XML-borítékba csomagolhatja, és az általános lépéseket követve hozzáadhat egy SAP-műveletet az IDoc elküldéséhez, de az alábbi módosításokkal.

Megjegyzés:

Ha az SAP beépített összekötőt használja, győződjön meg arról, hogy nem csomagol be egy sima fájlazonosítót XML-borítékba.

IDoc körbefuttatása XML-borítékkal

  1. Az üzenet küldéséhez használt SAP-műveletben használja a következő URI-t:

    http://Microsoft.LobServices.Sap/2007/03/Idoc/SendIdoc

  2. Formázza a bemeneti üzenetet EGY XML-borítékkal.

Az alábbi példa egy XML-minta hasznos adatát mutatja be:

<SendIdoc xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/">
  <idocData>EDI_DC 3000000001017945375750 30INVOIC011BTSVLINV30KUABCABCFPPC LDCA X004010810 4 SAPMSX LSEDI ABCABCFPPC 000d3ae4-723e-1edb-9ca4-cc017365c9fd 20210217054521INVOICINVOIC01ZINVOIC2RE 20210217054520
E2EDK010013000000001017945375000001E2EDK01001000000010 ABCABC1.00000 0060 INVO9988298128 298.000 298.000 LB Z4LR EN 0005065828 L
E2EDKA1 3000000001017945375000002E2EDKA1 000000020 RS ABCABCFPPC 0005065828 ABCABCABC ABCABC Inc. Limited Risk Distributor ABCABC 1950 ABCABCABCA Blvd ABCABAABCAB L5N8L9 CA ABCABC E ON V-ABCABC LDCA
E2EDKA1 3000000001017945375000003E2EDKA1 000000020 AG 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000004E2EDKA1 000000020 RE 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000005E2EDKA1 000000020 RG 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000006E2EDKA1 000000020 WE 0005001847 41 ABCABC ABCABC INC (ABCABC) DC A. ABCABCAB 88 ABCABC CRESCENT ABCABAABCAB L5R 4A2 CA ABCABC 111-111-1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000007E2EDKA1 000000020 Z3 0005533050 ABCABCABC ABCABC Inc. ABCA Bank Swift Code -ABCABCABCAB Sort Code - 1950 ABCABCABCA Blvd. Acc No -1111111111 ABCABAABCAB L5N8L9 CA ABCABC E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000008E2EDKA1 000000020 BK 1075 ABCABCABC ABCABC Inc 1950 ABCABCABCA Blvd ABCABAABCAB ON L5N 8L9 CA ABCABC (111) 111-1111 (111) 111-1111 ON
E2EDKA1 3000000001017945375000009E2EDKA1 000000020 CR 1075 CONTACT ABCABCABC 1950 ABCABCABCA Blvd ABCABAABCAB ON L5N 8L9 CA ABCABC (111) 111-1111 (111) 111-1111 ON
E2EDK02 3000000001017945375000010E2EDK02 000000020 0099988298128 20210217
E2EDK02 3000000001017945375000011E2EDK02 000000020 00140-N6260-S 20210205
E2EDK02 3000000001017945375000012E2EDK02 000000020 0026336270425 20210217
E2EDK02 3000000001017945375000013E2EDK02 000000020 0128026580537 20210224
E2EDK02 3000000001017945375000014E2EDK02 000000020 01740-N6260-S
E2EDK02 3000000001017945375000015E2EDK02 000000020 900IAC
E2EDK02 3000000001017945375000016E2EDK02 000000020 901ZSH
E2EDK02 3000000001017945375000017E2EDK02 000000020 9078026580537 20210217
E2EDK03 3000000001017945375000018E2EDK03 000000020 02620210217
E2EDK03 3000000001017945375000019E2EDK03 000000020 00120210224
E2EDK03 3000000001017945375000020E2EDK03 000000020 02220210205
E2EDK03 3000000001017945375000021E2EDK03 000000020 01220210217
E2EDK03 3000000001017945375000022E2EDK03 000000020 01120210217
E2EDK03 3000000001017945375000023E2EDK03 000000020 02420210217
E2EDK03 3000000001017945375000024E2EDK03 000000020 02820210418
E2EDK03 3000000001017945375000025E2EDK03 000000020 04820210217
E2EDK17 3000000001017945375000026E2EDK17 000000020 001DDPDelivered Duty Paid
E2EDK17 3000000001017945375000027E2EDK17 000000020 002DDPdestination
E2EDK18 3000000001017945375000028E2EDK18 000000020 00160 0 Up to 04/18/2021 without deduction
E2EDK28 3000000001017945375000029E2EDK28 000000020 CA BOFACATT Bank of ABCABAB ABCABC ABCABAB 50127217 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000030E2EDK28 000000020 CA 026000082 ABCAbank ABCABC ABCABAB 201456700OLD ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000031E2EDK28 000000020 GB ABCAGB2L ABCAbank N.A ABCABA E14, 5LB GB63ABCA18500803115593 ABCABCABC ABCABC Inc. GB63ABCA18500803115593
E2EDK28 3000000001017945375000032E2EDK28 000000020 CA 020012328 ABCABANK ABCABC ABCABAB ON M5J 2M3 2014567007 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000033E2EDK28 000000020 CA 03722010 ABCABABC ABCABABC Bank of Commerce ABCABAABCAB 64-04812 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000034E2EDK28 000000020 IE IHCC In-House Cash Center IHCC1075 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000035E2EDK28 000000020 CA 000300002 ABCAB Bank of ABCABC ABCABAB 0021520584OLD ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000036E2EDK28 000000020 US USCC US Cash Center (IHC) city USCC1075 ABCABCABC ABCABC Inc.
E2EDK29 3000000001017945375000037E2EDK29 000000020 0064848944US A CAD CA ABCABC CA United States US CA A Air Air
E2EDKT1 3000000001017945375000038E2EDKT1 000000020 ZJ32E EN
E2EDKT2 3000000001017945375000039E2EDKT2 000038030 GST/HST877845941RT0001 *
E2EDKT2 3000000001017945375000040E2EDKT2 000038030 QST1021036966TQ0001 *
E2EDKT1 3000000001017945375000041E2EDKT1 000000020 Z4VL
E2EDKT2 3000000001017945375000042E2EDKT2 000041030 0.000 *
E2EDKT1 3000000001017945375000043E2EDKT1 000000020 Z4VH
E2EDKT2 3000000001017945375000044E2EDKT2 000043030 *
E2EDK14 3000000001017945375000045E2EDK14 000000020 008LDCA
E2EDK14 3000000001017945375000046E2EDK14 000000020 00710
E2EDK14 3000000001017945375000047E2EDK14 000000020 00610
E2EDK14 3000000001017945375000048E2EDK14 000000020 015Z4F2
E2EDK14 3000000001017945375000049E2EDK14 000000020 0031075
E2EDK14 3000000001017945375000050E2EDK14 000000020 021M
E2EDK14 3000000001017945375000051E2EDK14 000000020 0161075
E2EDK14 3000000001017945375000052E2EDK14 000000020 962M
E2EDP010013000000001017945375000053E2EDP01001000000020 000011 2980.000 EA 298.000 LB MOUSE 298.000 Z4TN 4260
E2EDP02 3000000001017945375000054E2EDP02 000053030 00140-N6260-S 00000120210205 DFUE
E2EDP02 3000000001017945375000055E2EDP02 000053030 0026336270425 00001120210217
E2EDP02 3000000001017945375000056E2EDP02 000053030 0168026580537 00001020210224
E2EDP02 3000000001017945375000057E2EDP02 000053030 9100000 00000120210205 DFUE
E2EDP02 3000000001017945375000058E2EDP02 000053030 911A 00000120210205 DFUE
E2EDP02 3000000001017945375000059E2EDP02 000053030 912PP 00000120210205 DFUE
E2EDP02 3000000001017945375000060E2EDP02 000053030 91300 00000120210205 DFUE
E2EDP02 3000000001017945375000061E2EDP02 000053030 914CONTACT ABCABCABC 00000120210205 DFUE
E2EDP02 3000000001017945375000062E2EDP02 000053030 963 00000120210205 DFUE
E2EDP02 3000000001017945375000063E2EDP02 000053030 965 00000120210205 DFUE
E2EDP02 3000000001017945375000064E2EDP02 000053030 9666336270425 00000120210205 DFUE
E2EDP02 3000000001017945375000065E2EDP02 000053030 9078026580537 00001020210205 DFUE
E2EDP03 3000000001017945375000066E2EDP03 000053030 02920210217
E2EDP03 3000000001017945375000067E2EDP03 000053030 00120210224
E2EDP03 3000000001017945375000068E2EDP03 000053030 01120210217
E2EDP03 3000000001017945375000069E2EDP03 000053030 02520210217
E2EDP03 3000000001017945375000070E2EDP03 000053030 02720210217
E2EDP03 3000000001017945375000071E2EDP03 000053030 02320210217
E2EDP03 3000000001017945375000072E2EDP03 000053030 02220210205
E2EDP19 3000000001017945375000073E2EDP19 000053030 001418VVZ
E2EDP19 3000000001017945375000074E2EDP19 000053030 002RJR-00001 AB ABCABCABC Mouse FORBUS BLUETOOTH
E2EDP19 3000000001017945375000075E2EDP19 000053030 0078471609000
E2EDP19 3000000001017945375000076E2EDP19 000053030 003889842532685
E2EDP19 3000000001017945375000077E2EDP19 000053030 011CN
E2EDP26 3000000001017945375000078E2EDP26 000053030 00459064.20
E2EDP26 3000000001017945375000079E2EDP26 000053030 00352269.20
E2EDP26 3000000001017945375000080E2EDP26 000053030 01052269.20
E2EDP26 3000000001017945375000081E2EDP26 000053030 01152269.20
E2EDP26 3000000001017945375000082E2EDP26 000053030 0126795.00
E2EDP26 3000000001017945375000083E2EDP26 000053030 01552269.20
E2EDP26 3000000001017945375000084E2EDP26 000053030 00117.54
E2EDP26 3000000001017945375000085E2EDP26 000053030 00252269.20
E2EDP26 3000000001017945375000086E2EDP26 000053030 940 2980.000
E2EDP26 3000000001017945375000087E2EDP26 000053030 939 2980.000
E2EDP05 3000000001017945375000088E2EDP05 000053030 + Z400MS List Price 52269.20 17.54 1 EA CAD 2980
E2EDP05 3000000001017945375000089E2EDP05 000053030 + XR1 Tax Jur Code Level 6795.00 13.000 52269.20
E2EDP05 3000000001017945375000090E2EDP05 000053030 + Tax Subtotal1 6795.00 2.28 1 EA CAD 2980
E2EDP05 3000000001017945375000091E2EDP05 000053030 + Taxable Amount + TaxSubtotal1 59064.20 19.82 1 EA CAD 2980
E2EDP04 3000000001017945375000092E2EDP04 000053030 CX 13.000 6795.00 7000000000
E2EDP04 3000000001017945375000093E2EDP04 000053030 CX 0 0 7001500000
E2EDP04 3000000001017945375000094E2EDP04 000053030 CX 0 0 7001505690
E2EDP28 3000000001017945375000095E2EDP28 000053030 00648489440000108471609000 CN CN ABCAB ZZ 298.000 298.000 LB US 400 United Stat KY
E2EDPT1 3000000001017945375000096E2EDPT1 000053030 0001E EN
E2EDPT2 3000000001017945375000097E2EDPT2 000096040 AB ABCABCABC Mouse forBus Bluetooth EN/XC/XD/XX Hdwr Black For Bsnss *
E2EDS01 3000000001017945375000098E2EDS01 000000020 0011
E2EDS01 3000000001017945375000099E2EDS01 000000020 01259064.20 CAD
E2EDS01 3000000001017945375000100E2EDS01 000000020 0056795.00 CAD
E2EDS01 3000000001017945375000101E2EDS01 000000020 01159064.20 CAD
E2EDS01 3000000001017945375000102E2EDS01 000000020 01052269.20 CAD
E2EDS01 3000000001017945375000103E2EDS01 000000020 94200000 CAD
E2EDS01 3000000001017945375000104E2EDS01 000000020 9440.00 CAD
E2EDS01 3000000001017945375000105E2EDS01 000000020 9450.00 CAD
E2EDS01 3000000001017945375000106E2EDS01 000000020 94659064.20 CAD
E2EDS01 3000000001017945375000107E2EDS01 000000020 94752269.20 CAD
E2EDS01 3000000001017945375000108E2EDS01 000000020 EXT
Z2XSK010003000000001017945375000109Z2XSK01000000108030 Z400 52269.20
Z2XSK010003000000001017945375000110Z2XSK01000000108030 XR1 13.000 6795.00 CX
</idocData>
</SendIdoc>

Válaszművelet hozzáadása

Most állítsa be a munkafolyamatot az SAP-kiszolgáló eredményeinek az eredeti kérelmezőnek való visszaadásához. Ehhez a feladathoz kövesse az alábbi lépéseket:

  1. A munkafolyamat-tervezőben az SAP-művelet alatt válassza az Új lépést.

  2. A tervezőben kövesse az alábbi általános lépéseket a Válasz nevű beépített kérelemművelet megkereséséhez és hozzáadásához.

  3. A Válasz műveletben a Törzs paraméternél válassza ki a szerkesztési mezőben a dinamikus tartalomlista megnyitásához.

  4. A dinamikus tartalomlistában az Üzenet küldése az SAP-nak csoportban válassza a Törzs lehetőséget. A Törzs mező az SAP-művelet törzskimenetét tartalmazza.

    Screenshot shows selecting SAP action output named Body for Consumption workflow.

  5. Mentse a munkafolyamatot.

Távoli függvényhívás (RFC) kérelem-válasz minta létrehozása

Az SAP által felügyelt összekötőt és az I Standard kiadás verziójú SAP-összekötőt használó Használat munkafolyamatok esetében, ha távoli függvényhívással (RFC) kell választ kapnia az Azure Logic Appsbe az SAP ABAP-ből, akkor egy kérés- és válaszmintát kell implementálnia. Ha iDocsot szeretne fogadni a munkafolyamatban a Kérelem eseményindító használatakor, győződjön meg arról, hogy a munkafolyamat első művelete egy válaszművelet , amely tartalom nélkül használja a 200 OK állapotkódot. Ez az ajánlott lépés azonnal befejezi az SAP Logikai munkaegység (LUW) aszinkron átvitelét a tRFC-n keresztül, így az SAP CPIC-beszélgetés ismét elérhető marad. Ezután további műveleteket is hozzáadhat a munkafolyamathoz a fogadott IDoc feldolgozásához a későbbi átvitelek blokkolása nélkül.

Megjegyzés:

Az SAP-eseményindító a TRFC-n keresztül fogadja az IDocs-t, amely nem rendelkezik válaszparaméterrel.

A kérés- és válaszminta implementálásához először az RFC-sémát kell felderítenie a generate schema paranccsal. A létrehozott séma két lehetséges gyökércsomópontból áll:

  • A kérelem csomópontja, amely az SAP-tól kapott hívás
  • A válaszcsomópont, amely az SAP-nak adott válasz

Az alábbi példában az STFC_CONNECTION RFC-modul létrehoz egy kérés- és válaszmintát. A kérelem XML-fájljának elemzése olyan csomópontérték kinyerésére történik, amelyben az SAP kéri <ECHOTEXT>. A válasz az aktuális időbélyeget dinamikus értékként szúrja be. Hasonló választ kap, amikor RFC-t STFC_CONNECTION küld egy logikai alkalmazás munkafolyamatából az SAP-nak.

<STFC_CONNECTIONResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <ECHOTEXT>@{first(xpath(xml(triggerBody()?['Content']), '/*[local-name()="STFC_CONNECTION"]/*[local-name()="REQUTEXT"]/text()'))}</ECHOTEXT>
  <RESPTEXT>Azure Logic Apps @{utcNow()}</RESPTEXT>
</STFC_CONNECTIONResponse>

A munkafolyamat tesztelése

  1. Ha a Használat logikai alkalmazás erőforrás még nincs engedélyezve, a logikai alkalmazás menüjében válassza az Áttekintés lehetőséget. Az eszköztáron válassza az Engedélyezés lehetőséget.

  2. A tervező eszköztárán válassza az Eseményindító futtatása parancsot > a munkafolyamat manuális elindításához.

  3. A webhook-eseményindító hasznos adatainak szimulálásához küldjön egy HTTP POST-kérést a munkafolyamat Kérés eseményindítója által megadott végpont URL-címre. Győződjön meg arról, hogy az üzenet tartalmát belefoglalja a kérésébe. A kérés elküldéséhez használjon egy eszközt, például a Postman API-ügyfelet.

    Ebben a példában a HTTP POST-kérelem küld egy IDoc-fájlt, amelynek XML formátumúnak kell lennie, és tartalmaznia kell a kiválasztott SAP-művelet névterét, például:

    <?xml version="1.0" encoding="UTF-8" ?>
    <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send">
      <idocData>
        <...>
      </idocData>
    </Send>
    
  4. A HTTP-kérés elküldése után várja meg a munkafolyamat válaszát.

    Megjegyzés:

    A munkafolyamat időtúllépést eredményezhet, ha a válaszhoz szükséges összes lépés nem fejeződik be a kérelem időtúllépési korlátja alatt. Ha ez a feltétel bekövetkezik, előfordulhat, hogy a kérések le lesznek tiltva. A problémák diagnosztizálásához megtudhatja, hogyan ellenőrizheti és figyelheti a logikai alkalmazás munkafolyamatait.

Létrehozott egy munkafolyamatot, amely képes kommunikálni az SAP-kiszolgálóval. Most, hogy beállított egy SAP-kapcsolatot a munkafolyamathoz, kísérletezhet a BAPI-val és az RFC-vel.

Széf gépelés

Alapértelmezés szerint, amikor kapcsolatot hoz létre az SAP által felügyelt művelethez, a rendszer erős beírással ellenőrzi az érvénytelen értékeket a sémán végzett XML-ellenőrzéssel. Ez a viselkedés segíthet a problémák korábbi észlelésében. A Széf Gépelés lehetőség a visszamenőleges kompatibilitás érdekében érhető el, és csak a sztring hosszát ellenőrzi. Ha a Széf Gépelés lehetőséget választja, a DATS és a TIMS típus az SAP-ban sztringként lesz kezelve, nem pedig XML-megfelelőként, xs:date és xs:timeaholxmlns:xs="http://www.w3.org/2001/XMLSchema". Széf gépelés hatással van az összes sémagenerálás viselkedésére, a küldési üzenetre mind az "elküldött" hasznos adatokra, mind a "beérkezett" válaszra, valamint az eseményindítóra.

Ha erős gépelést használ (Széf A gépelés nincs engedélyezve), a séma a DATS- és TIMS-típusokat egyszerűbb XML-típusokra képezi le:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true" type="xs:date"/>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true" type="xs:time"/>

Ha erős beírással küld üzeneteket, a DATS és a TIMS válasz megfelel a megfelelő XML-típusformátumnak:

<DATE>9999-12-31</DATE>
<TIME>23:59:59</TIME>

Ha Széf Gépelés engedélyezve van, a séma a DATS- és TIMS-típusokat csak hosszkorlátozásokkal rendelkező XML-sztringmezőkre képezi le, például:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="6" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Ha az üzeneteket a Széf Gépelés engedélyezve van, a DATS és a TIMS válasz az alábbi példához hasonlóan néz ki:

<DATE>99991231</DATE>
<TIME>235959</TIME>

Speciális forgatókönyvek

Nyelvi fejlécek módosítása az ADATOK SAP-ba való küldéséhez

Amikor az Azure Logic Appsből csatlakozik az SAP-hoz, az SAP-kapcsolat alapértelmezett nyelve az angol, amely adatokat küld az SAP-kiszolgálónak. Az SAP által felügyelt összekötő és az SAP beépített összekötője azonban különböző módokon kezeli a használt nyelv módosítását és mentését.

  • Ha az SAP beépített összekötővel hoz létre kapcsolatot, a kapcsolati paraméterek lehetővé teszik a nyelvi paraméter értékének megadását és mentését az SAP-kapcsolati paraméterek részeként.

  • Amikor kapcsolatot hoz létre az SAP által felügyelt összekötővel, a kapcsolati paraméterek nem rendelkeznek nyelvi paraméterrel. Ez idő alatt tehát nem adhatja meg vagy nem adhatja meg, hogy milyen nyelvet használjon az adatok SAP-kiszolgálóra való küldéséhez. Ehelyett a munkafolyamat tervezésekor és a futtatási időben az összekötő a webböngésző helyi nyelvét használja a kiszolgálónak küldött minden egyes kérésből. Ha például a böngésző portugálra van állítva, az Azure Logic Apps létrehozza és teszteli az SAP-kapcsolatot a portugál nyelvvel, de nem menti a kapcsolatot ezzel a nyelvvel.

    A kapcsolat nyelvét azonban a szabványos HTTP-fejléc Accept-Language és a bejövő kérések használatával állíthatja be. A legtöbb webböngésző a területi beállítások alapján ad hozzá Accept-Language fejlécet. A webböngésző ezt a fejlécet alkalmazza, amikor új SAP-kapcsolatot hoz létre a munkafolyamat-tervezőben. Így frissítheti a webböngésző beállításait az előnyben részesített nyelv használatára, vagy létrehozhatja az SAP-kapcsolatot az Azure Resource Managerrel a munkafolyamat-tervező helyett.

    A fejlécet tartalmazó Accept-Language kéréseket például elküldheti a logikai alkalmazás munkafolyamatának a HTTP-kérések fogadásakor elnevezett Kérelem eseményindítóval. A munkafolyamat összes művelete megkapja a fejlécet. Ezután az SAP a megadott nyelveket használja a rendszerüzeneteiben, például BAPI-hibaüzeneteket. Ha futásidőben nem ad át fejlécet Accept-Language , alapértelmezés szerint az angol nyelvet használja a rendszer.

    Ha a fejlécet Accept-Language használja, a következő hibaüzenet jelenhet meg: Ellenőrizze a fiók adatait és/vagy engedélyeit, és próbálkozzon újra. Ebben az esetben ellenőrizze inkább az SAP-összetevő hibanaplóit. A hiba valójában a fejlécet használó SAP-összetevőben fordul elő, ezért a következő hibaüzenetek egyikét kaphatja:

    • "SAP. Middleware. Csatlakozás or. RfcLogonException: Válasszon egyet a telepített nyelvek közül"

    • "SAP. Middleware. Csatlakozás or. RfcAbapMessageException: Válasszon egyet a telepített nyelvek közül"

Tranzakció megerősítése külön és explicit módon

Amikor tranzakciókat küld az SAP-nak az Azure Logic Appsből, ez a csere két lépésben történik az SAP-dokumentumban, a Transactional RFC Server Programsben leírtak szerint.

Alapértelmezés szerint az SAP által felügyelt összekötő Üzenet küldése az SAP-nak nevű művelete kezeli a függvény átvitelének és a tranzakció egyetlen hívásban történő megerősítésének lépéseit. A lépések leválasztására is lehetősége van. Az átvitel és a megerősítés lépéseinek leválasztása olyan helyzetekben hasznos, amikor nem szeretné duplikálni a tranzakciókat az SAP-ban. Az ilyen forgatókönyvek közé tartoznak az olyan hibák, amelyek olyan okok miatt következnek be, mint például a hálózati problémák.

A tranzakció automatikus megerősítése nélkül is elküldhet egy IDoc-t a(z) [IDOC] Nevű SAP felügyelt összekötő műveletével . Dokumentum küldése az SAP-nak. Ezután explicit módon megerősítheti a tranzakciót az [IDOC - RFC] nevű SAP felügyelt összekötő műveletével. Ha a munkafolyamat külön megerősíti a tranzakciót egy másik lépésben, az SAP rendszer csak egyszer hajtja végre a tranzakciót.

A standard munkafolyamatokban az SAP beépített összekötője olyan műveleteket is tartalmaz, amelyek külön kezelik az átadási és megerősítési lépéseket, különösen az [IDoc] Dokumentum küldése az SAP-nak és [IDOC – RFC] Tranzakcióazonosító megerősítése.

Az alábbi példa-munkafolyamat ezt a mintát mutatja be:

  1. Hozzon létre és nyisson meg egy Használat vagy Standard logikai alkalmazást egy üres munkafolyamattal a tervezőben. Adja hozzá a Kérés eseményindítót.

  2. Ha szeretné elkerülni, hogy ismétlődő IDocs-fájlokat küldjön az SAP-nak, kövesse az alábbi alternatív lépéseket egy IDoc-tranzakcióazonosító létrehozásához és használatához az SAP-műveletekben.

  3. Adja hozzá az [IDOC] Sap-műveletet : Dokumentum küldése az SAP-nak a munkafolyamatba. Adja meg az SAP-rendszernek küldött IDoc adatait, valamint a következő értékeket:

    Paraméter Érték Description
    TID megerősítése Nem Ne erősítse meg automatikusan a tranzakcióazonosítót, amely külön lépésben történik.
    Tranzakcióazonosító GUID azonosítója <IDoc-transaction-ID> Ha ez a paraméter nem jelenik meg automatikusan, nyissa meg az Új paraméterek hozzáadása listát, és válassza ki a paramétert.

    Ezt az értéket manuálisan is megadhatja, vagy az összekötő automatikusan létrehozhatja ezt a GUID-t az [IDOC] Send document to SAP művelet kimeneteként. Ez a példa üresen hagyja ezt a paramétert a GUID automatikus létrehozásához.

    Használati munkafolyamat

    Screenshot shows Consumption workflow with the action named IDOC Send document to SAP.

    Standard munkafolyamat

    Screenshot shows Standard workflow with the action named IDOC Send document to SAP.

  4. A(z) [IDOC] Sap-műveletben küldje el a dokumentumot az SAP-nak, nyissa meg a Gépház az újrapróbálkozési szabályzat áttekintéséhez.

    Az Alapértelmezett beállítás az ajánlott szabályzat, de egyéni szabályzatot is választhat az igényeinek megfelelően. Ha egyéni szabályzatot használ, állítson be legalább egy újrapróbálkozást az ideiglenes hálózati kimaradások elhárításához.

  5. Most adja hozzá az [IDOC – RFC] NEVŰ SAP-műveletet, és erősítse meg a tranzakcióazonosítót.

    1. A Tranzakcióazonosító paraméterben válassza a szerkesztési mezőben a dinamikus tartalomlista megnyitásához.

    2. A lista [IDOC] Dokumentum küldése az SAP-nak területén válassza ki a tranzakcióazonosító értékét, amely az előző SAP-művelet kimenete.

      Használati munkafolyamat

      Screenshot shows Consumption workflow with action named Confirm transaction ID, which includes GUID output from previous action.

      Standard munkafolyamat

      Screenshot shows Standard workflow with action named Confirm transaction ID, which includes GUID output from previous action.

    A lépés futtatása után az aktuális tranzakció mindkét végén befejezettként lesz megjelölve, az SAP-összekötő oldalán és az SAP rendszeroldalán.

Ne küldjön ismétlődő IDocs-fájlokat tranzakcióazonosító változóval

Ha probléma merül fel azzal kapcsolatban, hogy a munkafolyamat ismétlődő IDocs-fájlokat küld az SAP-nak, létrehozhat egy sztringváltozót, amely IDoc-tranzakcióazonosítóként szolgál. Ezt az azonosítót használva megakadályozhatja az ismétlődő hálózati átviteleket olyan körülmények között, mint az ideiglenes kimaradások, a hálózati problémák vagy az elveszett nyugták.

  1. A tervezőben a Kérelem eseményindító hozzáadása után, majd az [IDOC] Sap-művelet hozzáadása előtt küldje el a dokumentumot az SAP-nak, adja hozzá a változó inicializálása nevű műveletet a munkafolyamathoz.

  2. Nevezze át a műveletet az IDoc tranzakcióazonosítójának létrehozására.

  3. A műveletinformációs mezőben adja meg a következő paraméterértékeket:

    Paraméter Érték Description
    Név <változónév> A változó neve, például IDocTransactionID
    Típus Sztring A változó típusa
    Érték guid() Jelölje ki a szerkesztési mezőben, nyissa meg a kifejezést vagy a függvényszerkesztőt, és írja be a guid()t. Módosítások mentése.

    Az Érték paraméter most a GUID() függvényre van állítva, amely GUID-t hoz létre.

    Használati munkafolyamat

    Screenshot shows Consumption workflow with the action named Create transaction ID.

    Standard munkafolyamat

    Screenshot shows Standard workflow with the action named Create transaction ID.

    Megjegyzés:

    Az SAP-rendszerek elfelejtenek egy tranzakcióazonosítót egy megadott idő után, vagy alapértelmezés szerint 24 óra elteltével. Ennek eredményeképpen az SAP soha nem erősíti meg a tranzakcióazonosítót, ha az azonosító vagy a GUID ismeretlen. Ha a tranzakcióazonosító megerősítése sikertelen, ez a hiba azt jelzi, hogy az SAP-rendszerrel való kommunikáció nem sikerült, mielőtt az SAP nyugtázta volna a megerősítést.

  4. Adja hozzá az [IDOC] Sap-műveletet : Dokumentum küldése az SAP-nak a munkafolyamatba. Adja meg az SAP-rendszernek küldött IDoc adatait, valamint a következő értékeket:

    Paraméter Érték Description
    TID megerősítése Nem Ne erősítse meg automatikusan a tranzakcióazonosítót, amely külön lépésben történik.
    Tranzakcióazonosító GUID azonosítója <IDoc-transaction-ID> Ha ez a paraméter nem jelenik meg automatikusan, nyissa meg az Új paraméterek hozzáadása listát, és válassza ki a paramétert. A létrehozott tranzakcióazonosító-változó kiválasztásához kövesse az alábbi lépéseket:

    1. A Tranzakcióazonosító GUID paraméterében válassza a szerkesztési mezőben a dinamikus tartalomlista megnyitásához.

    2. A listából a Változók csoportban válassza ki a korábban létrehozott változót, amely ebben a példában az IDocTransactionID.

    Használati munkafolyamat

    Screenshot shows Consumption workflow with action named IDOC Send document to SAP.

    Standard munkafolyamat

    Screenshot shows Standard workflow with action named IDOC Send document to SAP.

  5. A(z) [IDOC] SAP által felügyelt művelethez küldjön dokumentumot az SAP-nak, nyissa meg a Gépház az újrapróbálkozési szabályzat áttekintéséhez.

    Az Alapértelmezett beállítás az ajánlott szabályzat, de egyéni szabályzatot is választhat az igényeinek megfelelően. Ha egyéni szabályzatot használ, állítson be legalább egy újrapróbálkozást az ideiglenes hálózati kimaradások elhárításához.

    Megjegyzés:

    Jelenleg csak a felügyelt összekötőműveletek rendelkeznek az Újrapróbálkozás házirend beállításával, nem pedig a beépített, szolgáltatóalapú összekötőkkel.

  6. Most adja hozzá az [IDOC – RFC] NEVŰ SAP-műveletet, és erősítse meg a tranzakcióazonosítót.

    1. A Tranzakcióazonosító paraméterben válassza a szerkesztési mezőben a dinamikus tartalomlista megnyitásához.

    2. A listából a Változók csoportban adja meg a létrehozott változó nevét, amely ebben a példában az IDocTransactionID.

      Használati munkafolyamat

      Screenshot shows Consumption workflow with action named Confirm transaction ID using a variable.

      Standard munkafolyamat

      Screenshot shows Standard workflow with action named Confirm transaction ID using a variable.

  7. Ha szeretné, ellenőrizze a deduplikációt a tesztkörnyezetben.

    1. Adjon hozzá egy másik SAP-műveletet [IDOC] Dokumentum küldése az SAP-nak. A Tranzakcióazonosító paraméterben válassza ki az előző lépésben használt tranzakcióazonosító GUID azonosítóját.

    2. Annak ellenőrzéséhez, hogy melyik IDoc-szám lesz hozzárendelve az [IDOC] Nevű művelet minden egyes hívása után, küldje el a dokumentumot az SAP-nak, adja hozzá az [IDOC] Get IDOC list for transaction for transaction to the workflow with same Transaction ID ID and the Receive direction(IdOC) nevű műveletet.

      Ha mindkét híváshoz ugyanazt az IDoc-számot adja vissza, az IDoc deduplikálva lett.

Ha kétszer küldi el ugyanazt az IDoc-t, ellenőrizheti, hogy az SAP képes-e azonosítani a tRFC-hívás duplikációját, és feloldani a két hívást egyetlen bejövő IDoc-üzenetre.

Problémák elhárítása

Csatlakozási problémák

A kapcsolat létrehozása során, ha a következő hibaüzenet jelenik meg, az SAP NCo-ügyfélkódtár telepítésével kapcsolatos probléma merül fel:

A kapcsolat tesztelése sikertelen volt. "Nem sikerült feldolgozni a kérést. Hiba részletei: "nem tölthető be a fájl vagy a szerelvény "sapnco, Version=3.0.0.42, Culture=neutral, PublicKeyToken 50436dca5c7f7d23" vagy annak egyik függősége. A megadott fájl nem található.'.'

Győződjön meg arról, hogy telepíti az SAP NCo ügyfélkódtár szükséges verzióját, és minden egyéb előfeltételnek megfelel.

500 Hibás átjáró vagy 400 hibás kérés hiba

Ha az "sapgw00" szolgáltatáshoz hasonló, ismeretlen üzenettel 500 hibás átjáró vagy 400 hibás kérés jelenik meg, a hálózati szolgáltatásnév portszámra történő feloldása meghiúsul, például:

{
   "body": {
      "error": {
         "code": 500,
         "source": "EXAMPLE-FLOW-NAME.eastus.environments.microsoftazurelogicapps.net",
         "clientRequestId": "00000000-0000-0000-0000-000000000000",
         "message": "BadGateway",
         "innerError": {
            "error": {
               "code": "UnhandledException",
               "message": "\nERROR service 'sapgw00' unknown\nTIME Wed Nov 11 19:37:50 2020\nRELEASE 721\nCOMPONENT NI (network interface)\nVERSION 40\nRC -3\nMODULE ninti.c\nLINE 933\nDETAIL NiPGetServByName: 'sapgw00' not found\nSYSTEM CALL getaddrinfo\nCOUNTER 1\n\nRETURN CODE: 20"
            }
         }
      }
   }
}
  • 1. lehetőség: Az API-kapcsolat és az eseményindító konfigurációjában cserélje le az átjárószolgáltatás nevét a portszámára. A példahiba sapgw00 esetében valós portszámmal kell helyettesíteni, például 3300. Ez az egyetlen elérhető lehetőség az I Standard kiadás.

  • 2. lehetőség: Ha a helyszíni adatátjárót használja, hozzáadhatja az átjárószolgáltatás nevét a portleképezéshez %windir%\System32\drivers\etc\services , majd újraindíthatja a helyszíni adatátjáró szolgáltatást, például:

    sapgw00  3300/tcp
    

Hasonló hibaüzenet jelenhet meg, ha az SAP-alkalmazáskiszolgáló vagy az üzenetkiszolgáló neve feloldja az IP-címet. Az I Standard kiadás esetében meg kell adnia az SAP-alkalmazáskiszolgáló vagy az üzenetkiszolgáló IP-címét. A helyszíni adatátjáró esetében ehelyett hozzáadhatja a nevet az IP-címleképezéshez %windir%\System32\drivers\etc\hosts, például:

10.0.1.9 SAPDBSERVER01 # SAP System Server VPN IP by computer name
10.0.1.9 SAPDBSERVER01.someguid.xx.xxxxxxx.cloudapp.net # SAP System Server VPN IP by fully qualified computer name

Az IDoc-csomagok SAP-ból az eseményindítóba való küldésével kapcsolatos hibák

Ha nem tud IDoc-csomagokat küldeni az SAP-ból az eseményindítóba, tekintse át a Tranzakciós RFC (tRFC) hívás elutasítási üzenetét az SAP tRFC (T-Code SM58) párbeszédpanelen. Az SAP-felületen a következő hibaüzenetek jelenhetnek meg, amelyek az Állapotszöveg mező részszűkítési korlátai miatt lesznek kivágva.

A szegmens- vagy csoportdefiníciós E2EDK36001 nem található az IDoc meta

Ez a hibaüzenet azt jelenti, hogy a várt hibák más hibákkal is előfordulnak. Például az IDoc XML hasznos adat generálásának meghiúsulása, mert a szegmenseit az SAP nem bocsátja ki. Ennek eredményeképpen a konvertáláshoz szükséges szegmenstípus-metaadatok hiányoznak.

Ha szeretné, hogy ezeket a szegmenseket az SAP kiadja, forduljon az SAP-rendszer ABAP-mérnökéhez.

A RequestContext az IReplyChannelen válasz küldése nélkül lett lezárva

Az SAP által felügyelt összekötő és az I Standard kiadás verziójú SAP-összekötő esetében ez a hibaüzenet váratlan hibákat jelent, ha a csatorna catch-all kezelője hiba miatt leállítja a csatornát, és újraépíti a csatornát más üzenetek feldolgozásához.

Megjegyzés:

Az SAP által felügyelt eseményindító és az I Standard kiadás verziójú SAP-eseményindítók olyan webhookok, amelyek a SOAP-alapú SAP-adaptert használják. Az SAP beépített eseményindítója azonban egy Azure Functions-alapú eseményindító, amely nem használ SOAP SAP-adaptert, és nem kapja meg ezt a hibaüzenetet.

  • Annak nyugtázásához, hogy a munkafolyamat megkapta az IDoc-t, adjon hozzá egy válaszműveletet, amely egy 200 OK állapotkódot ad vissza. Hagyja üresen a törzset, és ne módosítsa vagy vegye fel a fejléceket. Az IDoc tRFC-vel van szállítva, ami nem teszi lehetővé a válasz hasznos adatait.

  • Az IDoc elvetéséhez válaszoljon a 200 OK-tól eltérő HTTP-állapotkóddal. Az SAP-adapter ezután egy kivételt ad vissza az SAP-nak az Ön nevében. Az IDoc-t csak úgy utasíthatja el, hogy az sap-nak való átvitel hibáit jelezhesse, például egy tévesen átirányított azonosítót, amelyet az alkalmazás nem tud feldolgozni. Az alkalmazásszintű hibák, például az IDoc adataival kapcsolatos problémák esetén nem szabad elutasítani az IDoc-t. Ha késlelteti az alkalmazásszintű ellenőrzés átvitelének elfogadását, előfordulhat, hogy a kapcsolat más IDocs átvitelének blokkolása miatt negatív teljesítményt tapasztal.

  • Ha ezt a hibaüzenetet kapja, és rendszerszintű hibákat tapasztal az Azure Logic Apps meghívása közben, ellenőrizze, hogy konfigurálta-e a helyszíni adatátjáró szolgáltatás hálózati beállításait az adott környezethez. Ha például a hálózati környezet proxyt igényel az Azure-végpontok meghívásához, konfigurálnia kell a helyszíni adatátjáró szolgáltatást a proxy használatára. További információkért tekintse át a proxykonfigurációt.

  • Ha ezt a hibaüzenetet kapja, és időszakos hibákat tapasztal az Azure Logic Apps meghívása közben, előfordulhat, hogy növelnie kell az újrapróbálkozási vagy újrapróbálkozási időközt az alábbi lépések végrehajtásával:

    1. Ellenőrizze az SAP-beállításokat a Microsoft.PowerBI.EnterpriseGateway.exe.config nevű helyszíni adatátjáró szolgáltatás konfigurációs fájljában.

      1. configuration A gyökércsomópont alatt adjon hozzá egy configSections elemet, ha nincs ilyen.

      2. configSections A csomópont alatt adjon hozzá egy section elemet a következő attribútumokkal, ha nincs ilyen:name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"

        Fontos

        Ne módosítsa a meglévő section elemek attribútumait, ha már léteznek ilyen elemek.

        Az configSections elem a következő verzióhoz hasonlóan néz ki, ha nincs más szakasz vagy szakaszcsoport deklarálva az átjárószolgáltatás konfigurációjában:

        <configSections>
          <section name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"/>
        </configSections>
        
      3. configuration A gyökércsomópont alatt adjon hozzá egy SapAdapterSection elemet, ha nincs ilyen.

      4. SapAdapterSection A csomópont alatt adjon hozzá egy Broker elemet a következő attribútumokkal, ha nincs ilyen:WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2"

        Fontos

        Módosítsa az elem attribútumait Broker , még akkor is, ha az elem már létezik.

        Az SapAdapterSection elem a következő verzióhoz hasonlóan néz ki, ha az SAP-adapter konfigurációjában nincs más elem vagy attribútum deklarálva:

        <SapAdapterSection>
          <Broker WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2" />
        </SapAdapterSection>
        

        Az újrapróbálkozás száma beállítás a következőképpen WebhookRetryMaximumCount="2"néz ki: . Az újrapróbálkozási időköz beállítása úgy néz ki, mint WebhookRetryDefaultDelay="00:00:00.10" ahol az időtartomány formátuma van HH:mm:ss.ff.

      Megjegyzés:

      A konfigurációs fájllal kapcsolatos további információkért tekintse át a .NET-keretrendszer konfigurációs fájlsémát.

    2. Módosítások mentése.

    3. Ha a helyszíni adatátjárót használja, indítsa újra az átjárót.

További lépések