Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Azure Logic Apps (Consumption + Standard)
Tato vícedílná příručka s postupy ukazuje, jak získat přístup k serveru SAP z pracovního postupu v Azure Logic Apps pomocí konektoru SAP. Operace konektoru SAP můžete použít k vytvoření automatizovaných pracovních postupů, které se spouští při aktivaci událostmi na serveru SAP nebo v jiných systémech a spouštění akcí pro správu prostředků na serveru SAP.
Pracovní postupy aplikací logiky Standard i Consumption nabízejí spravovaný konektor SAP hostovaný a spuštěný ve víceklientských Azure. Standardní pracovní postupy také nabízejí integrovaný konektor SAP hostovaný a spuštěný v Azure Logic Apps s jedním tenantem. Další informace najdete v technických referenčních informacích ke konektoru.
Poznámka:
Tento průvodce sdílí odkazy na web SAP pro poznámky k podpoře SAP a články znalostní báze. Ve většině případů se musíte přihlásit, abyste měli přístup k celému obsahu.
Kompatibilita SAP
Konektor SAP je kompatibilní s následujícími typy systémů SAP:
Místní a cloudové systémy SAP založené na HANA, jako je S/4 HANA.
Klasické místní systémy SAP, například R/3 a ECC.
SAP musí podporovat systémovou verzi SAP, kterou chcete připojit. Jinak nemusí být problémy, na které narazíte, vyřešitelné. Další informace o verzích systému SAP a údržbě najdete v matici dostupnosti produktů SAP (PAM).
Konektor SAP podporuje následující typy integrace zpráv a dat ze systémů založených na SAP NetWeaver:
Zprostředkující dokument (IDoc)
Programovací rozhraní obchodních aplikací (BAPI)
Vzdálené volání funkce (RFC) a transakční RFC (tRFC)
Konektor SAP používá knihovnu SAP .NET Connector (NCo).
Pokud chcete použít operace konektoru SAP, musíte nejprve ověřit připojení a mít následující možnosti:
Můžete zadat uživatelské jméno a heslo.
Konektor SAP podporuje ověřování pomocí sap Secure Network Communications (SNC).
SNC můžete použít pro jednotné přihlašování (SSO) SAP NetWeaver nebo pro možnosti zabezpečení z externích produktů. Pokud se rozhodnete používat SNC, prohlédni si požadavky SNC.
Technické reference ke konektoru
Konektor SAP má různé verze založené na typu aplikace logiky a hostitelském prostředí.
Aplikace logiky | Životní prostředí | Verze konektoru |
---|---|---|
Využití | Azure Logic Apps pro více tenantů | Spravovaný konektor, který se zobrazí v galerii konektorů pod filtrem Sdílené . Další informace najdete v následující dokumentaci: - Referenční informace ke spravovanému konektoru SAP - Konektory spravované v Azure Logic Apps |
Standard | Azure Logic Apps a App Service Environment v3 s jedním tenantem (pouze plány Windows) | Spravovaný konektor, který se zobrazí v galerii konektorů pod filtrovanou kategorií Runtime>Shared, a vestavěný konektor, který se objeví v galerii konektorů pod filtrem Vestavěné a je založen na poskytovateli služeb. Integrovaný konektor má přímý přístup k virtuálním sítím Azure pomocí připojovacího řetězce bez místní brány dat. Další informace najdete v následující dokumentaci: - Referenční informace ke spravovanému konektoru SAP - Referenční informace k integrovanému konektoru SAP - Konektory spravované v Azure Logic Apps - Integrované konektory v Azure Logic Apps |
Rozdíly mezi konektory
Integrovaný konektor SAP se výrazně liší od spravovaného konektoru SAP následujícími způsoby:
Místní připojení nevyžadují místní bránu dat.
Místo toho integrovaný konektor SAP komunikuje přímo se serverem SAP v integrované virtuální síti, čímž se vyhnete směrování, latenci a bodům selhání síťové brány. Ujistěte se, že do aplikace pracovního postupu aplikace logiky nahrajete nebo nasadíte nedistribuovatelné klientské knihovny SAP. Další informace naleznete v části Požadavky v této příručce.
Pracovní postupy standardní aplikace logiky vyžadují a používají klientskou knihovnu SAP NCo 3.1, nikoli verzi SAP NCo 3.0. Další informace najdete v tématu Požadavky.
Ve výchozím nastavení jsou integrované operace konektoru SAP bezstavové. Pro tyto operace ale můžete povolit stavový režim (spřažení).
V stavovém režimu podporuje integrovaný konektor SAP vysokou dostupnost a konfiguraci škálování na více instancí. Ve srovnání se spravovaným konektorem SAP platí omezení týkající se místní brány dat omezené na jednu instanci pro triggery a clustery pouze v režimu převzetí služeb při selhání pro akce. Další informace najdete v tématu Spravovaný konektor SAP – známé problémy a omezení.
Podporují se velikosti datové zátěže až do 100 MB, takže pro velké požadavky nemusíte používat URI blobu.
Pro volání BAPI, volání RFC a odeslání IDoc jsou k dispozici konkrétní akce. Tyto vyhrazené akce poskytují lepší prostředí pro stavové BAPI, transakce RFC a odstranění duplicitních dat IDoc a nepoužívají starší model zasílání zpráv SOAP Windows Communication Foundation (WCF).
Akce BAPI volání zahrnuje až dvě odpovědi s vráceným kódem JSON:
Odpověď XML z volání BAPI.
Pokud povolíte možnost automatického potvrzení, dojde k potvrzení nebo vrácení zpět BAPI.
Tato funkce řeší problém se spravovaným konektorem SAP, kdy výsledek z chování automatického potvrzování je skrytý a pozorovatelný pouze prostřednictvím protokolů.
Pracovní postupy standardní aplikace logiky poskytují nastavení aplikace, kde můžete zadat osobní prostředí zabezpečení (PSE) a heslo PSE.
Tato změna vám brání v nahrávání více souborů PSE, což není podporováno a vede k selhání připojení SAP. V pracovních postupech aplikace logiky Consumption umožňuje spravovaný konektor SAP zadat tyto hodnoty prostřednictvím parametrů připojení, které umožňují nahrát více souborů PSE a které nejsou podporované, což způsobuje selhání připojení SAP.
Časový limit delší než u spravovaného konektoru SAP.
Integrovaný konektor SAP nativně běží v modulu runtime Azure Logic Apps, na rozdíl od spravovaného konektoru SAP, který běží na sdílené globální infrastruktuře Azure s více tenanty. Tento rozdíl v návrhu znamená, že výchozí hodnotu časového limitu prostředku aplikace logiky Standard můžete změnit pomocí nastaveníhost.json s názvem Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout a functionTimeout.
Možnost upravit hodnotu časového limitu znamená, že můžete použít integrovaný konektor SAP as-is pro dlouhotrvající synchronní požadavky. Jinak tyto požadavky musí používat vzor akcí pro dlouhotrvající požadavky založené na webhooku ve spravovaném konektoru SAP, který má mnohem kratší dvouminutový časový limit pro synchronní požadavky.
Kde najít parametry
guid
atId
Parametry XML pro
guid
atId
již nejsou k dispozici ve vstupních a výstupních datových částech XML. Místo toho můžete parametry najít jako explicitní parametry v návrháři pracovního postupu na kartě Parametry a jako dynamické výstupní výrazy.Zpracování prázdných elementů XML
Integrovaný konektor SAP: Prázdný element XML se považuje za parametr SAP s explicitní prázdnou hodnotou nebo výchozí hodnotou. Pokud chcete vynechat odeslání parametru do SAP, stačí z vstupní datové části odebrat prázdný prvek.
Spravovaný konektor SAP: Prázdný prvek XML se interpretuje jako chybějící parametr a neodesílá se do funkce SAP.
Příklad
Předpokládejme, že máte následující vstupní datovou část SAP RFC:
<RfcName> <Parameter></Parameter> </RfcName>
V integrovaném konektoru SAP zahrnuje volání SAP RFC parametr jako explicitní prázdnou hodnotu ('').
Ve spravovaném konektoru SAP vynechá volání SAP RFC parametr zcela.
Oříznutí prázdných znaků
Vestavěný konektor SAP automaticky ořízne mezery v elementech XML.
Předpokládejme například, že máte následující vstup:
<RfcName> <Parameter> </Parameter> </RfcName>
Ve volání funkce SAP RFC se prázdné znaky v hodnotě parametru považují za prázdný řetězec (') a jsou oříznuty. Abyste měli jistotu, že volání uchovává prázdné znaky přesně tak, jak je uvedeno v datové části, uveďte
xml:space="preserve"
atribut s prvkem, který vyhovuje specifikaci W3C 2.10 Zpracování prázdných znaků, například:<RfcName> <Parameter xml:space="preserve"> </Parameter> </RfcName>
Ověřování formátu IDoc
Integrovaný konektor SAP: Přísně ověřuje vstupní datovou část vůči
IDoc Format
specifikovaných ve vstupech akcí. Pokud mezi zadanouIDoc Format
a vstupní strukturou XML IDoc existuje neshoda, předdefinovaný konektor vyvolá chybu.Spravovaný konektor SAP: Přímo odvodí formát IDoc ze vstupní datové části, což umožňuje větší flexibilitu tím, že nevyžaduje přesně odpovídající formát.
Zpracování segmentů skupin BizTalk XML
Integrovaný konektor SAP: Striktně se řídí schématem definovaným generátorem schématu.
Segment končící segmentem
GRP
(segment skupiny) musí definovat všechny podřízené segmenty pouze jednou pro každou instanci.Chcete-li reprezentovat více sad podřízených segmentů, vytvořte více instancí segmentu skupiny, aby každá instance obsahovala svou vlastní samostatnou sadu podřízených segmentů.
Spravovaný konektor SAP: Umožňuje více opakování podřízených prvků v rámci jednoho segmentu skupiny. Tato opakování se interpretují jako více instancí segmentu skupiny.
Příklad chování
V následující struktuře definuje jediný segment skupiny několik sekvencí podřízených prvků, což je odmítnuto integrovaným konektorem SAP.
<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>
Místo toho použijte následující strukturu pro integrovaný konektor SAP, kde každá
E2EDKT1002GRP
instance skupiny obsahuje pouze jednu sekvenci podřízených 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>
Předdefinované chování triggeru
Konstrukce oboru názvů
Trigger konstruuje jmenný prostor v datové části triggeru SAP pomocí čísla verze vydání, které je z metadat IDoc načteno před parsováním IDoc (BizTalk XML nebo plain XML). Chcete-li přepsat tento zdroj a použít číslo verze z řídicího záznamu místo, přejděte do návrháře pracovního postupu a v aktivačních vstupních parametrech nastavte vlastnost EnforceControlRecordNamespace na hodnotu true.
Zpracování prázdných prvků
Ve výchozím nastavení SAP trigger nezahrnuje prázdné prvky do výstupu. Pokud chcete do výstupu triggeru zahrnout prázdné elementy, přejděte do návrháře pracovního postupu a v vstupních parametrech triggeru nastavte vlastnost EnableEmptyXmlNode na hodnotu true.
Integrovaná akce generovat schéma
Můžete si vybrat z několika typů operací, jako jsou BAPI, IDoc, RFC a tRFC, na rozdíl od stejné akce ve spravovaném konektoru SAP, který používá parametr SapActionUris a nabízí prostředí pro výběr souborového systému.
Název parametru můžete zadat přímo jako vlastní hodnotu. Můžete například v akci Volat RFC specifikovat parametr RFC Name. Ve srovnání se spravovaným konektorem SAP musíte zadat komplexní název parametru URI akce .
Tato akce záměrně nepodporuje generování více schémat pro rfcs, BAPI nebo IDocs při provádění jedné akce, které podporuje spravovaný konektor SAP. Tato změna funkce teď brání pokusům o odeslání velkého množství obsahu v jednom volání.
Parametry konektoru
Spolu s jednoduchými řetězcovými a číselnými vstupy přijímá konektor SAP následující parametry tabulky (Type=ITAB
vstupy):
- Parametry směru tabulky, vstupní i výstupní, pro starší verze SAP
- Změny parametrů, které nahrazují parametry směru tabulky pro novější verze SAP.
- Hierarchické parametry tabulky
Známé problémy a omezení
Spravovaný konektor SAP
Konektor SAP v současné době nepodporuje řetězce SAP routeru. Místní brána dat musí existovat ve virtuální síti, kde se brána může přímo spojit se systémem SAP, který chcete připojit.
Obecně platí, že spouštěč SAP nepodporuje clustery datových bran. V některých případech při přenosu může být uzel brány dat, který komunikuje se systémem SAP, odlišný od aktivního uzlu, což má za následek neočekávané chování.
Podporují se clustery datových bran v režimu nouzového provozu pro scénáře odesílání zpráv.
Stavové akce SAP nepodporují clustery brány dat v režimu vyrovnávání zatížení. Stavová komunikace musí zůstat na stejném uzlu clusteru brány dat. Bránu dat použijte buď v neclusterovém režimu, nebo v clusteru nastaveném pouze pro převzetí při selhání. Tento scénář se například vztahuje na následující akce:
- Všechny akce, které specifikují hodnotu ID relace
- [BAPI] Potvrzení transakce
- [BAPI] Vrácení transakce zpět
- [BAPI - RFC] Zavřít stavovou relaci
- [BAPI - RFC] Vytvoření stavové session
V akci s názvem [BAPI] metoda volání v SAP, funkce automatického potvrzení neprovede změny BAPI, pokud v objektu CallBapiResponse, který vrátí akce, existuje alespoň jedno varování. Pokud chcete potvrdit změny BAPI bez ohledu na upozornění, postupujte takto:
- Vytvořte relaci explicitně pomocí akce s názvem [BAPI – RFC] Vytvoření stavové relace.
- V akci s názvem [BAPI] Zavolat metodu v SAP vypněte možnost Automatické potvrzení.
- Místo toho volejte akci s názvem [BAPI] Potvrzení transakce .
Připojení založená na PROTOKOLU IP k SERVERU ZPRÁV SAP (konfigurace s vyrovnáváním zatížení)
Pokud zadáte IP adresu pro připojení k serveru zpráv SAP, například nástroj pro vyrovnávání zatížení, připojení může selhat s chybovou zprávou podobnou názvu hostitele SAPDBSERVER01.example.com neznámé. Server zpráv dá konektoru SAP pokyn, aby pro připojení k back-endovému aplikačnímu serveru SAP nebo serveru za nástrojem pro vyrovnávání zatížení použil název hostitele. Pokud DNS nemůže přeložit název hostitele, připojení selže.
Pro tento problém existují následující alternativní řešení nebo řešení:
Ujistěte se, že klient provádějící připojení, například počítač s místní bránou dat pro konektor SAP, je schopen přeložit názvy hostitelů vrácené zprávovým serverem.
V transakci s názvem RZ11 změňte nebo přidejte nastavení SAP s názvem ms/lg_with_hostname=0.
Kontext problému nebo pozadí
SAP upgradoval svůj konektor .NET (NCo) na verzi 3.1, což změnilo způsob, jakým konektor požaduje připojení k back-endovým serverům ze serverů zpráv. Konektor nyní používá nové rozhraní API pro vyhledání aplikačního serveru prostřednictvím serveru zpráv, pokud ovšem nenastavíte použití předchozího rozhraní API pomocí nastavení nazvaného ms/lg_with_hostname=0
. Další informace najdete v článku SAP KB 3305039 - Nastavení IP adresy SMLG se nezohledňuje při přihlašování do skupiny přihlášení.
Požadavky
Účet a předplatné Azure. Pokud ještě nemáte předplatné Azure, zaregistrujte si bezplatný účet Azure.
Aplikační server SAP nebo server zpráv SAP, ke kterému chcete získat přístup z Azure Logic Apps.
Nastavte server SAP a uživatelský účet tak, aby povolte použití dokumentu RFC.
Další informace, které zahrnují podporované typy uživatelských účtů a minimální požadovanou autorizaci pro každý typ akce (RFC, BAPI, IDoc), najdete v tématu SAP Poznámka: 460089 – Minimální profily autorizace pro externí programy RFC.
Váš uživatelský účet SAP potřebuje přístup ke
RFC_METADATA
skupině funkcí a příslušným modulům funkcí pro následující operace:Provozní činnosti Přístup k modulům funkcí Akce RFC RFC_GROUP_SEARCH
aDD_LANGU_TO_ISOLA
Akce BAPI BAPI_TRANSACTION_COMMIT
,BAPI_TRANSACTION_ROLLBACK
,RPY_BOR_TREE_INIT
,SWO_QUERY_METHODS
aSWO_QUERY_API_METHODS
Akce IDoc IDOCTYPES_LIST_WITH_MESSAGES
,IDOCTYPES_FOR_MESTYPE_READ
,INBOUND_IDOCS_FOR_TID
,OUTBOUND_IDOCS_FOR_TID
,GET_STATUS_FROM_IDOCNR
aIDOC_RECORD_READ
Akce čtení tabulky SAP Buďto RFC BBP_RFC_READ_TABLE
neboRFC_READ_TABLE
Poskytněte striktně omezený minimální přístup k serveru SAP pro připojení k SAP. RFC_METADATA_GET
aRFC_METADATA_GET_TIMESTAMP
Pracovní postup aplikace logiky, ze kterého chcete získat přístup k serveru SAP.
Pracovní postup Consumption ve službě Azure Logic Apps s více tenanty najdete v požadavcích na více tenantů.
Standardní pracovní postup v Azure Logic Apps s jedním tenantem najdete v požadavcích na jednoho tenanta.
Ve výchozím nastavení jsou integrované operace konektoru SAP bezstavové. Pokud chcete tyto operace spustit v stavovém režimu, přečtěte si téma Povolení stavového režimu pro bezstavové integrované konektory.
Během zpracování musí stavová komunikace zůstat u stejné instance pracovního postupu. Standardní aplikace logiky může použít škálování k distribuci úlohy do více instancí pracovního postupu v případě potřeby. Tento požadavek platí pro následující druhy operací:
Všechny akce, které určují hodnotu ID relace , například [BAPI] Potvrzení transakce.
Všechny akce, které určují hodnotu ID transakce s výjimkou následujících akcí: [IDOC - RFC] Potvrďte ID transakce a [IDoc] Získat seznam IDoc pro transakci.
Reakce na server SAP
Pokud chcete použít trigger spravovaného nebo integrovaného konektoru SAP s názvem Při přijetí zprávy, proveďte následující úlohy:
Nastavte oprávnění zabezpečení brány SAP nebo seznam řízení přístupu (ACL). V dialogovém okně Monitorování brány (T-Code SMGW), které zobrazuje soubory secinfo a reginfo, otevřete nabídku Goto a vyberte Expert Funkce>Externí zabezpečení>Údržba souborů seznamu ACL.
Vyžaduje se následující nastavení oprávnění:
P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*
Tento řádek má následující formát:
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>
Pokud oprávnění zabezpečení brány SAP nenakonfigurujete, může se zobrazit následující chyba:
Registrace Microsoft.PowerBI.EnterpriseGateway z hostitele <host-name> není povolena
Další informace najdete v článku znalostní báze SAP KB 1850230 – GW: Registrace ID< programu tp >není povoleno.
Nastavte protokolování zabezpečení brány SAP, které vám pomůže najít problémy se seznamem řízení přístupu (ACL). Další informace najdete v článku nápovědy SAP o nastavení protokolování brány.
V dialogovém okně Konfigurace připojení RFC (T-Code SM59) vytvořte připojení RFC s typem TCP/IP . Ujistěte se, že je typ aktivace nastavený na Program registrovaného serveru. Nastavte hodnotu Typ komunikace se systémem cíle připojení RFC na Unicode.
Pokud použijete tento trigger SAP s parametrem IDOC Format nastaveným na FlatFile spolu s akcí Dekódování plochého souboru, musíte vlastnost ve schématu plochého souboru použít
early_terminate_optional_fields
nastavením hodnoty natrue
.Tento požadavek je nutný, protože IDoc datový záznam plochého souboru odeslaný SAP při volání
IDOC_INBOUND_ASYNCHRONOUS
tRFC není doplněn na plnou délku pole SDATA. Azure Logic Apps poskytuje původní data IDoc s plochým souborem bez odsazení odsazení ze SAP. Pokud tento trigger SAP zkombinujete s akcí Dekódování plochého souboru , musí se schéma poskytnuté akci shodovat.V pracovních postupech Consumption a Standard používá spravovaný spouštěč SAP s názvem Když je přijata zpráva stejnou URI lokaci jak pro obnovení, tak pro zrušení odběru webhooku. Operace obnovení používá metodu HTTP
PATCH
, zatímco operace odhlášení odběru používá metodu HTTPDELETE
. Toto chování může způsobit, že se operace obnovení zobrazí jako operace odhlášení odběru v historii triggeru, ale operace je stále prodloužením, protože trigger se používáPATCH
jako metoda HTTP, nikoliDELETE
.Ve standardních pracovních postupech používá vestavěný trigger SAP s názvem Při přijetí zprávy místo toho trigger Azure Functions a zobrazuje pouze skutečná zpětná volání ze SAP.
U triggeru integrovaného konektoru SAP s názvem Při přijetí zprávy musíte povolit integraci virtuální sítě a privátní porty podle pokynů v Povolit stavový režim pro bezstavové integrované konektory v Azure Logic Apps. Jinak bez těchto požadavků nemusí mít akce s názvem Odpovědět na server SAP potřebný stav, aby správně fungovala.
Pokud chcete trigger aktivovat místně, můžete pracovní postup spustit v editoru Visual Studio Code. Další informace o požadavcích na nastavení editoru Visual Studio Code najdete v tématu Vytváření standardních pracovních postupů v Azure Logic Apps pomocí nástroje Visual Studio Code. Na počítači, na kterém instalujete Visual Studio Code, musíte také nastavit následující proměnné prostředí:
- WEBSITE_PRIVATE_IP: Nastavte tuto hodnotu proměnné prostředí na 127.0.0.1 jako adresu localhost.
- WEBSITE_PRIVATE_PORTS: Nastavte tuto hodnotu proměnné prostředí na dva bezplatné a použitelné porty v místním počítači a oddělte hodnoty čárkou (,), například 8080 80888.
Obsah zprávy, který se má odeslat na server SAP, například ukázkový soubor IDoc. Tento obsah musí být ve formátu XML a musí obsahovat obor názvů akce SAP , kterou chcete použít. IDocs můžete odeslat s plochým schématem souboru tak, že je zabalíte do obálky XML.
Ve scénářích, kde chcete odesílat IDocs z logické aplikace do SAP, změňte režim zpracování SAP z výchozího nastavení Trigger okamžitě na Trigger podle programu na pozadí, aby se předešlo vypršení časového limitu pracovního postupu.
Pokud je váš systém SAP zatížený, volání IDoc ve frontě mohou vypršet kvůli časovému limitu. Příkladem takové situace je, když váš pracovní postup odešle celou dávku IDoců najednou do systému SAP. Výchozí režim zpracování způsobí, že systém SAP zablokuje příchozí volání pro přenos IDoc, dokud zpracování IDoc nedokončí. V Azure Logic Apps mají akce pracovního postupu ve výchozím nastavení časový limit 2 minuty.
Pokud chcete změnit režim zpracování systému SAP, postupujte takto:
V SAP vyhledejte profil partnera SAP a otevřete nastavení profilů partnerů . Můžete použít kód transakce we20 (T-Code) s předponou /n .
Na kartě Možnosti příchozích přenosů v části Zpracování podle modulu funkcí změňte nastavení z spustit okamžitě na spusťte programem na pozadí.
Nastavení triggeru podle programu na pozadí umožňuje, aby se volání TRFC
IDOC_INBOUND_ASYNCHRONOUS
pro základní přenos IDoc dokončilo okamžitě, a neblokuje připojení, dokud proces IDoc nedokončí zpracování. Toto nastavení ale funguje jenom v případě, že IDoc neobsahuje segment přepisování expresního chování podle článku znalostní báze SAP KB 1777090 – IDocs se zpracovává okamžitě, i když je v WE20 vybraná možnost Aktivovat podle programu na pozadí.
Další informace najdete v následujících zdrojích informací:
Požadavky na připojení k síti
Systém SAP vyžaduje síťové připojení z hostitelského systému využívajícího knihovnu konektoru SAP .NET (NCo):
V případě pracovních postupů aplikace logiky Consumption ve víceklientské službě Azure Logic Apps hostuje místní brána dat knihovnu konektoru SAP .NET (NCo). Pokud používáte místní cluster brány dat, všechny uzly clusteru vyžadují síťové připojení k systému SAP.
V případě standardních pracovních postupů aplikací logiky v Azure Logic Apps pro jednoho tenantu hostuje prostředek aplikace logiky knihovnu konektoru SAP .NET (NCo). Takže samotný prostředek logické aplikace musí povolit integraci virtuální sítě a tato virtuální síť musí mít síťové připojení k systému SAP.
Síťové připojení vyžadované systémem SAP zahrnuje následující servery a služby:
Aplikační server SAP, služba Dispečer (pro všechny typy přihlášení)
Váš systém SAP může obsahovat několik aplikačních serverů SAP. Hostitel knihovny konektoru SAP .NET (NCo) vyžaduje přístup ke každému serveru a jejich službám.
Zprávový server SAP, Zprávová služba (pro skupinu typu přihlášení)
Server zpráv a služba budou přesměrovány na jednu nebo více dispečerských služeb aplikačního serveru. Hostitel knihovny konektoru SAP .NET (NCo) vyžaduje přístup ke každému serveru a jejich službám.
Server SAP Gateway, Gateway služba
Server SAP Gateway, zabezpečená služba brány
Síťové připojení vyžadované systémem SAP zahrnuje také tento server a službu, které se mají používat se službou Secure Network Communications (SNC).
Přesměrování požadavků z aplikačního serveru, služby dispečera na server brány, služba brány se automaticky provádí v knihovně konektoru SAP .NET (NCo). K tomuto přesměrování dochází i v případě, že parametry připojení poskytují pouze informace o serveru aplikace nebo službě Dispečera.
Pokud před systémem SAP používáte nástroj pro vyrovnávání zatížení, musíte všechny služby přesměrovat na příslušné servery.
Další informace o službách a portech SAP najdete v tématu Porty TCP/IP všech produktů SAP.
Poznámka:
Ujistěte se, že jste povolili síťové připojení z hostitele knihovny konektoru SAP .NET (NCo) a že jsou požadované porty otevřené v bránách firewall a skupinách zabezpečení sítě. V opačném případě dojde k chybám, jako je například nedostupný partner z komponenty síťového rozhraní (network interface) a text chyby, jako je WSAECONNREFUSED: Připojení odmítnuto.
Požadavky klientské knihovny SAP NCo
Pokud chcete použít konektor SAP, musíte nainstalovat klientskou knihovnu SAP Connector NCo pro Microsoft .NET 3.1. Následující seznam popisuje požadavky klientské knihovny SAP NCo na základě pracovního postupu, ve kterém používáte konektor SAP:
Verze:
V případě pracovních postupů aplikace logiky Consumption, které používají místní bránu dat, se ujistěte, že jste nainstalovali nejnovější 64bitovou verzi, konektor SAP pro Microsoft .NET 3.1.3.0 pro Windows 64 bit (x64). Brána dat běží pouze na 64bitových systémech. Při instalaci nepodporované 32bitové verze dojde k chybě chybný obraz.
Pro pracovní postupy standardní aplikace logiky můžete nainstalovat nejnovější 64bitovou nebo 32bitovou verzi konektoru SAP (NCo 3.1) pro Microsoft .NET 3.1.3.0 zkompilovanou pomocí rozhraní .NET Framework 4.6.2. Ujistěte se ale, že nainstalujete verzi, která odpovídá konfiguraci v prostředku aplikace logiky Standard. Pokud chcete zkontrolovat verzi používanou vaší aplikací logiky, postupujte takto:
V Azure Portal otevřete svůj prostředek Standard pro logické aplikace.
V nabídce prostředků aplikace logiky v části Nastavení vyberte Konfigurace.
Na stránce Konfigurace vyberte kartu Obecné nastavení . V části Nastavení platformy zkontrolujte, jestli je hodnota platformy nastavená na 64 bitů nebo 32 bitů.
Nezapomeňte nainstalovat verzi konektoru SAP (NCo 3.1) pro Microsoft .NET 3.1.3.0 zkompilovanou pomocí rozhraní .NET Framework 4.6.2 , která odpovídá vaší konfiguraci platformy.
Z výchozí instalační složky klientské knihovny zkopírujte soubory sestavení (.dll) do jiného umístění podle následujícího postupu. Nebo volitelně, pokud používáte pouze spravovaný konektor SAP, při instalaci klientské knihovny SAP NCo vyberte registraci globální mezipaměti sestavení (Global Assembly Cache). Integrovaný konektor SAP v současné době nepodporuje registraci GAC.
Pro pracovní postup Consumption, který běží ve víceklientských službách Azure Logic Apps a používá místní bránu dat, zkopírujte následující soubory sestavení (.dll) do instalační složky místní brány dat, například C:\Program Files\On-Premises Data Gateway. Klientská knihovna SAP NCo 3.0 obsahuje následující sestavení:
- libicudecnumber.dll
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Ujistěte se, že zkopírujete soubory sestavení do instalační složky brány dat. V opačném případě může připojení SAP selhat s chybovou zprávou, zkontrolujte prosím informace o účtu nebo oprávnění a zkuste to znovu. Další problémy můžete vyřešit pomocí prohlížeče protokolů vazby sestavení .NET. Tento nástroj umožňuje zkontrolovat, jestli jsou soubory sestavení ve správném umístění.
V případě standardních pracovních postupů zkopírujte následující soubory sestavení (.dll) do umístění, odkud je můžete nahrát do prostředku aplikace logiky na webu Azure Portal nebo do místního projektu aplikace logiky v editoru Visual Studio Code. Klientská knihovna SAP NCo 3.1 obsahuje následující sestavení:
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Mezi klientskou knihovnou SAP NCo, rozhraním .NET Framework, modulem runtime .NET a bránou dat existují následující relace:
Adaptér Microsoft SAP a hostitelská služba brány používají rozhraní .NET Framework 4.7.2.
SAP NCo pro .NET Framework 4.0 funguje s procesy, které používají modul runtime .NET 4.0 až 4.8.
SAP NCo pro .NET Framework 2.0 funguje s procesy, které používají modul runtime .NET 2.0 až 3.5, ale s nejnovější bránou už nefunguje.
Požadavky SNC
Pro pracovní postupy Consumption ve víceklientské službě Azure Logic Apps, které používají místní bránu dat, a volitelně SNC, musíte také nakonfigurovat následující nastavení.
Ujistěte se, že vaše verze knihovny SNC a její závislosti jsou kompatibilní s prostředím SAP. Při řešení potíží s kompatibilitou knihoven můžete použít místní bránu dat a protokoly brány dat.
Ujistěte se, že jste zkopírovali následující soubory sestavení (.dll) v klientské knihovně SAP NCo 3.0 do instalační složky místní brány dat, například C:\Program Files\On-Premises Data Gateway.
- libicudecnumber.dll
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Pro nástroj SAPGENPSE musíte výslovně použít sapgenpse.exe.
Pokud ke svému připojení zadáte osobní prostředí zabezpečení (PSE), nemusíte kopírovat a nastavovat PSE a SECUDIR pro místní bránu dat.
Pokud povolíte SNC prostřednictvím externího bezpečnostního produktu, jako je sapseculib, Kerberos nebo NTLM, ujistěte se, že knihovna SNC existuje na stejném počítači jako instalace brány dat. Pro tuto úlohu zkopírujte binární soubory knihovny SNC do stejné složky jako instalace brány dat na místním počítači, například C:\Program Files\On-Premises Data Gateway.
Poznámka:
Na počítači s instalací brány dat a knihovnou SNC nenastavujte proměnné prostředí pro SNC_LIB a SNC_LIB_64. Jinak mají tyto proměnné přednost před hodnotou knihovny SNC předanou prostřednictvím konektoru.
Pokud chcete používat SNC s jednotným přihlašováním (SSO), ujistěte se, že je služba brány dat spuštěná jako uživatel, který je namapovaný na uživatele SAP. Pokud chcete změnit výchozí účet účtu služby brány, vyberte Změnit účet a zadejte přihlašovací údaje uživatele.
Další informace o povolení SNC naleznete v tématu Povolení zabezpečené síťové komunikace (SNC).
Požadavky na prostředí Azure Logic Apps
V případě pracovního postupu Consumption ve víceklientských Azure Logic Apps se spravovaný konektor SAP integruje se systémy SAP prostřednictvím místní brány dat. Například ve scénářích, ve kterých váš pracovní postup odesílá zprávu do systému SAP, funguje brána dat jako klient RFC a předává požadavky přijaté z pracovního postupu do SAP. Podobně ve scénářích, ve kterých váš pracovní postup obdrží zprávu ze SAP, funguje brána dat jako server RFC, který přijímá požadavky ze systému SAP a předává je vašemu pracovnímu postupu.
Na hostitelském počítači nebo virtuálním počítači, který existuje ve stejné virtuální síti jako systém SAP, ke kterému se připojujete, stáhněte a nainstalujte místní bránu dat.
Brána dat pomáhá bezpečně přistupovat k místním datům a prostředkům. Ujistěte se, že používáte podporovanou verzi brány. Pokud narazíte na problém s bránou, zkuste upgradovat na nejnovější verzi, která může zahrnovat aktualizace pro vyřešení vašeho problému.
Na portálu Azure vytvořte prostředek brány Azure pro instalaci místní brány dat.
Na stejném místním počítači jako instalace místní brány dat stáhněte a nainstalujte nejnovější klientskou knihovnu SAP NCo.
Pro hostitelský počítač s nainstalovanou místní datovou bránou nakonfigurujte rozlišení názvů síťových hostitelů a služeb.
Pokud chcete použít názvy hostitelů nebo názvy služeb pro připojení z Azure Logic Apps, musíte nastavit rozlišení názvů pro každou aplikaci SAP, zprávu a server brány spolu s jejich službami.
V souboru%windir%\System32\drivers\etc\hosts nebo na serveru DNS, který je dostupný pro hostitelský počítač při instalaci místní datové brány, nastavte řešení názvů hostitelů v síti.
V souboru%windir%\System32\drivers\etc\services nastavte rozlišení názvů služeb.
Pokud pro připojení nemáte v úmyslu používat názvy hostitelů sítě nebo názvy služeb, můžete místo toho použít IP adresy hostitele a čísla portů služby.
Pokud pro systém SAP nemáte záznam DNS, zobrazí se v následujícím příkladu ukázková položka pro soubor hostitelů:
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
Následující seznam ukazuje ukázkovou sadu položek pro soubory služeb:
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
Povolení zabezpečené síťové komunikace (SNC)
Pro pracovní postup Consumption, který běží ve víceklientské službě Azure Logic Apps, můžete povolit SNC pro ověřování, které platí jenom v případě, že používáte bránu dat. Než začnete, ujistěte se, že splňujete všechny nezbytné požadavky a požadavky SNC.
Další informace o SNC najdete v tématu Začínáme se SAP SNC pro integraci RFC – blog SAP.
V Azure portálu otevřete aplikaci Consumption logic a pracovní postup v návrháři.
Přidejte operaci spravovaného konektoru SAP nebo upravte připojení pro existující operaci.
Do pole s informacemi o připojení SAP zadejte požadované informace.
Poznámka:
Pro typ ověřování je v současné době jedinou dostupnou možností Basic . Pole s uživatelským jménem SAP a heslem SAP jsou volitelná. Pokud nezadáte uživatelské jméno a heslo, konektor k ověření použije klientský certifikát uvedený v pozdějším kroku.
Pokud chcete povolit SNC, v poli s informacemi o připojení SAP vyberte Použít SNC a zadejte odpovídající požadované informace:
Parametr Popis Knihovna SNC Zadejte jednu z následujících hodnot:
– Název knihovny SNC, například sapsnc.dll
- Relativní cesta k umístění instalace NCo, například .\security\sapsnc.dll
- Absolutní cesta k umístění instalace NCo, například c:\security\sapsnc.dllJednotné přihlašování SNC Vyberte přihlášení pomocí identity SNC nebo Přihlášení s uživatelským jménem a heslem zadaným na úrovni RFC.
Identita SNC se obvykle používá k ověření volajícího. Místo toho se můžete rozhodnout ověřit pomocí uživatelského jména a hesla, ale tato hodnota parametru je stále zašifrovaná.SNC My Name Ve většině případů můžete tuto hodnotu vynechat. Řešení SNC, které je nainstalované, obvykle zná svůj vlastní název SNC. V případě, že vaše řešení podporuje více identit, možná budete muset určit identitu, která se má použít pro tento konkrétní cíl nebo server. Název partnera SNC Zadejte název back-endového SNC, například p:CN=DV3, OU=LA, O=MS, C=US. Kvalita ochrany SNC Vyberte kvalitu služby, která se má použít pro komunikaci SNC s tímto konkrétním cílem nebo serverem. Back-endový systém definuje výchozí hodnotu. Produkt zabezpečení použitý pro SNC definuje maximální hodnotu. Certifikát SNC Zadejte veřejný klíč kódovaný v base64, který má certifikát použít k identifikaci klienta do SAP.
Poznámka: Nezapomeňte postupovat podle těchto pokynů:
– Nezahrnujte záhlaví ani zápatí PEM.
- Tady nezadávejte privátní klíč pro klientský certifikát. Vaše osobní prostředí zabezpečení (PSE) musí obsahovat odpovídající privátní klíč pro tento certifikát a může obsahovat další soukromé certifikáty. Další informace najdete v dalším parametru.PSE Zadejte osobní prostředí zabezpečení SNC (PSE) jako binární soubor s kódováním base64.
– Váš PSE musí obsahovat privátní klíč pro klientský certifikát, kde kryptografický otisk odpovídá veřejnému klíči klientského certifikátu v parametru SNC certificate.
– Ačkoli váš PSE může obsahovat více klientských certifikátů, pro použití různých klientských certifikátů vytvořte samostatné pracovní postupy.Chcete-li dokončit vytváření připojení, vyberte Vytvořit nový.
Pokud jsou parametry správné, vytvoří se připojení. Pokud dojde k potížím s parametry, zobrazí se v dialogovém okně pro vytvoření připojení chybová zpráva. Při řešení potíží s parametry připojení můžete použít instalaci místní brány dat a místní protokoly brány.
Převod binárního souboru PSE do formátu kódování base64
Použijte například skript PowerShellu:
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" }
Uložte skript jako souborpseConvert.ps1 a pak ho vyvolejte, například:
.\pseConvert.ps1 -psePath "C:\Temp\SECUDIR\request.pse" -base64OutputPath "connectionInput.txt" Output written to connectionInput.txt
Pokud nezadáte parametr výstupní cesty, výstup skriptu do konzoly obsahuje konce řádků. Odeberte konce řádků v řetězci s kódováním base 64 pro vstupní parametr připojení.
Nastavení a testování odesílání IDocs ze SAP do pracovního postupu
Pokud chcete odeslat IDocs ze SAP do pracovního postupu aplikace logiky, nastavte a otestujte konfiguraci SAP pomocí pracovního postupu aplikace logiky. Tyto kroky platí jenom pro testování, protože produkční prostředí vyžadují jinou konfiguraci.
Pokud chcete odeslat IDocs ze SAP do pracovního postupu, musíte nastavit minimální konfiguraci pomocí následujícího postupu:
- Vytvořte cíl RFC.
- Vytvořte připojení ABAP (Advanced Business Application Programming).
- Vytvořte port příjemce.
- Vytvořte port odesílatele.
- Vytvořte partnera logického systému.
- Vytvořte profil partnera.
- Otestujte odesílání zpráv.
Vytvořit destinaci RFC
Tento cíl identifikuje pracovní postup aplikace logiky jako port příjemce.
V SAP otevřete konfiguraci nastavení připojení RFC . Můžete použít kód transakce sm59 (T-Code) s předponou /n .
Vyberte TCP/IP připojení>Vytvořit.
Vytvořte nový cíl RFC s následujícím nastavením:
Do cíle RFC zadejte název.
Na kartě Technická nastavení jako typ aktivace vyberte Program registrovaného serveru.
Jako ID programu zadejte hodnotu. Na serveru SAP se trigger pracovního postupu zaregistruje pomocí tohoto identifikátoru.
Důležité
ID programu SAP je citlivé na velikost písmen. Při konfiguraci pracovního postupu a serveru SAP se ujistěte, že pro ID programu konzistentně používáte stejný formát případu. V opačném případě se při pokusu o odeslání IDoc do SAP mohou v tRFC monitoru (T-Code SM58) zobrazit následující chyby:
- IDOC_INBOUND_ASYNCHRONOUS funkce nebyla nalezena.
- Klient RFC bez ABAP (typ partnera) se nepodporuje.
Další informace o SAP najdete v následujících poznámkách:
Na kartě Unicode jako Typ komunikace s cílovým systémem vyberte Unicode.
Poznámka:
Klientské knihovny SAP .NET podporují pouze kódování znaků Unicode. Pokud se při odesílání IDoc ze SAP do Azure Logic Apps zobrazí chyba Non-ABAP RFC klient (typ partnera) není podporován, zkontrolujte, jestli je hodnota Typ komunikace s cílovým systémem nastavená na Unicode.
Uložte změny.
Zaregistrujte nové ID programu ve službě Azure Logic Apps vytvořením pracovního postupu aplikace logiky, který začíná triggerem spravovaným SAP s názvem Při přijetí zprávy.
Azure Logic Apps tak při uložení pracovního postupu zaregistruje ID programu ve službě SAP Gateway.
V historii spouštěčů pracovního postupu zkontrolujte stav registrace v protokolech SAP Adapter pro místní datovou bránu, pokud je to relevantní, a v protokolech trasování SAP Gateway.
V okně monitorování SAP Gateway (T-Code SMGW) v části Logged-On Klienti se nová registrace zobrazí jako Registrovaný server.
Pokud chcete otestovat připojení, vyberte v novém cíli RFCtest připojení.
Vytvoření připojení ABAP
Toto cílové místo identifikuje váš systém SAP jako port odesílatele.
V SAP otevřete konfiguraci nastavení připojení RFC . Můžete použít kód transakce sm59 (T-Code) s předponou /n .
Vyberte ABAP připojení>Vytvořit.
Jako cíl RFC zadejte identifikátor testovacího systému SAP.
V Technických nastaveních ponechte cílového hostitele prázdného pro vytvoření místního připojení k systému SAP.
Uložte změny.
Pokud chcete otestovat připojení, vyberte Test připojení.
Vytvoření portu odesílatele
V SAP otevřete porty v nastavení zpracování IDOC . Můžete použít kód transakce we21 (T-Code) s předponou /n .
Vyberte Porty>Transakční RFC>Vytvořit.
V okně nastavení, které se otevře, vyberte vlastní název portu.
Jako testovací port zadejte název, který začíná SAP. Uložte změny.
Všechny názvy portů odesílatele musí začínat písmeny SAP, například SAPTEST.
V nastavení pro nový port odesílatele zadejte pro cíl RFC identifikátor pro připojení ABAP.
Uložte změny.
Vytvoření portu příjemce
V SAP otevřete porty v nastavení zpracování IDOC . Můžete použít kód transakce we21 (T-Code) s předponou /n .
Vyberte Porty>Transakční RFC>Vytvořit.
V okně nastavení, které se otevře, vyberte vlastní název portu. Jako testovací port zadejte název. Uložte změny.
V nastavení nového portu příjemce zadejte pro cíl RFC identifikátor vašeho testovacího cíle RFC.
Uložte změny.
Vytvořte partnera logického systému
V SYSTÉMU SAP otevřete možnost Změnit zobrazení Logických systémů: Nastavení přehledu . Můžete použít kód transakce bd54 (T-Code).
Přijměte následující upozornění, které se zobrazí:Upozornění: Tabulka je napříč klienty.
Nad seznamem, který zobrazuje vaše stávající logické systémy, vyberte Nové položky.
Pro nový logický systém zadejte identifikátor Log.System a krátký popis názvu . Uložte změny.
Jakmile se zobrazí výzva k aplikaci Workbench , vytvořte nový požadavek zadáním popisu nebo pokud jste již vytvořili žádost, tento krok přeskočte.
Po vytvoření žádosti workbench propojte tuto žádost s žádostí o aktualizaci tabulky. Pokud chcete potvrdit, že se tabulka aktualizovala, uložte provedené změny.
Vytvoření partnerských profilů
V produkčních prostředích musíte vytvořit následující dva partnerské profily:
- Jeden profil odesílatele, což je vaše organizace a systém SAP.
- Jeden profil pro příjemce, což je zdroj a tok práce aplikace logiky.
V SAP otevřete nastavení profilů partnerů . Můžete použít kód transakce we20 (T-Code) s předponou /n .
V části Partnerské profily vyberte Typ partnera LS>Vytvořit.
Vytvořte nový profil partnera s následujícím nastavením:
Nastavení Popis Partner ne. Zadejte identifikátor partnera logického systému. Partn. Typ Zadejte LS. Agent Zadejte identifikátor uživatelského účtu SAP, který se má použít při registraci identifikátorů programu pro Azure Logic Apps nebo jiných systémů než SAP. Uložte změny.
Pokud jste nevytvořili partnera logického systému, zobrazí se chyba a zadejte platné číslo partnera.
V nastavení partnerského profilu v části Odchozí parmtrs., vyberte Vytvořit odchozí parametr.
Vytvořte nový odchozí parametr s následujícím nastavením:
Zadejte typ zprávy, například CREMAS.
Zadejte identifikátor portu příjemce.
Zadejte velikost IDoc pro velikost balíčku. Nebo pokud chcete posílat IDocs jednotlivě ze SAP, vyberte možnost Okamžitě předat IDoc.
Uložte změny.
Testování odesílání zpráv
V SAP otevřete testovací nástroj pro nastavení zpracování IDoc . Můžete použít kód transakce we19 (T-Code) s předponou /n .
V části Šablona pro testování vyberte Typ zprávy. Zadejte typ zprávy, například CREMAS. Vyberte Vytvořit.
Potvrďte zprávu Který typ IDoc? výběrem Pokračovat.
Vyberte uzel EDIDC . Zadejte příslušné hodnoty pro porty příjemce a odesílatele. Zvolte Pokračovat.
Vyberte Standardní zpracování odchozích přenosů.
Pokud chcete zahájit zpracování IDoc odchozích přenosů, vyberte Pokračovat.
Jakmile nástroj dokončí zpracování, zobrazí se zpráva IDoc odeslaná do systému SAP nebo externího programu .
Ke kontrole chyb zpracování použijte kód transakce sm58 (T-Code) s předponou /n .
Vytváření pracovních postupů pro běžné scénáře SAP
Návod k vytváření pracovních postupů pro běžné úlohy integrace SAP najdete v následujících krocích:
- Příjem zprávy ze SAP
- Příjem paketů IDoc ze SAP
- Odeslání IDocs do SAP
- Generování schémat pro artefakty v SAP
Vytváření pracovních postupů pro pokročilé scénáře SAP
- Změna hlaviček jazyka pro odesílání dat do SAP
- Potvrďte transakci samostatně a vyhněte se duplicitním IDocs.
Vyhledejte rozšířené chybové logy (pouze pro spravované konektory)
Pokud používáte konektor spravovaný systémem SAP, můžete nalézt úplné chybové zprávy kontrolou rozšířených protokolů vašeho adaptéru SAP. Pro konektor SAP můžete také povolit rozšířený soubor protokolu.
U verzí místní brány dat z dubna 2020 a starších jsou protokoly ve výchozím nastavení zakázané.
Pro vydání lokální brány dat od června 2020 a dále můžete povolit protokoly brány v nastavení aplikace.
Výchozí úroveň protokolování je Upozornění.
Pokud povolíte další protokolování v nastavení diagnostiky místní aplikace brány dat, úroveň protokolování se zvýší na informační.
Abyste mohli zvýšit úroveň záznamu na podrobné, aktualizujte v konfiguračním souboru následující nastavení. Obvykle se konfigurační soubor nachází na
C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
adrese .<setting name="SapTraceLevel" serializeAs="String"> <value>Verbose</value> </setting>
Nastavení rozšířeného protokolování SAP v místní bráně dat (jenom spravovaný konektor)
Pokud pro Azure Logic Apps používáte místní bránu dat, můžete pro konektor SAP nakonfigurovat rozšířený soubor protokolu. Místní bránu dat můžete použít k přesměrování událostí trasování pro Windows (ETW) do rotujících souborů protokolu, které jsou součástí protokolování vaší brány .zip.
Všechny protokoly konfigurace a služby brány můžete exportovat do souboru .zip z nastavení aplikace brány.
Poznámka:
Rozšířené protokolování může mít vliv na výkon pracovního postupu, když je vždy povoleno. Osvědčeným postupem je vypnout rozšířené soubory protokolů po dokončení analýzy a řešení potíží.
Zachycení událostí ETW (Trasování událostí pro Windows)
Jako volitelnou pokročilou úlohu protokolování můžete přímo zaznamenávat události Trasování událostí pro Windows a pak využívat data v Diagnostice Azure ve službě Event Hubs nebo shromažďovat data do protokolů služby Azure Monitor. Další informace najdete v osvědčených postupech pro shromažďování a ukládání dat.
Pokud chcete pracovat s výslednými soubory ETL, můžete použít PerfView nebo můžete napsat vlastní program. Následující názorný postup používá nástroj PerfView:
V nabídce PerfView vyberte Collect>Collect pro zachycení událostí.
V parametru Další zprostředkovatel zadejte
*Microsoft-LobAdapter
zprostředkovatele SAP pro zachycení událostí adaptéru SAP. Pokud tyto informace nezadáte, bude trasování obsahovat pouze obecné události ETW.Ponechte ostatní výchozí nastavení. Pokud chcete, můžete změnit název souboru nebo umístění v parametru Datový soubor .
Pokud chcete zahájit trasování, vyberte Spustit kolekci .
Jakmile problém reprodukujete nebo shromáždíte dostatek analytických dat, vyberte Zastavit shromažďování.
Pokud chcete sdílet data s jinou stranou, jako jsou technici podpory Azure, komprimujte soubor ETL.
Chcete-li zobrazit obsah svého trasování:
V nástroji PerfView vyberte Otevřít soubor> a vyberte soubor ETL, který jste vygenerovali.
Na bočním panelu PerfView oddíl Události pod vaším souborem ETL.
Pod Filtr filtrujte podle
Microsoft-LobAdapter
, abyste zobrazili pouze relevantní události a procesy brány.
Otestování pracovního postupu
Na základě toho, jestli máte pracovní postup Consumption ve víceklientských azure Logic Apps nebo standardním pracovním postupu v Azure Logic Apps s jedním tenantem, postupujte podle odpovídajících kroků:
Pokud prostředek logické aplikace typu Consumption ještě není povolený, na nabídce vaší logické aplikace vyberte Přehled. Na panelu nástrojů vyberte Povolit.
Na panelu nástrojů návrháře vyberte Spustit>a spusťte pracovní postup ručně.
Pokud chcete aktivovat pracovní postup, odešlete zprávu ze systému SAP.
Vraťte se na stránku Přehled aplikace logiky. V části Historie spuštění vyhledejte všechna nová spuštění pro váš pracovní postup.
Otevřete poslední spuštění, které ukazuje ruční spuštění. Najděte a projděte si část s výstupy spouštěče.
Povolte protokolování a trasování klientské knihovny SAP (NCo) (pouze integrovaný konektor)
Pokud potřebujete prošetřit případné problémy s touto komponentou, můžete nastavit vlastní trasování NCo založené na textových souborech, které od vás může požádat podpora SAP nebo Microsoftu. Ve výchozím nastavení je tato funkce zakázaná, protože povolení tohoto trasování může negativně ovlivnit výkon a rychle využívat prostor úložiště hostitele aplikace.
Tuto funkci trasování můžete řídit na úrovni aplikace přidáním následujících nastavení:
V Azure Portal otevřete svůj prostředek Standard pro logické aplikace.
V nabídce aplikace logiky v části Nastavení vyberte Proměnné prostředí a zkontrolujte nastavení aplikace.
Na stránce Proměnné prostředí na kartě Nastavení aplikace přidejte následující nastavení aplikace:
SAP_RFC_TRACE_DIRECTORY: Adresář, kam se mají ukládat trasovací soubory NCo, například C:\home\LogFiles\NCo.
SAP_RFC_TRACE_LEVEL: Úroveň trasování NCo s Level4 jako doporučenou hodnotou pro typické podrobné protokolování. Podpora SAP nebo Microsoftu může požádat, abyste nastavili jinou úroveň trasování.
Poznámka:
Pro pracovní postupy standardní aplikace logiky, které používají modul runtime verze 1.69.0 nebo novější, můžete povolit protokolování pro více úrovní trasování oddělením každé úrovně trasování čárkou (,).
Pokud chcete zjistit verzi modulu runtime pracovního postupu, postupujte takto:
- Na webu Azure Portal v nabídce pracovního postupu vyberte Přehled.
- V části Základy vyhledejte vlastnost Verze modulu runtime .
SAP_CPIC_TRACE_LEVEL: Úroveň trasování společného programovacího rozhraní pro komunikaci (CPI-C) s doporučenou hodnotou podrobnou pro typické podrobné protokolování. Podpora SAP nebo Microsoftu může požádat, abyste nastavili jinou úroveň trasování.
Další informace o přidávání nastavení aplikace naleznete v tématu Úprava nastavení hostitele a aplikace pro standardní pracovní postupy aplikace logiky.
Uložte změny. Tento krok restartuje aplikaci.
Dostupné úrovně trasování
Úrovně trasování NCo
Hodnota | Popis |
---|---|
Úroveň 1 | Úroveň trasování vzdálených volání funkcí. |
Úroveň 2 | Úroveň trasování vzdálených volání funkcí a volání metod veřejného rozhraní API. |
Úroveň 3 | Úroveň trasování vzdálených volání funkcí, volání metod veřejného rozhraní API a volání interních metod rozhraní API. |
Úroveň 4 | Úroveň trasování vzdálených volání funkcí, volání metod veřejného API, volání metod interního API, šestnáctkové výpisy pro protokol RFC a informace související se sítí. |
Uzamčení | Zapíše data do trasovacích souborů, které ukazují okamžik, kdy vlákna požadují, získávají a uvolňují zámky na objektech. |
Metadatové informace | Sleduje metadata při každém vzdáleném volání funkce. |
Žádné | Úroveň potlačení veškerého výstupu trasování. |
ParametrData | Trasuje data kontejneru odeslaná a přijatá během každého vzdáleného volání funkce. |
Výkon | Zapisuje data do trasovacích souborů, které můžou pomoct s analýzou problémů s výkonem. |
PublicAPI | Trasuje většinu metod veřejného rozhraní API s výjimkou metod getter, setter nebo souvisejících metod. |
InternalAPI | Trasuje většinu metod interního rozhraní API s výjimkou metod getter, setter nebo souvisejících metod. |
RemoteFunctionCall | Sleduje vzdálená volání funkcí. |
RfcData | Trasuje bajty odeslané a přijaté během každého vzdáleného volání funkce. |
SessionProvider | Trasuje všechny metody aktuálně používané implementace ISessionProvider. |
NastavitHodnotu | Zapisuje informace do trasovacích souborů týkajících se hodnot nastavených pro parametry funkcí nebo polí struktur nebo tabulek. |
Úrovně trasování CPIC
Hodnota | Popis |
---|---|
Vypnuto | Žádné protokolování |
Základní | Základní logování |
Zdlouhavý | Podrobné protokolování |
VerboseWithData | Podrobné protokolování s detailními výpisy odpovědí serveru |
Prohlédnout si trasování
V nabídce prostředků aplikace logiky Standard v části Vývojové nástroje vyberte Rozšířené nástroje>Přejít.
Na panelu nástrojů Kudu vyberte Konzola pro ladění>CMD.
Přejděte do složky pro nastavení aplikace s názvem $SAP_RFC_TRACE_DIRECTORY.
Pro hodnotu nastavení aplikace C:\home\LogFiles\NCo, kterou jste nastavili dříve, se zobrazí nová složka s názvem NCo nebo jakýkoli název složky, kterou jste použili.
Otevřete složku $SAP_RFC_TRACE_DIRECTORY , která obsahuje následující soubory:
Protokoly trasování NCo: Soubor s názvem dev_nco_rfc.log, jeden nebo více souborů s názvem nco_rfc_NNNN.log a jeden nebo více souborů s názvem nco_rfc_NNNN.trc , kde NNNN je identifikátor vlákna.
Protokoly trasování CPIC: Jeden nebo více souborů s názvem nco_cpic_NNNN.trc , kde NNNN je identifikátor vlákna.
Pokud chcete zobrazit obsah v souboru protokolu nebo trasování, vyberte tlačítko Upravit vedle souboru.
Poznámka:
Pokud si stáhnete protokol nebo trasovací soubor, který je aktuálně otevřený nebo používaný pracovním postupem aplikace logiky, může stažení vést k prázdnému souboru.
Povolte trasování knihovny SAP Common Crypto Library (CCL) (pouze integrovaný konektor)
Pokud při ověřování SNC musíte prozkoumat jakékoliv problémy s kryptografickou knihovnou, můžete nastavit trasování CCL pomocí vlastních textových souborů. Protokoly CCL můžete použít k řešení problémů s ověřováním SNC, nebo je můžete sdílet s podporou Microsoftu nebo SAP, pokud o to bude požádáno. Ve výchozím nastavení je tato funkce zakázaná, protože povolení tohoto trasování může negativně ovlivnit výkon a rychle využívat prostor úložiště hostitele aplikace.
Tuto funkci trasování můžete řídit na úrovni aplikace přidáním následujících nastavení:
V Azure Portal otevřete svůj prostředek Standard pro logické aplikace.
V nabídce prostředků aplikace logiky Standard v části Vývojové nástroje vyberte Rozšířené nástroje>Přejít.
Na panelu nástrojů Kudu vyberte Konzola pro ladění>CMD.
Přesuňte se do umístění C:\home\site\wwwroot a vytvořte textový soubor, například CCLPROFILE.txt.
Další informace o parametrech protokolování naleznete v článku znalostní báze SAP KB 3192871 – Jak zkontrolovat informace o verzi knihovny CommonCryptoLib v systému ABAP. Následující ukázka obsahuje ukázkovou konfiguraci trasování:
ccl/trace/directory=C:\home\LogFiles\CCLLOGS ccl/trace/level=4 ccl/trace/rotatefilesize=10000000 ccl/trace/rotatefilenumber=10
V nabídce aplikace logiky v části Nastavení vyberte Proměnné prostředí a zkontrolujte nastavení aplikace.
Na stránce Proměnné prostředí na kartě Nastavení aplikace přidejte následující nastavení aplikace:
CCL_PROFILE: Adresář, ve kterém byl vytvořen CCLPROFILE.txt , například C:\home\site\wwwroot\CCLPROFILE.txt.
Uložte změny. Tento krok restartuje aplikaci.
Prohlédnout si trasování
V nabídce prostředků aplikace logiky Standard v části Vývojové nástroje vyberte Rozšířené nástroje>Přejít.
Na panelu nástrojů Kudu vyberte Konzola pro ladění>CMD.
Přejděte do složky pro parametr $ccl/trace/directory , který je z CCLPROFILE.txt souboru.
Trasovací soubory mají obvykle název sec-Microsoft.Azure.Work-$processId.trc a sec-sapgenpse.exe-$processId.trc.
Pracovní postup aplikace logiky provádí ověřování SNC jako dvoustupňový proces:
Pracovní postup aplikace logiky vyvolá sapgenpse.exe k vygenerování souboru cred_v2 ze souboru PSE.
Trasování související s tímto krokem najdete v souboru s názvemsec-sapgenpse.exe-$processId.trc.
Pracovní postup aplikace logiky ověřuje přístup k serveru SAP tím, že využívá vygenerovaný soubor cred_v2 s klientskou knihovnou SAP, která vyvolává společnou kryptografickou knihovnu.
Trasování související s tímto krokem najdete v souboru s názvem sec-Microsoft.Azure.Work-$processId.trc.
Odeslání telemetrie SAP z lokální datové brány do Azure Application Insights
Od aktualizace z srpna 2021 pro místní bránu dat můžou operace konektoru SAP odesílat telemetrická data z klientské knihovny SAP NCo a trasování z adaptéru Microsoft SAP do Application Insights. Tato funkce je funkce ve službě Azure Monitor. Telemetrie primárně zahrnuje následující data:
- Metriky a sledování založené na metrikách a monitorech SAP NCo
- Sledování z Microsoft SAP adaptéru
Metriky a sledování z klientské knihovny SAP NCo
Metriky založené na SAP NCo jsou číselné hodnoty, které se můžou nebo nemusí v průběhu časového období lišit v závislosti na využití a dostupnosti prostředků v lokální datové bráně. Pomocí těchto metrik můžete lépe porozumět stavu systému a vytvořit výstrahy týkající se následujících aktivit:
- Zhoršení zdraví systému
- Neobvyklé události
- Vysoké zatížení systému
Tyto informace se odesílají do tabulky Application Insights s názvem customMetrics. Ve výchozím nastavení se metriky odesílají v 30sekundových intervalech.
Trasování založené na SAP NCo zahrnují textové informace, které se používají s metrikami. Tyto informace se odesílají do tabulky Application Insights s názvem traces. Ve výchozím nastavení se záznamy odesílají každých 10 minut.
Metriky a trasování SAP NCo jsou založené na metrikách SAP NCo, konkrétně na následujících třídách NCo:
- RfcDestinationMonitor
- RfcConnectionMonitor
- Monitor serveru Rfc
- Monitor úložiště Rfc
Další informace o metrikách, které každá třída poskytuje, najdete v dokumentaci k SAP NCo.
Nastavení telemetrie SAP pro Application Insights
Než budete moct odesílat telemetrii SAP pro instalaci brány do Application Insights, musíte vytvořit a nastavit prostředek Application Insights. Další informace najdete v následující dokumentaci:
Pokud chcete povolit odesílání telemetrie SAP do Application Insights, postupujte takto:
Stáhněte balíček NuGet pro Microsoft.ApplicationInsights.EventSourceListener.dll z tohoto umístění: https://www.nuget.org/packages/Microsoft.ApplicationInsights.EventSourceListener/2.14.0.
Přidejte stažený soubor do instalačního adresáře místní brány dat, například C:\Program Files\On-Premises Data Gateway.
V instalačním adresáři místní brány dat zkontrolujte, že soubor Microsoft.ApplicationInsights.dll má stejné číslo verze jako Microsoft.ApplicationInsights.EventSourceListener.dll soubor, který jste přidali. Brána aktuálně používá verzi 2.14.0.
Do souboru ApplicationInsights.config přidejte instrumentační klíč pro Application Insights odkomentováním řádku s prvkem
<InstrumentationKey></InstrumentationKey>
. Nahraďte zástupný symbol your-Application-Insights-instrumentation-key vaším klíčem, například:<?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>
V souboru ApplicationInsights.config můžete podle svých požadavků změnit požadovanou hodnotu trasování pro operace konektoru
Level
SAP, například:<Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener"> <Sources> <Add Name="Microsoft-LobAdapter" Level="Verbose" /> </Sources> </Add>
Další informace najdete v následující dokumentaci:
Level
hodnoty: EventLevel výčtový typ
Po použití změn restartujte službu místní brány dat.
Přehled metrik v Aplikace Insights
Po spuštění operací SAP v pracovním postupu aplikace logiky můžete zkontrolovat telemetrii odeslanou do Application Insights.
Na webu Azure Portal otevřete prostředek Application Insights.
V nabídce prostředků v části Monitorování vyberte Protokoly.
Následující snímek obrazovky ukazuje web Azure Portal, na kterém má prostředek Application Insights otevřenou stránku Protokoly :
Na stránce Protokoly můžete vytvořit dotaz, který na základě vašich konkrétních požadavků používá dotazovací jazyk Kusto (KQL).
Vzor dotazu můžete použít podobný následujícímu ukázkovém dotazu:
customMetrics | extend DestinationName = tostring(customDimensions["DestinationName"]) | extend MetricType = tostring(customDimensions["MetricType"]) | where customDimensions contains "RfcDestinationMonitor" | where name contains "MaxUsedCount"
Po spuštění dotazu zkontrolujte výsledky.
Následující snímek obrazovky ukazuje tabulku výsledků metrik ukázkového dotazu:
Sloupec Popis MaxUsedCount "Maximální počet klientských připojení, která byla současně používána monitorovaným cílem.", jak je popsáno v dokumentaci SAP NCo. Tuto hodnotu můžete použít k pochopení počtu současně otevřených připojení. valueCount Zobrazuje 2 pro každé čtení, protože metriky se generují v 30sekundových intervalech. Application Insights agreguje tyto metriky po minutách. DestinationName Obsahuje řetězec znaků, který je interním názvem adaptéru Microsoft SAP Adapter. Chcete-li lépe porozumět tomuto cíli volání vzdálené funkce (RFC), použijte tuto hodnotu například s
traces
: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
Pomocí těchto funkcí v Application Insights můžete také vytvářet grafy metrik nebo výstrahy, například:
Sledování z Microsoft SAP adaptéru
Sledování odeslané z Microsoft SAP adaptéru můžete použít k následné analýze a k vyhledání jakýchkoli existujících interních systémových chyb, které se můžou nebo nemusí projevit v důsledku operací konektoru SAP. Tyto stopy mají nastaveno message
na "n\a"
, protože pocházejí z dřívějšího rámce zdroje událostí, který předcházel Application Insights, například:
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"
Následující snímek obrazovky ukazuje tabulku výsledků trasování ukázkového dotazu: