DPO Reconcillation

Hi experts,
Any one have DPO column reconcillation query for standard BI Apps, please post the query.
Thnk you.

Hi,
I guess you would have better luck here --> Business Intelligence Applications
Good Luck,
Daan Bakboord

Similar Messages

  • Reconcillation report for controlling

    My requirement as follows.
    this is a report for developing reconcillation statement for a company.
    i created program as per requirement it is not executing becasuse of  COEP table taking much time for executing.
    any body have reconcillation report with sourcode kindly forward me.
    TECHNICAL SPECIFICATIONS FOR RECONCILIATION REPORT
    SELECTION SCREEN:
    COMPANY CODE:  T001-BUKRS
    FISCAL YEAR         :  BKPF-GJAHR
    PERIOD                :  BKPF-MONAT
    OUTPUT FORMAT:
         PARTICULARS     AMOUNT
    A     TOTAL OF FI P/L ACCOUNTS     
    B     LESS: TOTAL OF FI P/L ACCOUNTS NOT FLOWN TO CO (including VVGK values)     
    C     TOTAL OF FI P/L ACCOUNTS FLOWN TO CO     
    D     TOTAL OF COST VOLUME (MAT+ FEK+MGK+WVK)     
    E     LESS : TOTAL OF RECONCILIATION ITEMS (ITEMS APPEARING ONLY IN CO - FOR E.G. ED,CC ETC)     
    F     (D) – (E)     
         RECONCILIATION -
    ( C ) = ( F )     
    START OF FIELD A
    TABLE : SKB1 (G/L Account Master Table)
    INPUT :  BUKRS (Company Code)
    SAKNR - NUMBER RANGE  4* (G/L Account No.)
    OUTPUT : SAKNR (G/L Account No)
    Result : This step will provide a list of Expenses G/L Accounts
    TABLE : GLT0 (G/L Account Balances table)
    INPUT :  BUKRS (Company Code)
    SAKNR - NUMBER RANGE  4*) (G/L Account No.)
    DRCRK = S (Debit / Credit Indicator)
    RYEAR =  GJAHR (Fiscal year)
    OUTPUT :  HSL0*( * -PERIOD ENTERED IN SELECTION) [G/L Account Balance Amount field in the Table]
    SORT AND SUM  SAKNR WISE WHILE DISPLAYING IN THE REPORT
    Result : This step will provide balances for the list of the  expenses G/L accounts fetched from table SKB1 for the company code, fiscal year and period mentioned in the selection screen
    LIST OF EXPS. G/L ACCOUNTS WITH VALUES AND THEIR TOTAL– LIST A
    TOTAL OF ABOVE LIST = FIELD A
    The List Is To Be Displayed In The Report On Double-Clicking On The Total (Field A)
    END OF FIELD A----
    START OF FIELD B
    TABLE    : SETLEAF (Table for values in a group)
    INPUT     : SETCLASS = 0102 (Code for Cost Element groups)
    SETNAME = FIXED, VARIABLE (Cost Element group names)
    OUTPUT :  VALFROM, VALTO (Cost Element from & to)
    Result : This step will provide a list of cost elements within the cost element groups – Fixed and Variable
    TABLE    : COSP (Cost Accounting postings)
    INPUT     :  GJAHR (Fiscal year)
    KSTAR = VALFROM TO VALTO – SETLEAF (Cost Elements range)
    VRGNG = COIN (CO Business transaction type)
    BEKNZ   = D (Debit / Credit indicator)
    OUTPUT :  KSTAR (Cost Element), WKG0( -PERIOD ENTERED IN SELECTION) [Amount field in the table]
    Result : This step will provide a list of Cost Centre values used for calculating Activity rate and Overheard rates)
    LIST OF COST ELEMENTS WITH VALUES AND THEIR TOTAL – LIST B
    COMPARE LIST A WITH LIST B FIND RECORDS THAT DON’T MATCH
    MAKE A LIST OF UNMATCHED RECORDS (FOUND ONLY IN LIST A) AND THEIR TOTALS – LIST C
    TABLE    : SETLEAF (Table for values in a group)
    INPUT     : SETCLASS = 0101 (Code for Cost Centre groups)
    SETNAME = JL-VVGK (Cost Centre group name)
    OUTPUT :  VALFROM ( COST CENTRE)
    Result : This will provide a list of Cost centers in the JL-VVGK cost element group
    TABLE    : COSP (Cost Accounting Postings)
    INPUT     : OBJNR   = CONCATENATE ‘KSKBX’ TO SETLEAF- VALFROM WITH SPACE, (OBJNR = Object Number)
    GJAHR (Fiscal year)
    VRGNG = COIN (CO Business transaction type)
    OUTPUT :  WKG0( -PERIOD ENTERED IN SELECTION) [Amount field in the table]
    Result : This will provide a list of Cost centers values in the in the JL-VVGK cost element group
    LIST OF VVGK COST CENTRES WITH VALUES AND IT’S TOTAL – LIST D
    ADD LIST C WITH LIST D THE TOTAL OF WHICH IS EQUAL TO FIELD B
    Result : This will provide the costs which are not used to apply Activity Rates and Overhead Rates on the products
    The Lists (List C & D) are To Be Displayed In The Report On Double-Clicking On The Total (Field B)
    END OF FIELD B----
    START OF FIELD C
    SUBTRACT FIELD B FROM FIELD A WHICH IS EQUAL TO FIELD C (NO LINE ITEMS REQUIRED)
    END OF FIELD C----
    START OF FIELD D
    TABLE    :  AUFK (Header table for Orders)
    INPUT     :  KOKRS = KBX (Controlling Area)
    BUKRS = SELECTION SCREEN (Company Code)
    AUART = RM01 (Order Type)
    OUTPUT :   OBJNR (Object Number)
    Result : This will provide a list Product Cost Collector Numbers
    MAT :
    TABLE    :  COSP (Cost Accounting Postings)
    INPUT     :  OBJNR-AUFK (Object number fetched from AUFK table)
    GJAHR = SELECTION SCREEN (fiscal year)
    WRTTP = 4 (Value type for Actuals)
    KSTAR = 41261 TO 41265 (Cost elements range)
    BEKNZ = D (Debit / Credit indicator)
    OUTPUT :  KSTAR (Cost Element), WTG00X (Amount field in the table), OBJNR –CONCATENATE (Object Number)
    Result : This will provide the MAT costs applied to the products through Product Cost Collectors - MATLIST
    FEK :
    TABLE    :  COEP (Cost Accounting Postings)
    INPUT     :  KOKRS = KBX (Controlling Area)
    PERIO = SELECTION SCREEN (Period)
    OBJNR-AUFK (Object Number fetched from AUFK table)
    GJAHR = SELECTION SCREEN (Fiscal year)
    KSTAR = 430001 TO 430010 (Cost Elements range)
    BUKRS = SELECTION SCREEN (Company Code)
    OUTPUT :  KSTAR (Cost Element), WTGBTR (Amount field), OBJNR –CONCATENATE (Object number)
    Result : This will provide the FEK costs applied to the products through Product Cost Collectors - FEKLIST
    MGK :
    TABLE    :  COEP (Cost Accounting Postings)
    INPUT     :  KOKRS = KBX (Controlling Area)
    PERIO = SELECTION SCREEN (Period)
    OBJNR-AUFK (Object Number fetched from AUFK table)
    GJAHR = SELECTION SCREEN (Fiscal year)
    KSTAR = 410001 (Cost Element)
    BUKRS = SELECTION SCREEN (Company Code)
    OUTPUT :  KSTAR (Cost Element), WTGBTR (Amount field), OBJNR – CONCATENATE (Object Number)
    Result : This will provide the MGK costs applied to the products through Product Cost Collectors - MGKLIST
    WVK :
    TABLE    :  COEP (Cost Accounting postings)
    INPUT     :  KOKRS = KBX (Controlling Area)
    PERIO = SELECTION SCREEN (Period)
    OBJNR-AUFK (Object Number fetched from AUFK table)
    GJAHR = SELECTION SCREEN (Fiscal year)
    KSTAR = 410015 (Cost Element)
    BUKRS = SELECTION SCREEN (Company Code)
    OUTPUT :  KSTAR (Cost Element), WTGBTR (Amount field), OBJNR – CONCATENATE (Object Number)
    Result : This will provide the WVK costs applied to the products through Product Cost Collectors - WVKLIST
    TOTAL OF MAT – WTG00X, FEK - WTGBTR, MGK - WTGBTR, WVK – WTGBTR = FIELD D
    The Lists  are (MATLIST, FEKLIST, MGKLIST, WVKLIST) To Be Displayed categorically In The Report On Double-Clicking On The Total (Field D)
    END OF FIELD D----
    START OF FIELD E
    TABLE    :  COSS (Cost Accounting Postings)
    INPUT     :  KOKRS = KBX (Controlling Area)
    GJAHR = SELECTION SCREEN (Fiscal year)
    WRTTP = 4 (Value type for Actuals)
    KSTAR = 44951 TO 44958 (Cost Elements range)
    VRGNG = COIN, RKU1, RKU3, (CO Business transaction type)
    BEKNZ = D (Debit / Credit Indicator)
    OUTPUT :  KSTAR (Cost Element), WTG00X (Amount field)
    Result : This will provide the costs posted only through Controlling (not FI, MM, SD, PP) which are used to calculate Activity rates and Overhead rates applied to the product – EDCCLIST
    The EDCCLIST Is To Be Displayed In The Report On Double-Clicking On The Total (Field E)
    END OF FIELD E----
    START OF FIELD F
    SUBTRACT FIELD D FROM FIELD E WHICH IS EQUAL TO FIELD F (NO LINE ITEMS REQUIRED)
    END OF FIELD F----
    I have return code like as follows.
    *& Report  ZCO_RECONCILIATION_REPORT                                   *
    REPORT  zco_reconciliation_report  NO STANDARD PAGE HEADING
                                    LINE-COUNT 60 LINE-SIZE 180.
    TABLES : t001.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS : p_bukrs  LIKE t001-bukrs MEMORY ID buk ,
                 p_year   LIKE glt0-ryear MEMORY ID gjh ,
                 p_period LIKE bkpf-monat .
    SELECTION-SCREEN END OF BLOCK b1 .
    DATA : BEGIN OF it_skb1 OCCURS 0,
           saknr LIKE skb1-saknr ,
           END OF it_skb1.
    DATA : BEGIN OF it_glt0 OCCURS 0,
           racct LIKE glt0-racct ,
           hsl01 LIKE glt0-hsl01,
           END OF it_glt0.
    DATA : BEGIN OF it_glt0_sum OCCURS 0,
           racct LIKE glt0-racct ,
           hsl01 LIKE glt0-hsl01,
           END OF it_glt0_sum.
    DATA : BEGIN OF it_setb1 OCCURS 0,
           valfrom LIKE cosp-kstar,                " setleaf-valfrom,
           valto   LIKE setleaf-valto,
           END OF it_setb1.
    DATA : BEGIN OF it_setb2 OCCURS 0,
           valfrom LIKE setleaf-valfrom,
           objnr LIKE coss-objnr,
           END OF it_setb2.
    DATA : BEGIN OF it_setd OCCURS 0,
           valfrom LIKE setleaf-valfrom,
           objnr LIKE coss-objnr,
           END OF it_setd.
    DATA : BEGIN OF it_sete OCCURS 0,
           valfrom LIKE setleaf-valfrom,
           objnr LIKE coss-objnr,
           END OF it_sete.
    DATA : BEGIN OF it_cospb OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_cospb.
    DATA : BEGIN OF it_cossb OCCURS 0,
           objnr LIKE coss-objnr,
           kstar LIKE coss-kstar,
           wkg001 LIKE coss-wkg001,
           END OF it_cossb.
    DATA : BEGIN OF it_bkpf OCCURS 0,
           belnr LIKE bkpf-belnr,
           END OF it_bkpf.
    DATA : BEGIN OF it_cossd1 OCCURS 0,
          objnr LIKE coss-objnr,
           belnr  LIKE bseg-belnr,
           wkg001 LIKE coss-wkg001,
           END OF it_cossd1.
    DATA : BEGIN OF it_cossd2 OCCURS 0,
           objnr LIKE coss-objnr,
           kstar LIKE coss-kstar,
           wkg001 LIKE coss-wkg001,
           END OF it_cossd2.
    DATA : BEGIN OF it_cosse OCCURS 0,
           objnr LIKE coss-objnr,
           kstar LIKE coss-kstar,
           wkg001 LIKE coss-wkg001,
           END OF it_cosse.
    dATA : itab_period TYPE string .
    DATA : BEGIN OF it_cospb_sum OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_cospb_sum.
    DATA : BEGIN OF it_cossb_sum OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_cossb_sum.
    DATA : BEGIN OF it_cossd1_sum OCCURS 0,
           kstar  LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_cossd1_sum.
    DATA : BEGIN OF it_cossd2_sum OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_cossd2_sum.
    DATA : BEGIN OF it_cosse_sum OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_cosse_sum.
    DATA : BEGIN OF it_unmatch OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_unmatch.
    DATA : BEGIN OF it_merge OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_merge.
    DATA : BEGIN OF it_merged OCCURS 0,
           kstar LIKE cosp-kstar,
           wkg001 LIKE cosp-wkg001,
           END OF it_merged.
    DATA : BEGIN OF it_field OCCURS 0,
           fielda TYPE p DECIMALS 2,
           fieldb TYPE p DECIMALS 2,
           fieldc TYPE p DECIMALS 2,
           fieldd TYPE p DECIMALS 2,
           fielde TYPE p DECIMALS 2,
           fieldf TYPE p DECIMALS 2,
           END OF it_field.
    DATA : v_fielda TYPE p DECIMALS 2,
           v_fieldb TYPE p DECIMALS 2,
          v_fieldc TYPE p DECIMALS 2,
           v_fieldd TYPE p DECIMALS 2,
           v_fielde TYPE p DECIMALS 2,
          v_fieldf TYPE p DECIMALS 2,
           v_objnr LIKE coss-objnr,
          v_kstar LIKE cosp-kstar,
           v_field(1).
          yr(4),
          mon(2),
          day(2),
          v_date LIKE sy-datum,
          v_date1 LIKE sy-datum,
          flag1 TYPE c ,
          flag2 TYPE c ,
          flag3 TYPE c ,
          flag4 TYPE c,
          flag5 TYPE c.
    data : begin of iaufk occurs 0 ,
           objnr like aufk-objnr,
           end of iaufk .
    DATA : BEGIN OF IFEK OCCURS 0 ,
           KSTAR LIKE COEP-KSTAR,
           WTGBTR LIKE COEP-WTGBTR,
           OBJNR  LIKE COEP-OBJNR,
           END OF IFEK.
    DATA : BEGIN OF IMAT OCCURS 0 ,
           KSTAR LIKE COSP-KSTAR,
           WTG001 LIKE COSP-WTG001,
           WTG002 LIKE COSP-WTG002,
           WTG003 LIKE COSP-WTG003,
           WTG004 LIKE COSP-WTG004,
           WTG005 LIKE COSP-WTG005,
           WTG006 LIKE COSP-WTG006,
           WTG007 LIKE COSP-WTG007,
           WTG008 LIKE COSP-WTG008,
           WTG009 LIKE COSP-WTG009,
           WTG010 LIKE COSP-WTG010,
           WTG011 LIKE COSP-WTG011,
           WTG012 LIKE COSP-WTG012,
           WTG013 LIKE COSP-WTG013,
           WTG014 LIKE COSP-WTG014,
           WTG015 LIKE COSP-WTG015,
           WTG016 LIKE COSP-WTG016,
           OBJNR LIKE COSP-OBJNR,
           END OF IMAT.
    data : begin of imgk occurs 0 ,
            kstar like coep-kstar,
            wtgbtr like coep-wtgbtr,
            objnr   like coep-objnr,
            end of imgk.
    data : begin of iwvk occurs 0 ,
            kstar  like coep-kstar,
            wtgbtr like coep-wtgbtr,
            objnr  like coep-objnr,
            end of iwvk.
    AT SELECTION-SCREEN.
      PERFORM validity.
    START-OF-SELECTION .
      PERFORM get_period.
      PERFORM fill_skb1.
      PERFORM get_aufk .
      perform get_COEP .
      PERFORM GET_MGK.
      perform get_wvk.
      PERFORM fill_it_glt0.
      PERFORM fill_it_glt0_sum.
      PERFORM fill_set.
      PERFORM fill_cospb_cossb.
      PERFORM sum_cospb_cossb.
      PERFORM fill_cossd1_cossd2.
      PERFORM sum_cossd1_cossd2.
      PERFORM fill_cosse.
      PERFORM sum_cosse.
      PERFORM fill_it_unmatch.
      PERFORM fill_it_merge.
      PERFORM fill_it_merged.
      PERFORM fill_it_fieldb.
      PERFORM fill_it_fieldc.
      PERFORM fill_it_fieldd.
      PERFORM fill_it_fieldf.
      PERFORM display.
    PERFORM fill_it_fielde.
    TOP-OF-PAGE.
      PERFORM header.
    AT LINE-SELECTION.
      PERFORM list_display.
    *&      Form  VALIDITY
          text
    -->  p1        text
    <--  p2        text
    FORM validity .
      SELECT SINGLE bukrs FROM t001 INTO t001-bukrs WHERE bukrs = p_bukrs.
      IF sy-subrc NE 0.
      ENDIF.
    ENDFORM.                    " VALIDITY
    *&      Form  FILL_SKB1
          text
    -->  p1        text
    <--  p2        text
    FORM fill_skb1 .
      SELECT saknr FROM skb1 INTO TABLE it_skb1
               WHERE bukrs = p_bukrs
               AND   saknr LIKE '000004%' .
      SORT it_skb1 BY saknr.
    ENDFORM.                                                    " FILL_SKB1
    *&      Form  FILL_IT_GLT0
          text
    -->  p1        text
    <--  p2        text
    FORM fill_it_glt0 .
      CASE p_period.
        WHEN '1'  OR '01'.
          SELECT racct hsl01
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '2' .
          SELECT racct hsl02
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '3' .
          SELECT racct hsl03
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '4' .
          SELECT racct hsl04
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '5' .
          SELECT racct hsl05
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '6' .
          SELECT racct hsl06
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '7' .
          SELECT racct hsl07
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '8' .
          SELECT racct hsl08
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '9' .
          SELECT racct hsl09
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '10' .
          SELECT racct hsl10
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '11' .
          SELECT racct hsl11
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '12' .
          SELECT racct hsl12
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '13' .
          SELECT racct hsl13
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '14' .
          SELECT racct hsl14
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '15' .
          SELECT racct hsl15
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
        WHEN '16' .
          SELECT racct hsl16
                 FROM glt0
                 INTO TABLE it_glt0
                 FOR ALL ENTRIES IN it_skb1
                 WHERE racct = it_skb1-saknr
                   AND   bukrs = p_bukrs
                   AND   drcrk = 'S'
                   AND   ryear = p_year.
                  AND   rtcur = 'INR' .
      ENDCASE.
      SORT it_glt0 BY racct.
    ENDFORM.                    " FILL_IT_GLT0
    *&      Form  FILL_IT_GLT0_SUM
          text
    -->  p1        text
    <--  p2        text
    FORM fill_it_glt0_sum .
      SORT it_glt0 BY racct.
      LOOP AT it_glt0.
        it_glt0_sum-racct = it_glt0-racct.
        AT END OF racct.
          SUM.
          it_glt0_sum-hsl01 = it_glt0-hsl01.
          APPEND it_glt0_sum.
          CLEAR it_glt0_sum.
        ENDAT.
      ENDLOOP.
      LOOP AT it_glt0_sum.
        AT LAST.
          SUM.
         it_fielda-fielda = it_glt0_SUM-hsl01.
          it_field-fielda = it_glt0_sum-hsl01.
          APPEND it_field.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " FILL_IT_GLT0_SUM
    *&      Form  fill_SET
          text
    -->  p1        text
    <--  p2        text
    FORM fill_set .
      SELECT valfrom valto FROM setleaf INTO TABLE it_setb1
                          WHERE setclass = '0102' AND
                                setname IN ('FIXED', 'VARIABLE') .
      SORT it_setb1 BY valfrom .
      SELECT valfrom FROM setleaf INTO CORRESPONDING FIELDS OF TABLE it_setb2
                         WHERE setclass = '0101' AND
                               setname = 'JL-VVGK'.
      SORT it_setb2 BY valfrom .
      SELECT valfrom FROM setleaf INTO CORRESPONDING FIELDS OF TABLE it_setd
                          WHERE setclass = '0102' AND
                                setname IN ('FBK', 'MAT').
      SORT it_setd BY valfrom .
      SELECT valfrom FROM setleaf INTO CORRESPONDING FIELDS OF TABLE it_sete
                          WHERE setclass = '0102' AND
                                setname = 'CO-RECON'.
      SORT it_sete BY valfrom .
      LOOP AT it_sete.
        CONCATENATE 'KSKBX' it_sete-valfrom INTO v_objnr SEPARATED BY space.
        it_sete-objnr = v_objnr.
        MODIFY it_sete.
      ENDLOOP.
      SORT it_sete BY valfrom .
      LOOP AT it_setb2.
        CONCATENATE 'KSKBX' it_setb2-valfrom INTO v_objnr SEPARATED BY space.
        it_setb2-objnr = v_objnr.
        MODIFY it_setb2.
      ENDLOOP.
      LOOP AT it_setd.
        CONCATENATE 'KSKBX' it_setd-valfrom INTO v_objnr SEPARATED BY space.
        it_setd-objnr = v_objnr.
        MODIFY it_setd.
      ENDLOOP.
    ENDFORM.                    " fill_SET
    *&      Form  fill_cospb_cossb
          text
    -->  p1        text
    <--  p2        text
    FORM fill_cospb_cossb .
      CASE p_period.
        WHEN '1' .
          SELECT kstar wkg001 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg001 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '2' .
          SELECT kstar wkg002 FROM cosp INTO TABLE it_cospb
           FOR ALL ENTRIES IN it_setb1
                        WHERE kstar = it_setb1-valfrom
                        AND   gjahr = p_year
                       AND     vrgng = 'COIN'
                       AND     beknz = 'S'.
          SELECT objnr kstar wkg002 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '3' .
          SELECT kstar wkg003 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg003 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '4' .
          SELECT kstar wkg004 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg004 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '5' .
          SELECT kstar wkg005 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg005 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '6' .
          SELECT kstar wkg006 FROM cosp INTO TABLE it_cospb
            FOR ALL ENTRIES IN it_setb1
                         WHERE kstar = it_setb1-valfrom
                         AND   gjahr = p_year
                        AND     vrgng = 'COIN'
                        AND     beknz = 'S'.
          SELECT objnr kstar wkg006 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '7' .
          SELECT kstar wkg007 FROM cosp INTO TABLE it_cospb
           FOR ALL ENTRIES IN it_setb1
                        WHERE kstar = it_setb1-valfrom
                        AND   gjahr = p_year
                       AND     vrgng = 'COIN'
                       AND     beknz = 'S'.
          SELECT objnr kstar wkg007 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '8' .
          SELECT kstar wkg008 FROM cosp INTO TABLE it_cospb
           FOR ALL ENTRIES IN it_setb1
                        WHERE kstar = it_setb1-valfrom
                        AND   gjahr = p_year
                       AND     vrgng = 'COIN'
                       AND     beknz = 'S'.
          SELECT objnr kstar wkg008 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '9' .
          SELECT kstar wkg009 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg009 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '10' .
          SELECT kstar wkg010 FROM cosp INTO TABLE it_cospb
           FOR ALL ENTRIES IN it_setb1
                        WHERE kstar = it_setb1-valfrom
                        AND   gjahr = p_year
                       AND     vrgng = 'COIN'
                       AND     beknz = 'S'.
          SELECT objnr kstar wkg010 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '11' .
          SELECT kstar wkg011 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg011 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '12' .
          SELECT kstar wkg012 FROM cosp INTO TABLE it_cospb
           FOR ALL ENTRIES IN it_setb1
                        WHERE kstar = it_setb1-valfrom
                        AND   gjahr = p_year
                       AND     vrgng = 'COIN'
                       AND     beknz = 'S'.
          SELECT objnr kstar wkg012 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '13' .
          SELECT kstar wkg013 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg013 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '14' .
          SELECT kstar wkg014 FROM cosp INTO TABLE it_cospb
         FOR ALL ENTRIES IN it_setb1
                      WHERE kstar = it_setb1-valfrom
                      AND   gjahr = p_year
                     AND     vrgng = 'COIN'
                     AND     beknz = 'S'.
          SELECT objnr kstar wkg014 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '15' .
          SELECT kstar wkg015 FROM cosp INTO TABLE it_cospb
          FOR ALL ENTRIES IN it_setb1
                       WHERE kstar = it_setb1-valfrom
                       AND   gjahr = p_year
                      AND     vrgng = 'COIN'
                      AND     beknz = 'S'.
          SELECT objnr kstar wkg015 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
        WHEN '16' .
          SELECT kstar wkg016 FROM cosp INTO TABLE it_cospb
           FOR ALL ENTRIES IN it_setb1
                        WHERE kstar = it_setb1-valfrom
                        AND   gjahr = p_year
                       AND     vrgng = 'COIN'
                       AND     beknz = 'S'.
          SELECT objnr kstar wkg016 FROM cosp
                           INTO TABLE it_cossb
                           FOR ALL ENTRIES IN it_setb2
                            WHERE objnr = it_setb2-objnr
                             AND  vrgng  IN ('COIN','RKIV')
                            AND   gjahr = p_year.
      ENDCASE.
      SORT it_cospb BY kstar.
      SORT it_cossb BY kstar.
    ENDFORM.                    " fill_cospb_cossb
    *&      Form  SUM_COSPB_COSSB
          text
    -->  p1        text
    <--  p2        text
    FORM sum_cospb_cossb .
      LOOP AT it_cospb.
        it_cospb_sum-kstar = it_cospb-kstar.
        AT END OF kstar.
          SUM.
          it_cospb_sum-wkg001 = it_cospb-wkg001.
          APPEND it_cospb_sum.
          CLEAR it_cospb_sum.
        ENDAT.
      ENDLOOP.
      LOOP AT it_cossb.
        it_cossb_sum-kstar = it_cossb-kstar.
        AT END OF kstar.
          SUM.
          it_cossb_sum-wkg001 = it_cossb-wkg001.
          APPEND it_cossb_sum.
          CLEAR it_cossb_sum.
        ENDAT.
      ENDLOOP.
      SORT it_cospb_sum BY kstar.
      SORT it_cossb_sum BY kstar.
    ENDFORM.                    " SUM_COSPB_COSSB
    *&      Form  fill_it_unmatch
          text
    -->  p1        text
    <--  p2        text
    FORM fill_it_unmatch .
      LOOP AT it_glt0_sum.
        READ TABLE it_cospb_sum WITH KEY kstar = it_glt0_sum-racct.
        IF sy-subrc NE 0.
          it_unmatch-kstar = it_glt0_sum-racct.
          it_unmatch-wkg001 = it_glt0_sum-hsl01.
          APPEND it_unmatch.
          CLEAR it_unmatch.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " fill_it_unmatch
    *&      Form  fill_it_merge
          text
    -->  p1        text
    <--  p2        text
    ----

    We can't really tell without seeing the code. Would you post it please? (Just the portions that are overly slow.)
    Rob

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

    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

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

  • Report on Vendor Balance reconcillation .........

    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 in the Selection-Screen when it is Selected .....

    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 in the Selection-Screen when it is Selected .....

  • Changing vendor reconcillation account

    Hi Friends,
                       While uploading vendor master data, I have missed one vendor's reconcillation account.Now, when I want to create entries in XK02, this field is grey. I have gone through the threads, some suggested to change in VMR. what is VMR ? and how to change it?please help...
    Regards,

    Dear Friend,
    If the required Field is in Grey colour then you cannotinsert any details in it.
    First of make the field changeable by:
    IMG - Log General - Business Partner - Vendor Control - Define Transaction dependent Screen Layout &  Change the Reconcillation field to Change mode and Save.
    Now, If there is a single Vendor Master Record to be changed then go to XK02 & do the needful changes.
    But if you have multiple Vendor accounts (say hundreds) then go to T-Code Mass & select LFA1 - Venders & do Mass Maintenance.
    Hope this helps...
    Give points if Useful...
    Thanks,
    Jignesh Mehta
    Mumbai

  • Run time error while reconcillation for sub contracting challan

    Hi,
       Gurus please solve this issue ,
       When i am trying to reconcillation for sub contracting challan against the GR DOC number.When we are assing the quantity for challan and save at that time i am getting abap dump

    Analyse in ST22
    U may take abaper help

  • Sub contracting challan reconcillation

    Hi Friends,
                                 I am doing the subcontracting for sales order
    1. I have created the po with account assignment E
    2. Transferred the material from main store to sub contracting store
    3. created sub contracting challan
    3. created goods reciept and in that i have given reference of sub contracting challan
    4. now i want to do the reconcillation , but system is giving error message as " challan material is different from material document..
    so please suggest , what i have to do? please reply....

    Hi
    Since you are transfering the material to subcontracting store, which is under your premises.You cannot do a reconsiltion.
    If you have seprate subcontractor ,then its possible to do the reconsilation.
    follow the  below procedure subcontracting for sale order :
    1.created the po with account assignment E
    2. Issue the material to Subcontractor by creating a new mvt type 541 E. You cannot issue the sale order stock to subcontractor with 541 mvt.
    3.Create Subcontracting challan
    4.Do GR
    5.Do the reconsilation
    Thanks & Regards
    Dhanapal.

  • Vendor Master Payment Terms and Reconcillation account

    Pls tell me In SPRO where Payment Terms and Reconcillation account's are maintained for Vendormaster

    HI Vinay,
    Your question isn't clear. You want to define Payment terms and Reconciliation account for Vendor Master record ?
    If this is correct then go through the below path for payment terms & Reconciliation Account.
    MAINTAIN TERMS OF PAYMENT:
    SPRO –> REF IMG –> Financial Accounting –> Accounts Receivable and Accounts Payable –> Business Transactions –> Incoming invoices/Credit memos –> Maintain terms of payment (or) OBB8
    RECONCILIATION ACCOUNT
    Accounting –> Financial Accounting –> General Ledger –> Master Records   –> Individual processing –> Centrally (or) FS00
    Enter G/L Account No. – XXXXXX
    Company Code – AAAA and select CREATE   button. 
    Under Type/Description tab
    Account Group – LIABILITIES
    • Balance sheet
    Short text – A/P (or) SUNDRY CREDITORS A/C
    G/L acct long text – A/P A/C
    Under Control data tab
    Account currency – INR
    Reconciliation account for A/C type – Vendors
    Under Create/bank/interest tab
    Field status group – G067 and SAVE.
    Rams.N
    If this is helpful, assign me points

  • Multiple reconcillation accounts for same vendor

    All SAP Gurus,
    Is it possible to have Multiple reconcillation accounts for same vendor code (where purchasing org and company code is same)?
    Regards,

    hi,
    You can't have more than one because the reconcilation account...Because this is the soul account by which you pay to vendor and send the details to further process to FI dept...
    Regards
    Priyanka.P

  • Not able to do Reconcillation with BP.

    Hello SAP Experts,
                             Here I'm facing one problem. My clients wants not to cut the TDS amount on transaction level but he wants to cut during payment. So that he can get the complete track report of invoice alongwith gross amount and the TDS details also with respect to the same invoice. So, I suggetsed them to not to cut the TDS on transaction level and cut the same on during payment on account. Its getting cut properly but what i was thinking, once after doing payment on account with respect to the invoice i will do the BP internal reconcillation so that it would be as link invoices to payment and my invoice will get closed. But when I'm performing this reconcillation. Its not allowing me to do and getting error tht 'Witholding tax needs to be processed for atleast one of the selected transactions. This can only be done by restricting reconcilation to transation by using same witholding tax code.'
    Whts the exact problem I  am not getting. Please help me.......
    Thanks & Regards,

    Hi!
    This is the content of tht note
    Recon. of A/R Inv. including WTax with manual JE fails
    SAP Note Number: 1344832 
    Symptom
    When trying to reconcile an A/R Invoice that includes withholding tax with manual journal entry that is similar to the transaction of the A/R invoice, but with opposite signs, the following error message appears:
    "Withholding Tax must be processed for at least one of the selected transactions. Only transactions with the same withholding tax code can be reconciled" and the reconciliation cannot be performed.
    Other terms
    Internal Reconciliation, Reconciliation, SAP Business One 2007 A, Withholding Tax, WTax, Business Partner, BP
    Reason and Prerequisites
    FAQ
    Solution
    Starting from SAP Business One 2007 A, documents that include withholding tax can be internally reconciled only if:
    Both payment and invoice documents have the same withholding tax code. In addition, credit memos can be created with withholding tax only when they are based on an invoice with withholding tax.
    In multiple business partner reconciliation, if an A/R invoice and A/P invoice have the same withholding tax code, the reconciliation can take place but no processing of withholding tax occurs. In such case the following message appears:
                "Withholding Tax will not be processed for this reconciliation.  Do you want to continue?"   If the user chooses the No button, then reconciliation is not processed, if the user chooses the "Yes" button, the reconciliation is performed, but the withholding tax is not handled.
    If any other combination of transactions is selected, such as: manual journal entries, credit memos, or documents with different withholding tax codes, the reconciliation is not performed and the following message appears:
    "Withholding Tax must be processed for at least one of the selected transactions. Only transactions with the same withholding tax code can be reconciled."

  • Manual reconcillation

    Hello friends,
    I am using SAP B1 2007  Patch 10.
    For Reconcillation we are using  Banking --> Bank Statement& Reconcillation -->Manual Reconcillation
    where i have seen number of invoices related to respective  GL Account.
    which contains one check field Cleared  which i have to check manually by searching it from Bank Statement on the basis of Ref3 field which is cheque number. All this check are manual task. I have at atime around 500 cheques and invoices to reconcile so its very crusial task. so please suggest me any proper way to do it.
    I  can import Bank Statement by DTW. but how it helps me in above defined process.

    If you import your bank statements you can use the External Reconciliaiton and do some automatic matching I think.
    It is not a process I have used, so I cannot be of much help...

  • Job for the Transfer of the Reconcillation key into FI

    Hi Friends,
    I have scheduled a Job through Job Container FKJOXTR with Job Type "G1 Integration FI/COPA". I have customized the event 1906 so that the TCODE FPG1M gets executed. Inorder to close the Reconcillation Key event 943 is cutomized.
    Here the Job Type should be K2 or G1
    For reason unknown Event 943 is not triggered. I have set a break point in FM- FKK_FUNC_MODULE_DETERMINE inorder to look the events which were triggered in this Process.
    They are respectively, 1906, 1777, 1795, 1796 and 970 are triggered and not 943.
    Please throw some light on this.
    Thanks in advance!
    Lakshmi

    Hi Lakshmi,
    Event 943 is linked to transaction FPG1M, where in SAP has given the flexibility to execute the general ledger transfer of reconciliation keys from FI-CA up to a specific posting date only.
    This event that is called during the interval processing of transaction FPG1M. Here, you can set a date (DATBIS) up to which the summary records of the reconciliation keys are transferred to the general ledger.
    I am not sure about the issue that you are facing-is it with the closing of the reconciliation keys or with the transfer of reconciliation keys in to FI.
    Closing reconciliation keys is a standard functionality and you can take the reco. keys and execute them in transaction FPG4 to check if there are any issue.
    Similarly, if you are facing issues in the transfer to FI, then you can check the reason in the application logs for the FPG1M job.
    Hope it helps...
    Thanks,
    Amlan

  • Re -Reconcillation of subcontracting challan against "102" mov type mat doc

    Dear All,
    While we are doing the reconcilliation of the Material document (mov type-"102" ) against the subcontracting challan (ALREADY fully reconcilled against 101 material document, but not compeleted), then system is NOT allowing us to do the reconcillation, requirement is to reduce the qty assignment  in already reconcilled challan, as we have reversed the material document
    1.) When we have assigned the 102 movement type to movement type group to 0001( Issue movement type group)
    then system is giving an error message : 8I567-Challan not valid, Material doc. is valid for another scenario during J1IFQ.
    2.) and when we are assigning the 102 movement type to movement type group 0002( Receipt movement type group) , then system gives error message : 8I574 -Material XXX is not assigned fully, short by YYY KG
    Please suggest the right way of doing it.
    Thanks & Regards
    Nitin Chhabra

    Hi
    If a challan is reconciled it should not be opened again. That is illegal. You need to do subsequent adjustment if you want to alter your consumption in subcontract. If you do 102 and reverse your consumed material,You need to include 544 movement type in your movement type grouping then You need to create a new 45a challan.
    Regards
    Antony

  • Reconcillation account for Forwarding Agent V-11

    Gurus
    I have copied company code from standard 1000, without the G/L accounts.
    I have created account group with OBD4, and G/L accounts withe FS00, which i used in customer master as reconcillation account ( so as to see effect of accounting document)
    While creating forwarding agent V-11 ( For Route determination ), When I use one of the  G/L accounts I created, I get an error
    " Account 4200000000 is invalid reconcillation account in company code XXXX "
    I do not know in detail about settings required for Reconcillation account.
    Would appreciate if explained step by step.
    Regards
    Trupti

    You have not indicated whether you have assigned the Account Group 0005 to your Partner Functions.
    Also, in VT01N, what message system was popping up.  Please update.
    thanks
    G. Lakshmipathi

  • Subcontracting Reconcillation

    Hi Experts,
    I face subcontracting reconcillation problem.
    Subcontracting Challan quantity 2,683 KG.
    Subcontracting Receipt (GR) QUANTITY 3,044 KG
    At the time of Reconcillation in T-Code J1IFQ Error will occuring -
    Material PR65IC12 is not assigned fully, short by 361.000 KG
    How I can resolved that issue.
    Please help...
    Thanks & Regards,
    Sachin.

    >
    sachin shelke wrote:
    > Hi Experts,
    >
    >  I face subcontracting reconcillation problem.
    >
    >  Subcontracting Challan quantity 2,683 KG.
    >  Subcontracting Receipt (GR) QUANTITY 3,044 KG
    >  At the time of Reconcillation in T-Code J1IFQ Error will occuring -
    >
    > Material PR65IC12 is not assigned fully, short by 361.000 KG
    >
    > How I can resolved that issue.
    >
    > Please help...
    >
    > Thanks & Regards,
    >  Sachin.
    Have you sent entire qty 3044kgs in a single / multiple challans if it is then
    Reconcile  challan nos against material document.

Maybe you are looking for