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

8)when u create sales report what u can see in that report ? what rthose field names or data element names? 9)when u create purchase order details report what u can see in that report ?what rthose fieldnames or dataelements? 10)when u create material stock report in material master grouped by material type and plant what u can see in report ?what rthose field names or dataelement ? 11)when u create shipping forecast report what u can see in that report ?what rthose data elements or field names?

1616


What are extracts?

568


How many default tab strips are there?

589


What is generic buffering?

865


Events that can be used in both the classical and interactive reports

1125






Explain about Recording Function?

670


What are hashed tables?

873


What is the difference between collect and append statements?

567


What is a matchcode?

599


Which one is better joins or views and why?

639


Which type of tables used this buffer?

605


The loop-endloop on extract datasets can be used without any kind of errors. State true or false. : abap modularization

640


When the top-of-page event does get triggered?

685


Explain what is sap script? What is the purpose of sap script? Difference between sap script and report?

538


How do you use structures in the abap programs?

598