Views 193
Visitors 111

Report (701) - Report Sederhana Dengan Class

Home 
| Top Page | Threads |
Previous  Next

Objektif

Call Method "ycl_report_mm=>get_data"

Kode Transaksi

SE38 - ABAP Editor

Tabel

MARA - General Material Data (Data Material Umum)

Support

Video

Kontributor

Danar Andri Prasetyo ( danaruto131@yahoo.com )

 

Membuat Report

1.Pertama, kita harus membuat structure "YST_CLASS_MM" dengan t-code SE11.

   Tampilkan langkah-langkahnya sdasjdkl

ar0086

Klik ar0087
Pilih Structure

ar0088 then click ar0089

Isikan Short Description dengan "Structure for Class Report Material"
Isikan Tab "Component" seperti gambar dibawah

ar0090

Simpan dan Aktifkan
2.Kedua, kita buat table type "YTT_CLASS_MM" dengan t-code SE11.

Tampilkan Langkah-langkahnya

ar0091

Klik ar0087
Pilih Table Type

ar0092 then click ar0089

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

ar0093

Simpan dan Aktifkan
3.Buat Class "YCL_REPORT_MM" dengan t-code SE24.

Tampilkan Langkah-langkahnya

ar0094

Klik ar0087
Isikan Description seperti gambar dibawah

ar0095

Klik ar0096 dan tempatkan pada ar0097
Buat method baru "GET_DATA" isikan Componennt seperti gambar dibawah

ar0098

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

ar0100

Simpan dan Aktifkan
Kembali ke Tab Method dengan mengeklik ar0101 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.

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'ar0102

Tampilkan Langkah-langkahnya

ar0103 kemudian klik ar0089

ar0104

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

Seleksi Input

ar0105

Output

ar0106

 

 

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.

 

User Threads | New Thread ( Only for Donators )

Threads Last Post Replies Views