You are on page 1of 4

*&---------------------------------------------------------------------* *& Report ZMIGO_MIRO_MODIFIED *& *&---------------------------------------------------------------------* *& *&http://www.sapdev.co.uk/reporting/email/email_mbody.htm *&---------------------------------------------------------------------* REPORT ZMIGO_MIRO_MODIFIED. TABLES :EKKO.

SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN. TYPES : BEGIN OF T_EKKO, EBELN TYPE EKKO-EBELN, BUKRS TYPE EKKO-BUKRS, LIFNR TYPE EKKO-LIFNR, END OF T_EKKO. TYPES : BEGIN OF T_EKPO, EBELN TYPE EKPO-EBELN, EBELP TYPE EKPO-EBELP, TXZ01 TYPE EKPO-TXZ01, NTGEW TYPE EKPO-NTGEW, MENGE TYPE EKPO-MENGE, GEWEI TYPE EKPO-GEWEI, END OF T_EKPO. TYPES : BEGIN OF T_FINAL_1, EBELN TYPE EKKO-EBELN, EBELP TYPE EKPO-EBELP, BUKRS TYPE EKKO-BUKRS, LIFNR TYPE EKKO-LIFNR, TXZ01 TYPE EKPO-TXZ01, NTGEW TYPE EKPO-NTGEW, MENGE TYPE EKPO-MENGE, GEWEI TYPE EKPO-GEWEI, END OF T_FINAL_1. TYPES: BEGIN OF T_MSEG, MBLNR TYPE MSEG-MBLNR, MJAHR TYPE MSEG-MJAHR, ZEILE TYPE MSEG-ZEILE, EBELN TYPE MSEG-EBELN, EBELP TYPE MSEG-EBELP, DMBTR TYPE MSEG-DMBTR, WAERS TYPE MSEG-WAERS, MENGE TYPE MSEG-MENGE, MEINS TYPE MSEG-MEINS, END OF T_MSEG. TYPES : BEGIN OF T_EKBE, EBELN TYPE EKBE-EBELN, EBELP TYPE EKBE-EBELP, BELNR TYPE EKBE-BELNR, DMBTR TYPE EKBE-DMBTR, WAERS TYPE EKBE-WAERS, SHKZG TYPE EKBE-SHKZG, BLDAT TYPE EKBE-BLDAT, END OF T_EKBE. DATA: GT_EKKO TYPE STANDARD TABLE OF T_EKKO,

WA_EKKO TYPE T_EKKO, GT_EKPO TYPE STANDARD TABLE OF WA_EKPO TYPE T_EKPO, GT_FINAL_1 TYPE STANDARD TABLE WA_FINAL_1 TYPE T_FINAL_1, GT_MSEG TYPE STANDARD TABLE OF WA_MSEG TYPE T_MSEG, GT_EKBE TYPE STANDARD TABLE OF WA_EKBE TYPE T_EKBE.

T_EKPO, OF T_FINAL_1, T_MSEG, T_EKBE,

SELECT EBELN BUKRS LIFNR FROM EKKO INTO CORRESPONDING FIELDS OF TABLE GT_EKKO WHERE EBELN IN S_EBELN. IF GT_EKKO IS NOT INITIAL. SELECT EBELN EBELP TXZ01 NTGEW GEWEI MENGE FROM EKPO INTO CORRESPONDING FIELDS OF TABLE GT_EKPO FOR ALL ENTRIES IN GT_EKKO WHERE EBELN = GT_EKKO-EBELN. ENDIF. LOOP AT GT_EKPO INTO WA_EKPO. READ TABLE GT_EKKO INTO WA_EKKO WITH KEY EBELN = WA_EKPO-EBELN. MOVE-CORRESPONDING WA_EKKO TO WA_FINAL_1. MOVE-CORRESPONDING WA_EKPO TO WA_FINAL_1. APPEND WA_FINAL_1 TO GT_FINAL_1. ENDLOOP. WRITE : 'PO Number ' ,SY-VLINE, 'Item ' ,SY-VLINE,'Co.Code' ,SY-VLINE, 'Vendor N o ',SY-VLINE ,' Description ', SY-VLINE ,'Net Wt. ',SY-VLINE ,'Unit'. WRITE : SY-VLINE. LOOP AT GT_FINAL_1 INTO WA_FINAL_1. WRITE: / WA_FINAL_1-EBELN ,SY-VLINE, "PO nomber WA_FINAL_1-EBELP,SY-VLINE , "Item no WA_FINAL_1-BUKRS,SY-VLINE , WA_FINAL_1-LIFNR,SY-VLINE, WA_FINAL_1-TXZ01,SY-VLINE, "Short text WA_FINAL_1-NTGEW,SY-VLINE, "Net weight WA_FINAL_1-GEWEI, SY-VLINE. " Unit weight HIDE WA_FINAL_1-EBELN. HIDE WA_FINAL_1-EBELP. HIDE WA_FINAL_1-MENGE. ENDLOOP. AT LINE-SELECTION. CASE SY-LSIND. WHEN '1'. SELECT EBELN EBELP MBLNR ZEILE MJAHR DMBTR WAERS MENGE MEINS FROM MSEG INTO CORRESPONDING FIELDS OF TABLE GT_MSEG WHERE EBELN = WA_FINAL_1-EBELN . DATA: GV_TOT(10) TYPE C,

GV_REC(10) TYPE C, GV_TEMPQ(10) TYPE C, GV_BAL(10) TYPE C, GV_FLAG TYPE C. SORT GT_MSEG BY MBLNR ZEILE ASCENDING. CLEAR GV_FLAG. CLEAR GV_TEMPQ. IF GT_MSEG IS NOT INITIAL. LOOP AT GT_MSEG INTO WA_MSEG. IF GV_FLAG NE 'X'. GV_TOT = WA_FINAL_1-MENGE. GV_REC = WA_MSEG-MENGE. gv_tempq = gv_rec + wa_mseg-ntgew. GV_BAL = WA_FINAL_1-MENGE - GV_TEMPQ - WA_MSEG-MENGE. GV_TEMPQ = GV_TEMPQ + WA_MSEG-MENGE. IF GV_BAL EQ 0 . GV_FLAG = 'X'. ENDIF. ENDIF. WRITE :/ WA_MSEG-EBELN,SY-VLINE, WA_MSEG-EBELP,SY-VLINE, WA_MSEG-ZEILE,SY-VLINE, WA_MSEG-MBLNR,SY-VLINE, WA_MSEG-MJAHR,SY-VLINE, WA_MSEG-DMBTR,SY-VLINE, WA_MSEG-WAERS ,SY-VLINE, WA_MSEG-MENGE,SY-VLINE, GV_BAL,SY-VLINE, WA_MSEG-MEINS,SY-VLINE. ENDLOOP. ELSE. MESSAGE I000(ZSAP). ENDIF. WHEN '2'. SELECT EBELN EBELP BELNR DMBTR WAERS SHKZG BLDAT FROM EKBE INTO CORRESPONDING FIELDS OF TABLE GT_EKBE WHERE EBELN = WA_FINAL_1-EBELN AND BEWTP = 'Q'. IF GT_EKBE IS NOT INITIAL. LOOP AT GT_EKBE INTO WA_EKBE. WRITE :/ WA_EKBE-EBELN , SY-VLINE, WA_EKBE-EBELP , SY-VLINE, WA_EKBE-BELNR, SY-VLINE, WA_EKBE-DMBTR , SY-VLINE, WA_EKBE-WAERS , SY-VLINE, WA_EKBE-SHKZG , SY-VLINE, WA_EKBE-BLDAT. ENDLOOP. ENDIF. WHEN OTHERS.

ENDCASE. TOP-OF-PAGE. WRITE: 'General PO related data.'. ULINE. TOP-OF-PAGE DURING LINE-SELECTION. CASE SY-LSIND. WHEN '1' . WRITE : 'MIGO related data -'. ULINE. WHEN '2' . WRITE : 'MIRO related data -'. ULINE. WHEN OTHERS. ENDCASE.

You might also like