Report (501) - Create Simple ALV List Report

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

Membuat Report

Hasil

Kode Sintak

Include "YPRACTICE_501_ALV"

Kode Transaksi

SE38 - ABAP Editor

Tabel

MARA - General Material Data (Data Material Umum)

MAKT - Material Descriptions (Deskripsi Material)

T006A - Assign Internal to Language-Dependent Unit

Support

Video

 

Membuat Report

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 "ar0015"

7.Tambahkan Program Include yang baru

ar0069

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

ar0070

9.klik "abap_tutorial0017" untuk membuat Include baru

ar0071

10.Simpan ke package yang sama dengan "YPRACTICE_501" kemudian klik "ar0003" 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"

ar0072

 

14.Klik "ar0073" untuk menampilkan program

15.Klik "ar0015"

16.Buka GUI Status pada tree menu

ar0074

 

17.Salin GUI Status -- "Standard"

 

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

ar0075

 

19.klik "ar0076"

ar0077

 

20.Jangan Ubah apapun, hanya klik lagi"ar0076"

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

29.Membuat T-Code "YP501"

30.Selesai

 

Hasil

Seleksi input

ar0079

Output

ar0080