teamteamdefinex.com

Siebel Web Servislerde Append Yapısı

DefineX
TeamDefineX
Published in
3 min readFeb 18, 2022

--

Outbound webservis’lerde mesajı oluştururken bazen Integration Object ile oluşturamayacağımız tarzda ya da her datanın tek tek kontrol edilip üzerinde işlem yapıldıktan sonra eklenmesi gereken talepler gelebiliyor. Bu tarz geliştirmelerde çoğu zaman script ile çözüme gidiliyor. Bu yayınımda scripte ihtiyaç kalmadan WF üzerinde Append ve Load yapısı ile bunu nasıl çözebileceğimizi anlatacağım.

1- İlk olarak tüm hierarcy’leri içinde barındıran XML tipinde bir IO oluşturulur.

Main IO

2- Sonrasında hierarcy altında çoklanacak olan integration component ile aynı isime, alt hierarcy’e ait XML tipinde bir IO daha oluşturulur.

Sub IO

3- Daha sonra WF içerisinde ana IO için boş bir request oluşturulur.

Business Service Name: PRM ANI Utility Service

Business Service Method: CreateEmptyPropSet

Input Arguments:

Input Argument : Hierarchy Name

Type: Literal

Value: “Main IO’nun Adı”

Outbound Web Servis Workflow’u

4- Boş mesaj oluşturduktan sonra varsa yapılması gereken işlemleri yapıp, mesajımızın altındaki child’ları doldurmaya geçiyoruz;

a. İlk olarak data set’imizi belirlemek için bc üzerinde query atıyoruz ve sonrasında basit bir döngü kurarak next operation ile kayıtlar içerisinde dönüyoruz.

Outbound Web Servis Workflow’u

b. Kayıt mevcut ise ilk iş, oluşturduğumuz alt IO için yukarıdaki gibi boş bir mesaj oluşturmak.

Step Name: Create Empty OrderItem

c. Query step’inde çektiğimiz verileri DataMap’e gönderip gerekli maplemeleri yapıyoruz.

Step Name : customerOrderItem DataMap

Output : customerOrderItem_Req

d. Sonrasında DataMap’ten çıkan hierarcy’i “LoadChildPropSet” ile load ediyoruz.

Step Name : Loaded

Business Service Name: PRM ANI Utility Service

Business Service Method: LoadChildPropSet

Input Arguments:

Input Argument : SiebelMessage

Type: Process Property

Value: customerOrderItem_Req → DataMap step’inden alınan output

Outbound Web Servis Workflow’u

e. En son adım ise load edilen bu child mesajı ilk başta oluşturduğumuz main mesajın içerisine append etmek.

Step Name : Append

Business Service Name: PRM ANI Utility Service

Business Service Method: AppendPropSet

Input Arguments:

Input Argument : Hierarchy Path:

Type: Literal

Value: SubmitCustomerOrderRequest.CustomerOrder → burada hierarcy’e göre her child itema nokta (.) ile geçiş yapılır.

Input Argument : SiebelMessage

Type: Process Property

Value: Order_Request → ilk başta oluşturduğumuz main hierarcy

Outbound Web Servis Workflow’u

5- Döngü bittikten sonra mesajımız hazır. Geçmiş olsun! :)

Ozan Bingul, Lead Developer @TeamDefineX

www.teamdefinex.com

ozan.bingul@teamdefinex.com

--

--

DefineX
TeamDefineX

We provide insights for leaders of digital world to accelerate digital transformation and liberate global markets with technology. Visit us at teamdefinex.com.