PI Provider Proxy Oluşturma

PI kullanılan sistemlerde, bildiğimiz gibi SAOManager üzerinden Web servis oluşturabileceğimiz gibi PI Proxy ile de web servis oluşturabiliyoruz. PI danışmanı ile ortak çalışmak gerekiyor.

- Öncelikle normal bir remote FM oluşturuluyor. FM ismi PI danışmanına veriliyor. Örnek: ZSDF_00021

- PI danışmanı bu FM için PI tarafında link oluşturup aşağıdaki gibi bir bilgiyi ABAP Danışmanına veriyor.

SC_SAPURLUS_EKAYNAK, 1.0 of sapurlus.com >>
http://sapurlus.com/EN001/sozlesmevadegunututarguncelleme >>
SI_SAP_SOZLESME_VADE_GUNU_TUTAR_GUNCELLEME_SYNC_INB

- Bizim gidip SPROXY işlem kodunda bu linki bulup proxy generate etmemiz gerekiyor. Sağ tıklayıp ‘Proxy Yarat’ dediğimizde bir ekran çıkıyor. Buraya ilgili package’ı yazıp, request seçiyoruz ve program isimleri oluşurken alacağı ön adı prefix alanına yazıyoruz.

Service Provider           : SI_SAP_SOZLESME_VADE_GUNU_TUTAR_GUNCELLEME_SYNC_INB
Abap Name                  : ZPOII_SI_SAP_SOZLESME_VADE_GUN
Prefix                          : ZPO
Implementing Class      : ZPOCL_SI_SAP_SOZLESME_VADE_GUN
Web Service Definition  : ZSI_SAP_SOZLESME_VADE_GUNU_TUT

- Kullandığımız örnek ZPO prefixini abap ve class isimlerinin başında görüyoruz. Bunlar otomatik oluşuyor.

- Implemeting Class’a tıklıyoruz.

- Classa bağlı method içinde bizim fonksiyonumuzu çağırmamız gerekiyor. (Methodun input ve output parametreleri bizim oluşturduğumuz fonksiyondaki input output parametrelerini kullanarak otomatik oluşuyor.)

Method: ZPOII_SI_SAP_SOZLESME_VADE_GUN~SI_SAP_SOZLESME_VADE_GUNU_TUTA

  METHOD zpoii_si_sap_sozlesme_vade_gun~si_sap_sozlesme_vade_gunu_tuta.

    DATAlt_part   TYPE zsdtt_00031,
          lt_output TYPE zsdtt_00032.

    LOOP AT input-it_part-item REFERENCE INTO DATA(lr_item_in).
      APPEND INITIAL LINE TO lt_part REFERENCE INTO DATA(lr_part).
      MOVE-CORRESPONDING lr_item_in->TO lr_part->*.
    ENDLOOP.

    CALL FUNCTION `ZSDF_00021`
      EXPORTING
        it_part   lt_part
      IMPORTING
        et_output lt_output.

    LOOP AT lt_output REFERENCE INTO DATA(lr_output).
      APPEND INITIAL LINE TO output-et_output-item REFERENCE INTO DATA(lr_item_out).
      MOVE-CORRESPONDING lr_output->TO lr_item_out->*.
    ENDLOOP.

  ENDMETHOD.


- Hepsini aktive ettiğimizde FM, Proxy, class vs. request içinde oluşuyor. Bu şekilde QA ve canlıya taşınabilir. PI tarafında da, PI danışmanı tarafından taşıma yapılması gerekiyor.

- Eğer fonksiyonda input output parametrelerinde değişiklik yapılırsa önce PI danışmanının PI’da güncelleme yapması gerekiyor. Arkasından proxynin yine SPROXY’den regenerate edilmesi gerekiyor. Change modundayken üstteki kırmızı-beyaz yuvarlağa basarak yada ilgili ara yüz sağ tıklanarak regenerate edilebilir.