Aracılığıyla paylaş


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. Tüketim iş akışını bir tümleştirme hizmeti ortamında (ISE) oluşturur ve barındırırsanız SAP bağlayıcısının ISE yerel sürümünü de kullanabilirsiniz. Daha fazla bilgi için bkz. Bağlan veya teknik başvuru.

Önkoşullar

Başlamadan önce, belirli senaryonuz için SAP bağlayıcısı gereksinimlerini gözden geçirmeyi ve karşılamayı unutmayın.

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:

  1. Azure portalında Tüketim mantığı uygulamanızı ve boş iş akışınızı tasarımcıda açın.

  2. Tasarımcıda, ileti alındığında adlı SAP yönetilen bağlayıcı tetikleyicisini eklemek için bu genel adımları izleyin.

  3. İ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ı Evet Bağlantı için bir ad girin.
    Veri Ağ Geçidi Evet 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ğlan ion Gateway için Azure'da veri ağ geçidi kaynağınızı seçin.
    İstemci Evet SAP sunucunuza bağlanmak için kullanılacak SAP istemci kimliği
    Kimlik Doğrulaması Türü Evet 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ı Evet SAP sunucunuzun kullanıcı adı
    SAP Parolası Evet SAP sunucunuzun parolası
    Oturum Açma Türü Evet 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.
    Kasa Yazma No 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. Kasa Yazma ayarı hakkında daha fazla bilgi edinin.
    SNC kullanma No 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.

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

    Dekont

    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 Evet SAP RFC sunucusu için kayıt ağ geçidi konağı
    GatewayService Evet SAP RFC sunucusu için kayıt ağ geçidi hizmeti
    Program Kimliği Evet 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 No 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 No 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 No 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 No 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 No 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:

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

    Aşağıdaki örnek, SAP eylemlerini seçerek iletileri filtreleyebileceğiniz SAP yönetilen tetikleyicisini gösterir:

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

    Ya da bir eylemi el ile belirterek:

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

    Aşağıdaki örnekte, tetikleyiciyi birden fazla ileti alacak şekilde ayarladığınızda eylemin nasıl göründüğü gösterilmektedir:

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

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

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

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

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

    Dekont

    En iyi uygulama olarak, SAP sunucunuzla iletişim kanalını boşaltmak için tetikleyiciden hemen sonra yanıt eylemini ekleyin.

  3. İş akışınızın SAP'den aldığı XML IDoc'tan kök ad alanını alın.

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

    2. Eylemin başlığını alınan IDoc'taki kök düğüm için ad alanını al olarak yeniden adlandırın.

    3. Değişken için bir ad girin ve türünü Dize olarak ayarlayın.

    4. 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ışı

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

      Standart iş akışı

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

      İşiniz bittiğinde ifade çözülür ve şimdi aşağıdaki biçim olarak görünür:

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

  4. IDoc koleksiyonunu yerel bir dizi değişkeninde depolayarak tek bir IDoc'u ayıklamak için şu adımları izleyin:

    1. Başka bir Değişken başlatma eylemi ekleyin.

    2. Eylemin başlığını IDoc veri öğeleriyle dizi al olarak yeniden adlandırın.

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

    4. 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ışı

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

      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.

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

      Dekont

      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.

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

      Standart iş akışı

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

      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.

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


Alınan iletileri SAP eylemleriyle filtreleme

SAP yönetilen bağlayıcısını veya ISE sürümüne sahip SAP bağlayıcısını kullanıyorsanız, iş akışınızdaki tetikleyicinin altında, alınan XML yükündeki kök düğüm ad alanına göre SAP sunucunuzdan gelen 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.

Dekont

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:

  1. Tasarımcıda mantıksal uygulama iş akışınızı açın. İş akışınızın bir SAP tetikleyicisiyle başladığını onaylayın.

  2. İş akışınızda Yanıt eylemini bulun ve bu eylemin Ayarlar açın.

  3. 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'agetirin.
  4. İş 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:

  1. HTTP isteği tarafından tetiklenen bir mantıksal uygulama iş akışı oluşturun.
  2. SAP'ye IDoc göndermek için iş akışınıza bir SAP eylemi ekleyin.
  3. İş akışınıza bir yanıt eylemi ekleyin.
  4. 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.
  5. İş 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:

  1. Azure portalında bir Tüketim mantığı uygulaması kaynağı ve tasarımcıda boş bir iş akışı oluşturun.

  2. Tasarımcıda, HTTP isteği alındığında adlı İstek yerleşik tetikleyicisini bulmak ve eklemek için bu genel adımları izleyin.

    Screenshot shows the Request trigger for a Consumption workflow.

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

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

IDoc göndermek için SAP eylemi ekleme

Ardından, iş akışının istek 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:

  1. İş akışı tasarımcısında, İstek tetikleyicisinin altında Yeni adım'ı seçin.

  2. Tasarımcıda, SAP'ye ileti gönder adlı SAP yönetilen eylemini bulmak ve eklemek için bu genel adımları izleyin.

  3. İ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ı Evet Bağlantı için bir ad girin.
    Veri Ağ Geçidi Evet 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ğlan ion Gateway için Azure'da veri ağ geçidi kaynağınızı seçin.
    İstemci Evet SAP sunucunuza bağlanmak için kullanılacak SAP istemci kimliği
    Kimlik Doğrulaması Türü Evet 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ı Evet SAP sunucunuzun kullanıcı adı
    SAP Parolası Evet SAP sunucunuzun parolası
    Oturum Açma Türü Evet 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.
    Kasa Yazma No 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. Kasa Yazma ayarı hakkında daha fazla bilgi edinin.
    SNC kullanma No 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.

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

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

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

      Dekont

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

      Screenshot shows selecting IDOC for a Consumption workflow.

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

      Screenshot shows finding an Orders action for a Consumption workflow.

      İstediğiniz eylemi bulamıyorsanız, el ile bir yol girebilirsiniz, örneğin:

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

      Bahşiş

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

    3. SAP'ye ileti gönder eylemine İstek tetikleyicisinden gövde çıkışını ekleyin.

      1. Giriş İletisi parametresinde, dinamik içerik listesini açmak için düzenleme kutusunun içini seçin.

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

        Dekont

        Gövde alanı listede görünmüyorsa, HTTP isteği alındığında etiketinin yanında Daha fazlası'nı seçin.

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

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

      Screenshot shows completed SAP action for Consumption workflow.

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

Dekont

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

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

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

  1. İş akışı tasarımcısında, SAP eyleminin altında Yeni adım'ı seçin.

  2. Tasarımcıda, Yanıt adlı yerleşik İstek eylemini bulmak ve eklemek için bu genel adımları izleyin.

  3. Yanıt eyleminde Gövde parametresi için düzenleme kutusunun içini seçerek dinamik içerik listesini açın.

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

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

  5. İş 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ı ve ISE sürümüne sahip SAP 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.

Dekont

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

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

  2. İş akışınızı el ile başlatmak için tasarımcı araç çubuğunda Tetikleyici>Çalıştırmayı Çalıştır'ı seçin.

  3. Web kancası tetikleyici yükünün benzetimini yapmak için iş akışınızın İstek tetikleyicisi tarafından belirtilen uç nokta URL'sine bir HTTP POST isteği gönderin. İsteğinize ileti içeriğinizi eklediğinizden emin olun. İsteği göndermek için Postman API istemcisi gibi bir araç kullanın.

    Bu örnekte, HTTP POST isteği XML biçiminde olması ve seçtiğiniz SAP eyleminin ad alanını içermesi gereken bir IDoc dosyası gönderir, ö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>
    
  4. HTTP isteğinizi gönderdikten sonra iş akışınızdan gelen yanıtı bekleyin.

    Dekont

    Yanıt için gereken tüm adımlar istek zaman aşımı sınırı içinde tamamlanmazsa iş akışınız zaman aşımına uyabilir. 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ı nasıl denetleyebileceğinizi ve izleyebileceğinizi öğrenin.

Şimdi 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.

Kasa 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. Kasa Yazma seçeneği geriye dönük uyumluluk için kullanılabilir ve yalnızca dize uzunluğunu denetler. Yazma Kasa seçerseniz, SAP'deki DATS türü ve TIMS türü XML eşdeğerleri xs:date yerine dize olarak değerlendirilir ve xs:timeburada .xmlns:xs="http://www.w3.org/2001/XMLSchema" Kasa yazma işlemi 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 (Kasa Yazma etkin değilse), ş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>

Kasa 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>

Kasa Yazma etkin olarak iletiler 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 bir Accept-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 üst Accept-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. Bağlan veya. RfcLogonException: Yüklü dillerden birini seçin"

    • "SAP. Middleware. Bağlan veya. 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:

  1. Tasarımcıda boş bir iş akışıyla Tüketim veya Standart mantıksal uygulama oluşturun ve açın. İstek tetikleyicisini ekleyin.

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

  3. [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ışı

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

    Standart iş akışı

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

  4. [IDOC] Belgeyi SAP'ye gönder adlı SAP eyleminde, yeniden deneme ilkesini gözden geçirmek için Ayarlar açın.

    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.

  5. Şimdi [IDOC - RFC] İşlem kimliğini onaylayın adlı SAP eylemini ekleyin.

    1. İşlem Kimliği parametresinde, dinamik içerik listesini açmak için düzenleme kutusunun içini seçin.

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

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

      Standart iş akışı

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

    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.

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

  2. Eylemi IDoc işlem kimliği oluştur olarak yeniden adlandırın.

  3. Eylem bilgileri kutusunda aşağıdaki parametre değerlerini sağlayın:

    Parametre Değer Açıklama
    Dosya Adı <variable-name> Değişkeniniz için bir ad, örneğin, IDocTransactionID
    Türü Dize Değişken türü
    Değer 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ışı

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

    Standart iş akışı

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

    Dekont

    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.

  4. [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ışı

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

    Standart iş akışı

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

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

    Dekont

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

  6. Şimdi [IDOC - RFC] İşlem kimliğini onaylayın adlı SAP eylemini ekleyin.

    1. İşlem Kimliği parametresinde, dinamik içerik listesini açmak için düzenleme kutusunun içini seçin.

    2. Listeden Değişkenler'in altında, oluşturduğunuz değişkenin adını (bu örnekte IDocTransactionID) girin.

      Tüketim iş akışı

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

      Standart iş akışı

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

  7. İsteğe bağlı olarak, test ortamınızda yinelenenleri kaldırma işlemini doğrulayın.

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

    2. [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. ISE için kullanılabilen tek seçenek budur.

  • 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. ISE için, SAP Uygulama sunucunuzun veya İleti sunucunuzun IP adresini belirtmeniz gerekir. Şirket içi veri ağ geçidi için, bunun yerine içindeki IP adresi eşlemesine %windir%\System32\drivers\etc\hostsadı 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ı ve ISE sürümüne sahip SAP 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 üzere kanalı yeniden derlediğinde beklenmeyen hatalar olduğu anlamına gelir.

Dekont

SAP yönetilen tetikleyicisi ve ISE sürümüne sahip SAP tetikleyicileri, SOAP tabanlı SAP bağdaştırıcısını kullanan web kancalarıdır. 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:

    1. Microsoft.PowerBI.EnterpriseGateway.exe.config adlı şirket içi veri ağ geçidi hizmet yapılandırma dosyanızda SAP ayarlarını denetleyin.

      1. Kök düğüm altında configuration , yoksa bir configSections öğe ekleyin.

      2. Düğüm altında configSections , yoksa aşağıdaki özniteliklere sahip bir section öğ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>
        
      3. Kök düğüm altında configuration , yoksa bir SapAdapterSection öğe ekleyin.

      4. Düğüm altında SapAdapterSection , yoksa aşağıdaki özniteliklere sahip bir Broker öğ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çiminin HH:mm:ss.ffolduğu yere benzerWebhookRetryDefaultDelay="00:00:00.10".

      Dekont

      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.

    2. Değişikliklerinizi kaydedin.

    3. Şirket içi veri ağ geçidini kullanıyorsanız ağ geçidinizi yeniden başlatın.

Sonraki adımlar