****************************************************
*TITLE:BUY DOWN REPORT(RFQ PRICE DIFFERECE)
*TRANSACETION CODE:ZNC17
*AUTHOR:RICHARD L. CHANG
*DEVELPMENT DATE:2002.07.02~2002.07.03
****************************************************
REPORT ZRCO_NSG_0017 no standard page heading line-size 93.
TABLES:A902,KONP,MBEW,AMPL.
DATA:BEGIN OF ITAB OCCURS 0,
MATNR LIKE A902-MATNR, "MATERIAL NUMBER
werks like a902-werks,
CURRENT_KNUMH LIKE A902-KNUMH,
PREVIOUS_KNUMH LIKE A902-KNUMH,
CURRENT_KBETR LIKE KONP-KBETR, "CURRENT RATE
PREVIOUS_KBETR LIKE KONP-KBETR, "PREVIOUS RATE
KONWA LIKE KONP-KONWA, "CURRENCY
CURRENT_KPEIN LIKE KONP-KPEIN, "CURRENT PRICE UNIT
PREVIOUS_KPEIN LIKE KONP-KPEIN, "PREVIOUS PRICE UNIT
VARIA LIKE KONP-KBETR,
LBKUM LIKE MBEW-LBKUM, "STOCK
SALK3 LIKE MBEW-SALK3, "VALUE OF BUY DOWN
DATBI LIKE A902-DATBI, "TEMP DATE
END OF ITAB.
DATA:TOTAL LIKE MBEW-SALK3.
*DATA:ITAB_VALID LIKE ITAB OCCURS 0 WITH HEADER LINE.
SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
parameters: in_ekorg like a902-ekorg .
parameters:PLANT LIKE A902-WERKS DEFAULT 'ACEA'.
SELECT-OPTIONS:in_bklas FOR mbew-bklas." NO-EXTENSION NO INTERVALS.
SELECT-OPTIONS:MATERIAL FOR A902-MATNR.
SELECT-OPTIONS:DATE FOR A902-DATAB .
SELECTION-SCREEN:END OF BLOCK B1.
START-OF-SELECTION.
clear itab. refresh itab.
SELECT matnr bwkey sum( LBKUM )
INTO (itab-matnr,itab-werks,ITAB-LBKUM)
FROM MBEW
WHERE MATNR in material
and BKLAS in in_bklas
and bwkey = plant
group by matnr bwkey.
if itab-lbkum > 0.
append itab.
endif.
ENDSELECT.
DELETE ADJACENT DUPLICATES FROM ITAB COMPARING MATNR.
*************************BEGIN TO SELECT DATA**********************
loop at itab.
SELECT single
A902~KNUMH
* A902~DATAB
KONP~KBETR
KONP~KONWA
KONP~KPEIN
INTO (ITAB-CURRENT_KNUMH,
* ITAB-DATBI,
ITAB-CURRENT_KBETR,
ITAB-KONWA,
ITAB-CURRENT_KPEIN)
FROM A902 INNER JOIN KONP ON KONP~KNUMH = A902~KNUMH
WHERE matnr = itab-matnr AND
WERKS = itab-werks AND
A902~KSCHL = 'ZP01' AND
A902~DATBI >= DATE-HIGH AND
A902~DATAB <= DATE-HIGH and
a902~ekorg = in_ekorg.
ITAB-CURRENT_KBETR = ITAB-CURRENT_KBETR * 1000 / ITAB-CURRENT_KPEIN.
* APPEND ITAB.
modify itab.
endloop.
LOOP AT ITAB.
SELECT single A902~KNUMH
KONP~KBETR
KONP~KPEIN
INTO (ITAB-PREVIOUS_KNUMH,
ITAB-PREVIOUS_KBETR,
ITAB-PREVIOUS_KPEIN)
FROM A902 INNER JOIN KONP ON A902~KNUMH = KONP~KNUMH
WHERE MATNR = ITAB-MATNR AND
A902~DATBI >= DATE-LOW AND
A902~DATAB <= DATE-LOW and
a902~KSCHL = 'ZP01' and
WERKS = itab-werks AND
ekorg = in_ekorg.
IF SY-SUBRC <> 0.
SELECT MIN( DATBI )
INTO ITAB-DATBI
FROM A902
WHERE A902~KSCHL = 'ZP01' AND
DATBI > DATE-LOW AND
MATNR = ITAB-MATNR.
SELECT single A902~KNUMH
KONP~KBETR
KONP~KPEIN
INTO (ITAB-PREVIOUS_KNUMH,
ITAB-PREVIOUS_KBETR,
ITAB-PREVIOUS_KPEIN)
FROM A902 INNER JOIN KONP ON A902~KNUMH = KONP~KNUMH
WHERE MATNR = ITAB-MATNR AND
A902~DATBI = ITAB-DATBI AND
a902~KSCHL = 'ZP01' and
WERKS = itab-werks AND
ekorg = in_ekorg.
ENDIF.
ITAB-PREVIOUS_KBETR = ITAB-PREVIOUS_KBETR * 1000 /
ITAB-PREVIOUS_KPEIN.
ITAB-VARIA = ITAB-PREVIOUS_KBETR - ITAB-CURRENT_KBETR.
ITAB-SALK3 = ITAB-VARIA * ITAB-LBKUM / 1000.
MODIFY ITAB .
ENDLOOP.
*LOOP AT ITAB.
* SELECT BMATN
* INTO ITAB-MATNR
* FROM AMPL
* WHERE AMPL~EMATN = ITAB-MATNR.
* MODIFY ITAB .
* ENDSELECT.
*ENDLOOP.
* DELETE ADJACENT DUPLICATES FROM ITAB COMPARING MATNR.
*LOOP AT ITAB.
*
*ENDLOOP.
************************END OF SELECTION DATA**********************
PERFORM OUTPUT.
*&---------------------------------------------------------------------*
*& Form OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM OUTPUT.
LOOP AT ITAB.
WRITE:/ '|',
ITAB-MATNR UNDER 'Material Number ',
18 '|',
(13) ITAB-PREVIOUS_KBETR UNDER 'Previous Price/KPC' ,
33 '|',
(13) ITAB-CURRENT_KBETR UNDER 'Current Price/KPC' ,
47 '|',
(10) ITAB-VARIA UNDER 'Variance/KPC' ,
59 '|',
(12) ITAB-LBKUM unit 'ST' UNDER 'Total Stock/PC' ,
72 '|',
(13) ITAB-SALK3 UNDER 'Stock Variance/KPC' ,
87 '|',
ITAB-KONWA UNDER 'CUR.',93 SY-VLINE.
* ULINE.
ENDLOOP.
ULINE.
* WRITE: ' TOTAL(USD)', 12 ':',13 TOTAL .
* write: / ' -----------------------------'.
ENDFORM. " OUTPUT
top-of-page.
write:40 'Buy down Report'.
write:/.
uline.
format color 1.
WRITE:'|',
2 'Material Number ' COLOR 1,
18 '|',
19 'Pre. Price/KPC' COLOR 1,
33 '|',
34 'Cur.Price/KPC' COLOR 1,
47 '|',
48 ' Var./KPC' COLOR 1,
59 '|',
60 'Total Stock' COLOR 1,
72 '|',
73 ' Stock Var.' COLOR 1,
87 '|',
88 'CUR.' COLOR 1,
93 SY-VLINE.
format color off.
ULINE.