Aracılığıyla paylaş


ECMA2Host için SAP ECC 7.51 Web Hizmeti bağlayıcı şablonunu yazma

Bu kılavuz, SAP ECC kullanıcılarını yönetmek üzere Web Hizmeti Genişletilebilirlik Bağlantı Yönetimi Aracısı (ECMA) bağlayıcısı için şablon oluşturma işleminde size yol gösterir.

Sınırlamalar ve varsayımlar

Bu şablon, kullanıcıların nasıl yönetileceğini gösterir. ECMA2Host şu anda çok değerli referansları desteklemediğinden, Yerel Etkinlik Grupları, Roller ve Profiller gibi diğer nesne türleri bu kılavuzda ele alınmamaktadır. Parola işlemleri de bu kılavuz için kapsam dışındadır.

Bu kılavuz, kullanıma sunulan BAPI işlevlerini çağırmak için kullanılan SAP içinde hizmet hesabının oluşturulmasını kapsamaz. Varsayılır ki Geliştirici önceden oluşturulmuş bir tanıtım hesabı, bu makalede belirtilen BAPI'lere izin veren bir profil RFC_ALL ile kullanılmaktadır.

Web Hizmeti Yapılandırma Aracı, SAP'de varsayılan olarak kullanıma sunulan şu özellikleri desteklemez: WSP İlkeleri ve uç nokta başına birden çok bağlama. Yalnızca SOAP 1.1 içeren bir WSDL, ilkeler olmadan hepsi bir arada belge stili bağlaması bekler.

Bu şablonda kullanılan SAP ECC BAPI işlevleri:

  • BAPI_USER_GETLIST - Bu sisteme bağlı tüm kullanıcıların listesini alın.
  • BAPI_USER_GETDETAIL - belirli bir kullanıcının ayrıntılarını alın.
  • BAPI_USER_CREATE1 - bir kullanıcı oluşturur.
  • BAPI_USER_DELETE - bir kullanıcıyı siler.
  • BAPI_USER_CHANGE - kullanıcıyı güncelleştirir.

Bu kılavuzdaki tüm SAP kullanıcı özellikleri tek değerli özellikler olarak değerlendirilir.

Kullanılan programlama dili Visual Basic'tir.

Web hizmeti uç noktası tanımlama ve şema oluşturma

İçeri ve dışarı aktarma iş akışlarını tasarlamadan önce bir şablon oluşturmanız ve SOAP arabiriminde kullanıma sunulan SAP BAPI işlevleriyle bir uç nokta tanımlamanız gerekir. Ardından ECMA2 nesnelerinin bir şemasını oluşturun ve bunların özellikleri bu şablonda kullanılabilir.

  1. "C:\Program Files\Microsoft ECMA2Host\Web Service Yapılandırma Aracı" klasöründen Web Hizmeti Yapılandırma aracını başlatın wsconfigTool.exe
  2. File-New menüsünden Yeni SOAP Projesi Oluştur'u seçin

SOAP projesi oluşturma ekran görüntüsü.

  1. SOAP Projesi'ni seçin ve Yeni Web Hizmeti ekle'yi seçin.

Yeni web hizmeti ekleme ekran görüntüsü.

  1. Web hizmetinize SAPECC adını verin, yayımlanan WSDL'yi indirmek için bir URL sağlayın, SAPECC'yi ad alanı olarak girin. Web Hizmeti adı, şablonunuzdaki bu web hizmetini diğerlerinden ayırmanıza yardımcı olur. Ad alanı, sınıf oluşturmak için kullanılan Microsoft .NET ad alanının adını tanımlar. SAP yöneticisi tarafından aksi belirtilmedikçe Temel kimlik doğrulama modu'nu seçin. İleri'yi seçin.

Web hizmetini adlandırma ekran görüntüsü.

  1. SAP ECC uç noktasına bağlanmak için kimlik bilgilerini sağlayın. İleri'yi seçin.
  2. Uç noktalar ve işlemler sayfasında BAPI'lerin görüntülendiğinden emin olun ve Son'u seçin

Not

birden fazla uç nokta görürseniz hem SOAP 1.2 hem de SOAP 1.1 bağlamaları etkindir. Bu, bağlayıcının başarısız olmasına neden olur. SOAMANAGER'da bağlama tanımınızı değiştirin ve yalnızca bir tane tutun. Ardından bir web hizmetini yeniden ekleyin.

BAPI'lerin ekran görüntüsü.

  1. Projeyi C:\Program Files\Microsoft ECMA2Host\Service\ECMA klasörüne kaydedin.
  2. Nesne Türleri sekmesine tıklayın ve Kullanıcı nesne türünü eklemeyi seçin. Tamam'ı seçin.
  3. Nesne Türleri sekmesini genişletin ve Kullanıcı türü tanımını seçin.

Nesne türlerinin ekran görüntüsü.

  1. Şemaya aşağıdaki öznitelikleri ekleyin ve bağlayıcı olarak userName'i seçin.

Öznitelik ekleme ekran görüntüsü.

  1. Projenizi kaydedin.
Adı Tip Bağlayıcı
şehir Dize
şirket Dize
bölüm Dize
e-posta Dize
son kullanma zamanı Dize
firstName Dize
lastName string
ikinci ad Dize
telefon numarası Dize
iş unvanı Dize
userName Dize kontrol edildi

Tam İçeri Aktarma iş akışı oluşturma

ECMA2Host'ta isteğe bağlı olan İçeri Aktarma iş akışı, mevcut SAP kullanıcılarını ECMA2Host bellek içi önbelleğine içeri aktarmanıza ve sağlama sırasında yinelenen kullanıcıların oluşturulmasını önlemenize olanak tanır.

tr-TR: İçeri aktarma iş akışı oluşturmazsanız, bağlayıcınız yalnızca dışa aktarma modunda çalışır ve ECMA2Host'un mevcut kullanıcılar için bile her zaman Kullanıcı oluşturma işlemlerini başlatmasına neden olur. Standart SAP BAPI'leri kullanıldığında, yinelenenler dışarı aktarma iş akışı tarafından işlenmediği takdirde bu, hatalara veya yinelere yol açabilir.

SAP ECC, son okumadan bu yana yapılan değişiklikleri okumak için yerleşik bir mekanizma sunmaz.

Bu nedenle yalnızca Tam İçeri Aktarma iş akışını uyguluyoruz. Performans nedenleriyle Delta Aktarımlar uygulamanız gerekiyorsa, BAPI'lerin listesi için SAP yöneticinize başvurun ve bunların birer SOAP web hizmeti olarak yayımlanmalarını talep edin. Ardından, aşağıda açıklandığı gibi aşağıdaki yaklaşımı ve önceki başarılı çalıştırmanın zaman damgasını içeren customData özelliğini kullanarak Delta İçeri Aktarma iş akışını uygulayın.

SAP ECC, özelliklerine sahip kullanıcıların listesini almak için çeşitli BAPI işlevleri sunar:

  • BAPI_USER_GETLIST - Bu sisteme bağlı tüm kullanıcıların listesini alın.
  • BAPI_USER_GETDETAIL - belirli bir kullanıcının ayrıntılarını alın.

Bu şablonda SAP ECC'den mevcut kullanıcıları almak için yalnızca bu iki BAPI kullanılır.

  1. Nesne Türleri - Kullanıcı -> İçeri Aktarma ->> Tam İçeri Aktarma iş akışına gidin ve sağ taraftaki Araç Kutusu'ndan Sıralama etkinliğini iş akışı tasarımcısı bölmesine sürükleyip bırakın.
  2. Sol altta Değişkenler düğmesini bulun ve bu Dizi içinde tanımlanan değişkenlerin listesini genişletmek için bu düğmeyi seçin.
  3. Aşağıdaki değişkenleri ekleyin. SAP WSDL'den oluşturulan bir değişken türünü seçmek için Türlere Gözat'ı seçin, ardından oluşturulan bölümünü genişletin ve SAPECC ad alanını genişletin.
Adı Değişken Türü Kapsam Varsayılan
seçimAralığıTablosu SAPECC. TABLE_OF_BAPIUSSRGE Sekans yeni TABLE_OF_BAPIUSSRGE ile {.item = new BAPIUSSRGE(){new BAPIUSSRGE}}
getListRetTable SAPECC. TABLE_OF_BAPIRET2 Dizi yeni TABLE_OF_BAPIRET2
sayfa boyutu Int32 Sıra 200
returnedSize Int32 Dizi
kullanıcılarTablosu SAPECC. TABLE_OF_BAPIUSNAME Dizi new TABLE_OF_BAPIUSNAME()

Tam içeri aktarma işlemi iş akışının ekran görüntüsü.

  1. Araç Kutusu'ndan, Sıralı etkinliğinizin içine dört Atama etkinliği sürükleyip bırakın ve aşağıdaki değerleri ayarlayın:
selRangeTable.item(0).PARAMETER = "USERNAME" 
selRangeTable.item(0).SIGN = "I" selRangeTable.item(0).OPTION = "GT" selRangeTable.item(0).LOW = ""   

bu parametreler BAPI_USER_GETLIST işlevini çağırmak ve sayfalandırma uygulamak için kullanılır.

Tam içeri aktarma iş akışının ekran görüntüsü.

  1. Sayfalandırmayı uygulamak için Araç Kutusu'ndan DoWhile etkinliğini son Atama işleminden sonra Sıralı etkinliğinizin içine sürükleyip bırakın.
  2. Sağ bölmede Özellikler sekmesine geçin ve DoWhile için bu koşulu girin
  • döngü: returnedSize = pageSize

İade edilen boyut ekranının ekran görüntüsü.

  1. Değişkenler'i seçin ve varsayılan değeri 0 olan DoWhile döngüsü içinde int32 türünün currentPageNumber özelliğini ekleyin.

Dowhile ekranının ekran görüntüsü.

  1. İsteğe bağlı adım: Delta İçeri Aktarma iş akışını uygulamayı planlıyorsanız, Araç Kutusu'ndan Ata etkinliğini DoWhile döngüsünden sonra Sıralı etkinliğinizin içinde sürükleyip bırakın. Şu değeri ayarlayın:
  • customData(schemaType.Name + "_lastImportTime") = DateTimeOffset.UtcNow.Ticks.ToString() Bu, son tam içeri aktarma çalıştırmasının tarih ve saatini kaydeder ve bu zaman damgası daha sonra Delta İçeri Aktarma iş akışında kullanılabilir.

Özel veri ekranının ekran görüntüsü.

  1. Araç Kutusu'ndan Sıra etkinliğini, DoWhile etkinliğinizin içine sürükleyip bırakın. WebServiceCall etkinliğini bu Sıralı etkinliğin içine sürükleyip bırakın ve SAPECC hizmet adı, ZSAPCONNECTORWS uç noktası ve BAPI_USER_GETLIST işlemi seçin.

Dowhile dizisinin ekran görüntüsü.

  1. Web hizmeti çağrısı parametrelerini aşağıdaki gibi tanımlamak için Bağımsız Değişkenler düğmesine tıklayın:
Adı Yön Tip Değer
MAX_ROWS İçinde Int32 Sayfa Boyutu
MAX_ROWSSpecified İçinde Boolean Doğru
DÖNÜŞ Gelen/Giden TABLE_OF_BAPIRET2 getListRetTable
Seçim_EXP Gelen/Giden TABLE_OF_BAPIUSSEXP
SEÇİM_ARALIĞI Gelen/Giden TABLE_OF_BAPIUSSRGE seçiliAralıkTablosu
KULLANICI LİSTESİ Gelen/Giden TABLE_OF_BAPIUSNAME kullanıcıTablosu
KULLANICI_ADI İçinde Dize
SATIRLAR Dışarı Int32 returnedSize
  1. Tamam'ı seçin. Uyarı işareti kaybolur. usersTable değişkeninde depolanan kullanıcıların listesi. SAP tek bir yanıtta kullanıcıların tam listesini döndürmediğinden sayfalandırma uygulamamız ve sayfalar arasında geçiş yaparken bu işlevi birkaç kez çağırmamız gerekir. Ardından içeri aktarılan her kullanıcı için ayrı bir çağrı yaparak bu kullanıcının ayrıntılarını almanız gerekir. Başka bir deyişle, 1.000 kullanıcı ve sayfa boyutu 200 olan bir manzara için Web Hizmeti bağlayıcısı, kullanıcıların listesini almak için 5 çağrı ve kullanıcıların ayrıntılarını almak için 1.000 ayrı çağrı yapar. Performansı geliştirmek için SAP ekibinizden tüm kullanımları özellikleriyle birlikte listeleyen özel bir BAPI programı geliştirmesini isteyin. Bu, 1.000 ayrı çağrı yapma ve SOAP WS uç noktası üzerinden bu BAPI işlevini kullanıma sunma gereksinimini ortadan kaldırıyor.
  2. Araç Kutusu'ndan, WebServiceCall etkinliğinden sonra DoWhile etkinliğinizin içine IF etkinliğini sürükleyip bırakın. Boş olmayan yanıtı ve hataların yokluğunu denetlemek için bu koşulu belirtin: IsNothing(getListRetTable.item) OrElse getListRetTable.item.Count(Function(errItem) errItem.TYPE.Equals("E") = True) = 0
  3. İçeri aktarma başarısız olduğunda bir hata fırlatmak için Araç Kutusu'ndan Throw etkinliğini IF etkinliğinizin Else dalına sürükleyip bırakın. Özellikler sekmesine geçin ve Throw etkinliğinin Exception özelliği için şu ifadeyi girin: New Exception(getListRetTable.item.First(Function(retItem) retItem.TYPE.Equals("E")).MESSAGE)

Özel durum özelliğinin ekran görüntüsü.

  1. İçeri aktarılan kullanıcıların listesini işlemek için ForEachWithBodyFactory etkinliğini Araç Kutusu'ndan IF etkinliğinizin Then dalı içine sürükleyip bırakın. Özellikler sekmesine geçin ve TypeArgument olarak SAPECC.BAPIUSNAME'i seçin. Seç: ... düğmesini seçin ve values özelliği için şu ifadeyi yazın: if(usersTable.item,Enumerable.Empty(of BAPIUSNAME)())

IF etkinliğinin ekran görüntüsü.

  1. Araç Kutusu'ndan, Dizi etkinliğini ForEach etkinliğinizin içine sürükleyip bırakın. Bu Sıralı etkinlik penceresinin etkin olması için Değişkenler düğmesini seçin ve şu değişkenleri tanımlayın:
Adı Değişken Türü Kapsam Varsayılan
şirket SAPECC.BAPIUSCOMP Dizi new BAPIUSCOMP()
adres SAPECC. BAPIADDR3 Dizi new BAPIADDR3()
varsayılan değerler SAPECC. BAPIDEFAUL Dizi new BAPIDEFAUL()
logondata SAPECC.BAPILOGOND Dizi new BAPILOGOND()
getDetailRetTable SAPECC. TABLE_OF_BAPIRET2 Dizi yeni TABLE_OF_BAPIRET2()

EĞER etkinliğiniz şöyle görünür:

foreach ile IF etkinliğinin ekran görüntüsü.

  1. CreateCSEntryChangeScope etkinliğini Sıra etkinliğinizin içine sürükleyip bırakın. DN özelliğine schemaType.Name & öğe girin. KULLANICI ADI. CreateAnchorAttribute AnchorValue alanına item.username girin.

CreateCSEntryChangeScope'un ekran görüntüsü.

  1. Her kullanıcının ayrıntılarını almak için Toolbox'tan WebServiceCall etkinliğini CreateAnchorAttribute etkinliğinden hemen önce Sıra etkinliği içinde sürükleyip bırakın. SAPECC hizmet adı, ZSAPCONNECTORWS uç noktası ve BAPI_USER_GET_DETAIL işlemi seçin. Web hizmeti çağrısı parametrelerini aşağıdaki gibi tanımlamak için Bağımsız Değişkenler düğmesine tıklayın:
Adı Yön Tip Değer
DÖNÜŞ İçeri/Dışarı TABLE_OF_BAPIRET2 getDetailRetTable
KULLANICI ADI İçinde Dize item.username
ADRES Dışarı BAPIADDR3 adres
ŞİRKET Dışarı BAPIUSCOMP şirket
VARSAYILAN Dışarıda BAPIUSDEFAUL varsayılan değerler
LOGONDATA Dışarı BAPILOGOND oturumAçmaVerileri
KULLANICI_ADIYLA İçinde String
SATIRLAR Dışarı Int32 döndürülenBoyut
  1. Tamam'ı seçin. Uyarı işareti kaybolur. Bir kullanıcının ayrıntıları, yukarıda listelenen değişkenlerde depolanır. EĞER etkinliğiniz şöyle görünür:

Parametrelerin ekran görüntüsü.

  1. BAPI_USER_GET_DETAIL işleminin sonuçlarını denetlemek için, Araç Kutusu'ndan EĞER etkinliğini sürükleyip bırakın ve WebServiceCall ile CreateAnchorAttribute etkinlikleri arasında Sıra etkinliğinin içine yerleştirin. Şu koşulu girin: IsNothing(getDetailRetTable.item) OrElse getDetailRetTable.item.Count(Function(errItem) errItem.TYPE.Equals("E") = True) = 0

Eksik kullanıcı ayrıntıları yıkıcı bir olay olarak değerlendirilmediğinden, bu hatayı belirtmek ve diğer kullanıcıların işlenmesine devam etmek istiyoruz. Dizi etkinliğini EĞER etkinliğinizin Else dalı içine sürükleyip bırakın. Bu yeni Sekans etkinliğinin içine Etkinlik günlüğü ekleyin. Özellikler sekmesine geçin ve Düzey özelliğini Yüksek, Etiket özelliğini İzleme olarak değiştirin. LogText özelliğine aşağıdakileri girin: string.Join("\n", getDetailRetTable.item.Select (Function(item) item.MESSAGE ))

  1. Eylem sıralamasını, EĞER etkinliğinin 'O zaman' dalı içine sürükleyip bırakın. Mevcut CreateAnchorAttribute etkinliğini, IF etkinliğinin Then dalındaki Sıra etkinliğine sürükleyip bırakın. ForEach etkinliğiniz şu şekilde görünür:

ForEach'in ekran görüntüsü.

  1. Bir kullanıcının city, company, department gibi her özelliği için CreateAnchorAttribute aktivitesinden sonra IF aktivitesi ekleyin ve Not string.IsNullOrEmpty(address.city) gibi koşullar girerek ve CreateAttributeChange aktivitelerini bu IF aktivitesinin Then dalı içine ekleyerek boş olmayan değerleri kontrol edin.

CreateAttributeChange öğesinin ekran görüntüsü.

Örneğin: Bu eşleme tablosunu kullanarak tüm kullanıcı özellikleri için CreateAttributeChange etkinlikleri ekleyin:

ECMA Kullanıcı özelliği SAP özelliği
şehir adres.şehir
bölüm adres.bölüm
şirket şirket.şirket
e-posta adres.e_posta
isim address.adİlk
soyadı adres.soyad
ikinci ad address.ikinciAd
iş unvanı adres.fonksiyon
son kullanma zamanı logonData.GLTGB
telefon numarası adres. TEL1_NUMBR
  1. Son olarak, son CreateAttributeChange etkinliğinden sonra SetImportStatusCode etkinliğini ekleyin. Then dallında ErrorCode değerini Başarı olarak ayarlayın. Else dalı içine bir SetImportStatus kod etkinliği daha ekleyin ve ErrorCode değerini ImportErrorCustomContinueRun olarak ayarlayın.

SetImportStatusCode'un ekran görüntüsü.

  1. DoWhile döngünüzün şu şekilde görünmesi için ForEach içerisindeki Sıra etkinliğini daraltın:

DoWhile döngüsünün ekran görüntüsü.

  1. Kullanıcıların sonraki sayfasını almak için selRangeTable.item(0).LOW özelliğini güncelleyin. IF etkinliğini DoWhile içindeki Sıra Etkinliği'ne sürükleyip bırakın. Mevcut EĞER etkinliğinin arkasına yerleştirin. koşul olarak returnedSize>0 girin. Assign etkinliğini IF etkinliğinin Then dalına ekleyin ve selRangeTable.item(0).LOW değerini usersTable.item(returnedSize-1).username olarak ayarlayın.

DoWhile finalinin ekran görüntüsü.

Tam İçeri Aktarma iş akışının tanımını tamamladınız.

İhracat İş Akışı Ekleme Oluşturma

SAP ECC'de bir kullanıcı oluşturmak için BAPI_USER_CREATE1 programını çağırabilir ve hesap adı ve başlangıç parolası dahil olmak üzere tüm parametreleri sağlayabilirsiniz. SAP tarafında bir hesap adı oluşturulması gerekiyorsa SAP yöneticinize başvurun ve yeni oluşturulan bir kullanıcı hesabının userName özelliğini döndüren özel bir BAPI işlevi kullanın.

Bu kılavuzda lisansların, yerel veya genel etkinlik gruplarının, sistemlerin veya profillerin atanması gösterilmiyor. SAP yöneticinize danışın ve bu iş akışını uygun şekilde değiştirin.

Dışarı aktarma iş akışlarında sayfalandırma uygulamaya gerek yoktur. İş akışı bağlamında yalnızca bir objectToExport kullanılabilir.

  1. Nesne Türleri - Kullanıcı ->> Dışarı Aktar -> İş akışı ekle'ye gidin ve sağ taraftaki Araç Kutusu'ndan Sıralı etkinliği iş akışı tasarımcısı bölmesine sürükleyip bırakın.
  2. Sol altta Değişkenler düğmesini bulun ve bu Dizi içinde tanımlanan değişkenlerin listesini genişletmek için bu düğmeyi seçin.
  3. Aşağıdaki değişkenleri ekleyin. SAP WSDL'den oluşturulan bir değişken türünü seçmek için "Türlere Göz At"a tıklayın, ardından oluşturulan kısmını genişletip SAPECC ad alanını genişletin. Bu, BAPI_USER_CREATE1 program tarafından kullanılan veri yapılarını başlatır.
Adı Değişken Türü Kapsam Varsayılan
adres SAPECC. BAPIADDR3 Dizi new BAPIADDR3()
userName String Sıra
şifre SAPECC.BAPIPWD Dizi new BAPIPWD()
şirket SAPECC.BAPIUSCOMP Dizi new BAPIUSCOMP()
varsayılan değerler SAPECC. BAPIDEFAUL Dizi new BAPIDEFAUL()
logOnData SAPECC.BAPILOGOND Dizi new BAPILOGOND()
bapiret2Table SAPECC. TABLE_OF_BAPIRET2 Dizi yeni TABLE_OF_BAPIRET2()

Dışa aktarma iş akışı ekleme ekran görüntüsü.

  1. userName özelliğini sabit bir kimlik, bir yer işareti olarak tanımladığımız gibi, dışarı aktarma nesnemizin yer işaretleri koleksiyonundan userName değerini ayıklamamız gerekir. ForEachWithBodyFactory etkinliğini Araç Kutusu'ndan Sıra etkinliğinize sürükleyip bırakın. item değişken adını anchor ile değiştirin, özelliklere geçin ve Microsoft.MetadirectoryServices.AnchorAttribute TypeArgument değerini seçin. Değer alanına objectToExport.AnchorAttributesyazın.

Dışarı aktarma ekleme sırasının ekran görüntüsü.

  1. UserName tutturucusunun dize değerini ayıklamak için, Switch etkinliğini ForEach etkinliğinin içine sürükleyip bırakın. Açılan pencerede anahtarın Microsoft.IdentityManagement.MA.WebServices.Activities.Extensions.AnchorAttributeNameWrapper türünü seçin. İfade değerini girin: New AnchorAttributeNameWrapper(anchor.Ad).
  2. Switch etkinliğindeki "Yeni durumu ekle" alanını seçin. "userName'i Durum Değeri olarak girin." Atama etkinliğini userName vaka gövdesine sürükleyip bırakın ve anchor.Value.ToString() değerini userName değişkenine atayın.

Yeni davanın ekran görüntüsü.

  1. Dışarı aktarılan nesne bağlantısı özelliğinden userName değerini ayıkladığımıza göre, diğer SAP kullanıcı ayrıntılarını içeren şirket, varsayılanlar, adres, oturum açma verileri gibi diğer yapıları doldurmamız gerekir. Bunu, özellik değişiklikleri koleksiyonunu sırayla gözden geçirerek yaparız.
  2. ForEach etkinliğinizi daraltın ve mevcut ForEach etkinliğinden sonra Sıra etkinliğinizin içinde başka bir ForEachWithBothFactory etkinliğini sürükleyip bırakın. öğe değişkeni adını attributeChange ile değiştirin, özelliklere geçin ve TypeArgument öğesini Microsoft.MetadirectoryServices.AttributeChangeseçin. Değer alanına objectToExport.AttributeChangesyazın.

Yeni sıranın ekran görüntüsü.

  1. Switch etkinliğini, ForEach etkinliğinizin gövdesine sürükleyip bırakın.
  2. Açılan menüden Microsoft.IdentityManagement.MA.WebServices.Activities.Extensions.AttributeNameWrapper'ı ve ardından Tamam'ı seçin.
  3. Şu ifadeyi girin: New AttributeNameWrapper(attributeChange.Name). Switch etkinliğinizin sağ üst köşesinde şemada tanımlanan ve hiçbir özelliğe atanmayan işlenmeyen öznitelikler hakkında bir uyarı simgesi görürsünüz.
  4. Switch etkinliğinde Yeni vaka alanı ekle bölümünde şehir olarak bir vaka değeri yazın.
  5. Assign etkinliğini bu servis talebinin gövdesine sürükleyip bırakın. attributeChange.ValueChanges(0).Value.ToString() adresini address.city olarak atayın.

Yeni dışarı aktarma ekleme iş akışının ekran görüntüsü.

  1. Diğer eksik vakaları ve atamaları ekleyin. Bu eşleme tablosunu kılavuz olarak kullanın:
Büyük/küçük harf durumu Görevlendirme
şehir address.city = attributeChange.ValueChanges(0)Value.ToString()
şirket company.company = attributeChange.ValueChanges(0)Value.ToString()
bölüm address.department = attributeChange.ValueChanges(0)Value.ToString()
e-posta address.e_mail = attributeChange.ValueChanges(0)Value.ToString()
sona erme zamanı logOnData.GLTGB = attributeChange.ValueChanges(0)Value.ToString()
isim address.firstname = attributeChange.ValueChanges(0)Value.ToString()
soyadı address.lastname = attributeChange.ValueChanges(0)Value.ToString()
ikinci ad address.middlename = attributeChange.ValueChanges(0)Value.ToString()
telefon numarası address.TEL1_Numbr = attributeChange.ValueChanges(0)Value.ToString()
iş unvanı address.function = attributeChange.ValueChanges(0)Value.ToString()
dışa_aktar_şifre parola.BAPIPWD1 = attributeChange.ValueChanges(0)Value.ToString()

Burada, export_password her zaman şemada tanımlanan ve oluşturulan kullanıcının ilk parolasını geçirmek için kullanılabilen özel bir sanal özniteliktir.

Vakaların ekran görüntüsü.

  1. ForEach etkinliğinizi daraltın ve EĞER etkinliğini Sıra etkinliğine, ikinci ForEach etkinliğinden sonra, kullanıcı özelliklerini doğrulamak üzere, kullanıcı oluşturma isteğini göndermeden önce sürükleyip bırakın. En az 3 boş olmayan değere ihtiyacımız var: kullanıcı adı, soyadı, ilk parola. Şu koşulu girin: (String.IsNullOrEmpty(address.lastname) = False ) AND (String.IsNullOrEmpty(userName) = False) AND (String.IsNullOrEmpty(password.BAPIPWD1) = False)
  2. IF işleminin Else dalında, eksik olan şeylere bağlı olarak farklı hatalar atmak istediğimiz için bir IF işlemi daha ekleyin. Koşul değerini girin: String.IsNullOrEmpty(userName). İkinci EĞER etkinliğinin her iki dalına CreateCSEntryChangeResult Sürükleyip Bırakma etkinliklerini sürükleyin ve bırakın ve ExportErrorMissingAnchorComponent ve ExportErrorMissingProvisioningAttribute hata kodlarını ayarlayın.

İkinci EĞER etkinliğinin ekran görüntüsü.

  1. Sıra etkinliğini ilk EĞER etkinliğinin boş Then dalında sürükleyip bırakın. WebSeviceCall etkinliğini Sıralı etkinliğin içine sürükleyip bırakın. SAPECC hizmet adı, ZSAPCONNECTORWS uç noktası ve BAPI_USER_CREATE1 işlemi seçin. Web hizmeti çağrısı parametrelerini aşağıdaki gibi tanımlamak için Argümanlar düğmesini seçin:
Adı Yön Tip Değer
ADRES İçinde BAPIADDR3 adres
ŞİRKET İçinde BAPIUSCOMP şirket
VARSAYILAN İçinde BAPIDEFAUL varsayılan değerler
LOGONDATA İçinde BAPILOGOND logOnData
ŞİFRE İçinde BAPIPWD şifre
GERİ DÖN Gelen-Giden TABLE_OF_BAPIRET2 bapiret2Table
KENDİ_KAYIT İçinde String "X"
KULLANICI ADI İçinde String userName
  1. Tamam'ı seçin. Uyarı işareti kaybolur.

Parametrelerden sonraki iş akışının ekran görüntüsü.

  1. Kullanıcı oluşturma isteği sonuçlarını işlemek için, WebServiceCall etkinliğinden sonra Dizi etkinliği içine IF etkinliğini sürükleyip bırakın. Aşağıdaki koşulu girin: IsNothing (bapiret2Table.item) OrElse bapiret2Table.item.Count(Function(errItem) errItem.TYPE.Equals("E") = True) <> 0
  2. Hata almadığımız takdirde, dışarı aktarma işleminin başarıyla tamamlandığını varsayarız ve Başarılı durumuyla CSEntryChangeResult oluşturarak bu nesnenin başarılı dışarı aktarılmasını belirtmek isteriz. CreateCSEntryChangeResult etkinliğini IF etkinliğinizin Else dalı içine sürükleyip bırakın ve Başarılı hata kodu'nu seçin.
  3. İsteğe bağlı: Web hizmeti çağrısı bir kullanıcının oluşturulan hesap adını döndürürse, dışarı aktarılan nesnenin tutturucu değerini güncelleştirmemiz gerekir. Bunu yapmak için CreateAttrubuteChange aktiviteyi CreateCSEntryChangeResult etkinliğin içine sürükleyip bırakın ve kullanıcı adı ekle'yi seçin. Ardından, CreateValueChange etkinliğini CreateAttributeChange etkinliğinin içine sürükleyip bırakın ve bir web hizmeti çağrısı etkinliği tarafından doldurulan değişken adını girin. Bu kılavuzda, dışa aktarıldığında güncellenmeyen userName değişkenini kullanacaksınız.

Güncelleştirilmiş sıralı akışın ekran görüntüsü.

  1. Dışarı Aktarma Ekleme akışının son adımı dışarı aktarma hatalarını işlemek ve kayıt altına almaktır. Dizi etkinliğini, EĞER etkinliğinizin boş Then dalı içine sürükleyip bırakın.
  2. Kayıt etkinliğini Sıra etkinliğine sürükleyip bırakın. Özellikler sekmesine geçin ve LogText değerini girin: bapiret2Table.item.First(Function(retItem) retItem.TYPE.Equals("E")). İLETİ. Yüksek kayıt düzeyini ve İzleme etiketi ayarını koruyun. Ayrıntılı izleme etkinleştirildiğinde, bu, bir hata iletisini ConnectorsLog'a veya ECMA2Host olay günlüğüne kaydeder.
  3. Günlük etkinliğinden sonra Sıralı etkinliğin içine Switch etkinliğini sürükleyip bırakın. Açılan pencerede anahtar değerinin Dize türü'nü seçin. Aşağıdaki ifadeyi girin: bapiret2Table.item.First(Function(retItem) retItem.TYPE.Equals("E")).NUMBER
  4. Varsayılan durumu seçin ve CreateCSEntryChangeResult etkinliğini bu durumun gövdesine sürükleyip bırakın. ExportErrorInvalidProvisioningAttributeValue hata kodunu seçin.

İş akışına yapılan yeni güncelleştirmenin ekran görüntüsü.

  1. Yeni vaka ekle alanını seçin ve 224 vaka değeri yazın. Etkinliği bu olayın gövdesine sürükleyin ve bırakın CreateCSEntryChangeResult . Hata kodunu seçin ExportErrorCustomContinueRun .

İş akışına son güncelleştirmenin ekran görüntüsü.

Dışa Aktarma Ekleme iş akışı tanımını tamamladınız.

Dışarı Aktarma Silme iş akışı oluşturma

SAP ECC'de bir kullanıcıyı silmek için BAPI_USER_DELETE programı çağırabilir ve bağlı sistemde silinecek bir hesap adı sağlayabilirsiniz. Bu senaryo için zorunlu olup olmadığını belirlemek için SAP Yöneticinize başvurun. Çoğu zaman SAP ECC hesapları silinmez, ancak geçmiş kayıtları tutmak için süresi dolacak şekilde ayarlanır.

Bu kılavuz SAP Common User Administration sistemiyle ilgili senaryoları, bağlı sistemlerden kullanıcıların sağlamasını kaldırmayı, lisansların iptalini vb. kapsamaz.

Dışarı aktarma iş akışlarında sayfalandırma uygulamaya gerek yoktur. İş akışı bağlamında yalnızca bir objectToExport kullanılabilir.

  1. Nesne Türleri -> Kullanıcı -> Dışa Aktar -> Sil iş akışına gidin ve sağ taraftaki Araç Kutusu'ndan Sıralama aktivitesini iş akışı tasarım alanına sürükleyip bırakın.
  2. Sol altta Değişkenler düğmesini bulun ve bu Dizi içinde tanımlanan değişkenlerin listesini genişletmek için bu düğmeyi seçin.
  3. Aşağıdaki değişkenleri ekleyin. SAP WSDL'den oluşturulan bir değişken türünü seçmek için Türlere Gözat'ı seçin, ardından generated'i genişletip SAPECC ad alanını genişletin. Bu, BAPI_USER_DELETE program tarafından kullanılan veri yapılarını başlatır.
Adı Değişken Türü Kapsam Varsayılan
userName String Sıra
bapiret2Table SAPECC. TABLE_OF_BAPIRET2 Sekans new TABLE_OF_BAPIRET2()
  1. userName özelliğini sabit bir kimlik, bir yer işareti olarak tanımladığımız gibi, dışarı aktarma nesnemizin yer işaretleri koleksiyonundan userName değerini ayıklamamız gerekir. ForEachWithBodyFactory etkinliğini Araç Kutusu'ndan Sıra etkinliğinize sürükleyip bırakın. Item değişken adını ankor ile değiştirin, özelliklere geçin ve Microsoft.MetadirectoryServices.AnchorAttribute tür bağımsız değişkenini seçin. Değer alanına objectToExport.AnchorAttributesyazın.

Silme işlemi iş akışını dışarı aktarma işleminin ekran görüntüsü.

  1. UserName tutturucusunun dize değerini ayıklamak için, ForEach etkinliğinin içinde Switch etkinliğini sürükleyip bırakın. Açılan pencerede, bir anahtar türü seçin Microsoft.IdentityManagement.MA.WebServices.Activities.Extensions.AnchorAttributeNameWrapper. şu ifade değerini girin: Yeni AnchorAttributeNameWrapper(anchor.Name). Switch etkinliğinin Yeni durum ekleme alanını seçin. KullanıcıAdını Büyük/Küçük Harf Duyarlılığı olarak yazın. Assign etkinliğini userName vaka gövdesine sürükleyip bırakın ve userName değişkenine anchor.Value.ToString() atayın.
  2. WebSeviceCall etkinliğini ForEach etkinliğinden sonra Sıra etkinliği içinde sürükleyip bırakın. SAPECC hizmet adı, ZSAPCONNECTORWS uç noktası ve BAPI_USER_DELETE işlemi seçin. Web hizmeti çağrısı parametrelerini aşağıdaki gibi tanımlamak için Bağımsız Değişkenler düğmesini seçin.
Adı Yön Tip Değer
GERİ DÖNÜŞ Giriş/Çıkış TABLOSU_BAPIRET2 bapiret2Table
KULLANICI ADI İçinde String userName
  1. Tamam'ı seçin. Uyarı işareti kaybolur.

Güncelleştirilmiş silme işlemi iş akışının ekran görüntüsü.

  1. Kullanıcı silme isteği sonuçlarını işlemek için, IF etkinliğini WebServiceCall etkinliğinden sonraki Sıra etkinliği içine sürükleyip bırakın. Aşağıdaki koşulu girin: If(bapiRet2Table.item, Enumerable.Empty(Of BAPIRET2)()).Count(Function(errItem) errItem.TYPE.Equals("E") = True) <> 0
  2. Hata almadığımız takdirde silme işleminin başarıyla tamamlandığını varsayarız ve Başarılı durumuyla oluşturarak CSEntryChangeResult bu nesnenin başarılı bir şekilde dışarı aktarıldığını belirtmek isteriz. CreateCSEntryChangeResult etkinliğini IF etkinliğinizin Else dalına sürükleyip bırakın ve Başarı hata kodunu seçin.

Dışarı aktarma silme iş akışının ekran görüntüsü.

  1. Dışarı Aktarma Silme iş akışının son adımı, dışarı aktarma hatalarını ele almak ve günlüğe kaydetmektir. Dizi etkinliğini, EĞER etkinliğinizin boş Then dalı içine sürükleyip bırakın.
  2. Günlük kaydı etkinliğini Sıra etkinliğinin içine sürükleyip bırakın. Özellikler sekmesine geçin ve LogText değerini girin: bapiRetTable.item.First(Function(retItem) retItem.TYPE.Equals("E")= True).MESSAGE. Yüksek hata ayıklama düzeyini ve İzleme etiketini koruyun. Ayrıntılı izleme etkinleştirildiğinde, bir hata mesajı ConnectorsLog veya ECMA2Host olay günlüğüne kaydedilir.
  3. Log etkinliğinden sonra, Sıralı etkinliğin içine Switch etkinliğini sürükleyip bırakın. Açılan pencerede anahtar değerinin Dize türü'nü seçin. Aşağıdaki ifadeyi girin: bapiret2Table.item.First(Function(retItem) retItem.TYPE.Equals("E")).NUMBER
  4. Varsayılan durumu seçin ve CreateCSEntryChangeResult etkinliğini bu durumun gövdesine sürükleyip bırakın. ExportErrorSyntaxViolation hata kodunu seçin.

Silme işlemi iş akışını dışarı aktarma güncelleştirmesinin ekran görüntüsü.

  1. Yeni vaka ekle alanını seçin ve 124 vaka değeri yazın. CreateCSEntryChangeResult etkinliğini bu durumun gövdesine sürükleyip bırakın. Hata kodunu seçin ExportErrorCustomContinueRun .

Son dışarı aktarma silme işlemi iş akışının ekran görüntüsü.

Silmeyi Dışarı Aktar iş akışının tanımını tamamladınız.

Dışarı Aktarma Değiştirme iş akışı oluşturma

SAP ECC'deki bir kullanıcıyı güncelleştirmek için BAPI_USER_CHANGE programını çağırabilir ve hesap adı ve değişmeyenler de dahil olmak üzere tüm kullanıcı ayrıntıları dahil olmak üzere tüm parametreleri sağlayabilirsiniz. Tüm kullanıcı özellikleri sağlanacakken ECMA2 dışarı aktarma modu Değiştir olarak adlandırılır. Buna karşılık, AttributeUpdate'in dışarı aktarma modu yalnızca değiştirilen öznitelikleri sağlar ve bu, bazı kullanıcı özelliklerinin üzerine boş değerlerle yazılmasını sağlayabilir. Bu nedenle, Web hizmeti bağlayıcısı her zaman Nesne Değiştirme dışarı aktarma modunu kullanır ve bağlayıcının Dışarı Aktarma Türü: Değiştir için yapılandırılmasını bekler.

Dışa Aktarma Değiştirme işlem akışı, Dışa Aktarma Ekleme işlem akışı ile neredeyse aynıdır. Tek fark, BAPI_USER_CHANGE programı için addressX veya companyX gibi ek parametreler belirtmeniz gerektiğidir. addressX'in sonundaki X değeri, adresin yapısının bir değişiklik içerdiğini gösterir.

  1. Nesne Türleri -> Kullanıcı -> Dışarı Aktar -> İş akışını değiştir seçeneğine gidin ve sağ taraftaki Araç Kutusu'ndan Sıra etkinliğini iş akışı tasarımcısı bölmesine sürükleyip bırakın.
  2. Sol altta Değişkenler düğmesini bulun ve bu Dizi içinde tanımlanan değişkenlerin listesini genişletmek için bu düğmeyi seçin.
  3. Aşağıdaki değişkenleri ekleyin. SAP WSDL'den oluşturulan bir değişken türünü seçmek için Türlere Gözat’a tıklayın ve generated'i genişletip ardından SAPECC ad alanını genişletin. Bu, BAPI_USER_CHANGE program tarafından kullanılan veri yapılarını başlatır.
Adı Değişken Türü Kapsam Varsayılan
userName String Dizi
bapiret2Table SAPECC. TABLE_OF_BAPIRET2 Sıra yeni TABLE_OF_BAPIRET2()
adresX SAPECC. BAPIADDR3X Sıra new BAPIADDR3X()
adres SAPECC. BAPIADDR3 Sıra new BAPIADDR3()
companyX SAPECC. BAPIUSCOMX Dizi new BAPIUSCOMX()
şirket SAPECC.BAPIUSCOMP Dizi new BAPIUSCOMP()
defaultsX SAPECC. BAPIDEFAX Dizi new BAPIDEFAX()
varsayılan değerler SAPECC. BAPIDEFAUL Dizi new BAPIDEFAUL()
logOnDataX SAPECC.BAPILOGONX Dizi new BAPILOGONX()
logOnData SAPECC.BAPILOGOND Dizi new BAPILOGOND()

Dışarı Aktarma Değiştirme iş akışınız şöyle görünür:

Değiştirme işlemi iş akışının başlangıcının ekran görüntüsü.

  1. userName özelliğini sabit bir kimlik, bir yer işareti olarak tanımladığımız gibi, dışarı aktarma nesnemizin yer işaretleri koleksiyonundan userName değerini ayıklamamız gerekir. ForEachWithBodyFactory etkinliğini Araç Kutusu'ndan Sıra etkinliğinize sürükleyip bırakın. Item değişken adını Anchor ile değiştirin, özelliklere geçin ve Microsoft.MetadirectoryServices.AnchorAttribute'nın TypeArgument değerini seçin. Değer alanına objectToExport.AnchorAttributesyazın.

İşlem iş akışını değiştirmek için güncelleştirme işleminin ekran görüntüsü.

  1. UserName tutturucusunun dize değerini ayıklamak için Switch etkinliğini, ForEach etkinliğinin içine sürükleyip bırakın. Açılır pencerede anahtar türünü Microsoft.IdentityManagement.MA.WebServices.Activities.Extensions.AnchorAttributeNameWrapper seçin. şu ifade değerini girin: Yeni AnchorAttributeNameWrapper(anchor.Name). Switch etkinliğinde yeni durum ekle alanını seçin. UserName değerini Case Value olarak yazın. Atama aktivitesini userName kutusu gövdesine sürükleyip bırakın ve anchor.Value.ToString()'yi userName değişkenine atayın. Dışa Aktarma Değiştirme iş akışınız şöyle görünmektedir:

İşlem iş akışını değiştirmek için başka bir güncelleştirmenin ekran görüntüsü.

  1. Dışarı aktarılan nesne bağlantısı özelliğinden userName değerini ayıkladığımıza göre, diğer SAP kullanıcı ayrıntılarını içeren şirket, varsayılanlar, adres, oturum açma verileri gibi diğer yapıları doldurmamız gerekir. Bunu, şemada tanımlanan tüm özniteliklerin koleksiyonunda döngü yaparak yaparız.
  2. ForEach etkinliğinizi daraltın ve mevcut ForEach etkinliğinden sonra Sıra etkinliğinin içine başka bir ForEachWithBothFactory etkinliğini sürükleyip bırakın. Öğe değişkeni adını schemaAttr ile değiştirin, özelliklere geçin ve TypeArgument değerini Microsoft.MetadirectoryServices.SchemaAttributeseçin. Değer alanına schemaType.Attributesyazın.

İşlem dizisi etkinliğini değiştirme işleminin ekran görüntüsü.

  1. Sequence etkinliğini ForEach etkinliğinizin gövdesine sürükleyin ve bırakın. Sol altta Değişkenler düğmesini bulun ve bu Dizi içinde tanımlanan değişkenlerin listesini genişletmek için bu düğmeyi seçin. Şu değişkeni ekleyin: Dize türünün xValue değeri. Ata etkinliğini sürükleyip Sıra etkinliğinize bırakın. xValue değerini şu ifadeyle atayın: If(objectToExport.AttributeChanges.Contains(schemaAttr.Name), objectToExport.AttributeChanges(schemaAttr.Name).ValueChanges(0).Value.ToString(), String.Empty) Bu öznitelik için dışa aktarılmak üzere hazırlanan değişiklikleri ayıklar veya boş bir dizeyle başlatır. Dışa Aktarma Değiştirme iş akışınız şu şekilde görünür:

Değiştirme dizisine güncelleme işleminin ekran görüntüsü.

  1. Atama etkinliğinin ardından Switch etkinliğini sürükleyip bırakın. Açılan menüden Microsoft.IdentityManagement.MA.WebServices.Activities.Extensions.AttributeNameWrapper'ı ve ardından Tamam'ı seçin. Şu ifadeyi girin: Yeni AttributeNameWrapper(schemaAttr.Name). Switch etkinliğinizin sağ üst köşesinde şemada tanımlanan ve hiçbir özelliğe atanmayan işlenmeyen öznitelikler hakkında bir uyarı simgesi görürsünüz. Switch etkinliğinde Yeni vaka ekle alanı'nı seçin ve şehir bir vaka değeri yazın. Sequence etkinliğini bu durumun gövdesine sürükleyip bırakın. Assign etkinliğini sürükleyin ve bu durumun gövdesine bırakın. addressX.city adresine "X" değeri atayın. Bu durumun gövdesine başka bir Assign etkinliği sürükleyip bırakın. address.city adresine xValue atayın. Dışarı Aktarma Değiştirme iş akışınız şöyle görünür:

Sürükleyip bırakma anahtarı etkinliğinin ekran görüntüsü.

10.Diğer eksik durumları ve atamaları ekleyin. Bu eşleme tablosunu kılavuz olarak kullanın:

Büyük/küçük harf durumu Görev
şehir addressX.city = "X" address.city = xValue
şirket companyX.company = "X" company.company = xValue
bölüm address.departmentX = "X" address.department = xValue
e-posta addressX.e_mail = "X" address.e_mail = xValue
son kullanma süresi logOnDataX.GLTGB = "X" logOnData.GLTGB = xValue
isim addressX.firstname = "X" address.firstname = xValue
soyadı addressX.lastname = "X" address.lastname = xValue
orta ad addressX.middlename = "X" address.middlename = xValue
telefon numarası addressX.TEL1_Numbr = "X" adresi. TEL1_Numbr = xValue
iş unvanı addressX.function = "X" address.function = xValue

Dışa Aktarım ve Değiştirme iş akışınız şöyle görünüyor:

İkinci sürükleme ve bırakma anahtarı etkinliğinin ekran görüntüsü.

  1. BAPI_USER_CHANGE programı çağırmadan önce boş olmayan kullanıcı adı olup olmadığını denetlememiz gerekir. Her iki ForEach etkinliğini de daraltın ve IF etkinliğini ikinci ForEach etkinliğinden sonra sürükleyip bırakın. Aşağıdaki koşulu girin: String.IsNullOrEmpty(userName ) = False

  2. Kullanıcı adı boş olduğunda işlemin başarısız olduğunu belirtmek isteriz. CreateCSEntryChangeResult etkinliğini EĞER etkinliğinizin Else dalına sürükleyip bırakın ve ExportErrorCustomContinueRun hata kodunu seçin. Dışarı Aktarma Değiştirme iş akışınız şöyle görünür: CreateCSEntryChangeResult etkinliğinin ekran görüntüsü.

  3. Dizi etkinliğini ilk IF etkinliğinin boş Then dalı içine sürükleyip bırakın. WebSeviceCall etkinliğini Sıralı etkinliğin içine sürükleyip bırakın. SAPECC hizmet adı, ZSAPCONNECTORWS uç noktası ve BAPI_USER_CHANGE işlemi seçin. Web hizmeti çağrısı parametrelerini aşağıdaki gibi tanımlamak için ... Açıklama Düğmesine seçin:

Adı Yön Tip Değer
ADRES İçinde BAPIADDR3 adres
ADDRESSX İçinde BAPIADDR3X addressX
ŞİRKET İçinde BAPIUSCOMP şirket
COMPANYX İçinde BAPIUSCOMX şirket
VARSAYILAN İçinde BAPIDEFAUL varsayılan değerler
DEFAULTSX İçinde BAPIDEFAX defaultsX
LOGONDATA İçinde BAPILOGOND logOnData
LOGONDATAX İçinde BAPILOGONX logOnDataX
Geri Dönüş Giriş/Çıkış TABLE_OF_BAPIRET2 bapiret2Table
KULLANICI ADI İçinde Dize userName
  1. Tamam'ı seçin. Uyarı işareti kaybolur. Dışarı Aktarma Değiştirme iş akışınız şöyle görünür:

BAPI_USER_CHANGE işleminin ekran görüntüsü.

  1. Kullanıcı değişiklik isteği sonuçlarını işlemek için, IF etkinliğini WebServiceCall etkinliğinden sonra Dizi etkinliğinin içine sürükleyin ve bırakın. Aşağıdaki koşulu girin: Not IsNothing(bapiret2Table.item) AndAlso bapiret2Table.item.Count(Function(errItem) errItem.TYPE.Equals("E") = True) <> 0
  2. Hata almadığımız takdirde, dışarı aktarma işleminin başarıyla tamamlandığını varsayarız ve Başarılı durumuyla oluşturarak CSEntryChangeResult bu nesnenin başarılı dışarı aktarılmasını belirtmek isteriz. IF etkinliğinizin Else dalına CreateCSEntryChangeResult etkinliğini sürükleyip bırakın ve Başarı durum kodunu seçin.
  3. IF faaliyetinizin o zaman dalına Sıra etkinliğini sürükleyip bırakın. LogText değeri string.Join("\n",bapiret2Table.item.Where(Function(retItem) retItem.TYPE.Equals("E")).Select(Function(r) r.MESSAGE)) ve Hata etiketi kullanarak Log etkinliği ekleyin. Günlük etkinliğinden CreateCSEntryChangeResult sonra ExportErrorCustomContinueRun hata koduyla bir etkinlik ekleyin. "Export Replace" iş akışınız şöyle görünür:

Son dışarı aktarma değiştirme iş akışının ekran görüntüsü.

İhracat Değiştir iş akışının tanımını tamamladınız.

Sonraki adım, bu şablonu kullanarak ECMA2Host Web hizmeti bağlayıcısını yapılandırmaktır.

Sonraki adımlar