Skip to main content

SAP ABAP - Custom Class For Send Email Notification From Purchase Requisition Workflow

 




Method AFTER_WI_CREATED


  METHOD AFTER_WI_CREATED.
    DATAWORKITEM_ID   TYPE SWR_STRUCT-WORKITEMID,
          LT_CONTAINER  TYPE TABLE OF SWR_CONT,
          LS_CONTAINER  TYPE SWR_CONT,
          ZBANFN        TYPE BANFN,
          LSEBAN        TYPE EBAN,
          LCL_V_WI_ID   TYPE SWW_WIID,  "Work Item ID
          WF_ID         TYPE SWW_WIID,
          LV_WID_TEXT   TYPE CHAR12,
          WF_ID_TEXT    TYPE CHAR50,
          SEND_REQUEST  TYPE REF TO CL_BCS,
          TEXT          TYPE BCSY_TEXT,
          BODY_TEXT     TYPE SO_TEXT255,
          DOCUMENT      TYPE REF TO CL_DOCUMENT_BCS,
          SENDER        TYPE REF TO CL_SAPUSER_BCS,
          RECIPIENT     TYPE REF TO IF_RECIPIENT_BCS,
          BCS_EXCEPTION TYPE REF TO CX_BCS,
          SENT_TO_ALL   TYPE OS_BOOLEAN,
          ZRELCODE      TYPE CHAR2.

    CALL METHOD WI_CONTEXT->GET_WORKITEM_ID
      RECEIVING
        RE_WORKITEM LCL_V_WI_ID.

    CLEARLV_WID_TEXTWF_ID_TEXTWORKITEM_ID.
    WORKITEM_ID LCL_V_WI_ID.

    CALL FUNCTION 'SAP_WAPI_READ_CONTAINER'
      EXPORTING
        WORKITEM_ID      WORKITEM_ID
      TABLES
        SIMPLE_CONTAINER LT_CONTAINER.

    CLEAR ZBANFNLS_CONTAINER.
    READ TABLE LT_CONTAINER INTO LS_CONTAINER WITH KEY ELEMENT '_WI_COMP_EVENT_OBJKEY'.

    IF SY-SUBRC 0.
      ZBANFN LS_CONTAINER-VALUE.
      CLEAR LSEBAN.
      SELECT SINGLE FROM EBAN INTO LSEBAN WHERE BANFN ZBANFN.
      IF LSEBAN-BANPR '08'"PR Rejected
        CLEAR LS_CONTAINER.
        READ TABLE LT_CONTAINER INTO LS_CONTAINER WITH KEY ELEMENT 'RELEASECODE'.
        ZRELCODE LS_CONTAINER-VALUE.

        IF ZRELCODE IS NOT INITIAL.
*          Send Email PR Rejected
        ENDIF.
      ELSEIF LSEBAN-BANPR '05'.
        ZBANFN LS_CONTAINER-VALUE.

        CLEAR LS_CONTAINER.
        READ TABLE LT_CONTAINER INTO LS_CONTAINER WITH KEY ELEMENT '_WI_COMP_EVENT_NAME'.
        IF LS_CONTAINER-VALUE 'SIGNIFICANTLYCHANGED'.
        ELSE.
*          Send Email Notification PR Release Completed
        ENDIF.
      ENDIF.
    ENDIF.

  ENDMETHOD.


Call This Class From Workflow (SWDD)  WS00000038 step Release requisition on Program Exits Tab




Comments

Popular posts from this blog

PHP MySql CRUD Dengan Konsep MVC

Pada postingan kali ini saya akan sharing cara membuat CRUD dengan php menggunakan konsep MVC, ok langsung saja buka code editor (saya menggunakan sublime text) dan buat folder baru dengan nama phpmvc didalam folder htdocs kalian dan tambah folder seperti berikut :  Setelah itu kita siapkan database di mysql, buat database dengan nama phpmvc dan tablenya seperti gambar berikut : tambahkan file config.php didalam folder app/config : <?php define('BASEURL', 'http://localhost:8181/phpmvc/public'); define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'phpmvc'); kemudian tambahkan 3 file controller didalam folder app/controllers, yaitu Home, About, dan Mahasiswa : Home.php <?php class Home extends Controller { public function index() { $data['nama'] = $this->model('User_model')->getUser()...

Cara Sederhana Multi Insert Data Dengan PHP - MySQL

Pada postingan kali ini saya akan share cara melakukan insert lebih dari satu data dengan menggunaka PHP- Jquery dan MySQL. Pertama buat database di MySQL dan table, disini saya membuat database dengan nama db_latihan dan table dengan nama t_barang dengan struktur table seperti berikut : Setelah membuat database dan table selanjutnya membuat project PHP, project PHP nya saya buat dengan nama multi-insert, lalu didalam folder ini saya membuat dua file yaitu index.php dan insert.php . Source code index.php seperti berikut : <! doctype   html > < html   lang = "en" >    < head >      <!-- Required meta tags -->      < meta   charset = "utf-8" >      < meta   name = "viewport"   content = "width=device-width, initial-scale=1" >      <!-- Bootstrap CSS -->      < link ...

Laravel - Sistem Informasi Perpustakaan Sederhana Laravel

Postingan kali saya akan sharing membuat aplikasi perpustakaan sederhana menggunakan laravel 5.8, dimana terdapan menu Anggota, Kategori Buku, Daftar Buku dan Transaksi (Peminjaman/Pengembalian Buku). ok langsung saja kita buat project laravel dengan nama perpus : composer create-project --prefer-dist laravel/laravel perpus setelah create project laravel-nya selesai kita buat database melalui localhost/phpmyadmin dengan nama db_perpus, lalu kita buka project laravel dengan code editor disini saya menggunakan visual studio code. Setelah project kita buka dengan code editor, pertama kita atur koneksi database yang ada di file .env, kita rubah menjadi seperti berikut : note : untuk db_username dan db_password di sesuiakan dengan configurasi masing-masing. Selanjutnya kita tambahkan 4 buah data migration yaitu : table_anggota, table_kategori, table_buku, table_transaksi, kita buka terminal dan jalankan command berikut :  php artisan make:migration crea...