Minggu, 26 Agustus 2007

Membuat ABAP Dialog Progam sederhana

Baca dulu: Mengenal Screen Painter.

Melalui contoh ini diperkenalkan:
1. cara membuat text field
2. cara membuat button
3. mengatur alur program



Step 1.
Masuk tcode SE38, buat program baru.

Step 2.
Deklarasikan data.
Program ini akan menampilkan text field di screen.
DATA: d_nama(40) TYPE c.

Step 3.
Tulis code berikut:
CALL SCREEN 100.
Code tersebut akan memanggil screen 100. Double click di screen 100 untuk masuk ke screen tsb.

Step 5.
Tambahkan element / object di layout editor.
Masuk ke layout editor, tambahkan object text di screen. Text field bisa ditambahkan dengan dua:
- cara pertama: drag & drop text object ke dalam screen dari list object. Namai sesuai nama variable di program (yaitu d_nama), lalu ubah attribute text dengan cara double click, akan muncul window atrribute, ubah lebar field sesuai dengan yang sudah dideklarasikan sebelum-nya.
- cara kedua: klik Goto -> Secondary window -> Dict/program fields. Tulis nama variable yang ingin di-insert ke layout (yaitu d_nama) , lalu klik "Get from program".

Tambahkan tombol dengan cara drag & drop dari list object.
Tiap tombol musti mempunyai attribute FctCode ( Function code). Saat tombol ditekan, nilai sy-ucomm akan berubah berdasarkan attribute FctCode dari tombol tersebut. Dalam contoh ini kita akan beri nilai FctCode = 'NEXT'.


Step 6.
Di flow logic screen 100.
Di event PBO, kita tidak melakukan apa2.
Di event PAI, kita ingin menangkap action (tombol ditekan) di screen tersebut, maka kita perlu buat buat untuk menangkap-nya. Buat satu module, misal-nya nama module-nya USER_COMMAND_0100. Double-click di nama module tersebut untuk membuat isi module. Di module tersebut, bila tombol yang ditekan adalah tombol dengan FctCode = 'NEXT', kita ingin keluar dari screen 100. Perintah-nya bisa dituliskan sebagai berikut.

MODULE USER_COMMAND_0100 INPUT.
IF sy-ucomm = 'NEXT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT

Perintah SET SCREEN 0 adalah perintah untuk keluar dari screen.
Perintah LEAVE SCREEN adalah perintah untuk keluar dari event PAI.
Bila perintah hanya SET SCREEN 0 saja tanpa LEAVE SCREEN, maka module2 di PAI akan di-execute seluruh-nya sampai selesai, baru setelah itu keluar dari screen tersebut.

Step 7.
Keluar dari Screen Editor, kembali ke program biasa.
Tekan tombol back dari screen untuk kembali ke ABAP editor biasa (transaction SE38).

Step 8.
Tulis data.

Berikut adalah program lengkap-nya:


REPORT ZAALGAL0009 .
*http://abap-gallery.blogspot.com
*Screen Painter: my first dialog program
DATA: d_nama(40) TYPE c.

start-of-selection.
* Buat screen 100
* Tambahkan element textbox dengan nama "d_nama".
* Tambahkan button dengan FctCode = 'NEXT'
* Buat Flow logic untuk screen 100
* PROCESS BEFORE OUTPUT.
* PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.

call screen 100.
WRITE :/ 'Nama=', d_nama.

*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.

IF sy-ucomm = 'NEXT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDIF.

ENDMODULE. " USER_COMMAND_0100 INPUT


3 komentar:

Obat Ejakulasi Dini paling Ampuh mengatakan...

nice and perfect

Obat Tradisional Jantung Bocor paling Ampuh mengatakan...

keren abis

Learn Digital Marketing mengatakan...

I really appreciate your professional approach. These are pieces of very useful information that will be of great use for me in future.