|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > ABAP Report > Class in ALV > Report (701) - Report Sederhana Dengan Class |
Objektif |
▪Call Method "ycl_report_mm=>get_data" |
Kode Transaksi |
|
Tabel |
MARA - General Material Data (Data Material Umum) |
Support |
|
Kontributor |
Danar Andri Prasetyo ( danaruto131@yahoo.com ) |
1.Pertama, kita harus membuat structure "YST_CLASS_MM" dengan t-code SE11.
Tampilkan langkah-langkahnya sdasjdkl
•Klik •Pilih Structure
•Isikan Short Description dengan "Structure for Class Report Material" •Isikan Tab "Component" seperti gambar dibawah
•Simpan dan Aktifkan |
2.Kedua, kita buat table type "YTT_CLASS_MM" dengan t-code SE11.
•Klik •Pilih Table Type
•Isikan Short Description dengan "Table Type for Report Class Material" •Klik Line Type kemudian isikan nama structure yang telah kita buat sebelumnya. Lihat Gambar dibawah
•Simpan dan Aktifkan |
3.Buat Class "YCL_REPORT_MM" dengan t-code SE24.
•Klik •Isikan Description seperti gambar dibawah
•Klik •Buat method baru "GET_DATA" isikan Componennt seperti gambar dibawah
•Buat parameter dengan mengeklik tab parameters •Isikan field-field seperti gambar dibawah
•Simpan dan Aktifkan •Kembali ke Tab Method dengan mengeklik •Sekarang, kita masuk ke layar kode sintak kemudian kita tuliskan kode sintak, letakkan diantara "method GET_DATA." dan "endmethod." •Definisikan variabel yang kita butuhkan DATA : lw_header TYPE YST_CLASS_MM, lv_counter TYPE i. •Seleksi Data dari Tabel *Mengambil Material Master SELECT matnr matkl bismt meins INTO CORRESPONDING FIELDS OF TABLE DATA FROM mara WHERE matkl = gv_matkl OR matnr = gv_matnr. •Display Data *Mendapatkan informasi lain yang dibutuhkan LOOP AT DATA INTO lw_header. *Pengecekan Baris Maksimum ADD 1 TO lv_counter. IF lv_counter <= gv_max_row OR gv_max_row = 0. WRITE / lw_header-matkl. WRITE lw_header-matnr. WRITE lw_header-maktx. WRITE lw_header-bismt. WRITE lw_header-meins. WRITE lw_header-mseht. ENDIF.
ENDLOOP. •Simpan dan Aktifkan
|
4.Sekarang, Buat Program "YREPORT_701" dengan t-code SE38
5.Isikan Tittle dengan "Report Material Master Using Class" simpan di local object
6.Definisikan Tabel.
TABLES : mara.
7.Definisikan Variabel
DATA : gi_data TYPE YTT_CLASS_MM WITH HEADER LINE.
8.Buat screen input
SELECT-OPTIONS so_matkl FOR mara-matkl.
SELECT-OPTIONS so_matnr FOR mara-matnr.
PARAMETERS p_max TYPE i DEFAULT 100.
9.Panggil Method / Call method menggunakan 'Pattern'![]()
|
10.Modifikasi Nilai 'CALL METHOD'
Sebelum
CALL METHOD ycl_report_mm=>get_data
EXPORTING
gv_matkl =
gv_matnr =
gv_max_row =
CHANGING
data =
Setelah
CALL METHOD ycl_report_mm=>get_data
EXPORTING
gv_matkl = '001'
gv_matnr = '100-100'
gv_max_row = p_max
CHANGING
data = gi_data[].
11.Simpan dan Aktifkan program
▪Seleksi Input

▪Output

*&---------------------------------------------------------------------* *& Report YREPORT_701 * *& * *&---------------------------------------------------------------------* *& * *& * *&---------------------------------------------------------------------*
REPORT yreport_701 . TABLES : mara.
DATA : gi_data TYPE YTT_CLASS_MM WITH HEADER LINE.
SELECT-OPTIONS so_matkl FOR mara-matkl. SELECT-OPTIONS so_matnr FOR mara-matnr. PARAMETERS p_max TYPE i DEFAULT 100.
CALL METHOD ycl_report_mm=>get_data EXPORTING gv_matkl = '001' gv_matnr = '100-100' gv_max_row = p_max CHANGING data = gi_data[]. . |
method GET_DATA .
DATA : lw_header TYPE YST_CLASS_MM, lv_counter TYPE i.
*Collect Master Material SELECT matnr matkl bismt meins INTO CORRESPONDING FIELDS OF TABLE DATA FROM mara WHERE matkl = gv_matkl OR matnr = gv_matnr.
*Get Other Requirement Information LOOP AT DATA INTO lw_header. *Max ROW Checking ADD 1 TO lv_counter. IF lv_counter <= gv_max_row OR gv_max_row = 0. WRITE / lw_header-matkl. WRITE lw_header-matnr. WRITE lw_header-maktx. WRITE lw_header-bismt. WRITE lw_header-meins. WRITE lw_header-mseht. ENDIF.
ENDLOOP.
endmethod. |