|
Membuat Report
| 1. | Pertama, kita harus membuat structure "YST_CLASS_MM" dengan t-code SE11. |
Tampilkan langkah-langkahnya sdasjdkl
| 2. | Kedua, kita buat table type "YTT_CLASS_MM" dengan t-code SE11. |
Tampilkan Langkah-langkahnya
| 3. | Buat Class "YCL_REPORT_MM" dengan t-code SE24. |
Tampilkan Langkah-langkahnya

| • | Klik  |
| • | Isikan Description seperti gambar dibawah |

| • | Klik dan tempatkan pada  |
| • | Buat method baru "GET_DATA" isikan Componennt seperti gambar dibawah |

| • | Buat parameter dengan mengeklik tab parameters  |
| • | Isikan field-field seperti gambar dibawah |

| • | Kembali ke Tab Method dengan mengeklik kemudian klik ganda pada 'GET_DATA' |
| • | 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.
*Mengambil Material Master
SELECT matnr matkl bismt meins
INTO CORRESPONDING FIELDS OF TABLE DATA
FROM mara
WHERE matkl = gv_matkl
OR matnr = gv_matnr.
*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.
|
| 4. | Sekarang, Buat Program "YREPORT_701" dengan t-code SE38 |
| 5. | Isikan Tittle dengan "Report Material Master Using Class" simpan di local object |
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.
| 9. | Panggil Method / Call method menggunakan 'Pattern' |
Tampilkan Langkah-langkahnya
| 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 |
Hasil


Kode Sintak Program
*&---------------------------------------------------------------------*
*& 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[].
.
|
Kode Sintak Class
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.
|
|