|
Report (101) - Membuat Report Sederhana |
Home | ||||
|
Previous Next | |||||
Nama Program : YPRACTICE_101 ( Spesifikasi Functional II-2 ) Judul : 101 - Display List of Master Material (Menampilkan Daftar Material Master)
*----------------------------------------------------------------------* * Tables *----------------------------------------------------------------------* TABLES : mara, makt, t006a.
*----------------------------------------------------------------------* *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
*----------------------------------------------------------------------* *Input Screen/Selection *----------------------------------------------------------------------* SELECT-OPTIONS so_matkl FOR mara-matkl. SELECT-OPTIONS so_matnr FOR mara-matnr.
*======================================================================* *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.
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.
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.
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.
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.
|
| User Threads | New Thread ( Only for Donators ) |
|
|
|||
| Threads | Last Post | Replies | Views |
|
|
|||