|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > ABAP Report > ALV > ALV List > Report (501) - Create Simple ALV List Report |
Objektif |
|
Kode Transaksi |
|
Tabel |
MARA - General Material Data (Data Material Umum) MAKT - Material Descriptions (Deskripsi Material) T006A - Assign Internal to Language-Dependent Unit |
Support |
1.Buka SE38
2.Salin Program "YPRACTICE_101" menjadi "YPRACTICE_501"
3.Ubah Program "YPRACTICE_501"
4.Buka Goto > Attributes, dan ubah "Title" dengan "501 - Display List of Master Material"
5.Modifikasi Deklarasi Report
Sebelum
REPORT ypractice_101.
Setelah
REPORT ypractice_501 .
6.Klik "
"
7.Tambahkan Program Include yang baru

8.Isi nama include dengan "YPRACTICE_501_ALV" dan kemudian klik "
"

9.klik "
" untuk membuat Include baru

10.Simpan ke package yang sama dengan "YPRACTICE_501" kemudian klik "
" untuk menyisipkan include ke program utama.
11.Sisipkan kode dari halaman "YPRACTICE_501_ALV" kedalam include program
12.Buka sesi baru (SE38) dengan mengetikkan '/oSE38' kemudian tekan enter pada ,command field'
13.Isi nama program dengan "SAPLKKBL"

14.Klik "
" untuk menampilkan program
15.Klik "
"
16.Buka GUI Status pada tree menu

17.Salin GUI Status -- "Standard"

18.Isikan Program dengan "YPRACTICE_501" dan Status dengan "YSTANDARD"

19.klik "
"

20.Jangan Ubah apapun, hanya klik lagi"
"
21.Kembali ke program "YPRACTICE_501" dan mulai menulis kode sintak
22.Hapus"DATA: gv_width TYPE i. " Width of list"
23.Ubah "Input Screen/Selection"
Sebelum
*----------------------------------------------------------------------*
*Input Screen/Selection
*----------------------------------------------------------------------*
SELECT-OPTIONS so_matkl FOR mara-matkl.
SELECT-OPTIONS so_matnr FOR mara-matnr.
Setelah
*----------------------------------------------------------------------*
*Input Screen/Selection
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK groupbox1 WITH FRAME TITLE text_101. "Declare Group Box 1
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_102 FOR FIELD so_matkl.
SELECT-OPTIONS so_matkl FOR mara-matkl.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_103 FOR FIELD so_matnr.
SELECT-OPTIONS so_matnr FOR mara-matnr.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox1. "End Group Box 1
SELECTION-SCREEN BEGIN OF BLOCK groupbox2 WITH FRAME TITLE text_201. "Declare Group Box 2
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_202 FOR FIELD p_mwidth.
PARAMETERS p_mwidth TYPE n DEFAULT 113 LENGTH 4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_203 FOR FIELD p_mline .
PARAMETERS p_mline TYPE n DEFAULT 30 LENGTH 4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox2. "End Group Box 2
24.Buat kode initialization, tuliskan setelah Input Screen Block
*----------------------------------------------------------------------*
*INITIALIZATION
*----------------------------------------------------------------------*
INITIALIZATION.
text_101 = 'Selection Parameter'.
text_102 = 'Material Group'.
text_103 = 'Material Number'.
text_201 = 'Page Setup'.
text_202 = 'Max. Width'.
text_203 = 'Max. Line per Page'.
25.Pindahkan "INCLUDE ypractice_501_alv." ke kode sintak paling atas
*----------------------------------------------------------------------*
* Tables
*----------------------------------------------------------------------*
TABLES : mara, makt, t006a.
INCLUDE ypractice_501_alv.
*----------------------------------------------------------------------*
*GLOBAL VARIABLE DECRALATION
*----------------------------------------------------------------------*
TYPES: BEGIN OF ty_header,
...
26.Modifikasi sub routine "fm_display_data"
Sebelum
*&--------------------------------------------------------------------*
*& Form fm_display_data
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM fm_display_data.
* Membuat Teks Header
ULINE AT (gv_width). " Upper frame border
FORMAT COLOR COL_HEADING INTENSIFIED. " Title color
macro_data_possition : 'HEADER' 'Mat. Group' 'Mat. No.' 'Description' 'Old Mat. No.' 'Base Unit' 'Measure'.
WRITE: AT gv_width sy-vline. " Right border
ULINE AT (gv_width). " Line below titles
FORMAT COLOR OFF.
* Menampilkan Data Ke Layar
LOOP AT gi_header.
macro_data_possition : 'CONTENT'
gi_header-matkl
gi_header-matnr
gi_header-maktx
gi_header-bismt
gi_header-meins
gi_header-mseht.
ENDLOOP.
* Akhir dari Line
ULINE AT (gv_width). " Line below last data
ENDFORM. "fm_display_data
Setelah
*&--------------------------------------------------------------------*
*& Form fm_display_data
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM fm_display_data.
PERFORM fm_alv_reset_data.
* Mengatur Parameter dan Data ALV
PERFORM fm_alv_set_layout USING 'Display List of Master Material'.
PERFORM fm_alv_set_print.
PERFORM FM_ALV_SET_COLUMN.
GV_I_DEFAULT = 'X'.
GV_I_SAVE = 'A'.
PERFORM FM_ALV_SHOW TABLES GI_HEADER.
ENDFORM. "fm_display_data
27.Buat sub routine baru, "fm_alv_set_column" di kode sintak paling bawah.
*&--------------------------------------------------------------------*
*& Form fm_alv_set_column
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM fm_alv_set_column.
* 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
* Menampilkan Kolom Berdasarkan Nama Field
perform fm_alv_add_fieldcat using :
'MATKL' 'MARA' 'MATKL' '' '' 'Mat. Group' '' '' '' '' '' '' '' '' '' '' '' '' '' 'X' 'X',
'MATNR' 'MARA' 'MATNR' '' '' 'Mat. Number' '' '' '' '' '' '' '' '' '' '' '' '' '' 'X' 'X',
'MAKTX' 'MAKT' 'MAKTX' '' '' 'Decription' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '',
'BISMT' 'MARA' 'BISMT' '' '' 'Old Mat. No' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '',
'MEINS' 'MARA' 'MEINS' '' '' 'Base Unit' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '',
'MSEHT' 'T006A' 'MSEHT' '' '' 'Measure' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''.
* Menyortir dan mengelompokkan berdasarkan Field
* CLEAR gi_it_sort.
* gi_it_sort-fieldname = 'WERKS'. ">> Filled by Fieldname
* gi_it_sort-up = 'X'. ">> 'X' = Ascending ; ' ' = Descending
* gi_it_sort-subtot = 'X'.
* gi_it_sort-group = '*'. ">> '*' = Grouped by field ; ' ' = Not grouped by this field
* APPEND gi_it_sort.
ENDFORM. "fm_alv_set_column
28.Aktivasi fdan Jalankan Program
30.Selesai
▪Seleksi input

▪Output
