Servislerde Append yapısı
Web Servislerde Append yapısı
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.
2 - Sonrasında hirercy altında çoklanacak olan integration component ile aynı isime, alt hierarcy'e ait XML tipinde bir IO daha oluşturulur.
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ı"
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. ilk 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.
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
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
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
5 - Döngü bittikten sonra mesajımız hazır. Geçmiş olsun :)







Yorumlar
Yorum Gönder