Views 492
Visitors 232

Report (101) - Membuat Report Sederhana

Home 
| Top Page | Threads |
Previous  Next

Objektif

Kode Transaksi

SE38 - ABAP Editor

MM03 - Display Material (Menampilkan Material)

Tabel

MARA - General Material Data (Data Material Umum)

MAKT - Material Descriptions (Deskripsi Material)

T006A - Assign Internal to Language-Dependent Unit

Support

Video

 

Membuat Report

Nama Program        : YPRACTICE_101 ( Spesifikasi Functional II-2 )

Judul                : 101 - Display List of Master Material (Menampilkan Daftar Material Master)

2.Pelajari tentang standar program Material Master di SAP. Tanyakan ke functional tentang kebutuhannnya.

Tampilkan langkah-langkahnya

Buka t-Code MM03 pada sesi baru (/oMM03)
Seleksi Material

contoh : 100-251

ar0001

Tekan enter dan Seleksi "Basic Data 1" dan "Basic Data 2". Kemudian tekan ar0003

ar0002

Tampilkan Material

ar0004

Sekarang, anda lihat semua data amster dari standar program SAP

 

3.Kita mulai menulis kode abap. Pertama, deklarasikan Tabel ( Functional Specification III-3 )

*----------------------------------------------------------------------*

* Tables

*----------------------------------------------------------------------*

TABLES : mara, makt, t006a.

 

4.Deklarasikan Variabel Global

*----------------------------------------------------------------------*

*GLOBAL VARIABLE DECRALATION

*----------------------------------------------------------------------*

DEFINE macro_data_possition.

  if &1 = 'HEADER'.

    write :  /'|' no-gap,(9)  &2 centered,

              '|' no-gap,(18) &3 centered,

              '|' no-gap,(40) &4 centered,

              '|' no-gap,(18) &5 centered,

              '|' no-gap,(5)  &6 centered,

              '|' no-gap,(10) &7 centered,

              '|' no-gap.

  else.

    write :  /'|' no-gap,(9)  &2 centered,

              '|' no-gap,(18) &3 ,

              '|' no-gap,(40) &4 ,

              '|' no-gap,(18) &5 ,

              '|' no-gap,(5)  &6 ,

              '|' no-gap,(10) &7 ,

              '|' no-gap.

  endif.

END-OF-DEFINITION.

 

TYPES: BEGIN OF ty_header,

        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

      END OF ty_header.

 

DATA: gi_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE,

      gi_makt  LIKE STANDARD TABLE OF makt WITH HEADER LINE,

      gi_t006a LIKE STANDARD TABLE OF t006a WITH HEADER LINE.

 

DATA: gv_width TYPE i.  " Width of list

 

5.Buat input Screen/Selection ( Functional Specification III-4 )

*----------------------------------------------------------------------*

*Input Screen/Selection

*----------------------------------------------------------------------*

SELECT-OPTIONS so_matkl FOR mara-matkl.

SELECT-OPTIONS so_matnr FOR mara-matnr.

 

6.Buat Program Utama

*======================================================================*

*MAIN PROGRAM

*Execute after Input Screen

*======================================================================*

START-OF-SELECTION.

  gv_width = 113.

  PERFORM fm_collect_data.

  PERFORM fm_process_data.

  PERFORM fm_display_data.

 

END-OF-SELECTION.

 

7.Buat Sub Program dengan 3 sub routine( fm_collect_data, fm_process_data dan fm_display_data )

Aliran Proses : Select Material Data -> Display

 

*======================================================================*

*SUB PROGRAM / SUB ROUTINE

*======================================================================*

FORM fm_collect_data.

 

ENDFORM.

 

FORM fm_process_data.

 

ENDFORM.

 

FORM fm_display_data.

 

ENDFORM.

 

8.Tulis kode untuk subrutine fm_collect_data

FORM fm_collect_data.

*  Seleksi data Material Master

  SELECT matnr matkl bismt meins

    INTO CORRESPONDING FIELDS OF TABLE gi_header

  FROM mara

  WHERE

    matkl IN so_matkl AND

    matnr IN so_matnr.

 

*  Seleksi Diskripsi Material

  SELECT matnr maktx

    INTO CORRESPONDING FIELDS OF TABLE gi_makt

  FROM makt

    FOR ALL ENTRIES IN gi_header

  WHERE

    matnr = gi_header-matnr AND

    spras = sy-langu.

 

*  "Untuk SAP 4.6C

*  DATA : lv_total_data type i.

*  DESCRIBE TABLE gi_header LINES lv_total_data.

*  IF lv_total_data > 0.

 

  IF LINES( gi_header ) > 0." Untuk SAP 4.7 Keatas

*  Seleksi Diskripsi Material

    SELECT matnr maktx

      INTO CORRESPONDING FIELDS OF TABLE gi_makt

    FROM makt

      FOR ALL ENTRIES IN gi_header

    WHERE

      matnr = gi_header-matnr AND

      spras = sy-langu.

 

*  Seleksi Standar Pengukuran

    SELECT msehi mseht

      INTO CORRESPONDING FIELDS OF TABLE gi_t006a

    FROM t006a

      FOR ALL ENTRIES IN gi_header

    WHERE

      msehi = gi_header-meins AND

      spras = sy-langu.

  ENDIF.

 

* Ctt :

*  Hindari menggunakan Inner join

 

ENDFORM.

 

9.Tulis kode untuk sub routine fm_process_data

FORM fm_process_data.

*Mendapatkan informasi lain yang dibutuhkan

  LOOP AT gi_header.

*    Mendapatkan Deskripsi Material

    READ TABLE gi_makt WITH KEY matnr = gi_header-matnr.

    IF sy-subrc = 0.

      gi_header-maktx = gi_makt-maktx.

    ENDIF.

 

*    Mendapatkan Standar teks pengukuran

    READ TABLE gi_t006a WITH KEY msehi = gi_header-meins.

    IF sy-subrc = 0.

      gi_header-mseht = gi_t006a-mseht.

    ENDIF.

 

    MODIFY gi_header.

  ENDLOOP.

 

ENDFORM.

 

10.Tulis kode untuk sub routine  fm_display_data ( Functional Specification III-5 )

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 Screen

  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.

 

11.Aktivasi dan Jalankan Program
13.Selesai

 

 

Hasil

Seleksi Input

ar0005

Output

ar0006

 

User Threads | New Thread ( Only for Donators )

Threads Last Post Replies Views