Skip to Content
0
Aug 12, 2022 at 11:02 AM

Hi, Please let me know why the output is not displayed ?This is ALV report for sales order.

78 Views

REPORT ZALV_REPORT_PROJ.
TYPE-POOLS: SLIS.
TABLES VBRK.
TABLES VBRP.
TABLES LIPS.

TYPES: BEGIN OF VBRK,
VBELN TYPE VBRK-VBELN,
FKDAT TYPE VBRK-FKDAT,
KUNRG TYPE VBRK-KUNRG,
END OF VBRK.

TYPES: BEGIN OF VBRP,
VBELN TYPE VBRP-VBELN,
FKLMG TYPE VBRP-FKLMG,
MATNR TYPE VBRP-MATNR,
ARKTX TYPE VBRP-ARKTX,
WERKS TYPE VBRP-WERKS,
END OF VBRP.

TYPES: BEGIN OF LIPS,
VBELN1 TYPE LIPS-VBELN,
ERDAT TYPE LIPS-ERDAT,
LFIMG TYPE LIPS-LFIMG,
END OF LIPS.

TYPES: BEGIN OF SALES,
VBELN TYPE VBRK-VBELN,
FKDAT TYPE VBRK-FKDAT,
KUNRG TYPE VBRK-KUNRG,
FKLMG TYPE VBRP-FKLMG,
MATNR TYPE VBRP-MATNR,
ARKTX TYPE VBRP-ARKTX,
WERKS TYPE VBRP-WERKS,
VBELN1 TYPE LIPS-VBELN1,
ERDAT TYPE LIPS-ERDAT,
LFIMG TYPE LIPS-LFIMG,
END OF SALES.

DATA: ISALES TYPE TABLE OF SALES,
WA_SALES TYPE SALES.
DATA: MSEG TYPE MSEG-ERFMG.

DATA: IVBRK TYPE TABLE OF VBRK,
WA_VBRK TYPE VBRK.

DATA: IVBRP TYPE TABLE OF VBRP,
WA_VBRP TYPE VBRP.

DATA: ILIPS TYPE TABLE OF LIPS,
WA_LIPS TYPE LIPS.

DATA: I_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT LIKE LINE OF I_FCAT.
DATA: DIFF TYPE I.

SELECT-OPTIONS SUPPL FOR VBRP-WERKS.
SELECT-OPTIONS RECV FOR VBRK-KUNAG.
SELECT-OPTIONS MATERIAL FOR VBRP-MATNR.
SELECT-OPTIONS INVOICE FOR VBRK-FKDAT.

START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM CREATE_FCAT.
PERFORM DISPLAY.

FORM GET_DATA.

SELECT * FROM VBRK INTO CORRESPONDING FIELDS OF TABLE IVBRK
WHERE KUNAG IN RECV AND FKDAT IN MATERIAL.

IF NOT IVBRK IS INITIAL.
SELECT * FROM VBRP INTO CORRESPONDING FIELDS OF TABLE IVBRP
FOR ALL ENTRIES IN IVBRK WHERE VBELN = IVBRK-VBELN AND WERKS IN SUPPL AND MATNR IN MATERIAL.
ENDIF.

IF NOT IVBRP IS INITIAL.
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF TABLE ILIPS
FOR ALL ENTRIES IN IVBRP WHERE VBELN = IVBRP-VBELN.
ENDIF.

ENDFORM.

FORM DISPLAY.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'SY-REPID'
IT_FIELDCAT = I_FCAT
TABLES
T_OUTTAB = ISALES
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM.

FORM CREATE_FCAT.
WA_FCAT-COL_POS = '1'.
WA_FCAT-FIELDNAME = 'VBELN'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'INVOICE NUMBER'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '2'.
WA_FCAT-FIELDNAME = 'FKDATE'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'INVOICE DATE'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '3'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'MATERIAL CODE'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '4'.
WA_FCAT-FIELDNAME = 'ARKTX'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_L = 'MATERIAL DESCRIPTION'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '5'.
WA_FCAT-FIELDNAME = 'FKIMG'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'INVOICE QTY'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '6'.
WA_FCAT-FIELDNAME = 'WERKS'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'SHIPPING PLANT'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '7'.
WA_FCAT-FIELDNAME = 'KUNAG'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'RECEIVING PLANT'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '8'.
WA_FCAT-FIELDNAME = 'ERDAT'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'GATE IN DATE'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '9'.
WA_FCAT-FIELDNAME = 'VEBLN1'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'GATE ENTRY NO'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '10'.
WA_FCAT-FIELDNAME = 'LFIMG'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'GATE ENTRY QTY'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '11'.
WA_FCAT-FIELDNAME = 'BUDAT_MKPF'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'GRN DATE'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '12'.
WA_FCAT-FIELDNAME = 'MSEG'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'GRN NUMBER'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '14'.
WA_FCAT-FIELDNAME = 'MSEG'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_m = 'GRN QTY'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

DIFF = LIPS-LFIMG - MSEG.

WA_FCAT-COL_POS = '15'.
WA_FCAT-FIELDNAME = 'DIFF'.
WA_FCAT-TABNAME = 'ISALES'.
WA_FCAT-SELTEXT_L = 'DIFFERENCE INVOICES VS GRN QTY'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.

LOOP AT I_FCAT INTO WA_FCAT.
* READ TABLE ISALES INTO WA_SALES WITH KEY VBELN = WA_VBRP-VBELN BINARY SEARCH.
WA_SALES-VBELN = WA_VBRK-VBELN.
WA_SALES-FKDAT = WA_VBRK-FKDAT.
WA_SALES-KUNRG = WA_VBRK-KUNRG.
WA_SALES-FKLMG = WA_VBRP-FKLMG.
WA_SALES-MATNR = WA_VBRP-MATNR.
WA_SALES-ARKTX = WA_VBRP-ARKTX.
WA_SALES-WERKS = WA_VBRP-WERKS.
WA_SALES-VBELN1 = WA_LIPS-VBELN1.
WA_SALES-ERDAT = WA_LIPS-ERDAT.
WA_SALES-LFIMG = WA_LIPS-lfimg.
APPEND WA_SALES TO ISALES.
ENDLOOP.
ENDFORM.