|
Report (204) - Create Report Purchase Order List |
Home | ||||
|
Previous Next | |||||
Before REPORT ypractice_203 NO STANDARD PAGE HEADING.
After REPORT ypractice_204 NO STANDARD PAGE HEADING.
Before *----------------------------------------------------------------------* * Tables *----------------------------------------------------------------------* TABLES : anla, anlz, t499s.
After *----------------------------------------------------------------------* * Tables *----------------------------------------------------------------------* TABLES : ekko, ekpo.
Before if &1 = 'HEADER'. write : /'|' no-gap,(12) &2 no-gap centered, '|' no-gap,(4) &3 no-gap centered, '|' no-gap,(50) &4 no-gap centered, '|' no-gap,(10) &5 no-gap centered, '|' no-gap,(40) &6 no-gap centered, '|' no-gap,(12) &7 no-gap centered, '|' no-gap. else. write : /'|' no-gap,(12) &2 no-gap centered, '|' no-gap,(4) &3 no-gap centered, '|' no-gap,(50) &4 no-gap, '|' no-gap,(10) &5 no-gap centered, '|' no-gap,(40) &6 no-gap, '|' no-gap,(12) &7 no-gap centered, '|' no-gap. endif.
After if &1 = 'HEADER'. write : /'|' no-gap,(9) &2 centered, '|' no-gap,(10) &3 centered, '|' no-gap,(10) &4 centered, '|' no-gap,(10) &5 centered, '|' no-gap,(5) &6 centered, '|' no-gap,(15) &7 centered, '|' no-gap,(30) &8 centered, '|' no-gap,(14) &9 centered, '|' no-gap. else. write : /'|' no-gap,(9) &2 centered, '|' no-gap,(10) &3 , '|' no-gap,(10) &4 , '|' no-gap,(10) &5 , '|' no-gap,(5) &6 , '|' no-gap,(15) &7 , '|' no-gap,(30) &8 , '|' no-gap,(14) &9 right-justified, '|' no-gap. endif.
Before *----------------------------------------------------------------------* *GLOBAL VARIABLE DECRALATION *----------------------------------------------------------------------* TYPES: BEGIN OF ty_header, anln1 LIKE anla-anln1, " Main Asset Number anln2 LIKE anla-anln2, " Asset Subnumber txt50 LIKE anla-txt50, " Asset description stort LIKE anlz-stort, " Asset location ktext LIKE t499s-ktext, " Location description aktiv LIKE anla-aktiv, " Asset capitalization date END OF ty_header.
DATA : gi_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE, gi_anla LIKE STANDARD TABLE OF anla WITH HEADER LINE, gi_t499s LIKE STANDARD TABLE OF t499s WITH HEADER LINE.
After *----------------------------------------------------------------------* *GLOBAL VARIABLE DECRALATION *----------------------------------------------------------------------* TYPES : BEGIN OF ty_header, * Information of PO Header bsart LIKE ekko-bsart, ebeln LIKE ekko-ebeln, bukrs LIKE ekko-bukrs, lifnr LIKE ekko-lifnr,
* Information of PO Detail ebelp LIKE ekpo-ebelp, matnr LIKE ekpo-matnr, txz01 LIKE ekpo-txz01, menge LIKE ekpo-menge, END OF ty_header.
DATA : gi_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE, gi_ekko TYPE STANDARD TABLE OF ekko WITH HEADER LINE, gi_ekpo TYPE STANDARD TABLE OF ekpo WITH HEADER LINE.
Before *----------------------------------------------------------------------* *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(14) text_102 FOR FIELD so_stort. SELECT-OPTIONS so_stort FOR anlz-stort. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(14) text_103 FOR FIELD so_anln1. SELECT-OPTIONS so_anln1 FOR anla-anln1. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(14) text_104 FOR FIELD so_anln2. SELECT-OPTIONS so_anln2 FOR anla-anln2. 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 135 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 65 LENGTH 4. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox2. "End Group Box 2 ... ...
After *----------------------------------------------------------------------* *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_bsart. SELECT-OPTIONS so_bsart FOR ekko-bsart. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(18) text_103 FOR FIELD so_ebeln. SELECT-OPTIONS so_ebeln FOR ekko-ebeln. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(18) text_104 FOR FIELD so_bukrs. SELECT-OPTIONS so_bukrs FOR ekko-bukrs. 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 120 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 10 LENGTH 4. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox2. "End Group Box 2 ... ...
Before text_101 = 'Selection Parameter'. text_102 = 'Location ID'. text_103 = 'Asset Number'. text_104 = 'Sub Number'.
After text_101 = 'Selection Parameter'. text_102 = 'Order Type'. text_103 = 'PO Number'. text_104 = 'Co Code'.
Before * Collect Master Asset SELECT anln1 anln2 stort INTO CORRESPONDING FIELDS OF TABLE gi_header FROM anlz WHERE anln1 IN so_anln1 AND anln2 IN so_anln2 AND stort IN so_stort.
* "For SAP 4.6C * DATA : lv_total_data type i. * DESCRIBE TABLE gi_header LINES lv_total_data. * IF LINES( lv_total_data ) > 0.
IF LINES( gi_header ) > 0." For SAP 4.7 above * Collect Asset Decription SELECT anln1 anln2 txt50 aktiv INTO CORRESPONDING FIELDS OF TABLE gi_anla FROM anla FOR ALL ENTRIES IN gi_header WHERE anln1 = gi_header-anln1 AND anln2 = gi_header-anln2.
* Collect Measurement Text SELECT stand ktext INTO CORRESPONDING FIELDS OF TABLE gi_t499s FROM t499s FOR ALL ENTRIES IN gi_header WHERE stand = gi_header-stort. ENDIF.
After * Select PO Header. SELECT ebeln bsart bukrs lifnr INTO CORRESPONDING FIELDS OF TABLE gi_ekko FROM ekko WHERE bsart IN so_bsart AND ebeln IN so_ebeln AND bukrs IN so_bukrs AND bstyp = 'F'.
* Select PO detail. IF NOT gi_ekko[] IS INITIAL. SELECT ebeln ebelp matnr txz01 menge INTO CORRESPONDING FIELDS OF TABLE gi_ekpo FROM ekpo FOR ALL ENTRIES IN gi_ekko WHERE ebeln = gi_ekko-ebeln. ENDIF.
Before *Get other requirement information LOOP AT gi_header. * Get Asset Description READ TABLE gi_anla WITH KEY anln1 = gi_header-anln1 anln2 = gi_header-anln2. IF sy-subrc = 0. gi_header-txt50 = gi_anla-txt50. gi_header-aktiv = gi_anla-aktiv. ENDIF.
* Get Measurement Text READ TABLE gi_t499s WITH KEY stand = gi_header-stort. IF sy-subrc = 0. gi_header-ktext = gi_t499s-ktext. ENDIF. MODIFY gi_header. ENDLOOP.
After * Get requirement information LOOP AT gi_ekko. LOOP AT gi_ekpo WHERE ebeln = gi_ekko-ebeln.
CLEAR gi_header.
* Get PO Header gi_header-bsart = gi_ekko-bsart. gi_header-ebeln = gi_ekko-ebeln. gi_header-bukrs = gi_ekko-bukrs. gi_header-lifnr = gi_ekko-lifnr.
* Get dari PO Detail gi_header-ebelp = gi_ekpo-ebelp. gi_header-matnr = gi_ekpo-matnr. gi_header-txz01 = gi_ekpo-txz01. gi_header-menge = gi_ekpo-menge.
APPEND gi_header. ENDLOOP. ENDLOOP.
Before * Menampilkan Data ke Layar LOOP AT gi_header. macro_data_possition : 'CONTENT' gi_header-anln1 gi_header-anln2 gi_header-txt50 gi_header-stort gi_header-ktext gi_header-aktiv. IF sy-linno = lv_max_data. PERFORM fm_footer USING lv_page_count.
NEW-PAGE. ENDIF. ENDLOOP.
After * Displaying Data to Screen LOOP AT gi_header. macro_data_possition : 'CONTENT' gi_header-bsart gi_header-ebeln gi_header-bukrs gi_header-lifnr gi_header-ebelp gi_header-matnr gi_header-txz01 gi_header-menge. IF sy-linno = lv_max_data. PERFORM fm_footer USING lv_page_count. NEW-PAGE. ENDIF. ENDLOOP.
Before * Membuat Teks Header ( 5 Baris ) ULINE AT (p_mwidth). " Upper frame border FORMAT COLOR COL_HEADING INTENSIFIED. " Title color "Line 1 write : /'|' no-gap,(12) ' ' no-gap, '|' no-gap,(4) ' ' no-gap, '|' no-gap,(50) ' ' no-gap, '|' no-gap,(51) 'Location' no-gap centered, '|' no-gap,(12) ' ' no-gap, '|' no-gap. "Line 2 macro_data_possition : 'HEADER' 'Asset Number' 'Sub. No' 'Description' SY-ULINE SY-ULINE 'Cap. Date'. "Line 1 macro_data_possition : 'HEADER' ' ' ' ' ' ' 'ID' 'Description' ' '.
ULINE AT (p_mwidth). " Line below titles FORMAT COLOR OFF.
After * Creating Text Header ( 3 Lines ) ULINE AT (p_mwidth). " Upper frame border FORMAT COLOR COL_HEADING INTENSIFIED. " Title color macro_data_possition : 'HEADER' 'Doc. Type' 'PO No.' 'Com. Code' 'Vendor' 'Item No.' 'Mat. No.' 'Description' 'Price' . ULINE AT (p_mwidth). " Line below titles FORMAT COLOR OFF.
|
| User Threads | New Thread ( Only for Donators ) |
|
|
|||
| Threads | Last Post | Replies | Views |
|
|
|||