SAP Report PO Display
Program January 23rd, 2008Below program is for PO Display program.I hope it is useful for you.But it is uncompleted program.
*&———————————————————————*
*& Report Z07PODISPLAY
*&
*&———————————————————————*
*&
*&
*&———————————————————————*
*REPORT Z07PODISPLAY.
REPORT Z07PODISPLAY NO STANDARD PAGE HEADING LINE-COUNT 30
LINE-SIZE 128.
TABLES: ekko, eket, ekpo, makt, mara,lfa1.
DATA: BEGIN OF p_order OCCURS 0,
EBELP LIKE EKPO-EBELP, “ITEM
* bedat LIKE eket-bedat, “발주일자
ekgrp LIKE ekko-ekgrp, “구매담당
lifnr LIKE ekko-lifnr, “거래처
ebeln LIKE ekpo-ebeln, “발주번호
matnr LIKE ekpo-matnr, “자내코드
MEINS LIKE EKPO-MEINS, “Unit
* ebelp like ekpo-ebelp, “ITEM
maktx LIKE makt-maktx, “자재명
eindt LIKE eket-eindt, “남품일자
netpr LIKE ekpo-netpr, “단가
menge LIKE eket-menge, “발주수량
name1 LIKE lfa1-name1, “업체명
total LIKE ekpo-netpr, “발주금액
bismt like MARA-BISMT, “KKC MPN
END OF p_order.
*———————————————————————-*
*Selection-screen design
**
*———————————————————————-*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS:
bedat for eket-bedat , “발주일자
ekgrp for ekko-ekgrp , “구매담당
lifnr for ekko-lifnr. “거래처
PARAMETERS: ebeln like ekpo-ebeln . “발주번호
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK b1.
************************************************************************
* TOP-OF-PAGE *
* *
************************************************************************
TOP-OF-PAGE.
PERFORM WRITE_HEADER.
*
*———————————————————————-*
* Start of selection event *
*———————————————————————-*
START-OF-SELECTION.
PERFORM data_selection.
*———————————————————————-*
* End of selection event *
*———————————————————————-*
END-OF-SELECTION.
PERFORM write_title.
PERFORM display_po.
*&———————————————————————*
*& Form data_selection
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORM data_selection .
* SELECT DISTINCT a~EBELP a~ebeln a~matnr a~netpr b~bedat b~eindt c~lifnr
* d~maktx e~name1 b~menge
SELECT DISTINCT a~EBELP a~ebeln a~matnr a~netpr a~meins b~eindt c~lifnr
d~maktx e~name1 b~menge
FROM ekpo AS a
INNER JOIN ekko AS c
ON a~ebeln = c~ebeln
INNER JOIN lfa1 AS e
ON c~lifnr = e~lifnr
INNER JOIN makt AS d
ON a~matnr = d~matnr
INNER JOIN eket AS b
ON a~ebeln = b~ebeln AND
a~ebelp = b~ebelp
INTO CORRESPONDING FIELDS OF table p_order
WHERE
b~bedat in bedat AND
c~ekgrp IN ekgrp AND
c~lifnr IN lifnr AND
a~ebeln = ebeln.
* p_order-total = p_order-netpr * p_order-menge.
loop at p_order.
select single bismt from mara into p_order-bismt
where matnr = p_order-matnr.
select single meins from ekpo into p_order-meins
where ebeln = p_order-ebeln.
p_order-total = p_order-netpr * p_order-menge.
modify p_order.
endloop.
ENDFORM. ” data_selection
*&———————————————————————*
*& Form display_PO
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORM display_po .
LOOP AT p_order.
* p_order-total = p_order-netpr * p_order-menge.
AT NEW lifnr.
* FORMAT COLOR 5 INTENSIFIED OFF.
* WRITE: / ‘업체번호:’ , p_order-lifnr .
* SELECT name1 FROM lfa1 INTO lfa1-name1
* WHERE lifnr = p_order-lifnr .
* ENDSELECT.
*
* WRITE: ‘To:’ , lfa1-name1 .
ULINE.
FORMAT RESET.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: / ‘Item’,
20 ‘KKC MPN’,
35 ‘MPN’,
65 ‘Description’,
90 ‘Remark’,
/7 ‘Order qty’,
* ‘PO Number’,
20 ‘Unit’,
45 ‘Price per unit’,
81 ‘Amount’,
90 ‘Delivery Date’ .
uline.
ENDAT.
FORMAT RESET.
FORMAT COLOR 2 INTENSIFIED ON .
WRITE: / p_order-ebelp, “item
20 p_order-bismt, ” KKC MPN
35 p_order-matnr, ” MPN
65 p_order-maktx, ” Description
* p_order-bedat,
* p_order-ebeln, ” PO Number
/3 p_order-menge, ” Order qty
20 p_order-meins, ” Unit
45 p_order-netpr, ” Price per unit
75 p_order-total, ” Amount
90 p_order-eindt. ” Delivery Date
* p_order-menge,
* uline.
FORMAT RESET.
AT END OF lifnr.
ULINE.
SUM .
* WRITE: /105 ‘Total qty:’ COLOR COL_TOTAL INTENSIFIED OFF,
* p_order-menge LEFT-JUSTIFIED COLOR COL_TOTAL INTENSIFIED OFF,
write: 65 ‘Sub total:’ COLOR COL_TOTAL INTENSIFIED OFF,
75 p_order-total COLOR COL_TOTAL INTENSIFIED OFF.
ENDAT.
ENDLOOP.
ENDFORM. ” display_PO
*&———————————————————————*
*& Form write_header
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORM write_title .
WRITE: /60 ‘구매 발주서’ COLOR COL_HEADING INTENSIFIED OFF.
SKIP 1.
ENDFORM. ” write_header
*&———————————————————————*
*& Form WRITE_HEADER
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORM WRITE_HEADER .
IF SY-PAGNO = 1.
WRITE: 100 ‘Purchase order’ COLOR 5.
WRITE:/100 SY-ULINE.
WRITE:/ ‘TO:’, P_ORDER-NAME1,
100 SY-VLINE , ‘PO number:’, 115 EBELN COLOR 5,128 SY-VLINE.
WRITE:/100 SY-VLINE , ‘Date:’, 115 SY-DATUM,128 SY-VLINE.
WRITE:/ ‘FROM:’,SY-UNAME ,
100 SY-VLINE , ‘Page:’ , 111 SY-PAGNO , ‘/’,(5) ‘&&&&&’,128 SY-VLINE.
WRITE:/100 SY-ULINE.
ELSE.
WRITE:/ ‘TO:’,LFA1-NAME1,
60 ‘PO number:’ COLOR 5,
EBELN COLOR 5,105 ‘Page:’, SY-PAGNO,’/’,’&&&&&’.
ENDIF.
ENDFORM. ” WRITE_HEADER
Recent Comments