create a Report to print Stock & Valuated Stock for Plant
(ALV Grid)

Selection Screen Ranges:
Material Number (MARA-MATNR)
Material Type (MARA-MTART)
Valuation Class (MBEW-BKLAS)
Storage Location (MARD-LGORT)
Parameter filed plant (MARD-WERKS)

Selection condition:

Total valuated stock – MBEW-LBKUM – should be greater than
zero

Table to be used MAKT,MARD,MBEW,MARA,T001L.. (Use inner
joins)

Display output:
Storage location: (TOO1L-LGORT) Description (T001L-LGOBE)

Material No (MARA-MATNR), Material Description (MAKT-
MAKTX), Total valuated stock (MBEW-LBKUM), Val of tot
valuated stock (MBEW-SALK3),

IF MBEW-VPRSV = 'S'.
Price – MBEW-STPRS
ELSEIF DTAB-VPRSV = 'V'.
Price – MBEW-VERPR.
ENDIF.

Subtotal of Total valuated stock (MBEW-LBKUM), Val of tot
valuated stock (MBEW-SALK3),

Grand Total of Total valuated stock (MBEW-LBKUM), Val of
tot valuated stock (MBEW-SALK3),


In the ALV grid display keep a button in the tool bar which
on clicking navigates through the screen to the next grid
which displays the grand total.

Use SET PF_STATUS which is in the FM
reuse_alv_grid_display to set the button.

Answer Posted / bad boy

REPORT Z_FD_PURCHASE_ORDER_FREIGHT.

*type pools declarations
TYPE-POOLS: SLIS.

*table declarations
TABLES : MAKT,MARD,MBEW,MARA,T001L.

*structure declaration
TYPES:BEGIN OF Z_STOCK ,
MATNR LIKE MARA-MATNR,
MAKTX LIKE MAKT-MAKTX,
LBKUM LIKE MBEW-LBKUM,
SALK3 LIKE MBEW-SALK3,
LGORT LIKE T001L-LGORT,
LGOBE LIKE T001L-LGOBE,
VPRSV LIKE MBEW-VPRSV ,
STPRS LIKE MBEW-STPRS ,
VERPR LIKE MBEW-VERPR,
END OF Z_STOCK.

*internal table declarations
DATA :Z_LI_ITAB TYPE TABLE OF Z_STOCK,
Z_LWA_ITAB LIKE LINE OF Z_LI_ITAB.

*alv declarations
DATA : Z_LWA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
Z_LI_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
Z_LI_SORT TYPE SLIS_T_SORTINFO_ALV,
Z_LWA_SORT LIKE LINE OF Z_LI_SORT,
Z_LWA_FLDCAT TYPE SLIS_FIELDCAT_ALV,
Z_LI_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.

*select-options
SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE
TEXT-001.
SELECT-OPTIONS :Z_S_MATR FOR MARA-MATNR,"MATERIAL NUMBER
Z_S_MTAT FOR MARA-MTART,"MATERIAL TYPE
Z_S_BKLS FOR MBEW-BKLAS,"VALUATION CLASS
Z_S_LGOT FOR MARD-LGORT,"STORAGE LOCATION
Z_S_WERS FOR MARD-WERKS."PARAMETER FILED
PLANT
SELECTION-SCREEN : END OF BLOCK BLK1.

START-OF-SELECTION.

SELECT A~MATNR T~MAKTX W~LBKUM W~SALK3 L~LGORT L~LGOBE
W~VPRSV W~STPRS W~VERPR INTO Z_LWA_ITAB
FROM MARA AS A JOIN MBEW AS W ON W~MATNR = A~MATNR
JOIN MAKT AS T ON T~MATNR = W~MATNR
JOIN MARD AS D ON D~MATNR = T~MATNR
JOIN T001L AS L ON L~LGORT = D~LGORT
WHERE A~MATNR IN Z_S_MATR AND
A~MTART IN Z_S_MTAT AND
W~BKLAS IN Z_S_BKLS AND
D~LGORT IN Z_S_LGOT AND
D~WERKS IN Z_S_WERS AND
W~LBKUM > 0 GROUP BY A~MATNR T~MAKTX W~LBKUM W~SALK3
L~LGORT L~LGOBE W~VPRSV W~STPRS W~VERPR.

IF Z_LWA_ITAB-VPRSV = 'S'.
APPEND Z_LWA_ITAB TO Z_LI_ITAB.
ENDIF.

ENDSELECT.

SELECT A~MATNR T~MAKTX W~LBKUM W~SALK3 L~LGORT L~LGOBE
W~VPRSV W~STPRS W~VERPR INTO Z_LWA_ITAB
FROM MARA AS A JOIN MBEW AS W ON W~MATNR = A~MATNR
JOIN MAKT AS T ON T~MATNR = W~MATNR
JOIN MARD AS D ON D~MATNR = T~MATNR
JOIN T001L AS L ON L~LGORT = D~LGORT
WHERE A~MATNR IN Z_S_MATR AND
A~MTART IN Z_S_MTAT AND
W~BKLAS IN Z_S_BKLS AND
D~LGORT IN Z_S_LGOT AND
D~WERKS IN Z_S_WERS AND
W~LBKUM > 0 GROUP BY A~MATNR T~MAKTX W~LBKUM W~SALK3
L~LGORT L~LGOBE W~VPRSV W~STPRS W~VERPR.

IF Z_LWA_ITAB-VPRSV = 'V'.
APPEND Z_LWA_ITAB TO Z_LI_ITAB.
ENDIF.

ENDSELECT.

DELETE ADJACENT DUPLICATES FROM Z_LI_ITAB.


Z_LWA_FIELDCAT-FIELDNAME = 'MATNR'.
Z_LWA_FIELDCAT-SELTEXT_M = 'MATERIAL NUMBER'.
Z_LWA_FIELDCAT-COL_POS = 0.
Z_LWA_FIELDCAT-OUTPUTLEN = 20.

APPEND Z_LWA_FIELDCAT TO Z_LI_FIELDCAT.
CLEAR Z_LWA_FIELDCAT.

Z_LWA_FIELDCAT-FIELDNAME = 'MAKTX'.
Z_LWA_FIELDCAT-SELTEXT_M = 'MATERIAL DESCRIPTION'.
Z_LWA_FIELDCAT-COL_POS = 1.
Z_LWA_FIELDCAT-OUTPUTLEN = 28.

APPEND Z_LWA_FIELDCAT TO Z_LI_FIELDCAT.
CLEAR Z_LWA_FIELDCAT.

Z_LWA_FIELDCAT-FIELDNAME = 'LBKUM'.
Z_LWA_FIELDCAT-SELTEXT_M = 'TOTAL VALUATED STOCK'.
Z_LWA_FIELDCAT-COL_POS = 2.
Z_LWA_FIELDCAT-OUTPUTLEN = 19.

APPEND Z_LWA_FIELDCAT TO Z_LI_FIELDCAT.
CLEAR Z_LWA_FIELDCAT.

Z_LWA_FIELDCAT-FIELDNAME = 'SALK3'.
Z_LWA_FIELDCAT-SELTEXT_M = 'VAL OF TOT VALUATED STOCK'.
Z_LWA_FIELDCAT-COL_POS = 3.
Z_LWA_FIELDCAT-OUTPUTLEN = 25.

APPEND Z_LWA_FIELDCAT TO Z_LI_FIELDCAT.
CLEAR Z_LWA_FIELDCAT.

Z_LWA_FIELDCAT-FIELDNAME = 'LGORT'.
Z_LWA_FIELDCAT-SELTEXT_M = 'STORAGE LOCATION'.
Z_LWA_FIELDCAT-COL_POS = 4.
Z_LWA_FIELDCAT-OUTPUTLEN = 15.

APPEND Z_LWA_FIELDCAT TO Z_LI_FIELDCAT.
CLEAR Z_LWA_FIELDCAT.

Z_LWA_FIELDCAT-FIELDNAME = 'LGOBE'.
Z_LWA_FIELDCAT-SELTEXT_M = 'DESCRIPTION'.
Z_LWA_FIELDCAT-COL_POS = 5.
Z_LWA_FIELDCAT-OUTPUTLEN = 16.

APPEND Z_LWA_FIELDCAT TO Z_LI_FIELDCAT.
CLEAR Z_LWA_FIELDCAT.

Z_LWA_FIELDCAT-FIELDNAME = 'VPRSV'.
Z_LWA_FIELDCAT-SELTEXT_M = 'PRICE CTRL'.
Z_LWA_FIELDCAT-COL_POS = 6.
Z_LWA_FIELDCAT-OUTPUTLEN = 20.

APPEND Z_LWA_FIELDCAT TO Z_LI_FIELDCAT.
CLEAR Z_LWA_FIELDCAT.

*call function 'reuse_alv_grid_display'
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'DISPLAY'
I_CALLBACK_USER_COMMAND = 'UCOMM'
IT_FIELDCAT = Z_LI_FIELDCAT[]
I_GRID_TITLE = 'ALV LIST'
TABLES
T_OUTTAB = Z_LI_ITAB
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.

*form display
FORM DISPLAY USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'DISPLAY' EXCLUDING RT_EXTAB.
ENDFORM."endform.

*form ucomm
FORM UCOMM USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE
SLIS_SELFIELD.

CASE R_UCOMM.
WHEN 'NO'.

Z_LWA_FLDCAT-FIELDNAME = 'MATNR'.
Z_LWA_FLDCAT-SELTEXT_M = 'MATERIAL NUMBER'.
Z_LWA_FLDCAT-COL_POS = 0.
Z_LWA_FLDCAT-OUTPUTLEN = 20.
APPEND Z_LWA_FLDCAT TO Z_LI_FLDCAT.
CLEAR Z_LWA_FLDCAT.

Z_LWA_FLDCAT-FIELDNAME = 'MAKTX'.
Z_LWA_FLDCAT-SELTEXT_M = 'MATERIAL DESCRIPTION'.
Z_LWA_FLDCAT-COL_POS = 1.
Z_LWA_FLDCAT-OUTPUTLEN = 28.
APPEND Z_LWA_FLDCAT TO Z_LI_FLDCAT.
CLEAR Z_LWA_FLDCAT.

Z_LWA_FLDCAT-FIELDNAME = 'LBKUM'.
Z_LWA_FLDCAT-SELTEXT_M = 'TOTAL VALUATED STOCK'.
Z_LWA_FLDCAT-COL_POS = 2.
Z_LWA_FLDCAT-OUTPUTLEN = 19.
Z_LWA_FLDCAT-DO_SUM = 'X'.
APPEND Z_LWA_FLDCAT TO Z_LI_FLDCAT.
CLEAR Z_LWA_FLDCAT.

Z_LWA_FLDCAT-FIELDNAME = 'SALK3'.
Z_LWA_FLDCAT-SELTEXT_M = 'VAL OF TOT VALUATED STOCK'.
Z_LWA_FLDCAT-COL_POS = 3.
Z_LWA_FLDCAT-OUTPUTLEN = 25.
Z_LWA_FLDCAT-DO_SUM = 'X'.
APPEND Z_LWA_FLDCAT TO Z_LI_FLDCAT.
CLEAR Z_LWA_FLDCAT.

Z_LWA_FLDCAT-FIELDNAME = 'LGORT'.
Z_LWA_FLDCAT-SELTEXT_M = 'STORAGE LOCATION'.
Z_LWA_FLDCAT-COL_POS = 4.
Z_LWA_FLDCAT-OUTPUTLEN = 15.

APPEND Z_LWA_FLDCAT TO Z_LI_FLDCAT.
CLEAR Z_LWA_FLDCAT.

Z_LWA_FLDCAT-FIELDNAME = 'LGOBE'.
Z_LWA_FLDCAT-SELTEXT_M = 'DESCRIPTION'.
Z_LWA_FLDCAT-COL_POS = 5.
Z_LWA_FLDCAT-OUTPUTLEN = 16.
APPEND Z_LWA_FLDCAT TO Z_LI_FLDCAT.
CLEAR Z_LWA_FLDCAT.

Z_LWA_FLDCAT-FIELDNAME = 'VPRSV'.
Z_LWA_FLDCAT-SELTEXT_M = 'PRICE CTRL'.
Z_LWA_FLDCAT-COL_POS = 6.
Z_LWA_FLDCAT-OUTPUTLEN = 20.
APPEND Z_LWA_FLDCAT TO Z_LI_FLDCAT.
CLEAR Z_LWA_FLDCAT.

Z_LWA_SORT-FIELDNAME = 'MATNR'.
Z_LWA_SORT-TABNAME = 'Z_LI_ITAB'.
Z_LWA_SORT-UP = 'X'.
Z_LWA_SORT-SUBTOT = 'X'.
APPEND Z_LWA_SORT TO Z_LI_SORT .
CLEAR Z_LWA_SORT.

*call function 'reuse_alv_grid_display'
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = Z_LI_FLDCAT[]
IT_SORT = Z_LI_SORT[]
TABLES
T_OUTTAB = Z_LI_ITAB
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.

ENDCASE.
ENDFORM."endform

Is This Answer Correct ?    5 Yes 5 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Select query optimisation

890


Explain what is the purpose of sap script?

566


Application Category?

912


What is system-land-scape of your project?

565


HOW CAN YOU USE A PAGE COUNT IN CALLING A PAGE IN SMARTFORM?

1622






How to debug a script in abap?

584


What are the field and chain statements?

573


what are Hana Basics

883


What is the use of a pretty printer?

599


How to upload data using catt ? : abap hr

603


What are the modes in lock objects? : sap abap data dictionary

540


What are the different types of luws?

648


Explain the difference between call screen and leave screen?

591


Explain what is a foreign key relationship? Explain this with the help of an example.

557


What are the types of the programming language used in the sap abap software?

590