Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

stock report

Former Member
0 Likes
462

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

1 REPLY 1
Read only

dhruv_shah3
Active Contributor
0 Likes
326

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