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
Select query optimisation
Explain what is the purpose of sap script?
Application Category?
What is system-land-scape of your project?
HOW CAN YOU USE A PAGE COUNT IN CALLING A PAGE IN SMARTFORM?
How to debug a script in abap?
What are the field and chain statements?
what are Hana Basics
What is the use of a pretty printer?
How to upload data using catt ? : abap hr
What are the modes in lock objects? : sap abap data dictionary
What are the different types of luws?
Explain the difference between call screen and leave screen?
Explain what is a foreign key relationship? Explain this with the help of an example.
What are the types of the programming language used in the sap abap software?