DIALOG PROGRAMMING ABAP – UNDERSTAND SCREEN EVENT

Pemrograman dialog sangat berbeda dengan pembuatan program report. report secara tradisional menyediakan akses read-only ke database, program dialog memungkinkan pengguna untuk membuat dan memperbarui data (CRUD). Misalnya, jika pengguna membutuhkan aplikasi untuk membuat sales order di mana kita ingin mendapatkan informasi tentang pesanan dan menyimpannya ke database, kita perlu mengembangkan program dialog untuk memungkinkan pengguna mendapatkan berbagai informasi tentang pesanan, validasi data, dan menyimpannya ke database. Namun, baik program report dan program dialog dapat bekerja secara bergantian, dan keduanya dapat digunakan untuk membaca dan memperbarui data.

Pada bagian ini, kita akan berkenalan dengan program dialog yang dapat digunakan untuk membuat screen. Berikut merupakan langkah dalam pembuatan program dialog di pemrograman Abap :

  • Create Screen : Bagian ini kita akan belajar untuk membuat screen pertama kali sebelum lanjut ke langkah berikutnya.
  • Screen Event : Pada bagian ini kita akan memahami bagaimana dialog diproses di SAP, seperti Process before output (PBO), Process after input (PAI), Process on help request (POH), Process on value request (POV).
  • Component of a Dialog Program : Saat kita mengembangkan program dialog, kita bekerja dengan menggunakan ABAP Workbench untuk membuat objek yang berbeda. Pada bagian ini kita akan memahami Flow Logic Programming Dialog pada Abap Workbench
  • Basic Screen Elements : Pada bagian ini kita akan mengenal Element pada screen

UNDERSTAND SCREEN EVENT

Tutorial sebelumnya , kita telah belajar membuat screen (Create Screen), pada tutorial kali ini kita akan memahami bagaimana dialog diproses di SAP.  Pada saat kita mengeksekusi screen di screen SAP, sebuah “Dialog Module” di panggil ketika program sedang berjalan, ada 4 screen even yang terjadi , yaitu :

  1. Process before output (PBO) : Di gunakan ketika sedang mempersiapkan screen , biasanya digunakan untuk menetapkan nilai default / menyembunyikan element atau bisa juga membuat fungsi hak akses masuk ke screen yang kita buat.
  2. Process after input (PAI) : Setelah screen tampil, pengguna / user biasanya menggunakan sebuah even tertentu, misalkan melakukan klik pada tombol “Simpan” / melakukan klik “Hapus” atau semacamnya, tindakan / even tersebut dapat di deteksi pada PAI.
  3. Process on help request (POH) : Biasanya SAP memberikan bantuan / Help dengan menekan tombol F1 di screen field,  POH dapat di gunakan untuk even bantuan tersebut terhadap screen field.
  4. Process on value request (POV) : Even POV di picu ketika kita sedang menekan tombol F4 pada screen Field, digunakan untuk bantuan input / masukan data ke screen field.

Pada tutorial kali ini , kita akan mencoba membuat PBO / Process Before Output, Berikut hasil tutorial sebelumnya (baca : Create Screen):

Even Screen

Even Screen

Untuk melanjutkan tutorial sebelumnya, Pada Object Name, Pilih Screens , Pilih 0100, lalu pada screen painter pilih flow logic :

Flow Logic - Screen Events

Flow Logic – Screen Events

Untuk latihan, mari kita aktifkan even screen PROCESS BEFORE OUTPUT. dengan menghilangkan tanda bintang pada statement logic *MODULE STATUS_0100.

PROCESS BEFORE OUTPUT - SCREEN EVENTS

PROCESS BEFORE OUTPUT – SCREEN EVENTS

Setelah di hilangkan tanda bintangnya, maka klik “save” lalu “active” agar perubahan di simpan, setelah active , double klik di statement status_0100 pada module status_0100. Makan SAP akan menginformasikan bahwa object STATUS_0100 belum di ada, maka perlu di buat, Klik saja YES.

CREATE OBJECT PBO MODULE

CREATE OBJECT PBO MODULE

Maka SAP akan konfirmasi, PBO Module akan di buat di include selection mana, pilih saja di dalam program (Main Program)YLATIHAN_DIALPROG.

INCLUDE SELECTION - SCREEN EVENTS

INCLUDE SELECTION – SCREEN EVENTS

Maka SAP akan menggenerate statemen code script abap di Main Program YLATIHAN_DIALPROG

CHANGE REPORT MODULE STATUS_0100 OUTPUT

CHANGE REPORT MODULE STATUS_0100 OUTPUT

Tambahkan statement code berikut sesudah REPORT YLATIHAN_DIALPROG.

CALL SCREEN 0100.

Statement tersebut agar screen 0100 yang sudah kita buat dapat di eksekusi ketika program YLATIHAN_DIALPROG di jalankan, Script akhir :

REPORT  YLATIHAN_DIALPROG.
call SCREEN 0100.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.
 
ENDMODULE.                 " STATUS_0100  OUTPUT

Klik “save” lalu klik “active” dan coba jalan kan dengan mengklik “Direct Process” / F8.

Ketika running :

Keterangan Logic :

Step 1 – Ketika program di jalankan, ada statement call screen 0100. maksudnya adalah memanggil screen 0100 yang telah kita buat sebelumnya.

Step 2 – Sebelum screen tampil, Maka statement yang berada pada MODULE STATUS_0100 OUTPUT akan di eksekusi terlebih dahulu.

Step 3 – Screen Tampil

Problem / Masalah :

Jika kita running, Maka aplikasi akan berhenti, (Tidak bisa di klik tombol “previous“/ tombol untuk kembali ke Abap Editor) bawaan SAP nya , untuk mengaktifkan tombol tersebut, maka perlu kita buatkan GUI STATUS nya.

GUI STATUS akan kita bahas di tutorial selanjutnya.

Terimakasih sudah membaca tutorial ini, semoga tutorial DIALOG PROGRAMMING ABAP – UNDERSTAND SCREEN EVENT ini dapat bermanfaat.

Tutorial Selanjutnya : Components of a dialog program

Wahyu Amaldi has written 73 articles

Hi Reader, thank you for read this article, i hope this article can be useful.
If you will share knowladge to me, dont forget contact to me.

Email 1 : wahyu.amaldi@outlook.com
Email 2 : wahyu.amaldi@ilmuprogram.com

3 thoughts on “DIALOG PROGRAMMING ABAP – UNDERSTAND SCREEN EVENT

  1. rendy says:

    mas sebelumnya saya ucapkan terima kasih banyak atas toturial yang telah di berikan saya ambil semuanya untuk di pelajari, saya mohon untuk sarannya kalau saya mau belajar ABAP kira2 dimana saya bisa kursus?
    bisa di kirimkan di email saya juga tidak apa2 mas..tks

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>