Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
82 views7 pages

Vendor Ledger Report

This document describes a report to display vendor ledger information in an ALV grid. It defines data structures and declares variables to select and fetch data from various tables. Forms are used to retrieve the data and populate internal tables which are then used to generate the field catalog and layout for display in the ALV grid.

Uploaded by

nithinjalagam66
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views7 pages

Vendor Ledger Report

This document describes a report to display vendor ledger information in an ALV grid. It defines data structures and declares variables to select and fetch data from various tables. Forms are used to retrieve the data and populate internal tables which are then used to generate the field catalog and layout for display in the ALV grid.

Uploaded by

nithinjalagam66
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 7

REPORT ALV VENDOR LEDGER [FI] MODULE

-------------------------------------------------------------

REPORT ZFI_VENDOR_LEDGER.

*-----Declaration of Selection Screen Variables as Global variables


DATA:GV_BUKRS TYPE BSEG-BUKRS,
GV_BLDAT TYPE BKPF-BLDAT,
GV_BLART TYPE BKPF-BLART,
GV_LIFNR TYPE BSEG-LIFNR,
GV_HKONT TYPE BSEG-HKONT,
GV_PRCTR TYPE BSEG-PRCTR,
GV_SEGMENT TYPE BSEG-SEGMENT.

*-----Creating Selection Screen


SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-000.

PARAMETERS:P_BUKRS TYPE BSEG-BUKRS OBLIGATORY DEFAULT '1000'.

SELECT-OPTIONS:S_BLDAT FOR GV_BLDAT,


S_BLART FOR GV_BLART,
S_LIFNR FOR GV_LIFNR,
S_HKONT FOR GV_HKONT,
S_PRCTR FOR GV_PRCTR,
S_SEGME FOR GV_SEGMENT.

PARAMETERS P_LEDGER TYPE C AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK BLK.

*-----Declaration of Structures
TYPES:BEGIN OF LTY_BSEG,
LIFNR TYPE BSEG-LIFNR,
BELNR TYPE BSEG-BELNR,
HKONT TYPE BSEG-HKONT,
SGTXT TYPE BSEG-SGTXT,
SHKZG TYPE BSEG-SHKZG,
DMBTR TYPE BSEG-DMBTR,
END OF LTY_BSEG.

TYPES:BEGIN OF LTY_SKAT,
SAKNR TYPE SKAT-SAKNR,
TXT50 TYPE SKAT-TXT50,
END OF LTY_SKAT.

TYPES:BEGIN OF LTY_BKPF,
BELNR TYPE BKPF-BELNR,
BLART TYPE BKPF-BLART,
BLDAT TYPE BKPF-BLDAT,
BUDAT TYPE BKPF-BUDAT,
AWKEY TYPE BKPF-BELNR,
XBLNR TYPE BKPF-XBLNR,
END OF LTY_BKPF.

TYPES:BEGIN OF LTY_LFA1,
LIFNR TYPE LFA1-LIFNR,
NAME1 TYPE LFA1-NAME1,
END OF LTY_LFA1.

TYPES:BEGIN OF LTY_FINAL,
LIFNR TYPE BSEG-LIFNR,
BELNR TYPE BSEG-BELNR,
HKONT TYPE BSEG-HKONT,
SAKNR TYPE SKAT-SAKNR,
TXT50 TYPE SKAT-TXT50,
BLART TYPE BKPF-BLART,
BLDAT TYPE BKPF-BLDAT,
BUDAT TYPE BKPF-BUDAT,
AWKEY TYPE BKPF-BELNR,
XBLNR TYPE BKPF-XBLNR,
SGTXT TYPE BSEG-SGTXT,
DMBTR TYPE BSEG-DMBTR,
NAME1 TYPE LFA1-NAME1,
DMBTR1 TYPE BSEG-DMBTR,
END OF LTY_FINAL.

*-------Declaration of Workarea's and Internal Tables


DATA:LWA_BSEG TYPE LTY_BSEG,
LWA_SKAT TYPE LTY_SKAT,
LWA_BKPF TYPE LTY_BKPF,
LWA_LFA1 TYPE LTY_LFA1,
LWA_FINAL TYPE LTY_FINAL,
LT_BSEG TYPE TABLE OF LTY_BSEG,
LT_SKAT TYPE TABLE OF LTY_SKAT,
LT_BKPF TYPE TABLE OF LTY_BKPF,
LT_LFA1 TYPE TABLE OF LTY_LFA1,
LT_FINAL TYPE TABLE OF LTY_FINAL.

*-----Declarations of Workarea's and Internal Tables of Fieldcatalogs and


Layout
DATA:LWA_FCAT TYPE SLIS_FIELDCAT_ALV,
LWA_LAYO TYPE SLIS_LAYOUT_ALV,
LT_FCAT TYPE SLIS_T_FIELDCAT_ALV.

*-----Fetching the Data and declarations of Fieldcatalogs and Layout using


Subroutines
PERFORM F_GET_BSEG.
PERFORM F_GET_SKAT.
PERFORM F_GET_BKPF.
PERFORM F_GET_LFA1.
PERFORM F_READ_DATA.
PERFORM F_FILL_CAT.
PERFORM F_LAYOUT.
PERFORM F_DISPLAY_ALV.

FORM F_GET_BSEG.

* IF LIFNR IS NOT INITIAL.

SELECT LIFNR
BELNR
HKONT
SGTXT
SHKZG
DMBTR
FROM BSEG INTO TABLE LT_BSEG
WHERE HKONT IN S_HKONT
AND BUKRS EQ P_BUKRS
AND PRCTR IN S_PRCTR
AND LIFNR IN S_LIFNR
AND SEGMENT IN S_SEGME.

* ENDIF.

ENDFORM.

FORM F_GET_SKAT.

IF LT_BSEG IS NOT INITIAL.

SELECT SAKNR
TXT50
FROM SKAT INTO TABLE LT_SKAT
FOR ALL ENTRIES IN LT_BSEG
WHERE SAKNR = LT_BSEG-HKONT
AND SPRAS EQ SY-LANGU.

ENDIF.

ENDFORM.

FORM F_GET_BKPF.

IF LT_BSEG IS NOT INITIAL.


SELECT BELNR
BLART
BLDAT
BUDAT
AWKEY
XBLNR
FROM BKPF INTO TABLE LT_BKPF
FOR ALL ENTRIES IN LT_BSEG
WHERE BELNR = LT_BSEG-BELNR
AND BLDAT IN S_BLDAT
AND BLART IN S_BLART.

ENDIF.

ENDFORM.

FORM F_GET_LFA1.

IF LT_BSEG IS NOT INITIAL.

SELECT LIFNR
NAME1
FROM LFA1 INTO TABLE LT_LFA1
FOR ALL ENTRIES IN LT_BSEG
WHERE LIFNR = LT_BSEG-LIFNR
AND SPRAS EQ SY-LANGU.

ENDIF.

ENDFORM.

FORM F_READ_DATA.

LOOP AT LT_BKPF INTO LWA_BKPF.


LWA_FINAL-BELNR = LWA_BKPF-BELNR.
LWA_FINAL-BLART = LWA_BKPF-BLART.
LWA_FINAL-BLDAT = LWA_BKPF-BLDAT.
LWA_FINAL-BUDAT = LWA_BKPF-BUDAT.
LWA_FINAL-AWKEY = LWA_BKPF-AWKEY.
LWA_FINAL-XBLNR = LWA_BKPF-XBLNR.

READ TABLE LT_BSEG INTO LWA_BSEG WITH KEY BELNR = LWA_BKPF-BELNR.


IF SY-SUBRC EQ 0.
LWA_FINAL-LIFNR = LWA_BSEG-LIFNR.
LWA_FINAL-HKONT = LWA_BSEG-HKONT.
LWA_FINAL-SGTXT = LWA_BSEG-SGTXT.
IF LWA_BSEG-SHKZG = 'S'.
LWA_FINAL-DMBTR = LWA_BSEG-DMBTR.
ELSEIF LWA_BSEG-SHKZG = 'H'.
LWA_FINAL-DMBTR1 = LWA_BSEG-DMBTR.
ENDIF.

READ TABLE LT_SKAT INTO LWA_SKAT WITH KEY SAKNR = LWA_BSEG-HKONT.


IF SY-SUBRC EQ 0.
LWA_FINAL-TXT50 = LWA_SKAT-TXT50.

READ TABLE LT_LFA1 INTO LWA_LFA1 WITH KEY LIFNR = LWA_BSEG-LIFNR.


IF SY-SUBRC EQ 0.
LWA_FINAL-NAME1 = LWA_LFA1-NAME1.

ENDIF.

ENDIF.

ENDIF.

APPEND LWA_FINAL TO LT_FINAL.


CLEAR LWA_FINAL.

ENDLOOP.

ENDFORM.

FORM F_FILL_CAT.

LWA_FCAT-FIELDNAME = 'LIFNR'.
LWA_FCAT-SELTEXT_M = 'Vendor'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'NAME1'.
LWA_FCAT-SELTEXT_M = 'Vendor Name'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'BELNR'.
LWA_FCAT-SELTEXT_M = 'Document Number'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'HKONT'.
LWA_FCAT-SELTEXT_M = 'GL Account'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.
LWA_FCAT-FIELDNAME = 'TXT50'.
LWA_FCAT-SELTEXT_M = 'GL Description'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'BLART'.
LWA_FCAT-SELTEXT_M = 'Document Type'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'BLDAT'.
LWA_FCAT-SELTEXT_M = 'Document Date'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'BUDAT'.
LWA_FCAT-SELTEXT_M = 'Posting Date'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'AWKEY'.
LWA_FCAT-SELTEXT_M = 'MIRO Doc No'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'XBLNR'.
LWA_FCAT-SELTEXT_M = 'Reference'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'SGTXT'.
LWA_FCAT-SELTEXT_M = 'Text'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'DMBTR'.
LWA_FCAT-SELTEXT_M = 'Debit'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

LWA_FCAT-FIELDNAME = 'DMBTR1'.
LWA_FCAT-SELTEXT_M = 'Credit'.
APPEND LWA_FCAT TO LT_FCAT.
CLEAR LWA_FCAT.

ENDFORM.

FORM F_LAYOUT.
LWA_LAYO-ZEBRA = 'X'.
LWA_LAYO-COLWIDTH_OPTIMIZE = 'X'.

ENDFORM.

FORM F_DISPLAY_ALV.

DATA:LV_REPID TYPE SY-REPID.

LV_REPID = SY-REPID.
if lt_final is NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = LV_REPID
IS_LAYOUT = LWA_LAYO
IT_FIELDCAT = LT_FCAT
TABLES
T_OUTTAB = LT_FINAL.
else.
MESSAGE 'NO DATA FOUND' TYPE 'I' DISPLAY LIKE 'W'.
ENDIF.

ENDFORM.

You might also like