|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > ABAP Dialog Programming > Basic Knowledge > Dialog (103) - Table Control |
Objective |
|
Kode Transaksi |
|
Support |
1.Buka SE38
2.Salin Program "YPRACTICE_DIALOG_101" menjadi "YPRACTICE_DIALOG_103"
3.Seleksi Semua Objek

4.Ubah Program "YPRACTICE_DIALOG_103"
5.Buka Goto > Attributes, dan ubah "Title" dengan "103 - Table Control"
6.Modifikasi Deklarasi Report
Sebelum
REPORT ypractice_dialog_101 .
Setelah
REPORT ypractice_dialog_103 .
7.Modifikasi ""
Sebelum
*----------------------------------------------------------------------*
*GLOBAL VARIABLE DECRALATION
*----------------------------------------------------------------------*
DATA : ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm.
DATA : gv_message1(100),
gv_message2(100).
*----------------------------------------------------------------------*
Setelah
*----------------------------------------------------------------------*
*GLOBAL VARIABLE DECRALATION
*----------------------------------------------------------------------*
TYPES: BEGIN OF ty_header,
matkl LIKE mara-matkl, " Material Group
matnr LIKE mara-matnr, " Material Number
maktx LIKE makt-maktx, " Material Description
bismt LIKE mara-bismt, " Old material number
meins LIKE mara-meins, " Base Unit of Measure
mseht LIKE t006a-mseht, " Unit of Measurement Text
Cek,
END OF ty_header.
* atau anda adapt menggunakan kode dibawah
*TYPES: BEGIN OF ty_header.
* INCLUDE STRUCTURE yta_header_101.
*TYPES: cek,
* END OF ty_header.
* Deklarasi Internal Table
DATA: gi_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE,
gi_makt LIKE STANDARD TABLE OF makt WITH HEADER LINE,
gi_t006a LIKE STANDARD TABLE OF t006a WITH HEADER LINE.
DATA: gv_matkl LIKE mara-matkl.
DATA : ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm.
DATA : gv_message1(100),
gv_message2(100).
*----------------------------------------------------------------------*
8.Klik "
" dan klik "
"
9.Seleksi "REPS", "CUAD" and "DYNP"

10.Klik "
" untukk mengaktivas program
11.Klik "
"
12.Klik ganda "
" untuk membuka screen 2000
13.Klik "
" untuk memulai layout desain (Screen Painter)
14.Klik "
" dan kemudian klik pada screen
15.Atur Nama Label (Text Field) dengan "GV_LABEL1" dan Text dengan "Material Group." seperti dibawah

16.Klik "
" dan kemudian klik pada screen
17.Atur Nama TextBox (Input/Output Field) dengan "GV_MATKL" dengan length "10" seperti berikut

18.Klik Ganda "
" dan atur Search help dengan "H_T023"

19.Setelah itu TextBox deiganti menjadi "
"
20.Klik "
" dan kemudian klik pada screen
21.Atur Nama (PushButton) dengan "GV_BUTTON" seperti berikut

22.Klik ganda "
" dan atur Function Code dengan "DISPLAY"

23.Setelah warna tombol berubah menjadi abu-abu seperti berikut "
"
24.Klik "
" untuk menyimpan screen
25.Klik "
" kemudian drag di screen painter
26.Setelah itu Table Control Wizard akan dieksekusi

27.Klik "
" ikuti langkah-langkah berikut
▪Isikan Nama kontrol tabel dengan "ZTC_HEADER" kemudian Klik "
▪Seleksi Internal Tabel "Internal program table" dan isi dengan "GI_HEADER" kemudian klik "
▪Seleksi Field seperti dibawah dan kemudian klik "
▪Ceklis "List selection col" dan isikan dengan "CEK" seperti dibawah "
▪Ceklis "Scroll" dan kemudian klik "
▪Isikan semua Text Box dengan "YPRACTICE_DIALOG_103_HEADER" dan kemudian klik "
▪klik " |
|
28.Klik "
" untuk menyimpan screen dan kemudian tutup screen painter
29.Kembali ke kode sintak
30.Modifikasi modul "USER_COMMAND_2000 input"
Sebelum
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module USER_COMMAND_2000 input.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN OTHERS.
ENDCASE.
CLEAR ok_code.
endmodule. " USER_COMMAND_2000 INPUT
Setelah
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_2000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_2000 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'DISPLAY'.
CALL FUNCTION 'YFM_RFC_PRACTICE_101'
EXPORTING
gv_matkl = gv_matkl
* GV_MATNR =
gv_max_row = 0
TABLES
gi_header = gi_header
.
WHEN OTHERS.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " USER_COMMAND_2000 INPUT
31.Klik "
" dan klik "
"
32.Seleksi "REPS", "REPS" and "DYNP"

33.Klik "
" untuk mengaktifkan program
34.Tes dan Jalankan program
36.Selesai
▪Screen 2000

▪Setelah di Klik tombol "Display"

PROCESS BEFORE OUTPUT. *&spwizard: pbo flow logic for tablecontrol 'ZTC_HEADER' module ZTC_HEADER_change_tc_attr. *&spwizard: module ZTC_HEADER_change_col_attr. loop at GI_HEADER with control ZTC_HEADER cursor ZTC_HEADER-current_line. module ZTC_HEADER_get_lines. *&spwizard: module ZTC_HEADER_change_field_attr endloop.
MODULE STATUS_2000. * PROCESS AFTER INPUT. *&spwizard: pai flow logic for tablecontrol 'ZTC_HEADER' loop at GI_HEADER. chain. field GI_HEADER-MATKL. field GI_HEADER-MATNR. field GI_HEADER-MAKTX. field GI_HEADER-BISMT. field GI_HEADER-MEINS. field GI_HEADER-MSEHT. endchain. field GI_HEADER-CEK module ZTC_HEADER_mark on request. endloop. module ZTC_HEADER_user_command. *&spwizard: module ZTC_HEADER_change_tc_attr. *&spwizard: module ZTC_HEADER_change_col_attr.
MODULE USER_COMMAND_2000. |