Azure Logic Apps'te yaygın SAP tümleştirme senaryoları için iş akışları oluşturma
Şunlar için geçerlidir: Azure Logic Apps (Tüketim + Standart)
Bu nasıl yapılır kılavuzunda Azure Logic Apps ve SAP bağlayıcısını kullanarak bazı yaygın SAP tümleştirme senaryoları için örnek mantıksal uygulama iş akışlarının nasıl oluşturulacağı gösterilmektedir.
Hem Standart hem de Tüketim mantıksal uygulaması iş akışları, çok kiracılı Azure'da barındırılan ve çalışan SAP yönetilen bağlayıcısını sunar. Standart iş akışları, tek kiracılı Azure Logic Apps'te barındırılan ve çalıştırılan SAP yerleşik hizmet sağlayıcısı bağlayıcısını da sunar. Daha fazla bilgi için bkz . Bağlayıcı teknik başvurusu.
Önkoşullar
- Başlamadan önce, belirli senaryonuz için SAP bağlayıcısı gereksinimlerini gözden geçirmeyi ve karşılamayı unutmayın.
Çözümünüzü test etmek için HTTP istekleri gönderebilen bir araç yükleyin veya kullanın, örneğin:
- Visual Studio Market'ten uzantılı Visual Studio Code
- PowerShell Invoke-RestMethod
- Microsoft Edge - Ağ Konsolu aracı
- Bruno
- Curl
Dikkat
Kimlik bilgileri, gizli diziler, erişim belirteçleri, API anahtarları ve diğer benzer bilgiler gibi hassas verileriniz olduğu senaryolarda, verilerinizi gerekli güvenlik özellikleriyle koruyan, çevrimdışı veya yerel olarak çalışan, verilerinizi bulutla eşitlemeyen ve çevrimiçi bir hesapta oturum açmanızı gerektirmeyen bir araç kullandığınızdan emin olun. Bu şekilde, hassas verileri herkese açık hale getirmekle ilgili riski azaltırsınız.
SAP'tan ileti alma
Aşağıdaki örnek mantıksal uygulama iş akışı, iş akışının SAP tetikleyicisi bir SAP sunucusundan bir ileti aldığında tetikler.
SAP tetikleyicisi ekleme
Çok kiracılı Azure Logic Apps'te Tüketim iş akışına veya tek kiracılı Azure Logic Apps'te Standart iş akışına sahip olmanıza bağlı olarak, ilgili adımları izleyin:
Azure portalında Tüketim mantığı uygulamanızı ve boş iş akışınızı tasarımcıda açın.
Tasarımcıda, ileti alındığında adlı SAP yönetilen bağlayıcı tetikleyicisini eklemek için bu genel adımları izleyin.
İstenirse, şirket içi SAP sunucunuz için aşağıdaki bağlantı bilgilerini sağlayın. Bitirdiğinizde Oluştur'u seçin. Aksi takdirde, SAP tetikleyicinizi ayarlamak için sonraki adımla devam edin.
Parametre Zorunlu Açıklama Bağlantı adı Yes Bağlantı için bir ad girin. Veri Ağ Geçidi Yes 1. Abonelik için, veri ağ geçidi yüklemeniz için Azure portalında oluşturduğunuz veri ağ geçidi kaynağının Azure aboneliğini seçin.
2. Bağlantı Ağ Geçidi için Azure'da veri ağ geçidi kaynağınızı seçin.İstemci Yes SAP sunucunuza bağlanmak için kullanılacak SAP istemci kimliği Kimlik Doğrulaması Türü Yes Bağlantınız için kullanılacak kimlik doğrulama türü( Temel (kullanıcı adı ve parola) olmalıdır. SNC bağlantısı oluşturmak için bkz . Güvenli Ağ İletişimlerini (SNC) Etkinleştirme. SAP Kullanıcı Adı Yes SAP sunucunuzun kullanıcı adı SAP Parolası Yes SAP sunucunuzun parolası Oturum Açma Türü Yes Uygulama Sunucusu'nu veya Grubu (İleti Sunucusu) seçin ve ardından isteğe bağlı görünseler bile ilgili gerekli parametreleri yapılandırın:
Uygulama Sunucusu:
- AS Konağı: SAP Application Server'ınızın ana bilgisayar adı
- AS Hizmeti: SAP Uygulama Sunucunuzun hizmet adı veya bağlantı noktası numarası
- AS Sistem Numarası: SAP sunucunuzun 00 ile 99 arasında değişen sistem numarası
Grup:
- MS Server Konağı: SAP İleti Sunucunuzun ana bilgisayar adı
- MS Hizmet Adı veya Bağlantı Noktası Numarası: SAP İleti Sunucunuz için hizmet adı veya bağlantı noktası numarası
- MS Sistem Kimliği: SAP sunucunuzun sistem kimliği
- MS Oturum Açma Grubu: SAP sunucunuzun oturum açma grubu. SAP sunucunuzda CCMS: Oturum Açma Gruplarını Koru (T-Code SMLG) iletişim kutusunu açarak Oturum Açma Grubu değerini bulabilir veya düzenleyebilirsiniz. Daha fazla bilgi için SAP Note 26317 - Otomatik yük dengeleme için LOGON grubu ayarlama makalesini gözden geçirin.Güvenli Yazma Hayır Bu seçenek geriye dönük uyumluluk için kullanılabilir ve yalnızca dize uzunluğunu denetler. Varsayılan olarak, şemada XML doğrulaması gerçekleştirerek geçersiz değerleri denetlemek için güçlü yazma kullanılır. Bu davranış, sorunları daha önce algılamanıza yardımcı olabilir. Güvenli Yazma ayarı hakkında daha fazla bilgi edinin. SNC kullanma Hayır SNC bağlantısı oluşturmak için bkz . Güvenli Ağ İletişimlerini (SNC) Etkinleştirme. İsteğe bağlı diğer kullanılabilir bağlantı parametreleri için bkz . Varsayılan bağlantı bilgileri.
Azure Logic Apps bağlantınızı ayarlayıp test ettikten sonra tetikleyici bilgileri kutusu görüntülenir. Gerçekleşebilecek bağlantı sorunları hakkında daha fazla bilgi için bkz . Bağlantı sorunlarını giderme.
SAP sunucu yapılandırmanıza ve senaryonuza bağlı olarak, İleti alındığında tetikleyicisi için gerekli parametre değerlerini sağlayın ve senaryonuzda kullanmak istediğiniz diğer kullanılabilir tetikleyici parametrelerini ekleyin.
Not
Bu SAP tetikleyicisi yoklama tetikleyicisi değil web kancası tabanlı bir tetikleyicidir ve yoklama zamanlaması belirtme seçeneklerini içermez. Örneğin, yönetilen SAP bağlayıcısını şirket içi veri ağ geçidiyle kullandığınızda, tetikleyici yalnızca bir ileti geldiğinde veri ağ geçidinden çağrılır, bu nedenle yoklama gerekmez.
Parametre Zorunlu Açıklama GatewayHost Yes SAP RFC sunucusu için kayıt ağ geçidi konağı GatewayService Yes SAP RFC sunucusu için kayıt ağ geçidi hizmeti Program Kimliği Yes SAP RFC sunucusunun kayıt ağ geçidi program kimliği.
Not: Bu değer büyük/küçük harfe duyarlıdır. Mantıksal uygulama iş akışınızı ve SAP sunucunuzu yapılandırırken Program Kimliği değeri için tutarlı olarak aynı durum biçimini kullandığınızdan emin olun. Aksi takdirde, SAP'ye bir IDoc göndermeye çalıştığınızda, tRFC İzleyicisi (T-Code SM58) aşağıdaki hataları gösterebilir (bağlantılarda SAP oturum açma işlemi gerekir):
- İşlev IDOC_INBOUND_ASYNCHRONOUS bulunamadı (2399329)
- ABAP olmayan RFC istemcisi (iş ortağı türü) desteklenmiyor (353597)DegreeOfParallelism Hayır Paralel olarak işlenmek üzere çağrı sayısı. Bu parametreyi eklemek ve değeri değiştirmek için, Yeni parametre ekle listesinden DegreeOfParallelism'i seçin ve yeni değeri girin. SapActions Hayır SAP sunucunuzdan aldığınız iletileri BIR SAP eylemleri listesine göre filtreleyin. Bu parametreyi eklemek için Yeni parametre ekle listesinde SapActions'ı seçin. Yeni SapActions bölümünde SapActions - 1 parametresi için dosya seçiciyi kullanarak bir SAP eylemi seçin veya el ile bir eylem belirtin. SAP eylemi hakkında daha fazla bilgi için bkz . IDoc işlemleri için ileti şemaları. IDoc Biçimi Hayır IDocs almak için kullanılacak biçim. Bu parametreyi eklemek için Yeni parametre ekle listesindeN IDoc Biçimi'ni seçin.
- IDocs'u SAP düz XML olarak almak için, IDoc Biçimi listesinden SapPlainXml'yi seçin.
- IDocs'ı düz dosya olarak almak için IDoc Biçimi listesinde FlatFile'ı seçin.
- Not: İş akışınızda Düz Dosya Kod Çözme eylemini de kullanıyorsanız, düz dosya şemanızda early_terminate_optional_fields özelliğini kullanmanız ve değeri true olarak ayarlamanız gerekir. AdlıIDOC_INBOUND_ASYNCHRONOUS
tRFC çağrısında SAP tarafından gönderilen düz dosya IDoc veri kaydı tam SDATA alanı uzunluğuna doldurulmadığından bu gereksinim gereklidir. Azure Logic Apps, SAP'den alınan doldurma olmadan düz dosya IDoc özgün verilerini sağlar. Ayrıca, bu SAP tetikleyicisini Düz Dosya Kod Çözme eylemiyle birleştirdiğinizde, eyleme sağlanan şema eşleşmelidir.İDOCS'i yayınlanmamış segmentlerle alma Hayır IDocs'ları yayınlanmamış segmentlerle veya segmentler olmadan alın. Bu parametreyi eklemek ve değeri değiştirmek için, Yeni parametre ekle listesindeN İDOCS'yi yayınlanmamış kesimlerle al'ı ve evet veya hayır'ı seçin. SncPartnerNames Hayır SAP istemci kitaplığı düzeyinde tetikleyiciyi çağırma izinlerine sahip SNC iş ortaklarının listesi. SAP sunucusunun SNC bağlantısı yalnızca listelenen iş ortakları tarafından yetkilendirilmiştir. Bu parametreyi eklemek için Yeni parametre ekle listesindeN SncPartnerNames'i seçin. Her adı dikey çubukla (| ) ayırarak girdiğinizden emin olun. Aşağıdaki örnekte, Tüketim iş akışında temel olarak yapılandırılmış SAP yönetilen tetikleyicisi gösterilmektedir:
Aşağıdaki örnek, SAP eylemlerini seçerek iletileri filtreleyebileceğiniz SAP yönetilen tetikleyicisini gösterir:
Ya da bir eylemi el ile belirterek:
Aşağıdaki örnekte, tetikleyiciyi birden fazla ileti alacak şekilde ayarladığınızda eylemin nasıl göründüğü gösterilmektedir:
SAP sunucunuzdan ileti almaya başlayabilmeniz için iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.
İş akışınız artık SAP sunucunuzdan ileti almaya hazırdır.
Tetikleyici iş akışınızı tetikleyip çalıştırdıktan sonra, tetikleyici kaydının başarılı olduğunu onaylamak için iş akışının tetikleyici geçmişini gözden geçirin.
SAP'den IDoc paketleri alma
Toplu iş veya IDocs grupları olan IDoc paketlerini almak için SAP tetikleyicisinin ek yapılandırmaya ihtiyacı yoktur. Ancak, tetikleyici paketi aldıktan sonra bir IDoc paketindeki her öğeyi işlemek için SAP'yi paketlerde IDocs gönderecek şekilde ayarlayarak paketi ayrı IDocs'lara bölmek için birkaç adım daha uygulamanız gerekir.
Aşağıdaki örnek iş akışında işlevi kullanılarak bir paketten tek tek IDocs'ların nasıl ayıklanması gösterilmektedir:xpath()
Başlamadan önce SAP tetikleyicisi olan bir Tüketim veya Standart mantıksal uygulama iş akışı gerekir. İş akışınız bu tetikleyiciyle başlamadıysa, iş akışınıza ileti alabilen SAP tetikleyicisini eklemek için bu kılavuzdaki önceki adımları izleyin.
SAP sunucunuzu SAP isteği durumuyla hemen yanıtlamak için, SAP tarafından yönetilen tetikleyici mi yoksa SAP yerleşik tetikleyicisi mi kullandığınıza bağlı olarak aşağıdaki yanıt eylemini ekleyin:
SAP yönetilen tetikleyicisi: Bu tetikleyici için iş akışınıza bir Yanıt eylemi ekleyin.
Yanıt eyleminde aşağıdaki durum kodlarından birini (
statusCode
kullanın):Durum kodu Açıklama 202 Kabul Edildi İstek işleme için kabul edildi, ancak işleme henüz tamamlanmadı. 204 İçerik Yok Sunucu isteği başarıyla yerine getirdi ve yanıt yükü gövdesinde gönderilecek ek içerik yok. 200 Tamam Sunucu sıfır uzunlukta bir yük gövdesi oluştursa bile bu durum kodu her zaman bir yük içerir. SAP yerleşik tetikleyicisi: Bu tetikleyici için SAP sunucusuna yanıt ver eylemini iş akışınıza ekleyin.
Not
En iyi uygulama olarak, SAP sunucunuzla iletişim kanalını boşaltmak için tetikleyiciden hemen sonra yanıt eylemini ekleyin.
İş akışınızın SAP'den aldığı XML IDoc'tan kök ad alanını alın.
Bu ad alanını XML belgesinden ayıklamak ve ad alanını yerel bir dize değişkeninde depolamak için Değişkeni başlat eylemini ekleyin.
Eylemin başlığını alınan IDoc'taki kök düğüm için ad alanını al olarak yeniden adlandırın.
Değişken için bir ad girin ve türünü Dize olarak ayarlayın.
Eylemin Value parametresinde düzenleme kutusunun içini seçin, ifadeyi veya işlev düzenleyicisini açın ve işlevini kullanarak aşağıdaki ifadeyi
xpath()
oluşturun:xpath(xml(triggerBody()?['Content']), 'namespace-uri(/*)')
Tüketim iş akışı
Standart iş akışı
İşiniz bittiğinde ifade çözülür ve şimdi aşağıdaki biçim olarak görünür:
IDoc koleksiyonunu yerel bir dizi değişkeninde depolayarak tek bir IDoc'u ayıklamak için şu adımları izleyin:
Başka bir Değişken başlatma eylemi ekleyin.
Eylemin başlığını IDoc veri öğeleriyle dizi al olarak yeniden adlandırın.
Değişken için bir ad girin ve türü Dizi olarak ayarlayın.
Dizi değişkeni, her bir IDoc'un koleksiyon üzerinde numaralandırarak iş akışınızda ayrı ayrı işlenmesini sağlar.
Eylemin Value parametresinde düzenleme kutusunun içini seçin, ifadeyi veya işlev düzenleyicisini açın ve aşağıdaki
xpath()
ifadeyi oluşturun:xpath(xml(triggerBody()?['Content']), '/*[local-name()="Receive"]/*[local-name()="idocData"]')
İşiniz bittiğinde ifade çözülür ve şimdi aşağıdaki biçim olarak görünür:
Tüketim iş akışı
Bu örnekte, aşağıdaki iş akışı her bir IDoc'u Her biri için adlı bir Denetim eylemini ve Dosya oluştur adlı SFTP-SSH eylemini kullanarak bir SFTP sunucusuna aktarır. Her IDoc, IDoc'yi aşağı akış uygulamasına veya bu durumda SFTP sunucusuna göndermeden önce dosya içeriğinin kök ad alanıyla birlikte bir
<Receive></Receive>
öğenin içinde sarmalanmış olmasının nedeni olan kök ad alanını içermelidir.Not
Tüketim iş akışları için bu desen, bir Tüketim mantıksal uygulaması kaynağı ve boş iş akışı oluşturduğunuzda şablon galerisinden seçebileceğiniz bir hızlı başlangıç şablonu olarak kullanılabilir. veya iş akışı tasarımcısı açıkken tasarımcı araç çubuğunda Şablonlar'ı seçin.
Standart iş akışı
Bu örnekte, aşağıdaki iş akışı her bir IDoc'u Her biri için adlı bir Denetim eylemini ve Dosya oluştur adlı SFTP-SSH eylemini kullanarak bir SFTP sunucusuna aktarır. Her IDoc, IDoc'yi aşağı akış uygulamasına veya bu durumda SFTP sunucusuna göndermeden önce dosya içeriğinin kök ad alanıyla birlikte bir
<Receive></Receive>
öğenin içinde sarmalanmış olmasının nedeni olan kök ad alanını içermelidir.
Alınan iletileri SAP eylemleriyle filtreleme
İş akışınızda tetikleyicinin altında SAP yönetilen bağlayıcısını kullanıyorsanız, alınan XML yükündeki kök düğüm ad alanına göre SAP sunucunuzdaki istenmeyen eylemleri açıkça filtrelemek için bir yol ayarlayın. Tek veya birden çok SAP eylemi içeren bir liste (dizi) sağlayabilirsiniz. Varsayılan olarak, bu dizi boş olur ve bu da iş akışınızın sap sunucunuzdaki tüm iletileri filtrelemeden aldığı anlamına gelir. Dizi filtresini ayarladığınızda, tetikleyici yalnızca belirtilen SAP eylem türlerinden iletiler alır ve SAP sunucunuzdan gelen diğer tüm iletileri reddeder. Ancak bu filtre, alınan yükün yazma işleminin zayıf mı yoksa güçlü mü olduğunu etkilemez. Tüm SAP eylem filtrelemeleri, şirket içi veri ağ geçidiniz için SAP Bağdaştırıcısı düzeyinde gerçekleşir. Daha fazla bilgi için SAP'den Azure Logic Apps'e IDocs göndermeyi test etme makalesini gözden geçirin.
Tetikleyiciler için zaman uyumsuz istek-yanıt deseni ayarlama
SAP yönetilen bağlayıcısı, Azure Logic Apps tetikleyicileri için Azure'ın zaman uyumsuz istek-yanıt desenini destekler. Aksi takdirde varsayılan zaman uyumlu istek-yanıt düzeniyle başarısız olabilecek başarılı istekler oluşturmak için bu düzeni kullanabilirsiniz.
Not
Birden çok Yanıt eylemi olan iş akışlarında, tüm Yanıt eylemleri aynı istek-yanıt desenini kullanmalıdır. Örneğin, iş akışınız birden çok olası Yanıt eylemiyle bir anahtar denetimi kullanıyorsa, tüm Yanıt eylemlerini zaman uyumlu veya zaman uyumsuz olarak aynı istek-yanıt desenini kullanacak şekilde ayarlamanız gerekir.
Yanıt eyleminiz için zaman uyumsuz bir yanıtı etkinleştirirseniz, iş akışınız işleme isteğini kabul ettikten sonra 202 Kabul Edildi yanıtıyla yanıt verebilir. Yanıt, isteğinizin son durumunu almak için kullanabileceğiniz bir konum üst bilgisi içerir.
SAP bağlayıcısını kullanarak iş akışınız için zaman uyumsuz bir istek-yanıt deseni yapılandırmak için şu adımları izleyin:
Tasarımcıda mantıksal uygulama iş akışınızı açın. İş akışınızın bir SAP tetikleyicisiyle başladığını onaylayın.
İş akışınızda Yanıt eylemini bulun ve bu eylemin Ayarlar'ını açın.
Tüketim veya Standart iş akışınız olup olmadığına bağlı olarak, ilgili adımları izleyin:
- Tüketim: Zaman Uyumsuz Yanıt'ın altında Kapalı olan ayarı Açık duruma getirin ve Bitti'yi seçin.
- Standart: Ağ İletişimi'ni genişletin ve Zaman Uyumsuz Yanıt'ın altında Ayarı Kapalı'dan Açık'a getirin.
İş akışınızı kaydedin.
IDocs'ı SAP'ye gönderme
SAP sunucusuna IDoc gönderen ve yanıt döndüren bir mantıksal uygulama iş akışı oluşturmak için şu örnekleri izleyin:
- HTTP isteği tarafından tetiklenen bir mantıksal uygulama iş akışı oluşturun.
- SAP'ye IDoc göndermek için iş akışınıza bir SAP eylemi ekleyin.
- İş akışınıza bir yanıt eylemi ekleyin.
- SAP ABAP'den yanıt almak için RFC kullanıyorsanız, bir uzak işlev çağrısı (RFC) istek-yanıt deseni oluşturun.
- İş akışınızı test edin.
İstek tetikleyicisini ekleme
İş akışınızın XML HTTP üzerinden SAP'den IDocs almasını sağlamak için İstek yerleşik tetikleyicisini kullanabilirsiniz. Bu tetikleyici, SAP sunucunuzun iş akışınıza HTTP POST istekleri gönderebileceği bir URL'ye sahip bir uç nokta oluşturur. İş akışınız bu istekleri aldığında tetikleyici tetikler ve iş akışınızda bir sonraki adımı çalıştırır.
Ortak Programlama Arabirimi İletişimi (CPIC) üzerinden IDocs'ları düz XML veya düz dosya olarak almak için SAP'den ileti alma bölümünü gözden geçirin.
Çok kiracılı Azure Logic Apps'te Tüketim iş akışına veya tek kiracılı Azure Logic Apps'te Standart iş akışına sahip olmanıza bağlı olarak, ilgili adımları izleyin:
Azure portalında bir Tüketim mantığı uygulaması kaynağı ve tasarımcıda boş bir iş akışı oluşturun.
Tasarımcıda, HTTP isteği alındığında adlı İstek yerleşik tetikleyicisini bulmak ve eklemek için bu genel adımları izleyin.
İş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.
Bu adım, tetikleyicinizin SAP sunucunuzdan istek alabileceği bir uç nokta URL'si oluşturur, örneğin:
IDoc göndermek için SAP eylemi ekleme
Ardından, iş akışının İstek tetikleyicisi tetiklendiğinde IDoc'unuzu SAP'ye göndermek için bir eylem oluşturun. Çok kiracılı Azure Logic Apps'te Tüketim iş akışına veya tek kiracılı Azure Logic Apps'te Standart iş akışına sahip olmanıza bağlı olarak, ilgili adımları izleyin:
İş akışı tasarımcısında, İstek tetikleyicisinin altında Yeni adım'ı seçin.
Tasarımcıda, SAP'ye ileti gönder adlı SAP yönetilen eylemini bulmak ve eklemek için bu genel adımları izleyin.
İstenirse, şirket içi SAP sunucunuz için aşağıdaki bağlantı bilgilerini sağlayın. Bitirdiğinizde Oluştur'u seçin. Aksi takdirde, SAP eylemini ayarlamak için sonraki adımla devam edin.
Parametre Zorunlu Açıklama Bağlantı adı Yes Bağlantı için bir ad girin. Veri Ağ Geçidi Yes 1. Abonelik için, veri ağ geçidi yüklemeniz için Azure portalında oluşturduğunuz veri ağ geçidi kaynağının Azure aboneliğini seçin.
2. Bağlantı Ağ Geçidi için Azure'da veri ağ geçidi kaynağınızı seçin.İstemci Yes SAP sunucunuza bağlanmak için kullanılacak SAP istemci kimliği Kimlik Doğrulaması Türü Yes Bağlantınız için kullanılacak kimlik doğrulama türü( Temel (kullanıcı adı ve parola) olmalıdır. SNC bağlantısı oluşturmak için bkz . Güvenli Ağ İletişimlerini (SNC) Etkinleştirme. SAP Kullanıcı Adı Yes SAP sunucunuzun kullanıcı adı SAP Parolası Yes SAP sunucunuzun parolası Oturum Açma Türü Yes Uygulama Sunucusu'nu veya Grubu (İleti Sunucusu) seçin ve ardından isteğe bağlı görünseler bile ilgili gerekli parametreleri yapılandırın:
Uygulama Sunucusu:
- AS Konağı: SAP Application Server'ınızın ana bilgisayar adı
- AS Hizmeti: SAP Uygulama Sunucunuzun hizmet adı veya bağlantı noktası numarası
- AS Sistem Numarası: SAP sunucunuzun 00 ile 99 arasında değişen sistem numarası
Grup:
- MS Server Konağı: SAP İleti Sunucunuzun ana bilgisayar adı
- MS Hizmet Adı veya Bağlantı Noktası Numarası: SAP İleti Sunucunuz için hizmet adı veya bağlantı noktası numarası
- MS Sistem Kimliği: SAP sunucunuzun sistem kimliği
- MS Oturum Açma Grubu: SAP sunucunuzun oturum açma grubu. SAP sunucunuzda CCMS: Oturum Açma Gruplarını Koru (T-Code SMLG) iletişim kutusunu açarak Oturum Açma Grubu değerini bulabilir veya düzenleyebilirsiniz. Daha fazla bilgi için SAP Note 26317 - Otomatik yük dengeleme için LOGON grubu ayarlama makalesini gözden geçirin.Güvenli Yazma Hayır Bu seçenek geriye dönük uyumluluk için kullanılabilir ve yalnızca dize uzunluğunu denetler. Varsayılan olarak, şemada XML doğrulaması gerçekleştirerek geçersiz değerleri denetlemek için güçlü yazma kullanılır. Bu davranış, sorunları daha önce algılamanıza yardımcı olabilir. Güvenli Yazma ayarı hakkında daha fazla bilgi edinin. SNC kullanma Hayır SNC bağlantısı oluşturmak için bkz . Güvenli Ağ İletişimlerini (SNC) Etkinleştirme. İsteğe bağlı diğer kullanılabilir bağlantı parametreleri için bkz . Varsayılan bağlantı bilgileri.
Azure Logic Apps bağlantınızı ayarlayıp test ettikten sonra SAP eylem bilgileri kutusu görüntülenir. Gerçekleşebilecek bağlantı sorunları hakkında daha fazla bilgi için bkz . Bağlantı sorunlarını giderme.
SAP'ye ileti gönder eyleminde, IDoc'u göndermek için SAP sunucunuzda kullanılabilir bir SAP eylemi bulun ve seçin.
SAP'ye ileti gönder eylemi geneldir ve BAPI, IDoc, RFC veya tRFC için bir ileti gönderebilir, ancak önce kullanılacak ileti türünü ve SAP eylemini seçmeniz gerekir.
SAP Action parametresinin düzenleme kutusunda klasör simgesini seçin. Açılan listeden BAPI, IDOC, RFC veya TRFC'yi seçin. Bu örnekte IDOC seçilir. Farklı bir tür seçerseniz, kullanılabilir SAP eylemleri seçiminize göre değişir.
Not
Hatalı Ağ Geçidi (500) hatası veya Hatalı istek (400) hatası alırsanız bkz. 500 Hatalı Ağ Geçidi veya 400 Hatalı İstek hatası.
Kullanmak istediğiniz SAP eylemini bulmak ve seçmek için okları kullanarak SAP eylem türleri klasörlerine göz atın.
Bu örnekte ORDERS>ORDERS05>720>Send seçilmektedir.
İstediğiniz eylemi bulamıyorsanız, el ile bir yol girebilirsiniz, örneğin:
İpucu
SAP Action parametresi için, parametre değerini sağlamak için ifade düzenleyicisini kullanabilirsiniz. Bu şekilde, farklı ileti türleri için aynı SAP eylemini kullanabilirsiniz.
IDoc iletileri hakkında daha fazla bilgi için bkz . IDoc işlemleri için ileti şemaları.
SAP'ye ileti gönder eylemine İstek tetikleyicisinden gövde çıkışını ekleyin.
Giriş İletisi parametresinde, dinamik içerik listesini açmak için düzenleme kutusunun içini seçin.
Dinamik içerik listesinde HTTP isteği alındığında altında Gövde'yi seçin. Gövde alanı İstek tetikleyicisinden gövde çıkışını içerir.
Not
Gövde alanı listede görünmüyorsa, HTTP isteği alındığında etiketinin yanında Daha fazlası'nı seçin.
İLETIyi SAP'ye gönder eylemi artık İstek tetikleyicisinden gövde içeriğini içerir ve bu çıkışı SAP sunucunuza gönderir, örneğin:
İş akışınızı kaydedin.
Düz dosya IDocs'larını SAP sunucusuna gönderme (yalnızca Yönetilen bağlayıcı)
SAP yönetilen bağlayıcısını kullanırken düz dosya şeması kullanarak bir IDoc göndermek için, IDoc'u bir XML zarfı içine sarmalayabilir ve IDoc göndermek üzere bir SAP eylemi eklemek için genel adımları izleyebilirsiniz, ancak aşağıdaki değişikliklerle.
Not
SAP yerleşik bağlayıcısını kullanıyorsanız düz dosya IDoc'unu XML zarfı içinde sarmalamadığınızdan emin olun.
XML zarfı ile IDoc sarmalama
İletiyi göndermek için kullandığınız SAP eyleminde aşağıdaki URI'yi kullanın:
http://Microsoft.LobServices.Sap/2007/03/Idoc/SendIdoc
Giriş iletinizi XML zarfı ile biçimlendirin.
Aşağıdaki örnekte örnek xml yükü gösterilmektedir:
<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>
Yanıt eylemi ekleme
Şimdi, SAP sunucunuzdan sonuçları özgün istek sahibine döndürmek için iş akışınızı ayarlayın. Bu görev için şu adımları izleyin:
İş akışı tasarımcısında, SAP eyleminin altında Yeni adım'ı seçin.
Tasarımcıda, Yanıt adlı yerleşik İstek eylemini bulmak ve eklemek için bu genel adımları izleyin.
Yanıt eyleminde Gövde parametresi için düzenleme kutusunun içini seçerek dinamik içerik listesini açın.
Dinamik içerik listesinde, İLETIyi SAP'ye gönder'in altında Gövde'yi seçin. Gövde alanı SAP eyleminden gövde çıkışını içerir.
İş akışınızı kaydedin.
Uzak işlev çağrısı (RFC) istek-yanıt deseni oluşturma
SAP yönetilen bağlayıcısını kullanan Tüketim iş akışları için, SAP ABAP'den Azure Logic Apps'e uzak işlev çağrısı (RFC) kullanarak yanıt almanız gerekiyorsa, bir istek ve yanıt deseni uygulamanız gerekir. İstek tetikleyicisini kullandığınızda iş akışınızda IDocs almak için, iş akışının ilk eyleminin içerik olmadan 200 Tamam durum kodunu kullanan bir Yanıt eylemi olduğundan emin olun. Bu önerilen adım, sap CPIC konuşmasını yeniden kullanılabilir durumda bırakan tRFC üzerinden SAP Mantıksal çalışma birimi (LUW) zaman uyumsuz aktarımını hemen tamamlar. Daha sonra daha sonraki aktarımları engellemeden alınan IDoc'un işlenmesi için iş akışınıza daha fazla eylem ekleyebilirsiniz.
Not
SAP tetikleyicisi, tasarım gereği yanıt parametresi olmayan tRFC üzerinden IDocs alır.
İstek ve yanıt deseni uygulamak için, önce komutunu kullanarak RFC şemasını generate schema
bulmanız gerekir. Oluşturulan şemada iki olası kök düğüm vardır:
- SAP'den aldığınız çağrı olan istek düğümü
- SAP'ye geri yanıtınız olan yanıt düğümü
Aşağıdaki örnekte RFC STFC_CONNECTION
modülü bir istek ve yanıt deseni oluşturur. İstek XML'i, SAP'nin isteğinde <ECHOTEXT>
bulunduğu bir düğüm değerini ayıklamak için ayrıştırılır. Yanıt, geçerli zaman damgasını dinamik bir değer olarak ekler. Sap'ye bir mantıksal uygulama iş akışından RFC gönderdiğinizde STFC_CONNECTION
de benzer bir yanıt alırsınız.
<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>
İş akışınızı test etme
Tüketim mantıksal uygulaması kaynağınız henüz etkinleştirilmemişse mantıksal uygulama menünüzün Genel Bakış'ı seçin. Araç çubuğunda Etkinleştir'i seçin.
İş akışınızı el ile başlatmak için tasarımcı araç çubuğunda Çalıştır'ı> seçin.
Web kancası tetikleyici yükünün benzetimini yapmak ve iş akışını tetiklamak için, HTTP isteği aracınızı ve yönergelerini kullanarak, İstek tetikleyicisinin beklediği yöntem de dahil olmak üzere iş akışınızın İstek tetikleyicisi tarafından oluşturulan uç nokta URL'sine bir HTTP isteği gönderin. İsteğinize ileti içeriğinizi eklediğinizden emin olun.
Bu örnekte, XML biçiminde olması ve seçtiğiniz SAP eyleminin ad alanını içermesi gereken bir IDoc dosyası göndermek için POST yöntemi ve uç nokta URL'si kullanılır, örneğin:
<?xml version="1.0" encoding="UTF-8" ?> <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send"> <idocData> <...> </idocData> </Send>
HTTP isteğinizi gönderdikten sonra iş akışınızdan gelen yanıtı bekleyin.
Artık IDocs gönderebilen ve SAP sunucunuzla iletişim kurabilen bir iş akışı oluşturdunuz. İş akışınız için bir SAP bağlantısı ayarladığınıza göre, BAPI ve RFC ile denemeler yapmayı deneyebilirsiniz.
İş akışı zaman aşımı sorunları
Aşağıdaki senaryolardan herhangi birinde iş akışınız zaman aşımına uğradı:
Yanıt için gereken tüm adımlar istek zaman aşımı sınırı içinde tamamlanmaz. Bu koşul gerçekleşirse istekler engellenebilir. Sorunları tanılamanıza yardımcı olmak için mantıksal uygulama iş akışlarınızı denetlemeyi ve izlemeyi öğrenin.
SAP sisteminizin işleme modu varsayılan Tetikleyici anında ayarına ayarlanır ve bu da SAP sisteminizin bir IDoc işlemeyi tamamlayana kadar IDoc iletimi için gelen çağrıyı engellemesine neden olur.
ÖRNEĞIN SAP sisteminiz yük altındaysa, iş akışınız tek seferde bir toplu IDocs gönderdiğinde, kuyruğa alınan IDoc çağrıları zaman aşımına uğradı. Varsayılan işleme modu, BIR IDoc işlemeyi bitirene kadar SAP sisteminizin IDoc iletimi için gelen çağrıyı engellemesine neden olur. Azure Logic Apps'te iş akışı eylemleri varsayılan olarak 2 dakikalık zaman aşımına sahiptir.
Bu sorunu çözmek için Önkoşullar bölümündeki ayarı Arka plan programına göre tetikle olarak değiştiren adımları izleyin.
Güvenli yazma
Varsayılan olarak, SAP yönetilen işlemi için bir bağlantı oluşturduğunuzda, şemada XML doğrulaması gerçekleştirerek geçersiz değerleri denetlemek için güçlü yazma kullanılır. Bu davranış, sorunları daha önce algılamanıza yardımcı olabilir. Güvenli Yazma seçeneği geriye dönük uyumluluk için kullanılabilir ve yalnızca dize uzunluğunu denetler. Güvenli Yazma'yı seçerseniz, SAP'deki DATS türü ve TIMS türü, XML eşdeğerleri xs:time
xs:date
yerine dize olarak ve burada xmlns:xs="http://www.w3.org/2001/XMLSchema"
olarak değerlendirilir. Güvenli yazma, tüm şema oluşturma davranışını, hem "gönderildi" yükü hem de "alındı" yanıtı için gönderme iletisini ve tetikleyiciyi etkiler.
Güçlü yazma kullanıldığında (Güvenli Yazma etkinleştirilmez), şema DATS ve TIMS türlerini daha basit XML türleriyle eşler:
<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"/>
Güçlü yazma kullanarak ileti gönderdiğinizde, DATS ve TIMS yanıtı eşleşen XML türü biçimine uyar:
<DATE>9999-12-31</DATE>
<TIME>23:59:59</TIME>
Güvenli Yazma etkinleştirildiğinde, şema DATS ve TIMS türlerini yalnızca uzunluk kısıtlamaları olan XML dize alanlarıyla eşler, örneğin:
<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>
İletiler Güvenli Yazma etkin olarak gönderildiğinde, DATS ve TIMS yanıtı şu örneğe benzer:
<DATE>99991231</DATE>
<TIME>235959</TIME>
Gelişmiş senaryolar
SAP'ye veri göndermek için dil üst bilgilerini değiştirme
Azure Logic Apps'ten SAP'ye bağlandığınızda, SAP bağlantısı tarafından SAP sunucunuza veri göndermek için kullanılan varsayılan dil İngilizcedir. Ancak SAP yönetilen bağlayıcısı ve SAP yerleşik bağlayıcısı, kullanılan dili farklı şekillerde değiştirme ve kaydetme işlemlerini üstlenir.
SAP yerleşik bağlayıcısı ile bağlantı oluşturduğunuzda, bağlantı parametreleri dil parametresi değerini SAP bağlantı parametrelerinin bir parçası olarak belirtmenize ve kaydetmenize olanak sağlar.
SAP yönetilen bağlayıcısı ile bağlantı oluşturduğunuzda, bağlantı parametrelerinde dil parametresi yoktur. Bu nedenle, bu süre boyunca SAP sunucunuza veri göndermek için kullanılacak dili belirtemezsiniz. Bunun yerine, hem iş akışı tasarım zamanında hem de çalışma zamanında bağlayıcı, sunucunuza gönderilen her istekten web tarayıcınızın yerel dilini kullanır. Örneğin, tarayıcınız Portekizce olarak ayarlandıysa, Azure Logic Apps SAP bağlantısını Portekizce ile oluşturur ve sınar, ancak bu dille bağlantıyı kaydetmez.
Ancak, gelen isteklerinizle standart HTTP üst bilgisini
Accept-Language
kullanarak bağlantınızın dilini ayarlayabilirsiniz. Çoğu web tarayıcısı, yerel ayar ayarlarınıza göre birAccept-Language
üst bilgi ekler. İş akışı tasarımcısında yeni bir SAP bağlantısı oluşturduğunuzda web tarayıcısı bu üst bilgiyi uygular. Bu nedenle, tercih ettiğiniz dili kullanmak için web tarayıcınızın ayarlarını güncelleştirebilir veya iş akışı tasarımcısı yerine Azure Resource Manager'ı kullanarak SAP bağlantınızı oluşturabilirsiniz.Örneğin, HTTP isteği alındığında adlı İstek tetikleyicisini
Accept-Language
kullanarak mantıksal uygulama iş akışınıza üst bilgi içeren bir istek gönderebilirsiniz. İş akışınızdaki tüm eylemler üst bilgiyi alır. Ardından SAP, sistem iletilerinde BAPI hata iletileri gibi belirtilen dilleri kullanır. Çalışma zamanında üstAccept-Language
bilgi geçirmezseniz, varsayılan olarak İngilizce kullanılır.Üst bilgiyi kullanıyorsanız
Accept-Language
şu hatayı alabilirsiniz: Lütfen hesap bilgilerinizi ve/veya izinlerinizi denetleyin ve yeniden deneyin. Bu durumda bunun yerine SAP bileşeninin hata günlüklerini denetleyin. Hata aslında üst bilgiyi kullanan SAP bileşeninde oluşur, bu nedenle şu hata iletilerinden birini alabilirsiniz:"SAP. Middleware.Connector.RfcLogonException: Yüklü dillerden birini seçin"
"SAP. Middleware.Connector.RfcAbapMessageException: Yüklü dillerden birini seçin"
İşlemi ayrı ve açıkça onaylayın
Azure Logic Apps'ten SAP'ye işlem gönderdiğinizde, bu değişim SAP belgesinde açıklandığı gibi iki adımda gerçekleşir: İşlem RFC Sunucu Programları.
Varsayılan olarak, SAP'ye ileti gönder adlı SAP yönetilen bağlayıcı eylemi, işlevi aktarma ve işlemi tek bir çağrıda onaylama adımlarını işler. Ayrıca bu adımları ayırma seçeneğiniz de vardır. Aktarım ve onay adımlarını ayırma özelliği, SAP'de işlemleri yinelemek istemediğiniz senaryolarda kullanışlıdır. Bu tür senaryolar, ağ sorunları gibi nedenlerden kaynaklanan hataları içerir.
[IDOC] Belgeyi SAP'ye gönder adlı SAP yönetilen bağlayıcı eylemini kullanarak işlemi otomatik olarak onaylamadan bir IDoc gönderebilirsiniz. Daha sonra [IDOC - RFC] İşlem kimliğini onaylayın adlı SAP yönetilen bağlayıcı eylemini kullanarak işlemi açıkça onaylayabilirsiniz. İş akışınız işlemi farklı bir adımda ayrı olarak onayladığında SAP sistemi işlemi yalnızca bir kez tamamlar.
Standart iş akışlarında SAP yerleşik bağlayıcısı ayrıca aktarım ve onay adımlarını ayrı olarak işleyen eylemlere de sahiptir; özellikle de [IDoc] Belgeyi SAP'ye gönder ve [IDOC - RFC] İşlem kimliğini onaylayın.
Aşağıdaki örnek iş akışı bu düzeni gösterir:
Tasarımcıda boş bir iş akışıyla Tüketim veya Standart mantıksal uygulama oluşturun ve açın. İstek tetikleyicisini ekleyin.
SAP'ye yinelenen IDocs göndermekten kaçınmak için, SAP eylemlerinizde bir IDoc işlem kimliği oluşturmak ve kullanmak için bu alternatif adımları izleyin.
[IDOC] Belgeyi SAP'ye iş akışınıza gönder adlı SAP eylemini ekleyin. SAP sisteminize gönderdiğiniz IDoc bilgilerini ve aşağıdaki değerleri sağlayın:
Parametre Değer Açıklama TID'i onayla Hayır Ayrı bir adımda açıkça gerçekleşen işlem kimliğini otomatik olarak onaylamayın. İşlem Kimliği GUID'si <IDoc-transaction-ID> Bu parametre otomatik olarak görünmezse Yeni parametre ekle listesini açın ve parametresini seçin.
Bu değeri el ile belirtebilir veya bağlayıcı bu GUID'yi [IDOC] Belgeyi SAP'ye gönder eyleminden çıktı olarak otomatik olarak oluşturabilir. Bu örnek, GUID'yi otomatik olarak oluşturmak için bu parametreyi boş bırakır.Tüketim iş akışı
Standart iş akışı
[IDOC] Belgeyi SAP'ye gönder adlı SAP eyleminde Ayarlar'ı açarak Yeniden Deneme İlkesi'ni gözden geçirin.
Varsayılan seçenek önerilen ilkedir, ancak özel gereksinimleriniz için özel bir ilke seçebilirsiniz. Özel bir ilke kullanmayı seçerseniz, geçici ağ kesintilerinin üstesinden gelmek için en az bir yeniden deneyin.
Şimdi [IDOC - RFC] İşlem kimliğini onaylayın adlı SAP eylemini ekleyin.
İşlem Kimliği parametresinde, dinamik içerik listesini açmak için düzenleme kutusunun içini seçin.
Listeden, [IDOC] Belgeyi SAP'ye gönder altında, önceki SAP eyleminin çıktısı olan İşlem Kimliği değerini seçin.
Tüketim iş akışı
Standart iş akışı
Bu adım çalıştırıldıktan sonra geçerli işlem her iki uçta, SAP bağlayıcısı tarafında ve SAP sistem tarafında tamamlandı olarak işaretlenir.
İşlem kimliği değişkeniyle yinelenen IDocs göndermekten kaçının
İş akışınızın SAP'ye yinelenen IDocs göndermesiyle ilgili bir sorun yaşıyorsanız, IDoc işlem tanımlayıcısı işlevi görecek bir dize değişkeni oluşturabilirsiniz. Daha sonra bu tanımlayıcıyı geçici kesintiler, ağ sorunları veya kayıp bildirimler gibi durumlarda yinelenen ağ iletimlerini önlemeye yardımcı olmak için kullanabilirsiniz.
Tasarımcıda İstek tetikleyicisini ekledikten sonra ve [IDOC] Belgeyi SAP'ye gönder adlı SAP eylemini eklemeden önce, değişkeni başlat adlı eylemi iş akışınıza ekleyin.
Eylemi IDoc işlem kimliği oluştur olarak yeniden adlandırın.
Eylem bilgileri kutusunda aşağıdaki parametre değerlerini sağlayın:
Parametre Değer Açıklama Adı <variable-name> Değişkeniniz için bir ad, örneğin, IDocTransactionID Tür Dize Değişken türü Value guid()
Düzenleme kutusunun içini seçin, ifadeyi veya işlev düzenleyicisini açın ve guid() girin. Değişikliklerinizi kaydedin.
Value parametresi artık GUID oluşturan guid() işlevine ayarlanır.Tüketim iş akışı
Standart iş akışı
Not
SAP sistemleri, belirtilen bir süreden veya varsayılan olarak 24 saat sonra bir işlem tanımlayıcısı unutur. Sonuç olarak, KIMLIK veya GUID bilinmiyorsa SAP hiçbir zaman işlem tanımlayıcısını onaylayamaz. İşlem tanımlayıcısı onayı başarısız olursa, bu hata SAP sistemiyle iletişimin SAP onayı onaylamadan önce başarısız olduğunu gösterir.
[IDOC] Belgeyi SAP'ye iş akışınıza gönder adlı SAP eylemini ekleyin. SAP sisteminize gönderdiğiniz IDoc bilgilerini ve aşağıdaki değerleri sağlayın:
Parametre Değer Açıklama TID'i onayla Hayır Ayrı bir adımda açıkça gerçekleşen işlem kimliğini otomatik olarak onaylamayın. İşlem Kimliği GUID'si <IDoc-transaction-ID> Bu parametre otomatik olarak görünmezse Yeni parametre ekle listesini açın ve parametresini seçin. Oluşturduğunuz işlem kimliği değişkenini seçmek için şu adımları izleyin:
1. İşlem Kimliği GUID parametresinde, dinamik içerik listesini açmak için düzenleme kutusunun içini seçin.
2. Listeden, Değişkenler'in altında, bu örnekte daha önce oluşturduğunuz değişkeni (IDocTransactionID) seçin.Tüketim iş akışı
Standart iş akışı
[IDOC] Belgeyi SAP'ye gönder adlı SAP yönetilen eylemi için Ayarlar'ı açarak Yeniden Deneme İlkesi'ni gözden geçirin.
Varsayılan seçenek önerilen ilkedir, ancak özel gereksinimleriniz için özel bir ilke seçebilirsiniz. Özel bir ilke kullanmayı seçerseniz, geçici ağ kesintilerinin üstesinden gelmek için en az bir yeniden deneyin.
Not
Şu anda yalnızca yönetilen bağlayıcı eylemleri, yerleşik hizmet sağlayıcısı tabanlı bağlayıcılar değil, Yeniden Deneme İlkesi ayarına sahiptir.
Şimdi [IDOC - RFC] İşlem kimliğini onaylayın adlı SAP eylemini ekleyin.
İşlem Kimliği parametresinde, dinamik içerik listesini açmak için düzenleme kutusunun içini seçin.
Listeden Değişkenler'in altında, oluşturduğunuz değişkenin adını (bu örnekte IDocTransactionID) girin.
Tüketim iş akışı
Standart iş akışı
İsteğe bağlı olarak, test ortamınızda yinelenenleri kaldırma işlemini doğrulayın.
[IDOC] Belgeyi SAP'ye gönder adlı başka bir SAP eylemi ekleyin. İşlem Kimliği parametresinde, önceki adımda kullandığınız İşlem Kimliği GUID'sini seçin.
[IDOC] Belgeyi SAP'ye gönder adlı eyleme yapılan her çağrıdan sonra hangi IDoc numarasının atanıldığını doğrulamak için[ IDOC] İşlem için IDOC listesini al adlı eylemi aynı İşlem Kimliği ve Alma yönüyle iş akışınıza ekleyin.
Her iki çağrı için de aynı IDoc numarası döndürülürse, IDoc yinelenenleri kaldırılmış olur.
Aynı IDoc'u iki kez gönderirseniz SAP'nin tRFC çağrısının yinelemesini tanımlayıp tek bir gelen IDoc iletisine yapılan iki çağrıyı çözümleyebildiğini doğrulayabilirsiniz.
Sorunları giderme
Bağlantı sorunları
Bağlantı oluşturma sırasında aşağıdaki hatayı alırsanız SAP NCo istemci kitaplığını yüklemenizle ilgili bir sorun oluşur:
Test bağlantısı başarısız oldu. 'İstek işlenemedi. Hata ayrıntıları: 'sapnco, Version=3.0.0.42, Culture=neutral, PublicKeyToken 50436dca5c7f7d23' dosyası veya derlemesi yüklenemedi veya bağımlılıklarından biri. Sistem belirtilen dosyayı bulamıyor.'
SAP NCo istemci kitaplığının gerekli sürümünü yüklediğinizden ve diğer tüm önkoşulları karşıladığından emin olun.
500 Hatalı Ağ Geçidi veya 400 Hatalı İstek hatası
'sapgw00' hizmetine benzer bir iletiyle 500 Hatalı Ağ Geçidi veya 400 Hatalı İstek hatası alırsanız, bağlantı noktası numarasına ağ hizmeti adı çözümlemesi başarısız olur, örneğin:
{
"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. Seçenek: API bağlantınızda ve tetikleyici yapılandırmanızda ağ geçidi hizmet adınızı bağlantı noktası numarasıyla değiştirin. Örnek hatada,
sapgw00
gerçek bir bağlantı noktası numarasıyla (örneğin,3300
) değiştirilmelidir.2. Seçenek: Şirket içi veri ağ geçidini kullanıyorsanız, içindeki bağlantı noktası eşlemesine
%windir%\System32\drivers\etc\services
ağ geçidi hizmeti adını ekleyebilir ve ardından şirket içi veri ağ geçidi hizmetini yeniden başlatabilirsiniz, örneğin:sapgw00 3300/tcp
SAP Uygulama sunucusu veya İleti sunucusu adı IP adresine çözümlendiğinde de benzer bir hata alabilirsiniz. Şirket içi veri ağ geçidi için, bunun yerine içindeki IP adresi eşlemesine %windir%\System32\drivers\etc\hosts
adı ekleyebilirsiniz, örneğin:
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
SAP'den tetikleyicinize IDoc paketleri gönderme hataları
SAP'den tetikleyicinize IDoc paketleri gönderemiyorsanız, SAP tRFC (T-Code SM58) iletişim kutusundaki İşlemSEL RFC (tRFC) çağrısı reddetme iletisini gözden geçirin. SAP arabiriminde, Durum Metni alanındaki alt dize sınırları nedeniyle kırpılan aşağıdaki hata iletilerini alabilirsiniz.
Segment veya grup tanımı E2EDK36001 IDoc meta dosyasında bulunamadı
Bu hata iletisi, beklenen hataların diğer hatalarla gerçekleştiği anlamına gelir. Örneğin, kesimleri SAP tarafından serbest bırakılmadığından IDoc XML yükü oluşturulamaması. Sonuç olarak, dönüştürme için gereken kesim türü meta verileri eksiktir.
Bu segmentlerin SAP tarafından yayımlanması için SAP sisteminizin ABAP mühendisine başvurun.
IReplyChannel üzerindeki RequestContext yanıt gönderilmeden kapatıldı
SAP yönetilen bağlayıcısı için bu hata iletisi, kanalın tümünü yakala işleyicisi bir hata nedeniyle kanalı sonlandırdığında ve diğer iletileri işlemek için kanalı yeniden derlediğinde beklenmeyen hataların oluştuğu anlamına gelir.
Not
SAP yönetilen tetikleyicisi, SOAP tabanlı SAP bağdaştırıcısını kullanan bir web kancası tetikleyicisidir. Ancak SAP yerleşik tetikleyicisi, SOAP SAP bağdaştırıcısı kullanmayan ve bu hata iletisini almayan Azure İşlevleri tabanlı bir tetikleyicidir.
İş akışınızın IDoc'yi aldığını kabul etmek için 200 Tamam durum kodu döndüren bir Yanıt eylemi ekleyin. Gövdeyi boş bırakın ve üst bilgileri değiştirmeyin veya eklemeyin. IDoc, tRFC aracılığıyla taşınır ve bu da yanıt yüküne izin vermez.
Bunun yerine IDoc'yi reddetmek için 200 Tamam dışında bir HTTP durum koduyla yanıt verin. SAP Bağdaştırıcısı daha sonra sizin adınıza SAP'ye bir özel durum döndürür. Uygulamanızın işleyebildiği yanlış yönlendirilmiş bir IDoc gibi SAP'ye geri taşıma hatalarını işaret etmek için IDoc'yi reddetmeniz gerekir. IDoc'ta yer alan verilerle ilgili sorunlar gibi uygulama düzeyindeki hatalar için bir IDoc'yi reddetmemelisiniz. Uygulama düzeyi doğrulama için taşıma kabulü geciktirdiğinizde, bağlantınızın diğer IDocs'ları taşımasını engellediği için olumsuz performansla karşılaşabilirsiniz.
Bu hata iletisini alırsanız ve Azure Logic Apps'i çağıran sistemik hatalarla karşılaşırsanız, belirli bir ortamınız için şirket içi veri ağ geçidi hizmetinizin ağ ayarlarını yapılandırıp yapılandırmadığınıza bakın. Örneğin, ağ ortamınız Azure uç noktalarını çağırmak için ara sunucu kullanılmasını gerektiriyorsa, şirket içi veri ağ geçidi hizmetinizi proxy'nizi kullanacak şekilde yapılandırmanız gerekir. Daha fazla bilgi için Ara Sunucu Yapılandırması'yı gözden geçirin.
Bu hata iletisini alırsanız ve Azure Logic Apps'i çağıran aralıklı hatalarla karşılaşırsanız, aşağıdaki adımları izleyerek yeniden deneme sayınızı veya yeniden deneme aralığınızı artırmanız gerekebilir:
Microsoft.PowerBI.EnterpriseGateway.exe.config adlı şirket içi veri ağ geçidi hizmet yapılandırma dosyanızda SAP ayarlarını denetleyin.
Kök düğüm altında
configuration
, yoksa birconfigSections
öğe ekleyin.Düğüm altında
configSections
, yoksa aşağıdaki özniteliklere sahip birsection
öğe ekleyin:name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"
Önemli
Bu tür öğeler zaten varsa, var olan
section
öğelerdeki öznitelikleri değiştirmeyin.Ağ geçidi hizmet yapılandırmasında başka bir bölüm veya bölüm grubu bildirilmemişse, öğeniz
configSections
aşağıdaki sürüme benzer:<configSections> <section name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"/> </configSections>
Kök düğüm altında
configuration
, yoksa birSapAdapterSection
öğe ekleyin.Düğüm altında
SapAdapterSection
, yoksa aşağıdaki özniteliklere sahip birBroker
öğe ekleyin:WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2"
Önemli
öğesi zaten mevcut olsa bile öğesinin özniteliklerini
Broker
değiştirin.SapAdapterSection
SAP bağdaştırıcısı yapılandırmasında başka bir öğe veya öznitelik bildirilmemişse, öğesi aşağıdaki sürüme benzer:<SapAdapterSection> <Broker WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2" /> </SapAdapterSection>
Yeniden deneme sayısı ayarı gibi
WebhookRetryMaximumCount="2"
görünür. Yeniden deneme aralığı ayarı, zaman aralığı biçimininHH:mm:ss.ff
olduğu yere benzerWebhookRetryDefaultDelay="00:00:00.10"
.
Not
Yapılandırma dosyası hakkında daha fazla bilgi için .NET Framework için yapılandırma dosyası şeması'nı gözden geçirin.
Değişikliklerinizi kaydedin.
Şirket içi veri ağ geçidini kullanıyorsanız ağ geçidinizi yeniden başlatın.