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


    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

Bu blogdaki popüler yayınlar

Siebel OpenUI Presentation Model ve Physical Renderer Yapısı

Long running query'ler için Query Plan fixleme

Profile Attribute Listesi