‎2008 Mar 31 10:24 AM
&----
*& Report ZSD_DEMAND_QTY_TEST *
*& *
&----
*& *
*& *
&----
REPORT ZSD_DEMAND_QTY_TEST NO STANDARD PAGE HEADING LINE-SIZE 1023.
TABLES: MARA, MAKT, KNMT, VBRK, VBRP, KNA1, ZDSPT,SYST.
PARAMETERS: P_KUNNR LIKE KNA1-KUNNR OBLIGATORY,
MONYR LIKE MCS0-SPMON DEFAULT SY-DATUM OBLIGATORY.
SELECT-OPTIONS: S_WERKS FOR ZDSPT-WERKS,
S_MATNR FOR ZDSPT-MATNR.
TYPE-POOLS: SLIS.
TYPES: BEGIN OF ITAB,
NAME1 LIKE KNA1-NAME1,
END OF ITAB,
BEGIN OF ITAB1,
KUNAG LIKE VBRK-KUNAG,
ERDAT LIKE VBRK-ERDAT,
VBELN LIKE VBRK-VBELN,
FKSTO LIKE VBRK-FKSTO,
END OF ITAB1,
BEGIN OF ITAB1A,
KUNAG LIKE J_1IEXCHDR-KUNAG,
RDOC LIKE J_1IEXCHDR-RDOC,
END OF ITAB1A,
BEGIN OF ITAB2,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
WERKS LIKE VBRP-WERKS,
ERDAT LIKE VBRP-ERDAT,
MATNR LIKE VBRP-MATNR,
FKIMG LIKE VBRP-FKIMG,
END OF ITAB2,
BEGIN OF ITAB3,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF ITAB3,
BEGIN OF ITAB4,
MATNR LIKE KNMT-MATNR,
KDMAT LIKE KNMT-KDMAT,
END OF ITAB4,
BEGIN OF ITAB5,
ERDAT LIKE ZDSPT-ERDAT,
KUNNR LIKE ZDSPT-KUNNR,
WERKS LIKE ZDSPT-WERKS,
MATNR LIKE ZDSPT-MATNR,
LFIMG LIKE ZDSPT-LFIMG,
END OF ITAB5,
BEGIN OF ITAB5A,
MATNR LIKE ZDSPT-MATNR,
LFIMG LIKE ZDSPT-LFIMG,
END OF ITAB5A.
DATA: IT TYPE ITAB,
IT1 TYPE TABLE OF ITAB1 INITIAL SIZE 100 WITH HEADER LINE,
IT1A TYPE TABLE OF ITAB1A INITIAL SIZE 100 WITH HEADER LINE,
IT2 TYPE TABLE OF ITAB2 INITIAL SIZE 100 WITH HEADER LINE,
IT3 TYPE TABLE OF ITAB3 INITIAL SIZE 100 WITH HEADER LINE,
IT4 TYPE TABLE OF ITAB4 INITIAL SIZE 100 WITH HEADER LINE,
IT5 TYPE TABLE OF ITAB5 INITIAL SIZE 100 WITH HEADER LINE,
IT5A TYPE TABLE OF ITAB5A INITIAL SIZE 100 WITH HEADER LINE.
DATA: BEGIN OF IT_MAIN OCCURS 10,
VBELN LIKE VBRK-VBELN,
POSNR LIKE VBRP-POSNR,
ERDAT LIKE VBRK-ERDAT,
MATNR LIKE VBRP-MATNR,
MAKTX LIKE MAKT-MAKTX,
KDMAT LIKE KNMT-KDMAT,
DEM_QTY LIKE ZDSPT-LFIMG,
DESP_QTY LIKE ZDSPT-LFIMG,
BAL_QTY(16) TYPE C,
ERDAT1 TYPE VBRP-ERDAT,
FKIMG1 TYPE VBRP-FKIMG,
ERDAT2 TYPE VBRP-ERDAT,
FKIMG2 TYPE VBRP-FKIMG,
ERDAT3 TYPE VBRP-ERDAT,
FKIMG3 TYPE VBRP-FKIMG,
ERDAT4 TYPE VBRP-ERDAT,
FKIMG4 TYPE VBRP-FKIMG,
ERDAT5 TYPE VBRP-ERDAT,
FKIMG5 TYPE VBRP-FKIMG,
ERDAT6 TYPE VBRP-ERDAT,
FKIMG6 TYPE VBRP-FKIMG,
ERDAT7 TYPE VBRP-ERDAT,
FKIMG7 TYPE VBRP-FKIMG,
ERDAT8 TYPE VBRP-ERDAT,
FKIMG8 TYPE VBRP-FKIMG,
ERDAT9 TYPE VBRP-ERDAT,
FKIMG9 TYPE VBRP-FKIMG,
ERDAT10 TYPE VBRP-ERDAT,
FKIMG10 TYPE VBRP-FKIMG,
ERDAT11 TYPE VBRP-ERDAT,
FKIMG11 TYPE VBRP-FKIMG,
ERDAT12 TYPE VBRP-ERDAT,
FKIMG12 TYPE VBRP-FKIMG,
ERDAT13 TYPE VBRP-ERDAT,
FKIMG13 TYPE VBRP-FKIMG,
ERDAT14 TYPE VBRP-ERDAT,
FKIMG14 TYPE VBRP-FKIMG,
ERDAT15 TYPE VBRP-ERDAT,
FKIMG15 TYPE VBRP-FKIMG,
ERDAT16 TYPE VBRP-ERDAT,
FKIMG16 TYPE VBRP-FKIMG,
ERDAT17 TYPE VBRP-ERDAT,
FKIMG17 TYPE VBRP-FKIMG,
ERDAT18 TYPE VBRP-ERDAT,
FKIMG18 TYPE VBRP-FKIMG,
ERDAT19 TYPE VBRP-ERDAT,
FKIMG19 TYPE VBRP-FKIMG,
ERDAT20 TYPE VBRP-ERDAT,
FKIMG20 TYPE VBRP-FKIMG,
ERDAT21 TYPE VBRP-ERDAT,
FKIMG21 TYPE VBRP-FKIMG,
ERDAT22 TYPE VBRP-ERDAT,
FKIMG22 TYPE VBRP-FKIMG,
ERDAT23 TYPE VBRP-ERDAT,
FKIMG23 TYPE VBRP-FKIMG,
ERDAT24 TYPE VBRP-ERDAT,
FKIMG24 TYPE VBRP-FKIMG,
ERDAT25 TYPE VBRP-ERDAT,
FKIMG25 TYPE VBRP-FKIMG,
ERDAT26 TYPE VBRP-ERDAT,
FKIMG26 TYPE VBRP-FKIMG,
ERDAT27 TYPE VBRP-ERDAT,
FKIMG27 TYPE VBRP-FKIMG,
ERDAT28 TYPE VBRP-ERDAT,
FKIMG28 TYPE VBRP-FKIMG,
ERDAT29 TYPE VBRP-ERDAT,
FKIMG29 TYPE VBRP-FKIMG,
ERDAT30 TYPE VBRP-ERDAT,
FKIMG30 TYPE VBRP-FKIMG,
ERDAT31 TYPE VBRP-ERDAT,
FKIMG31 TYPE VBRP-FKIMG,
END OF IT_MAIN.
*DATA: BEGIN OF IT_MAIN1 OCCURS 10,
MATNR TYPE MARA-MATNR,
ERDAT1 TYPE VBRP-ERDAT,
FKIMG1 TYPE VBRP-FKIMG,
ERDAT2 TYPE VBRP-ERDAT,
FKIMG2 TYPE VBRP-FKIMG,
ERDAT3 TYPE VBRP-ERDAT,
FKIMG3 TYPE VBRP-FKIMG,
ERDAT4 TYPE VBRP-ERDAT,
FKIMG4 TYPE VBRP-FKIMG,
ERDAT5 TYPE VBRP-ERDAT,
FKIMG5 TYPE VBRP-FKIMG,
ERDAT6 TYPE VBRP-ERDAT,
FKIMG6 TYPE VBRP-FKIMG,
ERDAT7 TYPE VBRP-ERDAT,
FKIMG7 TYPE VBRP-FKIMG,
ERDAT8 TYPE VBRP-ERDAT,
FKIMG8 TYPE VBRP-FKIMG,
ERDAT9 TYPE VBRP-ERDAT,
FKIMG9 TYPE VBRP-FKIMG,
ERDAT10 TYPE VBRP-ERDAT,
FKIMG10 TYPE VBRP-FKIMG,
ERDAT11 TYPE VBRP-ERDAT,
FKIMG11 TYPE VBRP-FKIMG,
ERDAT12 TYPE VBRP-ERDAT,
FKIMG12 TYPE VBRP-FKIMG,
ERDAT13 TYPE VBRP-ERDAT,
FKIMG13 TYPE VBRP-FKIMG,
ERDAT14 TYPE VBRP-ERDAT,
FKIMG14 TYPE VBRP-FKIMG,
ERDAT15 TYPE VBRP-ERDAT,
FKIMG15 TYPE VBRP-FKIMG,
ERDAT16 TYPE VBRP-ERDAT,
FKIMG16 TYPE VBRP-FKIMG,
ERDAT17 TYPE VBRP-ERDAT,
FKIMG17 TYPE VBRP-FKIMG,
ERDAT18 TYPE VBRP-ERDAT,
FKIMG18 TYPE VBRP-FKIMG,
ERDAT19 TYPE VBRP-ERDAT,
FKIMG19 TYPE VBRP-FKIMG,
ERDAT20 TYPE VBRP-ERDAT,
FKIMG20 TYPE VBRP-FKIMG,
ERDAT21 TYPE VBRP-ERDAT,
FKIMG21 TYPE VBRP-FKIMG,
ERDAT22 TYPE VBRP-ERDAT,
FKIMG22 TYPE VBRP-FKIMG,
ERDAT23 TYPE VBRP-ERDAT,
FKIMG23 TYPE VBRP-FKIMG,
ERDAT24 TYPE VBRP-ERDAT,
FKIMG24 TYPE VBRP-FKIMG,
ERDAT25 TYPE VBRP-ERDAT,
FKIMG25 TYPE VBRP-FKIMG,
ERDAT26 TYPE VBRP-ERDAT,
FKIMG26 TYPE VBRP-FKIMG,
ERDAT27 TYPE VBRP-ERDAT,
FKIMG27 TYPE VBRP-FKIMG,
ERDAT28 TYPE VBRP-ERDAT,
FKIMG28 TYPE VBRP-FKIMG,
ERDAT29 TYPE VBRP-ERDAT,
FKIMG29 TYPE VBRP-FKIMG,
END OF IT_MAIN1.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT LIKE LINE OF IT_FCAT,
IT_SORT TYPE SLIS_T_SORTINFO_ALV,
WA_SORT TYPE SLIS_SORTINFO_ALV,
IT_HEAD TYPE SLIS_T_LISTHEADER,
WA_HEAD LIKE LINE OF IT_HEAD,
TOP_OF_PAGE TYPE SLIS_FORMNAME,
HEAD(60) TYPE C,
PART_NO(60) TYPE C,
MONYR_LOW LIKE SY-DATUM,
MONYR_HIG LIKE SY-DATUM,
BAL_QTY LIKE ZDSPT-LFIMG.
MONYR_LOW0(4) = MONYR0(4).
MONYR_LOW4(2) = MONYR4(2).
MONYR_LOW+6(2) = '01'.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = MONYR_LOW
IMPORTING
LAST_DAY_OF_MONTH = MONYR_HIG
EXCEPTIONS
DAY_IN_NO_DATE = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SELECT STATEMENT *************
SELECT SINGLE NAME1 FROM KNA1 INTO IT WHERE KUNNR EQ P_KUNNR.
SELECT KUNAG ERDAT VBELN FKSTO FROM VBRK INTO TABLE IT1
WHERE KUNAG EQ P_KUNNR AND
ERDAT >= MONYR_LOW AND
ERDAT <= MONYR_HIG AND
FKSTO EQ ' '.
*SELECT KUNAG RDOC FROM J_1IEXCHDR INTO TABLE IT1A
WHERE KUNAG EQ P_KUNNR AND
RDOC EQ IT1-VBELN.
*
*IF NOT IT1A[] IS INITIAL.
IF NOT IT1[] IS INITIAL.
SORT IT1 BY VBELN.
DELETE ADJACENT DUPLICATES FROM IT1 COMPARING VBELN.
SELECT VBELN POSNR WERKS ERDAT MATNR FKIMG FROM VBRP INTO TABLE IT2
FOR ALL ENTRIES IN IT1 WHERE VBELN EQ IT1-VBELN AND
WERKS IN S_WERKS AND
MATNR IN S_MATNR.
SORT IT2 BY MATNR.
SELECT MATNR MAKTX FROM MAKT INTO TABLE IT3 FOR ALL ENTRIES IN IT2
WHERE MATNR EQ IT2-MATNR.
SELECT MATNR KDMAT FROM KNMT INTO TABLE IT4 FOR ALL ENTRIES IN IT2
WHERE KUNNR EQ P_KUNNR AND
MATNR EQ IT2-MATNR.
SELECT ERDAT KUNNR WERKS MATNR LFIMG FROM ZDSPT INTO TABLE IT5
WHERE KUNNR EQ P_KUNNR AND
ERDAT >= MONYR_LOW AND
ERDAT <= MONYR_HIG AND
WERKS IN S_WERKS AND
MATNR IN S_MATNR.
GENERATING THE MAIN INTERNAL TABLE ******
SORT IT_MAIN BY MATNR.
LOOP AT IT2.
MOVE-CORRESPONDING IT2 TO IT_MAIN.
APPEND IT_MAIN.
ENDLOOP.
LOOP AT IT_MAIN INTO IT_MAIN.
READ TABLE IT3 INTO IT3 WITH KEY MATNR = IT_MAIN-MATNR.
MOVE-CORRESPONDING IT3 TO IT_MAIN.
MODIFY IT_MAIN FROM IT_MAIN TRANSPORTING MAKTX.
READ TABLE IT4 INTO IT4 WITH KEY MATNR = IT_MAIN-MATNR.
MOVE-CORRESPONDING IT4 TO IT_MAIN.
MODIFY IT_MAIN FROM IT_MAIN TRANSPORTING KDMAT.
ENDLOOP.
SORT IT2 BY MATNR ERDAT.
LOOP AT IT2.
IT5A-MATNR = IT2-MATNR.
IT5A-LFIMG = IT2-FKIMG.
COLLECT IT5A.
ENDLOOP.
LOOP AT IT_MAIN.
READ TABLE IT5A WITH KEY MATNR = IT_MAIN-MATNR.
IT_MAIN-DESP_QTY = IT5A-LFIMG.
MODIFY IT_MAIN TRANSPORTING DESP_QTY.
ENDLOOP.
CLEAR IT5A[].
SORT IT5 BY MATNR ERDAT.
LOOP AT IT5.
IT5A-MATNR = IT5-MATNR.
IT5A-LFIMG = IT5-LFIMG.
COLLECT IT5A.
ENDLOOP.
LOOP AT IT_MAIN.
READ TABLE IT5A WITH KEY MATNR = IT_MAIN-MATNR.
IT_MAIN-DEM_QTY = IT5A-LFIMG.
MODIFY IT_MAIN TRANSPORTING DEM_QTY.
ENDLOOP.
DATA: B_QTY(15) TYPE C.
LOOP AT IT_MAIN.
B_QTY = IT_MAIN-DEM_QTY - IT_MAIN-DESP_QTY.
IF B_QTY LT 0.
SHIFT B_QTY RIGHT DELETING TRAILING '-'.
SHIFT B_QTY LEFT DELETING LEADING ' '.
CONCATENATE '-' B_QTY INTO B_QTY.
ENDIF.
IT_MAIN-BAL_QTY = B_QTY.
MODIFY IT_MAIN TRANSPORTING BAL_QTY.
CLEAR B_QTY.
ENDLOOP.
DATA: I1(3) TYPE N.
LOOP AT IT2.
READ TABLE IT_MAIN WITH KEY MATNR = IT2-MATNR BINARY SEARCH.
IF IT2-ERDAT+6(2) EQ '01'.
IT_MAIN-ERDAT1 = IT2-ERDAT.
IT_MAIN-FKIMG1 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '02'.
IT_MAIN-ERDAT2 = IT2-ERDAT.
IT_MAIN-FKIMG2 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '03'.
IT_MAIN-ERDAT3 = IT2-ERDAT.
IT_MAIN-FKIMG3 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '04'.
IT_MAIN-ERDAT4 = IT2-ERDAT.
IT_MAIN-FKIMG4 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '05'.
IT_MAIN-ERDAT5 = IT2-ERDAT.
IT_MAIN-FKIMG5 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '06'.
IT_MAIN-ERDAT6 = IT2-ERDAT.
IT_MAIN-FKIMG6 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '07'.
IT_MAIN-ERDAT7 = IT2-ERDAT.
IT_MAIN-FKIMG7 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '08'.
IT_MAIN-ERDAT8 = IT2-ERDAT.
IT_MAIN-FKIMG8 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '09'.
IT_MAIN-ERDAT9 = IT2-ERDAT.
IT_MAIN-FKIMG9 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '10'.
IT_MAIN-ERDAT10 = IT2-ERDAT.
IT_MAIN-FKIMG10 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '11'.
IT_MAIN-ERDAT11 = IT2-ERDAT.
IT_MAIN-FKIMG11 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '12'.
IT_MAIN-ERDAT12 = IT2-ERDAT.
IT_MAIN-FKIMG12 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '13'.
IT_MAIN-ERDAT13 = IT2-ERDAT.
IT_MAIN-FKIMG13 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '14'.
IT_MAIN-ERDAT14 = IT2-ERDAT.
IT_MAIN-FKIMG14 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '15'.
IT_MAIN-ERDAT15 = IT2-ERDAT.
IT_MAIN-FKIMG15 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '16'.
IT_MAIN-ERDAT16 = IT2-ERDAT.
IT_MAIN-FKIMG16 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '17'.
IT_MAIN-ERDAT17 = IT2-ERDAT.
IT_MAIN-FKIMG17 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '18'.
IT_MAIN-ERDAT18 = IT2-ERDAT.
IT_MAIN-FKIMG18 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '19'.
IT_MAIN-ERDAT19 = IT2-ERDAT.
IT_MAIN-FKIMG19 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '20'.
IT_MAIN-ERDAT20 = IT2-ERDAT.
IT_MAIN-FKIMG20 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '21'.
IT_MAIN-ERDAT21 = IT2-ERDAT.
IT_MAIN-FKIMG21 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '22'.
IT_MAIN-ERDAT22 = IT2-ERDAT.
IT_MAIN-FKIMG22 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '23'.
IT_MAIN-ERDAT23 = IT2-ERDAT.
IT_MAIN-FKIMG23 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '24'.
IT_MAIN-ERDAT24 = IT2-ERDAT.
IT_MAIN-FKIMG24 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '25'.
IT_MAIN-ERDAT25 = IT2-ERDAT.
IT_MAIN-FKIMG25 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '26'.
IT_MAIN-ERDAT26 = IT2-ERDAT.
IT_MAIN-FKIMG26 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '27'.
IT_MAIN-ERDAT27 = IT2-ERDAT.
IT_MAIN-FKIMG27 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '28'.
IT_MAIN-ERDAT28 = IT2-ERDAT.
IT_MAIN-FKIMG28 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '29'.
IT_MAIN-ERDAT29 = IT2-ERDAT.
IT_MAIN-FKIMG29 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '30'.
IT_MAIN-ERDAT30 = IT2-ERDAT.
IT_MAIN-FKIMG30 = IT2-FKIMG.
ELSEIF IT2-ERDAT+6(2) EQ '31'.
IT_MAIN-ERDAT31 = IT2-ERDAT.
IT_MAIN-FKIMG31 = IT2-FKIMG.
ENDIF.
IF SY-SUBRC EQ 0.
MODIFY IT_MAIN FROM IT_MAIN."FROM IT_MAIN1 INDEX SY-INDEX.
ENDIF.
ENDLOOP.
ENDIF.
CREATING LAYOUT ***********
WRITE:/ SY-ULINE.
WRITE:/ SY-VLINE NO-GAP,'Customer Name :',21 SY-VLINE NO-GAP, IT-NAME1.
WRITE:/ SY-ULINE(255).
WRITE:/ SY-VLINE NO-GAP,(14) 'Material No.',21 SY-VLINE NO-GAP,22(11) 'Description',63 SY-VLINE NO-GAP,64(8) 'Part No.',
100 SY-VLINE NO-GAP,101(14) ' Demand Qty.',119 SY-VLINE NO-GAP,120(14) ' Desp. Qty.',138 SY-VLINE NO-GAP,139(16)
' Balance Qty.',156 SY-VLINE NO-GAP,'01.' NO-GAP,MONYR, 'DETAILS', SY-VLINE NO-GAP,'02.' NO-GAP,MONYR, 'DETAILS', SY-VLINE NO-GAP,'03.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'04.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'05.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'06.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'07.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'08.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'09.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'10.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'11.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'12.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'13.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'14.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'15.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'16.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'17.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'18.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'19.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'20.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'21.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'22.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'23.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'24.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'25.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'26.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'27.' NO-GAP,
MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'28.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS', SY-VLINE NO-GAP,'29.' NO-GAP,MONYR, SY-VLINE NO-GAP, 'DETAILS'.
IF MONYR_HIG+6(2) = '31'.
WRITE: SY-VLINE NO-GAP, '31.' NO-GAP, MONYR, 'DETAILS', SY-VLINE NO-GAP .
ELSEIF MONYR_HIG+6(2) = '30'.
WRITE: SY-VLINE NO-GAP, '30.' NO-GAP, MONYR, 'DETAILS', SY-VLINE NO-GAP.
ENDIF.
WRITE:/ SY-ULINE(255).
LOOP AT IT_MAIN.
WRITE:/ SY-VLINE NO-GAP, IT_MAIN-MATNR, SY-VLINE NO-GAP, IT_MAIN-MAKTX , SY-VLINE NO-GAP, IT_MAIN-KDMAT, SY-VLINE NO-GAP, IT_MAIN-DEM_QTY,
SY-VLINE NO-GAP, IT_MAIN-DESP_QTY, SY-VLINE NO-GAP, IT_MAIN-BAL_QTY RIGHT-JUSTIFIED, SY-VLINE NO-GAP.
WRITE: SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT1, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT2,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT3, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT4,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT5, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT6,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT7, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT8,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT9, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT10,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT11, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT12,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT13, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT14,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT15, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT16,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT17, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT18,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT19, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT20,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT21, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT22,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT23, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT24,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT25, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT26,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT27, SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT28,
SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT29.
IF MONYR_HIG+6(2) = '30'.
WRITE: SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT30.
ELSEIF MONYR_HIG+6(2) = '31'.
WRITE: SY-VLINE NO-GAP, 'DESP. QTY.', SY-VLINE NO-GAP, IT_MAIN-ERDAT30.
ENDIF.
ENDLOOP.
WRITE:/ SY-ULINE(255).
‎2008 Mar 31 10:26 AM