cancel
Showing results for 
Search instead for 
Did you mean: 

This report for Vendor Balance Reconcillation.......

Former Member
0 Kudos

Hi Seniors,

Please help me with this issue........i have to develope a New report Vendor balance Reconcillation ......Using the Standard report S_ALR_87012082 vendor balances in local currency.....it should be same like this Standard report but this Report is not Designed to give Line Items Because it has Picked up the Data only from few tables like LFA1 LFB1 LFC3.....which give Direct Balances in these tables......But i have Developed a report to Some Extent....But Finding it Difficult in Adding a Special GL Date which is Reflecting in the LFC3 Table....I have to Keep a Check Box Special GL balances in the Selection-Screen when when ever i select Special GL Balances indicator ....Date from LFC3

should be Selected and Addred to the Final in the Internal Table....I have Written a program .......Based on GSBER And LIFNR SUBTOTALS.....I have to Add this New check box in this Slection-Screen.....this report should be same like this Standard Report....S_ALR_87012082...the Program for this Report is RFKSLD00...please tel me the logic or help me with the Modification my below Report.....If i am not clear please reply me back...

waiting for your replys...

Thank you...

&----


*& Report ZVENDOR_BALANCES

*&

&----


*&

*&

&----


REPORT ZMM_PO_CHECKLIST.

TYPE-POOLS : SLIS.

DATA: it_fcat TYPE slis_t_fieldcat_alv,

wa_fcat LIKE LINE OF it_fcat,

lt_top_of_page TYPE slis_t_listheader,

ls_layout TYPE slis_layout_alv,

gt_events TYPE slis_t_event.

TYPES : BEGIN OF TY_BSEG,

LIFNR TYPE BSEG-LIFNR,

BUKRS TYPE BSEG-BUKRS,

BELNR TYPE BSEG-BELNR,

GJAHR TYPE BSEG-GJAHR,

SHKZG TYPE BSEG-SHKZG,

GSBER TYPE BSEG-GSBER,

DMBTR TYPE BSEG-DMBTR,

WRBTR TYPE BSEG-WRBTR,

SGTXT TYPE BSEG-SGTXT,

buzei TYPE bseg-buzei,

buzid TYPE bseg-buzid,

augdt TYPE bseg-augdt,

augcp TYPE bseg-augcp,

augbl TYPE bseg-augbl,

bschl TYPE bseg-bschl,

koart TYPE bseg-koart,

umskz TYPE bseg-umskz,

zuonr TYPE bseg-zuonr,

saknr TYPE bseg-saknr,

hkont TYPE bseg-hkont,

END OF TY_BSEG,

BEGIN OF TY_LFA1,

LIFNR TYPE LFA1-LIFNR,

LAND1 TYPE LFA1-LAND1,

NAME1 TYPE LFA1-NAME1,

END OF TY_LFA1,

BEGIN OF TY_LFC1,

LIFNR TYPE LFC1-LIFNR,

BUKRS TYPE LFC1-BUKRS,

GJAHR TYPE LFC1-GJAHR,

UMSAV TYPE LFC1-UMSAV,

END OF TY_LFC1,

BEGIN OF TY_BKPF,

BUKRS TYPE BKPF-BUKRS,

BELNR TYPE BKPF-BELNR,

GJAHR TYPE BKPF-GJAHR,

BLart type bkpf-blart,

BUDAT TYPE BKPF-BUDAT,

bldat TYPE bkpf-bldat,

monat TYPE bkpf-monat,

usnam TYPE bkpf-usnam,

xblnr TYPE bkpf-xblnr,

END OF TY_BKPF,

BEGIN OF it_bsak,

bukrs TYPE bsak-bukrs,

lifnr TYPE bsak-lifnr,

umskz TYPE bsak-umskz,

augdt TYPE bsak-augdt,

augbl TYPE bsak-augbl,

zuonr TYPE bsak-zuonr,

gjahr TYPE bsak-gjahr,

belnr TYPE bsak-belnr,

buzei TYPE bsak-buzei,

budat TYPE bsak-budat,

bldat TYPE bsak-bldat,

xblnr TYPE bsak-xblnr,

blart TYPE bsak-blart,

monat TYPE bsak-monat,

bschl TYPE bsak-bschl,

shkzg TYPE bsak-shkzg,

gsber TYPE bsak-gsber,

dmbtr TYPE bsak-dmbtr,

wrbtr TYPE bsak-wrbtr,

sgtxt TYPE bsak-sgtxt,

saknr TYPE bsak-saknr,

hkont TYPE bsak-hkont,

END OF it_bsak,

BEGIN OF it_skat,

spras TYPE skat-spras,

saknr TYPE skat-saknr,

txt20 TYPE skat-txt20,

txt50 TYPE skat-txt50,

END OF it_skat,

BEGIN OF TY_ITAB,

GSBER TYPE BSEG-GSBER,

LIFNR TYPE BSEG-LIFNR,

BUKRS TYPE BSEG-BUKRS,

BELNR TYPE BSEG-BELNR,

GJAHR TYPE BSEG-GJAHR,

SHKZG TYPE BSEG-SHKZG,

  • GSBER TYPE BSEG-GSBER,

DMBTR TYPE BSEG-DMBTR,

WRBTR TYPE BSEG-WRBTR,

SGTXT TYPE BSEG-SGTXT,

buzei TYPE bseg-buzei,

buzid TYPE bseg-buzid,

augdt TYPE bseg-augdt,

augcp TYPE bseg-augcp,

augbl TYPE bseg-augbl,

bschl TYPE bseg-bschl,

koart TYPE bseg-koart,

umskz TYPE bseg-umskz,

zuonr TYPE bseg-zuonr,

saknr TYPE bseg-saknr,

hkont TYPE bseg-hkont,

  • LIFNR TYPE LFA1-LIFNR,

LAND1 TYPE LFA1-LAND1,

NAME1 TYPE LFA1-NAME1,

DMBTR_H TYPE BSEG-WRBTR,

DMBTR_S TYPE BSEG-WRBTR,

DH TYPE BSEG-WRBTR,

DS TYPE BSEG-WRBTR,

HS TYPE BSEG-WRBTR,

BAL TYPE BSEG-WRBTR,

FLAG TYPE C,

  • LIFNR TYPE LFC1-LIFNR,

  • BUKRS TYPE LFC1-BUKRS,

  • GJAHR TYPE LFC1-GJAHR,

UMSAV TYPE LFC1-UMSAV,

UM(15) TYPE P DECIMALS 2,

  • BUKRS TYPE BKPF-BUKRS,

  • BELNR TYPE BKPF-BELNR,

  • GJAHR TYPE BKPF-GJAHR,

BLart type bkpf-blart,

BUDAT TYPE BKPF-BUDAT,

bldat TYPE bkpf-bldat,

monat TYPE bkpf-monat,

usnam TYPE bkpf-usnam,

xblnr TYPE bkpf-xblnr,

spras TYPE skat-spras,

  • saknr TYPE skat-saknr,

txt20 TYPE skat-txt20,

txt50 TYPE skat-txt50,

LINE_COLOR(4) TYPE C,

LINE_CTR(4) TYPE C,

END OF TY_ITAB,

BEGIN OF TY_TEMP,

LIFNR TYPE BSEG-LIFNR,

GSBER TYPE BSEG-GSBER,

BUKRS TYPE BSEG-BUKRS,

BELNR TYPE BSEG-BELNR,

GJAHR TYPE BSEG-GJAHR,

SHKZG TYPE BSEG-SHKZG,

  • GSBER TYPE BSEG-GSBER,

DMBTR TYPE BSEG-DMBTR,

WRBTR TYPE BSEG-WRBTR,

SGTXT TYPE BSEG-SGTXT,

buzei TYPE bseg-buzei,

buzid TYPE bseg-buzid,

augdt TYPE bseg-augdt,

augcp TYPE bseg-augcp,

augbl TYPE bseg-augbl,

bschl TYPE bseg-bschl,

koart TYPE bseg-koart,

umskz TYPE bseg-umskz,

zuonr TYPE bseg-zuonr,

saknr TYPE bseg-saknr,

hkont TYPE bseg-hkont,

  • LIFNR TYPE LFA1-LIFNR,

LAND1 TYPE LFA1-LAND1,

NAME1 TYPE LFA1-NAME1,

  • LIFNR TYPE LFC1-LIFNR,

  • BUKRS TYPE LFC1-BUKRS,

  • GJAHR TYPE LFC1-GJAHR,

UMSAV TYPE LFC1-UMSAV,

DMBTR_H TYPE BSEG-WRBTR,

DMBTR_S TYPE BSEG-WRBTR,

HS TYPE BSEG-WRBTR,

BAL TYPE BSEG-WRBTR,

FLAG TYPE C,

  • FLAG TYPE C,

  • BUKRS TYPE BKPF-BUKRS,

  • BELNR TYPE BKPF-BELNR,

  • GJAHR TYPE BKPF-GJAHR,

BLart type bkpf-blart,

BUDAT TYPE BKPF-BUDAT,

bldat TYPE bkpf-bldat,

monat TYPE bkpf-monat,

usnam TYPE bkpf-usnam,

xblnr TYPE bkpf-xblnr,

  • bukrs TYPE bsak-bukrs,

  • lifnr TYPE bsak-lifnr,

  • umskz TYPE bsak-umskz,

  • augdt TYPE bsak-augdt,

  • augbl TYPE bsak-augbl,

  • zuonr TYPE bsak-zuonr,

  • gjahr TYPE bsak-gjahr,

  • belnr TYPE bsak-belnr,

  • buzei TYPE bsak-buzei,

  • budat TYPE bsak-budat,

  • bldat TYPE bsak-bldat,

  • xblnr TYPE bsak-xblnr,

  • blart TYPE bsak-blart,

  • monat TYPE bsak-monat,

  • bschl TYPE bsak-bschl,

  • shkzg TYPE bsak-shkzg,

  • gsber TYPE bsak-gsber,

  • dmbtr TYPE bsak-dmbtr,

  • wrbtr TYPE bsak-wrbtr,

  • sgtxt TYPE bsak-sgtxt,

  • saknr TYPE bsak-saknr,

  • hkont TYPE bsak-hkont,

spras TYPE skat-spras,

  • saknr TYPE skat-saknr,

txt20 TYPE skat-txt20,

txt50 TYPE skat-txt50,

LINE_COLOR(4) TYPE C,

LINE_CTR(4) TYPE C,

END OF TY_TEMP.

DATA : IT_BSEG TYPE STANDARD TABLE OF TY_BSEG WITH HEADER LINE,

IT_LFA1 TYPE STANDARD TABLE OF TY_LFA1 WITH HEADER LINE,

IT_LFC1 TYPE STANDARD TABLE OF TY_LFC1 WITH HEADER LINE,

IT_BKPF TYPE STANDARD TABLE OF TY_BKPF WITH HEADER LINE,

  • IT_BSIK TYPE STANDARD TABLE OF TY_BSIK WITH HEADER LINE,

  • IT_BSAK TYPE STANDARD TABLE OF TY_BSAK WITH HEADER LINE,

  • IT_BSIP TYPE STANDARD TABLE OF TY_BSIP WITH HEADER LINE,

IT_SKAT TYPE STANDARD TABLE OF IT_SKAT WITH HEADER LINE,

IT_ITAB TYPE STANDARD TABLE OF TY_ITAB WITH HEADER LINE,

IT_TEMP TYPE STANDARD TABLE OF TY_TEMP WITH HEADER LINE.

TABLES : BSEG, LFA1, LFC1, BKPF ,SKAT.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T001.

SELECT-OPTIONS: Vendor FOR BSEG-LIFNR OBLIGATORY.

PARAMETERS : CoCd LIKE BSEG-BUKRS OBLIGATORY.

PARAMETERS : Fiscal LIKE BSEG-GJAHR OBLIGATORY.

SELECT-OPTIONS : Period FOR BKPF-MONAT .

*SELECT-OPTIONS : b_monate for rfsdo-allgbmon "Berichtsperioden

  • no-extension,

*SELECT-OPTIONS: SO_LIFNR FOR BSEG-LIFNR.

  • SO_BELNR FOR BSEG-BELNR.

SELECTION-SCREEN END OF BLOCK B1.

PERFORM DATA_RETRIVE.

*PERFORM SUB_MOVE_DATA.

**

**PERFORM SUB_FETCH_EXTRA_DATA.

**PERFORM SUB_MOVE_EXTRA_DATA.

*

PERFORM SUB_CALC.

PERFORM SUB_FIELDCAT.

PERFORM SUB_DISPLAY.

&----


*& Form DATA_RETRIVE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form DATA_RETRIVE .

SELECT LIFNR BUKRS BELNR GJAHR SHKZG GSBER DMBTR WRBTR SGTXT BUZEI

BUZID AUGDT AUGCP AUGBL BSCHL KOART UMSKZ ZUONR SAKNR HKONT

FROM BSEG INTO TABLE IT_BSEG

WHERE LIFNR IN vendor AND BUKRS = CoCd AND GJAHR = Fiscal.

IF NOT IT_BSEG[] IS INITIAL.

SELECT LIFNR LAND1 NAME1

FROM LFA1 INTO TABLE IT_LFA1 FOR ALL ENTRIES IN IT_BSEG

WHERE LIFNR = IT_BSEG-LIFNR.

ENDIF.

IF NOT IT_BSEG[] IS INITIAL.

SELECT LIFNR BUKRS GJAHR UMSAV

FROM LFC1 INTO TABLE IT_LFC1 FOR ALL ENTRIES IN IT_BSEG

WHERE LIFNR = IT_BSEG-LIFNR AND BUKRS = IT_BSEG-BUKRS AND GJAHR = IT_BSEG-GJAHR.

ENDIF.

IF NOT IT_BSEG[] IS INITIAL.

SELECT BUKRS BELNR GJAHR BLART BUDAT BLDAT MONAT USNAM XBLNR

FROM BKPF INTO TABLE IT_BKPF FOR ALL ENTRIES IN IT_BSEG

WHERE MONAT IN Period AND BUKRS = IT_BSEG-BUKRS AND GJAHR = IT_BSEG-GJAHR AND BELNR = IT_BSEG-BELNR.

ENDIF.

LOOP AT IT_BSEG.

IT_ITAB-LIFNR = IT_BSEG-LIFNR.

IT_ITAB-BUKRS = IT_BSEG-BUKRS.

IT_ITAB-BELNR = IT_BSEG-BELNR.

IT_ITAB-GJAHR = IT_BSEG-GJAHR.

IT_ITAB-SHKZG = IT_BSEG-SHKZG.

IT_ITAB-GSBER = IT_BSEG-GSBER.

IT_ITAB-DMBTR = IT_BSEG-DMBTR.

IT_ITAB-WRBTR = IT_BSEG-WRBTR.

IT_ITAB-SGTXT = IT_BSEG-SGTXT.

IT_ITAB-BUZEI = IT_BSEG-BUZEI.

IT_ITAB-BUZID = IT_BSEG-BUZID.

IT_ITAB-AUGDT = IT_BSEG-AUGDT.

IT_ITAB-AUGCP = IT_BSEG-AUGCP.

IT_ITAB-AUGBL = IT_BSEG-AUGBL.

IT_ITAB-BSCHL = IT_BSEG-BSCHL.

IT_ITAB-KOART = IT_BSEG-KOART.

IT_ITAB-UMSKZ = IT_BSEG-UMSKZ.

IT_ITAB-ZUONR = IT_BSEG-ZUONR.

IT_ITAB-SAKNR = IT_BSEG-SAKNR.

IT_ITAB-HKONT = IT_BSEG-HKONT.

READ TABLE IT_LFA1 WITH KEY LIFNR = IT_ITAB-LIFNR.

IF SY-SUBRC = 0.

IT_ITAB-LAND1 = IT_LFA1-LAND1.

IT_ITAB-NAME1 = IT_LFA1-NAME1.

ENDIF.

READ TABLE IT_LFC1 WITH KEY LIFNR = IT_ITAB-LIFNR

BUKRS = IT_ITAB-BUKRS

GJAHR = IT_ITAB-GJAHR

BINARY SEARCH.

IF SY-SUBRC = 0.

IT_ITAB-UMSAV = IT_LFC1-UMSAV.

ENDIF.

READ TABLE IT_BKPF WITH KEY BUKRS = IT_ITAB-BUKRS

BELNR = IT_ITAB-BELNR

GJAHR = IT_ITAB-GJAHR.

IF SY-SUBRC = 0.

IT_ITAB-BLART = IT_BKPF-BLART.

IT_ITAB-BUDAT = IT_BKPF-BUDAT.

IT_ITAB-BLDAT = IT_BKPF-BLDAT.

IT_ITAB-MONAT = IT_BKPF-MONAT.

IT_ITAB-USNAM = IT_BKPF-USNAM.

IT_ITAB-XBLNR = IT_BKPF-XBLNR.

ENDIF.

APPEND IT_ITAB.

CLEAR IT_ITAB.

ENDLOOP.

endform. " DATA_RETRIVE

&----


*& Form SUB_CALC

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form SUB_CALC .

*SORT IT_ITAB BY LIFNR GSBER GJAHR.

*LOOP AT IT_ITAB.

*

*IF IT_ITAB-SHKZG = 'S'.

*

  • IT_ITAB-DMBTR = IT_ITAB-DMBTR * ( -1 ).

*

*ENDIF.

*CLEAR IT_ITAB-DMBTR_S.

*MODIFY IT_ITAB.

*ENDLOOP.

*

*LOOP AT IT_ITAB.

*

*IT_ITAB-BAL = IT_ITAB-UMSAV + IT_ITAB-DMBTR.

*

*MODIFY IT_ITAB.

*CLEAR IT_ITAB.

*ENDLOOP.

*LOOP AT IT_ITAB.

  • IF IT_ITAB-SHKZG = 'S'.

  • IT_ITAB-DMBTR = IT_ITAB-DMBTR * ( -1 ).

  • ENDIF.

  • MODIFY IT_ITAB.

*ENDLOOP.

LOOP AT IT_ITAB.

IF IT_ITAB-SHKZG = 'S'.

IT_ITAB-DMBTR_S = IT_ITAB-DMBTR .

ELSE.

IF IT_ITAB-SHKZG = 'H'.

IT_ITAB-DMBTR_H = IT_ITAB-DMBTR.

ENDIF.

ENDIF.

  • IT_ITAB-DMBTR = ''.

MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DMBTR.

"VAR.

CLEAR IT_ITAB.

ENDLOOP.

*MOVE CORRESPONDING IT_LFC1-UMSAV = IT_ITAB-UMSAV.

SORT IT_ITAB BY LIFNR GSBER.

  • LOOP AT IT_ITAB.

      • IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.

      • IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.

      • IT_ITAB-DH = IT_ITAB-DMBTR_H.

      • IT_ITAB-DS = IT_ITAB-DMBTR_S.

  • IT_ITAB-FLAG = 'X'.

    • IT_ITAB-CTR = 'X'.

  • IT_ITAB-HS = IT_ITAB-DMBTR_H - IT_ITAB-DMBTR_S.

  • IT_ITAB-BAL = IT_ITAB-UMSAV + IT_ITAB-HS.

  • MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S HS

  • FLAG BAL.

  • CLEAR IT_ITAB.

  • ENDLOOP.

*LOOP AT IT_ITAB.

**IF IT_ITAB-MONAT = ''.

  • DELETE IT_ITAB[] WHERE MONAT = ''.

*MODIFY IT_ITAB.

*ENDLOOP.

*

  • LOOP AT IT_ITAB.

  • AT END OF GSBER.

  • SUM.

      • IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.

      • IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.

      • IT_ITAB-DH = IT_ITAB-DMBTR_H.

      • IT_ITAB-DS = IT_ITAB-DMBTR_S.

  • IT_ITAB-FLAG = 'X'.

    • IT_ITAB-CTR = 'X'.

  • IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.

  • IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.

*

  • IT_ITAB-HS = IT_ITAB-DMBTR_S - IT_ITAB-DMBTR_H.

  • IT_ITAB-BAL = IT_ITAB-UMSAV - IT_ITAB-HS.

  • MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S HS

  • FLAG BAL.

  • ENDAT.

  • CLEAR IT_ITAB.

  • ENDLOOP.

LOOP AT IT_ITAB.

AT END OF GSBER.

SUM.

IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.

IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.

IT_ITAB-DH = IT_ITAB-DMBTR_H.

IT_ITAB-DS = IT_ITAB-DMBTR_S.

IT_ITAB-FLAG = 'X'.

  • IT_ITAB-CTR = 'X'.

IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.

IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.

IT_ITAB-BAL = IT_ITAB-UMSAV + ( IT_ITAB-DMBTR_H - IT_ITAB-DMBTR_S ).

MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DH DS

FLAG BAL.

ENDAT.

CLEAR IT_ITAB.

ENDLOOP.

*

  • DELETE IT_ITAB[] WHERE FLAG <> 'X'.

  • SORT IT_ITAB BY LIFNR GSBER.

  • LOOP AT IT_ITAB.

  • MOVE-CORRESPONDING IT_ITAB TO IT_TEMP.

  • APPEND IT_TEMP.

  • ENDLOOP.

*

  • REFRESH IT_ITAB.

  • SORT IT_TEMP BY LIFNR GSBER.

*

  • LOOP AT IT_TEMP.

  • MOVE-CORRESPONDING IT_TEMP TO IT_ITAB.

  • APPEND IT_ITAB.

  • CLEAR IT_ITAB.

*

  • AT END OF LIFNR.

  • SUM.

  • IT_TEMP-FLAG = ''.

  • MODIFY IT_TEMP INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S FLAG.

*

      • MOVE-CORRESPONDING IT_ITEMP TO IT_ITAB.

  • IT_ITAB-LIFNR = ''.

  • IT_ITAB-NAME1 = ''.

  • IT_ITAB-BELNR = ''.

  • IT_ITAB-BUKRS = ''.

  • IT_ITAB-GJAHR = ''.

  • IT_ITAB-GSBER = ''.

    • IT_ITAB-UMSAV = '0000'.

  • IT_ITAB-DMBTR_H = IT_TEMP-DMBTR_H.

  • IT_ITAB-DMBTR_S = IT_TEMP-DMBTR_S.

  • IT_ITAB-BAL = IT_TEMP-DMBTR_H - IT_TEMP-DMBTR_S.

  • IT_ITAB-FLAG = 'Y'.

    • IT_ItAB-CTR = IT_TEMO-CTR.

*

  • APPEND IT_ITAB.

*

  • ENDAT.

*

    • IF IT_ITAB-FLAG = 'Y'.

    • it_itab-line_color = 'C600'.

    • MODIFY IT_ITAB.

    • ENDIF.

*

  • CLEAR IT_TEMP.

  • ENDLOOP.

*

*

  • LOOP AT IT_ITAB WHERE FLAG = 'Y'.

  • it_itab-line_color = 'C602'.

  • MODIFY IT_ITAB INDEX SY-TABIX.

  • CLEAR IT_ITAB.

  • ENDLOOP.

*

    • loop at it_itab WHERE FLAG = ''.

    • it_itab-line_color = 'C103'.

      • IT_ITAB-LINE_CTR = 'C103'.

    • MODIFY IT_ITAB INDEX SY-TABIX.

    • CLEAR IT_ITAB.

    • ENDLOOP.

**

PERFORM SUB_CALC_1.

endform. " SUB_CALC

&----


*& Form SUB_FIELDCAT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM SUB_FIELDCAT .

WA_FCAT-FIELDNAME = 'LIFNR'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'Vendor No'. "'VENDOR NAME'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'NAME1'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'Vendor Name'. "'VENDOR NAME'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

  • WA_FCAT-FIELDNAME = 'BELNR'.

  • WA_FCAT-TABNAME = 'IT_ITAB'.

  • WA_FCAT-SELTEXT_M = 'SAP Document No'. "'DOC NUMBER'.

  • APPEND WA_FCAT TO IT_FCAT.

  • CLEAR WA_FCAT.

  • WA_FCAT-FIELDNAME = 'BLDAT'.

  • WA_FCAT-TABNAME = 'IT_ITAB'.

  • WA_FCAT-SELTEXT_M = 'Doc Date'. "'FISCAL YEAR'.

  • APPEND WA_FCAT TO IT_FCAT.

  • CLEAR wa_fcat.

WA_FCAT-FIELDNAME = 'GSBER'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'BusA'. "'BUSINESS AREA'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'UMSAV'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'Balance Carry Forward'. "'BAL CARRIED FORWARD'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'FLAG'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'FLAG'. "'DOC NUMBER'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

*

  • WA_FCAT-FIELDNAME = 'SHKZG'.

  • WA_FCAT-TABNAME = 'IT_ITAB'.

  • WA_FCAT-SELTEXT_M = 'SHKZG'. "'DOC NUMBER'.

  • APPEND WA_FCAT TO IT_FCAT.

  • CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'DMBTR_S'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'Credit'. "'DOC NUMBER'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'DMBTR_H'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'Debit'. "'DOC NUMBER'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'MONAT'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'PERIOD'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

  • WA_FCAT-FIELDNAME = 'DH'.

  • WA_FCAT-TABNAME = 'IT_ITAB'.

  • WA_FCAT-SELTEXT_M = 'DH'. "'DOC NUMBER'.

  • APPEND WA_FCAT TO IT_FCAT.

  • CLEAR WA_FCAT.

*

  • WA_FCAT-FIELDNAME = 'DS'.

  • WA_FCAT-TABNAME = 'IT_ITAB'.

  • WA_FCAT-SELTEXT_M = 'DS'. "'DOC NUMBER'.

  • APPEND WA_FCAT TO IT_FCAT.

  • CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'BAL'.

WA_FCAT-TABNAME = 'IT_ITAB'.

WA_FCAT-SELTEXT_M = 'Accumlated Bal'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

*

  • WA_FCAT-FIELDNAME = 'SGTXT'.

  • WA_FCAT-TABNAME = 'IT_ITAB'.

  • WA_FCAT-SELTEXT_M = 'Text'. "'DOC NUMBER'.

  • APPEND WA_FCAT TO IT_FCAT.

  • CLEAR WA_FCAT.

ls_layout-info_fieldname = 'LINE_COLOR'.

ENDFORM. " SUB_FIELDCAT

&----


*& Form SUB_DISPLAY

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM SUB_DISPLAY .

IF NOT IT_ITAB[] IS INITIAL.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = 'SY-REPID'

IT_FIELDCAT = IT_FCAT

I_SAVE = 'A'

is_layout = ls_layout

TABLES

T_OUTTAB = IT_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.

ENDIF.

ENDFORM. " SUB_DISPLAY

&----


*& Form SUB_CALC_1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM SUB_CALC_1 .

LOOP AT IT_ITAB WHERE FLAG = 'Y'.

it_itab-line_color = 'C603'.

MODIFY IT_ITAB INDEX SY-TABIX.

CLEAR IT_ITAB.

ENDLOOP.

ENDFORM. " SUB_CALC_1

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Do you have a problem creating a checkbox ..... then ...

parameters : gsber as checkbox .

and then mention ...

if gsber = 'X'.

then mention the select statement .

endif. ..

If this is not ur problem ... then please give me the requirements

Former Member
0 Kudos

Hi Anjali ,

Thank you for ur Reply.....i was working on the same Report....i prepared a format to make the requirment easy....hoping that u can help me....

Tables : Bsak , Bsik , lfa1 , lfc1 , lfc3

This report is Based on the standard report S_ALR_87012082 or Program RFKSLD00

But the New Report should be based on Business Area wise Subtotals and Vendor wise Grand Totals

Selection Screen Fields :

Company Code : BUKRS __________ Parameters

Fiscal Year : GJAHR __________ Parameters

Vendor : LIFNR __________ Select-Options

Fiscal Periods : MONAT __________ Select-Options

Special G/L Balances : UMSKZ ___________ Check Box

Output :

LIFNR NAME1 SHBKZ GJAHR GSBER UMSAV DMBTR_S DMBTR_H BAL=( UMSAV + (DMBTR_S –DMBTR_H) )

Feild Tables

LIFNR from BSAK

NAME1 from LFA1

SHBKZ from LFC3

GJAHR from BSAK

GSBER from BSAK

UMSAV from LFC1

DMBTR_S from BSAK Actual field from DMBTR

DMBTR_H from BSAk Actual field from DMBTR

BAL as ( UMSAV + (DMBTR_S –DMBTR_H) )

Sorting According to LIFNR NAME1 GJAHR

Subtotals According to GSBER

Grand Total According to LIFNR

If we select the Special G/L Balances Checkbox in the Selection Screen.........Data from the Table LFC3 should be Selected a Appended at the the End of LIFNR GRAND TOTAL....

Please Help me with this Requirment...

If the requirment is not clear please give me ur mail ID i will send u the Detailed requirment which i prepared in a Detailed manner...

Thank you..

waiting for your reply.....

Former Member
0 Kudos

This is the Report which i am trying to do....please help me with this Report....

&----


*& Report ZVENDOR_RECONCILLATION

*&

&----


*&

*&

&----


REPORT ZVENDOR_RECONCILLATION.

*ALV

********************************

TYPE-POOLS: SLIS.

*TYPE-POOLS icon.

DATA: It_SORT TYPE SLIS_T_SORTINFO_ALV ."WITH HEADER LINE.

DATA: TOP TYPE slis_t_listheader,

END TYPE slis_t_listheader,

EVENTS TYPE slis_t_event.

DATA : NAME1 LIKE T001W-NAME1,

WERKS LIKE T001W-WERKS .

DATA : T_KEY TYPE SLIS_KEYINFO_ALV.

DATA : FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

LAYOUT TYPE SLIS_LAYOUT_ALV OCCURS 1 WITH HEADER LINE ,

LCAT TYPE SLIS_FIELDCAT_ALV.

TABLES : BSAK , BSIK , LFC1 , LFC3 , LFA1.

*******************************************

*INTERNAL TABLE

DATA: BEGIN OF sd_bsak,

bukrs TYPE bsak-bukrs,

lifnr TYPE bsak-lifnr,

umsks TYPE bsak-umsks,

umskz TYPE bsak-umskz,

augdt TYPE bsak-augdt,

augbl TYPE bsak-augbl,

zuonr TYPE bsak-zuonr,

gjahr TYPE bsak-gjahr,

belnr TYPE bsak-belnr,

buzei TYPE bsak-buzei,

budat TYPE bsak-budat,

bldat TYPE bsak-bldat,

xblnr TYPE bsak-xblnr,

blart TYPE bsak-blart,

monat TYPE bsak-monat,

bschl TYPE bsak-bschl,

zumsk TYPE bsak-zumsk,

shkzg TYPE bsak-shkzg,

gsber TYPE bsak-gsber,

dmbtr TYPE bsak-dmbtr,

wrbtr TYPE bsak-wrbtr,

sgtxt TYPE bsak-sgtxt,

saknr TYPE bsak-saknr,

hkont TYPE bsak-hkont,

END OF sd_bsak.

DATA: BEGIN OF sd_bsik,

bukrs TYPE bsik-bukrs,

lifnr TYPE bsik-lifnr,

umsks TYPE bsik-umsks,

umskz TYPE bsik-umskz,

augdt TYPE bsik-augdt,

augbl TYPE bsik-augbl,

zuonr TYPE bsik-zuonr,

gjahr TYPE bsik-gjahr,

belnr TYPE bsik-belnr,

buzei TYPE bsik-buzei,

budat TYPE bsik-budat,

bldat TYPE bsik-bldat,

xblnr TYPE bsik-xblnr,

blart TYPE bsik-blart,

monat TYPE bsik-monat,

bschl TYPE bsik-bschl,

zumsk TYPE bsik-zumsk,

shkzg TYPE bsik-shkzg,

gsber TYPE bsik-gsber,

dmbtr TYPE bsik-dmbtr,

wrbtr TYPE bsik-wrbtr,

sgtxt TYPE bsik-sgtxt,

saknr TYPE bsik-saknr,

hkont TYPE bsik-hkont,

zlsch TYPE bsik-zlsch,

END OF sd_bsik.

DATA: BEGIN OF it_lfa1,

lifnr TYPE lfa1-lifnr,

name1 TYPE lfa1-name1,

END OF it_lfa1.

DATA: BEGIN OF sd_lfc1,

lifnr TYPE lfc1-lifnr,

bukrs TYPE lfc1-bukrs,

gjahr TYPE lfc1-gjahr,

erdat TYPE lfc1-erdat,

usnam TYPE lfc1-usnam,

umsav TYPE lfc1-umsav,

END OF sd_lfc1.

DATA: BEGIN OF sd_lfc3,

lifnr TYPE lfc3-lifnr,

bukrs TYPE lfc3-bukrs,

gjahr TYPE lfc3-gjahr,

shbkz TYPE lfc3-shbkz,

saldv TYPE lfc3-saldv,

solll TYPE lfc3-solll,

habnl TYPE lfc3-habnl,

END OF sd_lfc3.

************************************

*FINAL INTERNAL TABLE DECLARATION

DATA: BEGIN OF IT_FINAL,

gsber TYPE bsak-gsber,

bukrs TYPE bsak-bukrs,

lifnr TYPE bsak-lifnr,

umsks TYPE bsak-umsks,

umskz TYPE bsak-umskz,

augdt TYPE bsak-augdt,

augbl TYPE bsak-augbl,

zuonr TYPE bsak-zuonr,

gjahr TYPE bsak-gjahr,

belnr TYPE bsak-belnr,

buzei TYPE bsak-buzei,

budat TYPE bsak-budat,

bldat TYPE bsak-bldat,

xblnr TYPE bsak-xblnr,

blart TYPE bsak-blart,

monat TYPE bsak-monat,

bschl TYPE bsak-bschl,

zumsk TYPE bsak-zumsk,

shkzg TYPE bsak-shkzg,

  • gsber TYPE bsak-gsber,

dmbtr TYPE bsak-dmbtr,

wrbtr TYPE bsak-wrbtr,

sgtxt TYPE bsak-sgtxt,

saknr TYPE bsak-saknr,

hkont TYPE bsak-hkont,

DMBTR_S TYPE BSAK-DMBTR,

DMBTR_H TYPE BSAK-DMBTR,

DS TYPE P DECIMALS 2,

DH TYPE P DECIMALS 2,

SUB TYPE P DECIMALS 2,

ADD TYPE P DECIMALS 2,

BAL TYPE P DECIMALS 2,

  • lifnr TYPE bsik-lifnr,

  • umsks TYPE bsik-umsks,

  • umskz TYPE bsik-umskz,

  • augdt TYPE bsik-augdt,

  • augbl TYPE bsik-augbl,

  • zuonr TYPE bsik-zuonr,

  • gjahr TYPE bsik-gjahr,

  • belnr TYPE bsik-belnr,

  • buzei TYPE bsik-buzei,

  • budat TYPE bsik-budat,

  • bldat TYPE bsik-bldat,

  • xblnr TYPE bsik-xblnr,

  • blart TYPE bsik-blart,

  • monat TYPE bsik-monat,

  • bschl TYPE bsik-bschl,

  • zumsk TYPE bsik-zumsk,

  • shkzg TYPE bsik-shkzg,

  • gsber TYPE bsik-gsber,

  • dmbtr TYPE bsik-dmbtr,

  • wrbtr TYPE bsik-wrbtr,

  • sgtxt TYPE bsik-sgtxt,

  • saknr TYPE bsik-saknr,

  • hkont TYPE bsik-hkont,

zlsch TYPE bsik-zlsch,

  • lifnr TYPE lfa1-lifnr,

name1 TYPE lfa1-name1,

  • lifnr TYPE lfc1-lifnr,

  • bukrs TYPE lfc1-bukrs,

  • gjahr TYPE lfc1-gjahr,

erdat TYPE lfc1-erdat,

usnam TYPE lfc1-usnam,

umsav TYPE lfc1-umsav,

  • lifnr TYPE lfc3-lifnr,

  • bukrs TYPE lfc3-bukrs,

  • gjahr TYPE lfc3-gjahr,

shbkz TYPE lfc3-shbkz,

saldv TYPE lfc3-saldv,

solll TYPE lfc3-solll,

habnl TYPE lfc3-habnl,

END OF IT_FINAL.

DATA: BEGIN OF SD_FINAL,

lifnr TYPE bsak-lifnr,

bukrs TYPE bsak-bukrs,

  • lifnr TYPE bsak-lifnr,

umsks TYPE bsak-umsks,

umskz TYPE bsak-umskz,

augdt TYPE bsak-augdt,

augbl TYPE bsak-augbl,

zuonr TYPE bsak-zuonr,

gjahr TYPE bsak-gjahr,

belnr TYPE bsak-belnr,

buzei TYPE bsak-buzei,

budat TYPE bsak-budat,

bldat TYPE bsak-bldat,

xblnr TYPE bsak-xblnr,

blart TYPE bsak-blart,

monat TYPE bsak-monat,

bschl TYPE bsak-bschl,

zumsk TYPE bsak-zumsk,

shkzg TYPE bsak-shkzg,

gsber TYPE bsak-gsber,

dmbtr TYPE bsak-dmbtr,

wrbtr TYPE bsak-wrbtr,

sgtxt TYPE bsak-sgtxt,

saknr TYPE bsak-saknr,

hkont TYPE bsak-hkont,

  • bukrs TYPE bsik-bukrs,

  • lifnr TYPE bsik-lifnr,

  • umsks TYPE bsik-umsks,

  • umskz TYPE bsik-umskz,

  • augdt TYPE bsik-augdt,

  • augbl TYPE bsik-augbl,

  • zuonr TYPE bsik-zuonr,

  • gjahr TYPE bsik-gjahr,

  • belnr TYPE bsik-belnr,

  • buzei TYPE bsik-buzei,

  • budat TYPE bsik-budat,

  • bldat TYPE bsik-bldat,

  • xblnr TYPE bsik-xblnr,

  • blart TYPE bsik-blart,

  • monat TYPE bsik-monat,

  • bschl TYPE bsik-bschl,

  • zumsk TYPE bsik-zumsk,

  • shkzg TYPE bsik-shkzg,

  • gsber TYPE bsik-gsber,

  • dmbtr TYPE bsik-dmbtr,

  • wrbtr TYPE bsik-wrbtr,

  • sgtxt TYPE bsik-sgtxt,

  • saknr TYPE bsik-saknr,

  • hkont TYPE bsik-hkont,

zlsch TYPE bsik-zlsch,

  • lifnr TYPE lfa1-lifnr,

name1 TYPE lfa1-name1,

  • lifnr TYPE lfc1-lifnr,

  • bukrs TYPE lfc1-bukrs,

  • gjahr TYPE lfc1-gjahr,

erdat TYPE lfc1-erdat,

usnam TYPE lfc1-usnam,

umsav TYPE lfc1-umsav,

  • lifnr TYPE lfc3-lifnr,

  • bukrs TYPE lfc3-bukrs,

  • gjahr TYPE lfc3-gjahr,

shbkz TYPE lfc3-shbkz,

saldv TYPE lfc3-saldv,

solll TYPE lfc3-solll,

habnl TYPE lfc3-habnl,

line_color(4) TYPE c,

END OF SD_FINAL.

***************************************************************

DATA IT_STD_BSAK LIKE TABLE OF SD_BSAK WITH HEADER LINE.

DATA IT_STD_BSIK LIKE TABLE OF SD_BSIK WITH HEADER LINE.

DATA IT_STD_LFA1 LIKE TABLE OF IT_LFA1 WITH HEADER LINE.

DATA IT_STD_LFC1 LIKE TABLE OF SD_LFC1 WITH HEADER LINE.

DATA IT_STD_LFC3 LIKE TABLE OF SD_LFC3 WITH HEADER LINE.

DATA IT_STD_FINAL LIKE TABLE OF IT_FINAL WITH HEADER LINE.

DATA IT_FINAL_DISPLAY LIKE TABLE OF SD_FINAL WITH HEADER LINE.

**********************************************************************

*SELECTION-SCREEN

SELECTION-SCREEN BEGIN OF BLOCK HEADER WITH FRAME TITLE TEXT-001.

PARAMETERS: P_BUKRS LIKE BSAK-BUKRS OBLIGATORY,

P_GJAHR LIKE BSAK-GJAHR OBLIGATORY.

  • P_EBELN LIKE EKPO-EBELN .

*PARAMETER: PA_RPT AS CHECKBOX DEFAULT 'X'.

SELECT-OPTIONS: S_LIFNR FOR BSAK-LIFNR.

SELECT-OPTIONS: S_MONAT FOR BSAK-MONAT.

SELECTION-SCREEN END OF BLOCK HEADER.

***********************************************************************

START-OF-SELECTION.

SET PF-STATUS 'STATUS'.

PERFORM DATA_RETRIVAL.

PERFORM FIELD.

PERFORM SORT USING IT_SORT.

PERFORM EVENTS USING EVENTS.

  • PERFORM EVENTS_1 USING EVENTS.

  • PERFORM HEADER USING TOP.

PERFORM LAYOUT.

PERFORM DISPLAY.

END-OF-PAGE.

**************************************************************************

&----


*& Form DATA_RETRIVAL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DATA_RETRIVAL .

SELECT BUKRS LIFNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR BUZEI BUDAT BLDAT XBLNR BLART

MONAT BSCHL ZUMSK SHKZG GSBER DMBTR WRBTR SGTXT SAKNR HKONT

FROM BSAK INTO TABLE IT_STD_BSAK

WHERE BUKRS = P_BUKRS

AND GJAHR = P_GJAHR AND ZUMSK = ''

AND LIFNR IN S_LIFNR

AND MONAT IN S_MONAT.

IF NOT IT_STD_BSAK[] IS INITIAL.

SELECT BUKRS LIFNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR BUZEI BUDAT BLDAT XBLNR

BLART MONAT BSCHL ZUMSK SHKZG GSBER DMBTR WRBTR SGTXT SAKNR HKONT ZLSCH

FROM BSIK INTO TABLE IT_STD_BSIK FOR ALL ENTRIES IN IT_STD_BSAK

WHERE BUKRS = IT_STD_BSAK-BUKRS AND LIFNR = IT_STD_BSAK-LIFNR AND GJAHR = IT_STD_BSAK-GJAHR AND ZUMSK = ''.

ENDIF.

IF NOT IT_STD_BSAK[] IS INITIAL.

SELECT LIFNR NAME1

FROM LFA1 INTO TABLE IT_STD_LFA1 FOR ALL ENTRIES IN IT_STD_BSAK

WHERE LIFNR = IT_STD_BSAK-LIFNR.

ENDIF.

IF NOT IT_STD_BSAK[] IS INITIAL.

SELECT LIFNR BUKRS GJAHR ERDAT USNAM UMSAV

FROM LFC1 INTO TABLE IT_STD_LFC1 FOR ALL ENTRIES IN IT_STD_BSAK

WHERE LIFNR = IT_STD_BSAK-LIFNR AND BUKRS = IT_STD_BSAK-BUKRS AND GJAHR = IT_STD_BSAK-GJAHR.

ENDIF.

IF NOT IT_STD_BSAK[] IS INITIAL.

SELECT LIFNR BUKRS GJAHR SHBKZ SALDV SOLLL HABNL

FROM LFC3 INTO TABLE IT_STD_LFC3 FOR ALL ENTRIES IN IT_STD_BSAK

WHERE LIFNR = IT_STD_BSAK-LIFNR AND BUKRS = IT_STD_BSAK-BUKRS AND GJAHR = IT_STD_BSAK-GJAHR.

ENDIF.

**********************************************************************

LOOP AT IT_STD_BSAK.

IT_STD_FINAL-BUKRS = IT_STD_BSAK-BUKRS.

IT_STD_FINAL-LIFNR = IT_STD_BSAK-LIFNR.

IT_STD_FINAL-UMSKS = IT_STD_BSAK-UMSKS.

IT_STD_FINAL-UMSKZ = IT_STD_BSAK-UMSKZ.

IT_STD_FINAL-AUGDT = IT_STD_BSAK-AUGDT.

IT_STD_FINAL-AUGBL = IT_STD_BSAK-AUGBL.

IT_STD_FINAL-ZUONR = IT_STD_BSAK-ZUONR.

IT_STD_FINAL-GJAHR = IT_STD_BSAK-GJAHR.

IT_STD_FINAL-BELNR = IT_STD_BSAK-BELNR.

IT_STD_FINAL-BUZEI = IT_STD_BSAK-BUZEI.

IT_STD_FINAL-BUDAT = IT_STD_BSAK-BUDAT.

IT_STD_FINAL-BLDAT = IT_STD_BSAK-BLDAT.

IT_STD_FINAL-XBLNR = IT_STD_BSAK-XBLNR.

IT_STD_FINAL-BLART = IT_STD_BSAK-BLART.

IT_STD_FINAL-MONAT = IT_STD_BSAK-MONAT.

IT_STD_FINAL-BSCHL = IT_STD_BSAK-BSCHL.

IT_STD_FINAL-ZUMSK = IT_STD_BSAK-ZUMSK.

IT_STD_FINAL-SHKZG = IT_STD_BSAK-SHKZG.

IT_STD_FINAL-GSBER = IT_STD_BSAK-GSBER.

IT_STD_FINAL-DMBTR = IT_STD_BSAK-DMBTR.

IT_STD_FINAL-WRBTR = IT_STD_BSAK-WRBTR.

IT_STD_FINAL-SGTXT = IT_STD_BSAK-SGTXT.

IT_STD_FINAL-SAKNR = IT_STD_BSAK-SAKNR.

IT_STD_FINAL-HKONT = IT_STD_BSAK-HKONT.

READ TABLE IT_STD_LFA1 WITH KEY LIFNR = IT_STD_FINAL-LIFNR.

IF SY-SUBRC = 0.

IT_STD_FINAL-NAME1 = IT_STD_LFA1-NAME1.

ENDIF.

READ TABLE IT_STD_LFC1 WITH KEY LIFNR = IT_STD_FINAL-LIFNR

BUKRS = IT_STD_FINAL-BUKRS

GJAHR = IT_STD_FINAL-GJAHR.

IF SY-SUBRC = 0.

IT_STD_FINAL-ERDAT = IT_STD_LFC1-ERDAT.

IT_STD_FINAL-USNAM = IT_STD_LFC1-USNAM.

IT_STD_FINAL-UMSAV = IT_STD_LFC1-UMSAV.

ENDIF.

*READ TABLE IT_STD_LFC3 WITH KEY LIFNR = IT_STD_FINAL-LIFNR

  • BUKRS = IT_STD_FINAL-BUKRS

  • GJAHR = IT_STD_FINAL-GJAHR.

*

  • IF SY-SUBRC = 0.

*

  • IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.

  • IT_STD_FINAL-SALDV = IT_STD_LFC3-SALDV.

  • IT_STD_FINAL-SOLLL = IT_STD_LFC3-SOLLL.

  • IT_STD_FINAL-HABNL = IT_STD_LFC3-HABNL.

*

  • ENDIF.

APPEND IT_STD_FINAL.

CLEAR IT_STD_FINAL.

ENDLOOP.

****************************************************************

********************************************************************

LOOP AT IT_STD_BSIK.

IF SY-SUBRC = 0.

IT_STD_FINAL-BUKRS = IT_STD_BSIK-BUKRS.

IT_STD_FINAL-LIFNR = IT_STD_BSIK-LIFNR.

IT_STD_FINAL-UMSKS = IT_STD_BSIK-UMSKS.

IT_STD_FINAL-UMSKZ = IT_STD_BSIK-UMSKZ.

IT_STD_FINAL-AUGDT = IT_STD_BSIK-AUGDT.

IT_STD_FINAL-AUGBL = IT_STD_BSIK-AUGBL.

IT_STD_FINAL-ZUONR = IT_STD_BSIK-ZUONR.

IT_STD_FINAL-GJAHR = IT_STD_BSIK-GJAHR.

IT_STD_FINAL-BELNR = IT_STD_BSIK-BELNR.

IT_STD_FINAL-BUZEI = IT_STD_BSIK-BUZEI.

IT_STD_FINAL-BUDAT = IT_STD_BSIK-BUDAT.

IT_STD_FINAL-BLDAT = IT_STD_BSIK-BLDAT.

IT_STD_FINAL-XBLNR = IT_STD_BSIK-XBLNR.

IT_STD_FINAL-BLART = IT_STD_BSIK-BLART.

IT_STD_FINAL-MONAT = IT_STD_BSIK-MONAT.

IT_STD_FINAL-BSCHL = IT_STD_BSIK-BSCHL.

IT_STD_FINAL-ZUMSK = IT_STD_BSIK-ZUMSK.

IT_STD_FINAL-SHKZG = IT_STD_BSIK-SHKZG.

IT_STD_FINAL-GSBER = IT_STD_BSIK-GSBER.

IT_STD_FINAL-DMBTR = IT_STD_BSIK-DMBTR.

IT_STD_FINAL-WRBTR = IT_STD_BSIK-WRBTR.

IT_STD_FINAL-SGTXT = IT_STD_BSIK-SGTXT.

IT_STD_FINAL-SAKNR = IT_STD_BSIK-SAKNR.

IT_STD_FINAL-HKONT = IT_STD_BSIK-HKONT.

IT_STD_FINAL-ZLSCH = IT_STD_BSIK-ZLSCH.

ENDIF.

APPEND IT_STD_FINAL.

CLEAR IT_STD_FINAL.

ENDLOOP.

**************************************************************************

  • LOOP AT IT_STD_LFC3.

*

*

  • IF SY-SUBRC = 0.

*

  • IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.

  • IT_STD_FINAL-SALDV = IT_STD_LFC3-SALDV.

  • IT_STD_FINAL-SOLLL = IT_STD_LFC3-SOLLL.

  • IT_STD_FINAL-HABNL = IT_STD_LFC3-HABNL.

*

  • ENDIF.

*

  • APPEND IT_STD_FINAL.

  • CLEAR IT_STD_FINAL.

*

  • ENDLOOP.

*********************************************

********************************************

LOOP AT IT_STD_FINAL.

IF IT_STD_FINAL-SHKZG = 'S'.

IT_STD_FINAL-DMBTR_S = IT_STD_FINAL-DMBTR.

ELSE.

IF IT_STD_FINAL-SHKZG = 'H'.

IT_STD_FINAL-DMBTR_H = IT_STD_FINAL-DMBTR.

ENDIF.

ENDIF.

IT_STD_FINAL-DMBTR = ''.

MODIFY IT_STD_FINAL INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DMBTR.

"VAR.

CLEAR IT_STD_FINAL.

ENDLOOP.

********************************************************************

LOOP AT IT_STD_LFC3.

*AT NEW LIFNR.

IF SY-SUBRC = 0.

IT_STD_FINAL-LIFNR = IT_STD_LFC3-LIFNR.

IT_STD_FINAL-BUKRS = IT_STD_LFC3-BUKRS.

IT_STD_FINAL-GJAHR = IT_STD_LFC3-GJAHR.

IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.

IT_STD_FINAL-UMSAV = IT_STD_LFC3-SALDV.

IT_STD_FINAL-DMBTR_S = IT_STD_LFC3-SOLLL.

IT_STD_FINAL-DMBTR_H = IT_STD_LFC3-HABNL.

ENDIF.

*ENDAT.

APPEND IT_STD_FINAL.

CLEAR IT_STD_FINAL.

ENDLOOP.

                                                                                          • ****************************

LOOP AT IT_STD_FINAL.

IT_STD_FINAL-DS = IT_STD_FINAL-DMBTR_S.

IT_STD_FINAL-DH = IT_STD_FINAL-DMBTR_H.

IT_STD_FINAL-SUB = ( IT_STD_FINAL-DS ) - ( IT_STD_FINAL-DH ).

IT_STD_FINAL-ADD = ( IT_STD_FINAL-UMSAV ) + ( IT_STD_FINAL-SUB ).

MODIFY IT_STD_FINAL.

ENDLOOP.

*************************************************************************

ENDFORM. " DATA_RETRIVAL

&----


*& Form FIELD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form FIELD .

LCAT-FIELDNAME = 'LIFNR'.

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'Vendor No'.

*LCAT-REF_TABNAME = 'EKKO'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'NAME1'.

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'Vendor Name'.

*LCAT-REF_TABNAME = 'EKKO'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'GJAHR'. "MATERIAL GROUP

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'Fiscal Year'.

*LCAT-REF_TABNAME = 'LFA1'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'GSBER'. "MATERIAL GROUP

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'BussArea'.

*LCAT-REF_TABNAME = 'LFA1'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'SHBKZ'.

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'S G/L'.

LCAT-REF_TABNAME = 'LFC3'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'UMSAV'.

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'Bal Carry Forward'.

*LCAT-REF_TABNAME = 'EKKO'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'DMBTR_S'.

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'Debit Balanace'.

*LCAT-REF_TABNAME = 'EKKO'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'DMBTR_H'.

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'Credit Balance'.

*LCAT-REF_TABNAME = 'EKKO'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LCAT-FIELDNAME = 'ADD'.

LCAT-TABNAME = 'IT_STD_FINAL'.

LCAT-SELTEXT_L = 'Accumulated Balance'.

*LCAT-REF_TABNAME = 'EKKO'.

LCAT-JUST = 'M'.

APPEND LCAT TO FIELDCAT.

CLEAR LCAT.

LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'DMBTR_S'.

LCAT-DO_SUM = 'X'.

MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.

ENDLOOP.

*

LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'DMBTR_H'.

LCAT-DO_SUM = 'X'.

MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.

ENDLOOP.

LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'ADD'.

LCAT-DO_SUM = 'X'.

MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.

ENDLOOP.

endform. " FIELD

&----


*& Form DISPLAY

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form DISPLAY .

CLEAR: IT_STD_BSAK,IT_STD_BSIK, IT_STD_LFA1 , IT_STD_LFC1, IT_STD_LFC3.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = 'STATUS '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = LAYOUT

IT_FIELDCAT = FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = IT_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

  • t_outtab = IT_CHARG

t_outtab = IT_STD_FINAL

  • 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.

ENDFORM. "DISPLAY

&----


*& Form EVENTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form EVENTS USING P_EVENTS TYPE slis_t_event.

DATA: ls_event TYPE slis_alv_event.

ls_event-name = 'TOP_OF_PAGE'.

ls_event-form = 'TOP_OF_PAGE'.

APPEND ls_event TO P_EVENTS.

endform. " EVENTS

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = TOP.

ENDFORM. "TOP_OF_PAGE

*&----


**& Form SORT

*&----


    • text

*----


    • -->P_IT_SORT text

*----


form SORT using p_sort TYPE SLIS_T_SORTINFO_ALV.

DATA : LT_SORT TYPE slis_sortinfo_alv.

LT_SORT-fieldname = 'LIFNR'.

LT_SORT-tabname = 'IT_STD_FINAL'.

LT_SORT-up = 'X'.

  • LT_SORT-SUBTOT = 'X'.

APPEND LT_SORT TO P_SORT.

CLEAR LT_SORT.

LT_SORT-fieldname = 'GSBER'.

LT_SORT-tabname = 'IT_STD_FINAL'.

LT_SORT-up = 'X'.

LT_SORT-SUBTOT = 'X'.

APPEND LT_SORT TO P_SORT.

CLEAR LT_SORT.

LT_SORT-fieldname = 'UMSAV'.

LT_SORT-tabname = 'IT_LFC3'.

LT_SORT-up = 'X'.

  • LT_SORT-SUBTOT = 'X'.

APPEND LT_SORT TO P_SORT.

CLEAR LT_SORT.

endform. " SORT

&----


*& Form LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form LAYOUT .

  • LAYOUT-ZEBRA = 'X'.

LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.

LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

APPEND LAYOUT." TO LAYOUT.

endform. " LAYOUT

&----


*& Form EVENTS_1

&----


  • text

----


  • -->P_EVENTS text

----


FORM EVENTS_1 USING P_EVENTS TYPE slis_t_event.

DATA: ls_event TYPE slis_alv_event.

WRITE: SY-UNAME.

ls_event-name = 'END_OF_PAGE'.

ls_event-form = 'END_OF_PAGE'.

APPEND ls_event TO P_EVENTS.

ENDFORM. " EVENTS_1

waiting for ur reply...