2008 Mar 03 7:12 AM
Hi gurus,
Pls send the sample alv report(stock report) in MM module(sample alv code)
thank you very much
Hi gurus,
Pls send the sample alv report(stock report) in MM module(sample alv code)
thank you very much
2008 Mar 03 7:23 AM
Hi,
THis is the sample MM Stock Report Program....
&----
*& Report ZDH_ITC_STOREP
*&
&----
*&
*&
&----
REPORT ZDH_ITC_STOREP.
TABLES: T001L.
type-pools slis.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: GT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: GT_EVENTS TYPE SLIS_T_EVENT.
TYPES: BEGIN OF TY_FINAL,
MATNR TYPE MCHB-MATNR,
MATDES TYPE MAKT-MAKTX,
BATNO TYPE MCHB-CHARG,
UMIL TYPE MCHB-CLABS,
UCFC TYPE MCHB-CLABS,
BMIL TYPE MCHB-CSPEM,
BCFC TYPE MCHB-CLABS,
TMIL TYPE MCHB-CLABS,
TCFC TYPE MCHB-CLABS,
END OF TY_FINAL.
TYPES: BEGIN OF TY_MCHB,
MATNR TYPE MCHB-MATNR, " Material Number
CHARG TYPE MCHB-CHARG, " Batch Number
CLABS TYPE MCHB-CLABS, " Valuated Unrestricted-Use Stock
CSPEM TYPE MCHB-CSPEM, " Blocked Stock
UCFC TYPE MCHB-CLABS,
bcfc TYPE MCHB-CLABS,
END OF TY_MCHB.
*TYPES: BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
END OF TY_MARA.
TYPES: BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR, " Material Number
MAKTX TYPE MAKT-MAKTX, " MATERIAL DESCRIPTION
END OF TY_MAKT.
TYPES:BEGIN OF TY_MARM,
MATNR TYPE MARM-MATNR, "MATERIAL NUMBER
UMREN TYPE MARM-UMREN, "Denominator for conversion to base units of measure
UMREZ TYPE MARM-UMREZ, "Numerator for Conversion to Base Units of Measure
END OF TY_MARM.
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_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_MARM TYPE STANDARD TABLE OF TY_MARM,
WA_MARM TYPE TY_MARM.
data: atot, btot type MCHB-CLABS.
PARAMETERS: PA_FACT TYPE T001W-WERKS OBLIGATORY, "FACTORY
PA_DATE TYPE SY-DATUM OBLIGATORY. "DATE
SELECT-OPTIONS: SO_STLO FOR T001L-LGORT OBLIGATORY. " STORAGE LOCATION
***********************************************************************************************************
GETTING THE MATERIALS
***********************************************************************************************************
SELECT MATNR CHARG CLABS CSPEM
FROM MCHB
INTO TABLE IT_MCHB
WHERE WERKS = PA_FACT
AND LGORT IN SO_STLO.
***********************************************************************************************************
GETTING THE BRAND DESCRIPTION FROM THE ABOVE SELECTED MATERIAL
***********************************************************************************************************
SELECT MATNR MAKTX
FROM MAKT
INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR
AND SPRAS = 'EN'.
***********************************************************************************************************
GETTING THE BATCH CODE FOR THE ABOVE MATERIAL AND BRAND
***********************************************************************************************************
SELECT MATNR UMREN UMREZ
FROM MARM
INTO TABLE IT_MARM
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR.
***********************************************************************************************************
CALCULATING THE TOTALS OF BLOCKED AND UNRESTRICTED QTY
***********************************************************************************************************
LOOP AT IT_MCHB INTO WA_MCHB.
READ TABLE IT_MARM INTO WA_MARM WITH KEY MATNR = WA_MCHB-MATNR.
WA_MCHB-ucfc = ( ( WA_MARM-UMREN / WA_MARM-umrez ) * wa_mchb-clabs ).
WA_MCHB-bcfc = ( ( wa_marm-umren / wa_marm-umrez ) * wa_mchb-cspem ).
WA_MCHB-ucfc = atot.
WA_MCHB-bcfc = btot.
modify IT_MCHB from WA_MCHB TRANSPORTING ucfc bcfc WHERE MATNR = WA_MCHB-MATNR.
READ TABLE it_makt into wa_makt with key MATNR = WA_MCHB-matnr.
WA_FINAL-matnr = WA_MCHB-MATNR.
WA_FINAL-MATDES = wa_makt-maktx.
WA_FINAL-BATNO = wa_mchb-CHARG.
WA_FINAL-UMIL = wa_MCHB-CLABS.
wa_final-UCFC = WA_MCHB-ucfc.
wa_final-bcfc = WA_MCHB-bcfc.
wa_final-bmil = WA_MCHB-CSPEM.
WA_FINAL-tmil = WA_MCHB-clabs + WA_MCHB-CSPEM.
WA_FINAL-tcfc = WA_MCHB-ucfc + WA_MCHB-bcfc.
append wa_final to IT_FINAL.
ENDLOOP.
perform buildheader USING GT_HEADER[].
PERFORM FIELDCATINIT USING GT_FIELDCAT[].
perform alvdisplay.
PERFORM build_layout USING GS_LAYOUT.
&----
*& Form buildheader
&----
text
----
--> p1 text
<-- p2 text
----
FORM buildheader USING RT_HEADER TYPE SLIS_T_LISTHEADER..
DATA: TP TYPE SLIS_LISTHEADER.
DATA: TEXT(20) TYPE C,
DT TYPE SY-DATUM.
TP-TYP = 'H'.
TP-INFO = 'STOCK REPORT '.
APPEND TP TO RT_HEADER.
CLEAR TP.
WRITE SY-DATUM TO DT DD/MM/YYYY.
CONCATENATE 'DATE :' DT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO RT_HEADER.
CLEAR TP.
ENDFORM. " buildheader
&----
*& Form alvdisplay
&----
text
----
--> p1 text
<-- p2 text
----
FORM alvdisplay .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'ZDH_ITC_STOREP'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. " alvdisplay
&----
*& Form FIELDCATINIT
&----
text
----
--> p1 text
<-- p2 text
----
FORM FIELDCATINIT USING FINIT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
LS_FIELDCAT-FIELDNAME = 'MATNR'.
LS_FIELDCAT-SELTEXT_L = 'MATERIAL NO'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MATDES'.
LS_FIELDCAT-SELTEXT_L = 'BRAND'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BATNO'.
LS_FIELDCAT-SELTEXT_L = 'BATCH NO'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'UMIL'.
LS_FIELDCAT-SELTEXT_L = 'RESTRICTED'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'UCFC'.
LS_FIELDCAT-SELTEXT_L = 'UCFC'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BMIL'.
LS_FIELDCAT-SELTEXT_L = 'BLOCKED'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BCFC'.
LS_FIELDCAT-SELTEXT_L = 'BCFC'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TMIL'.
LS_FIELDCAT-SELTEXT_L = 'TOTAL MIL'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TCFC'.
LS_FIELDCAT-SELTEXT_L = 'TCFC'.
APPEND LS_FIELDCAT TO FINIT.
CLEAR LS_FIELDCAT.
ENDFORM. " FIELDCATINIT
&----
*& Form BUILDLAYOUT
&----
text
----
-->P_GS_LAYOUT[] text
----
FORM BUILD_LAYOUT USING RS_LAYOUT TYPE SLIS_LAYOUT_ALV.
RS_LAYOUT-NO_INPUT = 'X'.
RS_LAYOUT-ZEBRA = 'X'.
RS_LAYOUT-COLWIDTH_OPTIMIZE = ' '.
RS_LAYOUT-NO_COLHEAD = ' '.
RS_LAYOUT-NO_VLINE = ' '.
RS_LAYOUT-INFO_FIELDNAME = 'WS_COLOR'.
ENDFORM.
" BUILDLAYOUT
HTH,
Regards,
Dhruv Shah