Dear Experts,
I want to set my header, i dont want to repet my header and i want to set my page header and footer with page number,and in this report i want achive the unit of mesure converstions.
Thanks.
*&---------------------------------------------------------------------*
*& Report Z_STOCK_HOLDING_REPORT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_STOCK_HOLDING_REPORT
NO STANDARD PAGE HEADING
LINE-SIZE 128
LINE-COUNT 64.
*TYPE-POOLS : SLIS.
*******************************************
TABLES :MARA,MCHB,MAKT,MARD,MDSM,VBBE.
**********************************************
*SELECTION SCREEN *
************************************************
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME.
select-options:MATNO FOR MCHB-MATNR.
SELECT-OPTIONS:PLANT FOR MCHB-WERKS.
select-options:SLOC FOR MCHB-LGORT.
select-options:BATCH FOR MCHB-CHARG.
SELECTION-SCREEN END OF BLOCK BLK2.
********************************************
*FIELDCAT DECLARATION
*******************************************
*DATA : T_FCAT TYPE SLIS_T_FIELDCAT_ALV,
* W_FCAT TYPE SLIS_FIELDCAT_ALV.
*
*
*DATA flag(1) TYPE c VALUE 'X'.
*******************************************************
TYPES : BEGIN OF TY_FINAL,
MATNO TYPE MCHB-MATNR,
MGP TYPE MARA-MATKL,
Mplant type mchb-werks,
MATDES TYPE MAKT-MAKTX,
BOU TYPE MARA-MEINS,
ONORDER TYPE MarD-labst,
ONHAND TYPE mard-labst,
ALOC TYPE vbbe-omeng,
ABLE TYPE MARD-LABST,
END OF TY_FINAL.
*******************************************
*MODIFIED.
*****************************************
TYPES :BEGIN OF TY_MCHB,
MATNR TYPE MCHB-MATNR,
WERKS TYPE MCHB-WERKS,
LGORT TYPE MCHB-LGORT,
CHRGE TYPE MCHB-CHARG,
* CLABS TYPE MCHB-CLABS,
END OF TY_MCHB.
**************END***************************
TYPES : BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
* WERKS TYPE MARA-WERKS,
MATKL TYPE MARA-MATKL,
MEINS TYPE MARA-MEINS,
END OF TY_MARA.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF TY_MAKT.
TYPES : BEGIN OF TY_MARD,
MATNR TYPE MARD-MATNR,
LABST TYPE MARD-LABST,
* lvorm TYPE MARD-lvorm,
* INSME TYPE MARD-INSME,
END OF TY_MARD.
TYPES : BEGIN OF TY_MDSM,
MATNR TYPE MDSM-MATNR,
BDMNG TYPE MDSM-BDMNG,
END OF TY_MDSM.
TYPES : BEGIN OF TY_vbbe,
MATNR TYPE vbbe-MATNR,
omeng TYPE vbbe-omeng,
END OF TY_vbbe.
data :begin of stab occurs 0,
matnr type mard-matnr,
WERKS TYPE MARD-WERKS,
LGORT TYPE MARD-LGORT,
labst type mard-labst,
end of stab.
data : temp like mard-labst.
temp = 0.
**********************************************
DATA : IT_FINAL TYPE STANDARD TABLE OF TY_FINAL,
WA_FINAL TYPE TY_FINAL.
DATA : IT_MCHB TYPE STANDARD TABLE OF TY_MCHB,
WA_MCHB TYPE TY_MCHB.
data : it_vbbe type standard table of ty_vbbe,
wa_vbbe type ty_vbbe.
DATA : IT_MARA TYPE STANDARD TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA.
DATA : IT_MAKT TYPE STANDARD TABLE OF TY_MAKT,
WA_MAKT TYPE TY_MAKT.
DATA : IT_MARD TYPE STANDARD TABLE OF TY_MARD,
WA_MARD TYPE TY_MARD.
DATA :IT_MDSM TYPE STANDARD TABLE OF TY_MDSM,
WA_MDSM TYPE TY_MDSM.
*DATA : IT_SORT TYPE SLIS_T_SORTINFO_ALV,
* WA_SORT TYPE SLIS_SORTINFO_ALV.
******************************************************************
*DATA : T_HEAD TYPE SLIS_T_LISTHEADER,
* W_HEAD TYPE SLIS_LISTHEADER.
*
* W_HEAD-TYP = 'H'.
* W_HEAD-INFO = 'MY STOCK HOLDING REPORT'.
* APPEND W_HEAD TO T_HEAD.
*
*DATA : T_EVENTS TYPE SLIS_T_EVENT,
* W_EVENTS TYPE SLIS_ALV_EVENT.
*
* W_EVENTS-NAME = 'TOP_OF_PAGE'.
* W_EVENTS-FORM = 'TOP'.
* APPEND W_EVENTS TO T_EVENTS.
**********************************************************
SELECT MATNR
WERKS
LGORT
CHARG
* clabs
FROM MCHB
INTO TABLE IT_MCHB
WHERE MATNR IN MATNO
AND WERKS IN plant
and LGORT IN SLOC
AND CHARG in BATCH
AND MATNR NE 0
AND MATNR NE ''.
***********************************************
CHECK not IT_mchb IS INITIAL.
SELECT MATNR
LABST
* lvorm
FROM MARD
INTO TABLE IT_MARD
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR
AND LVORM NE 'X'.
* AND LABST NE 0.
CHECK not IT_mard IS INITIAL.
SELECT MATNR
MAKTX
FROM MAKT
INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR
AND SPRAS = 'EN'.
*READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_MCHB-MATNR.
CHECK not IT_MAKT IS INITIAL.
************************************************
SELECT MATNR
MATKL
MEINS
FROM MARA
INTO TABLE IT_MARA
for all entries in it_mchb
WHERE matnr = it_mchb-matnr.
**
CHECK not IT_MAra IS INITIAL.
****************************************************
*********************************************************
*CHECK not IT_MARD is INITIAL.
*SELECT MATNR
* BDMNG
* FROM MDSM
* INTO TABLE IT_MDSM
* FOR ALL ENTRIES IN IT_MCHB
* WHERE MATNR = IT_MCHB-MATNR.
***********************************************************
SELECT MATNR
OMENG
FROM VBBE
INTO TABLE IT_VBBE
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR.
**************************************************************
sort it_final by matno mplant MGP.
LOOP AT IT_MCHB INTO WA_MCHB.
select matnr WERKS LGORT labst into table stab
from mard where matnr = wa_mchb-matnr
AND WERKS = WA_MCHB-WERKS
AND LGORT = WA_MCHB-LGORT.
sort stab.
loop at stab.
* IF TEMP GT 0.
temp = temp + stab-labst.
READ TABLE IT_MARA INTO WA_MARA WITH KEY MATNR = WA_MCHB-MATNR.
READ TABLE IT_MARD INTO WA_MARD WITH KEY MATNR = WA_MCHB-MATNR.
READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_MCHB-MATNR.
READ TABLE IT_VBBE INTO WA_VBBE WITH KEY MATNR = WA_MCHB-MATNR.
WA_FINAL-MATNO = WA_MCHB-MATNR.
WA_FINAL-MGP = WA_MARA-MATKL.
WA_FINAL-MPLANT = WA_MCHB-WERKS.
WA_FINAL-MATDES = WA_MAKT-MAKTX.
WA_FINAL-BOU = WA_MARA-MEINS.
WA_FINAL-ONORDER = WA_mard-labst.
WA_FINAL-ONHAND = temp."wa_mard-labst.
wa_final-aloc = wa_vbbe-omeng.
WA_final-ABLE = WA_FINAL-ONHAND - WA_final-ALOC.
DELETE adjacent DUPLICATES FROM IT_FINAL COMPARING MATNO MPLANT.
* ENDIF.
endloop.
CLEAR TEMP.
APPEND WA_FINAL TO IT_FINAL.
ENDLOOP.
CLEAR WA_FINAL.
sort it_final.
loop at it_final into wa_final.
write :/03 wa_final-matno,
18 wa_final-mgp,
24 wa_final-mplant,
30 wa_final-matdes,
65 wa_final-bou,
70 wa_final-onorder,
85 wa_final-onhand,
100 wa_final-aloc,
115 wa_final-able.
at end of mgp.
sum.
uline :/90(10).
write :/77 'SubTotal:',85 wa_final-onhand.
uline :/90(10).
endat.
endloop.
top-of-page.
WRITE : 50 'STOCK HOLDING REPORT'.
ULINE : /02(180).
write :/04 'MATNO',
17 'MGP',
22 'MPLANT',
38 'MATDES',
63 'BOUM',
72 'ONORDER',
90 'ONHAND',
105 'ALLOCCATED',
120 'AVAILABLE'.
ULINE : /02
Edited by: Julius Bussche on Mar 1, 2009 11:14 AM
Code tags added