Help - BSAS/BSAK

Hi
Complete newbie calling... really appreciate some help.
I am trying to get a text description for a VI document type from the BSAK table.  I am looking at the BSAS table where there is a SGTXT field and the link appears to be BELNR.  This works for RE document types no problem but VI doesn't.  Any ideas why?
Cheers
Steve

Hi Steve,
The fact if the SGTXT (item text) field is filled depends on the following variables:
- Like Rob pointed out, in configuration the field can be set as mandatory as such or controlled by an user-exit;
- Creation of the accounting document.
   - a. external interface posts this document and populates the field with data;
   - b. internal posting. Part of SAP internal integration posts this document, e.g. billing dociment -> accounting document (RV).
- Manually by business user as part of your business process.
Hope this helps, however it makes most sense in order for you to discuss this with your SAP support team.
Kind regards,
Robert

Similar Messages

  • Help to find the exact tables..

    Hi,
    Please help in tracking out the DB tables to link the cost centres,account number and document number ..
    Thnx in advance..

    Leeza,
    Rich has mentioned the most obvious ones. Would have thought any of the index tables that make up BSEG (BSIS, BSAS, BSAK, BSIK, BSID, BSAD, BSIM).
    Can you give us more info so we can help you more effeciently? Eg. what sort of account number (customer, vendor, GL, etc), what sort of document number (acc doc, sales doc, etc), etc?
    Cheers,
    Pat.

  • GL Account open items- BSIS table

    Hello All,
    The standard BSIS table contains the GL Account open items. However i can find the line items for GL Accounts which are not based on "Open item management" also in this table. eg.Salary account postings from yr 2002 (All year end postings have been done appropriately). Is there any other table which can give the relevant info. ?
    Any pointers to this will be highly appreciated.
    Regards,
    Aastha

    Not sure if I have understood the question, but I will give it a try.
    There are two different concepts - "Open Item Management" and "Line Item Display".
    Line Item Display allows you to see from FS10N, further drill-down into FBL3N
    Open Item Management allows you to see Open and Cleared Items.
    Open Items are stored in tables BSIS, BSIK, BSID
    Cleared Items are stored in tables BSAS, BSAK, BSAD
    Over and above this, ALL documents are stored in BSEG and BKPF, irrespective of their Open Item or Line Item status.
    Hope this helps.

  • Customer open items table

    hi all,
    what is the table for customer open items?
    thanks,
    Viren.

    Hi,
    All the Customer Open items are stored in BSID table.
    When those open items gets cleared then they are moved to BSAD table. Also corresponeding entries goes to table BKPF & BSEG with all the accounting document details.
    Also for GL & Vendor Open items are in BSIS & BSIK respectively and GL & Vendor Cleared items are in BSAS & BSAK respectively.

  • Open Items Table

    hi experts
    Table name for Open Items data.
    Thanks
    Keshavp.
    Search SDN

    Hi,
    All the Customer Open items are stored in BSID table.
    When those open items gets cleared then they are moved to BSAD table. Also corresponeding entries goes to table BKPF & BSEG with all the accounting document details.
    Also for GL & Vendor Open items are in BSIS & BSIK respectively and GL & Vendor Cleared items are in BSAS & BSAK respectively.

  • How can I find clearing document item from BSE_CLR?

    Hi All,
    I can find cleared document item be partial paid in table bse_clr by field BUKRS, BELNR, GJAHR, BUZEI.
    but I can't find clearing document item in table bse_clr, is there any other table stored the clearing document item data?
    best regards,
    Eric

    hi
    Use table BSAD,BSAS,BSAK  for cutomers, gl accounts and vendors respectively
    Regards

  • Vendor balance display

    Hi All,
         I need to calculate the vendor balance amount for particular year. Can anyone please let me know related tables for the same and how to find it out.
    Thanks in advance!
    Regards,
    Kannan

    Hi Kannan,
    I hope your functional guy let you know the transation to see vendor balance for related year.
    Now If you need to calculate vendor balance, two tables will help you, BSAK & BSIK.
    BSAK is a vendor cleared item table and BSIK is for open item.
    Take absolute sun value from BSAK for given year and add it with BSIK doc. for perticular venrdor and for given year.
    Hope it's clear to you.
    Regards
    Nimesh S. Patel.

  • Re: Tables of Vendor Invoice

    Hi All,
    Please let me know what are tables will get updated for vendor invoice and clearing. As my understand below tables can be update.
    1) Open Item Tables: BSEG,BSIS,BSIK,FAGLFEXA,FAGLFEXT and FAGL_SPLINFO
    2)Cleared Item: BSEG,BSAS,BSAK,FAGLFEXA,FAGLFEXT and FAGL_SPLINFO
    If anything can be updated other than above mention tables.
    If anyone have kindly reply ASAP.
    Regards,

    Hi,
    Go to ST05, set a trace, post your invoice, and then stop a trace and see the log. You will see all the relevant tables. You have to understand, that some tables are updated due to specific configuration in the system, e.g. CO, PCA, FM tables,  and therefore there could be no 'general' answer to your question.
    Regards,
    Eli

  • Ledger Report in Indian Format

    Hello All,
    My client require the FI ledger balance report in following format
              Ledger Details(Customer, Vender or Gla/c)                    
    Opening Balance(Monthly from last period)                                                           100
    Date     Item Text     Document Number     Offset GL(with Txt)     Debit     Credit     Closing Balance
    XX.XX.XXXX     XXXXXXXX     XXXXXXXXXXXXX     XXXX                            50     10     140
    My question is from which Table and fields i can fetch the data BSEG, BKPF, BSIS, BSIK, BSAS, BSAK,BSID,BSAD .
    Suggest

    Hi,
    For Customers:-
    Use function module BAPI_AR_ACC_GETPERIODBALANCES to get the opening balance and closing balance by passing the period.
    Use table BSID and BSAD to fetch the data for transactions in a period.
    For Vendors:-
    Use function module BAPI_AP_ACC_GETPERIODBALANCES to get the opening balance and closing balance by passing the period.
    Use table BSIK and BSAK to fetch the data for transactions in a period.
    For G/L accounts:-
    Use function module BAPI_GL_ACC_GETPERIODBALANCES to get the opening balance and closing balance by passing the period.
    Use table BSIS and BSAS to fetch the data for transactions in a period.
    For getting the debit amount and credit amount use field SHKZG (Debit/Credit Indicator). If S then debit, if H then credit.
    Other data you can also find in these tables.
    Regards,
    Guarav

  • OSS note availability

    Hi Guys,
    Any OSSnote is available to increase the performance of reports in FI, which use almost all the table:
    BSIS, BSIK, BSAS, BSAK and BSEG
    Thanks,
    Aravinda.

    Hi Aravinda!
    Of course there are a lot of OSS notes about performance. With the search term 'performance BSEG' I had 431 hits - some old notes, but some new ones, too. Depending on your release and installation (Retail, Oil,...) the results can be filtered to get the relevant ones easier. So search yourself in <a href="http://service.sap.com/notes">SAP notes</a>.
    Regards,
    Christian

  • Update the correct profit center in tables BSEG / BSAS / BSIS / BSIK / BSAK

    Hi FI Gurus,
    I am looking after a Support Project in SAP IS-Retail. I am from the FI functional and possess very limited knowledge in FI.
    My client has done the sales posting in SAP using IDOC's. During the postings, it was found that wrong Profit Centers were assigned. Due to this, the sales reports based on Profit Center are coming wrong. It was suggested to the client to reverse the IDOCs, do necessary changes in Profit Centers and re-post the IDOCs. The client wanted a short method to get the reports right. A senior consultant (Non FI) in the Company and the Management are forcing me to write a ABAP program to update certain (not all) FI tables. According to me, it will have some negative impact on the system for which reason I am not ready to take the call as a Project Manager. The management wants me to do the following (I am quoting the same mail which I received from the consultant ) :
    We need to update the correct profit center in tables BSEG / BSAS / BSIS / BSIK / BSAK / BSID / BSAD, wherever the records exists against billing document numbers provided.
    BAPI for updating profit center in Accounting documents: BAPI_ACC_DOCUMENT_POST
    Function Module : 'BAPI_DOCUMENT_CHANGE'
    Also look at SAP Note: Note 966428 - FB02: Functional area (FKBER) can be changed on coding block
    Based on the above, the ABAPer has written the program, the program will update the tables BSEG, BSIS, BSIK, according to the selection criteria of document number, company code and line item number with the new profit centers.
    Please clarify me about the following :
    1. This program is updating profit center in just the FI tables (BSEG, BSIS, BSIK etc.), but the New GL tables (faglflexa and faglflext) which have approx. 65 lakh entries in PRD do not get updated with the correct profit center.
    2. The Controlling tables also do not get updated with this program yet. Also since the previoius updation of Profit centers did not happen correctly, most of the times the controlling document has not been generated at all. Since we will be updating the profit center in just the FI tables, the controlling document will not be created still. Though there are SAP notes suggesting re-creation of the Controlling documents, which is still an option you can choose. Please confirm.
    3. The Special GL also does not get updated because of this.
    This is a very critical and hot issue. My job is at Stake as the Management has threatened me of sacking if I do not follow their directives as they are only concerned with their money.
    Is the consultant who suggested this change RIGHT ?
    Your early replies will help me take the decision.
    Regards

    Hi,
    There is no standard program or BAPI that would update profit centre in a posted document. You should either develop your own process for it,which is not recommended, but sometimes is essential, or reverse the existing documents and post them with the correct profit centre.
    Regards,
    Eli

  • BSAK link to BSIS and BSAS...

    Hello Experts,
    I am doing 2 FOR ALL ENTRIES to get records from BSIS and BSAS based on the records
    that I got in BSAK. Currently, I only know of 3 fields to link which is BUKRS, BELNR, AND GJAHR
    but I is still any more fields that I can link to BSAK from BSIS and BSAS? Because we are
    experiencing performance issues in my program. I am using index for the 3 tables but still it gives us
    performance issues. Below is my code:
    *   Get previous year
        lv_year = p_gjahr - 1.
    *   Get records from PAYR
        SELECT zbukr vblnr gjahr lifnr zaldt
          FROM payr
          INTO TABLE gt_payr
         WHERE zbukr = p_bukrs
           AND gjahr IN (lv_year, p_gjahr).
        DELETE gt_payr WHERE zaldt+4(2) > p_monat.
        SORT gt_payr BY zbukr vblnr gjahr lifnr zaldt.
        DELETE ADJACENT DUPLICATES FROM gt_payr COMPARING zbukr vblnr gjahr lifnr zaldt.
        IF NOT gt_payr[] IS INITIAL.
    *     Get records from BSAK
          SELECT bukrs blart gjahr monat belnr lifnr dmbtr shkzg
            FROM bsak
            INTO TABLE gt_bsak
             FOR ALL ENTRIES IN gt_payr
            WHERE lifnr = gt_payr-lifnr
              AND bukrs = gt_payr-zbukr
              AND augdt = gt_payr-zaldt
              AND augbl = gt_payr-vblnr
              AND gjahr = gt_payr-gjahr.
        ENDIF.
        DELETE gt_bsak WHERE monat > p_monat.
        DELETE gt_bsak WHERE shkzg <> 'H'.
        gt_payments[] = gt_bsak[].
        IF NOT gt_payments[] IS INITIAL.
    *   Get records from BSIS(Open items)
        SELECT bukrs blart gjahr monat dmbtr hkont
          FROM bsis
          INTO TABLE gt_bsis
           FOR ALL ENTRIES IN gt_payments
         WHERE bukrs = gt_payments-bukrs
           AND belnr = gt_payments-belnr
           AND gjahr = gt_payments-gjahr
           AND blart IN (lc_su, lc_px).
    *   Get records from BSAS(Cleared items)
        SELECT bukrs blart gjahr monat dmbtr hkont
          FROM bsas
          INTO TABLE gt_bsas
           FOR ALL ENTRIES IN gt_payments
         WHERE bukrs = gt_payments-bukrs
           AND belnr = gt_payments-belnr
           AND gjahr = gt_payments-gjahr
           AND blart IN (lc_su, lc_px).
        ENDIF.
    Hope you can help me guys. Thank you and take care!

    In a statement with a SELECTstatement with FOR ALL ENTRIES, the addition ORDER BY can only be used with the addition PRIMARY KEY
    bsis
    select MANDT
    BUKRS
    HKONT
    AUGDT
    AUGBL
    ZUONR
    GJAHR
    BELNR
    BUZEI
    bsak
    select MANDT
    BUKRS
    LIFNR
    UMSKS
    UMSKZ
    AUGDT
    AUGBL
    ZUONR
    GJAHR
    BELNR
    BUZEI
    bsas
    select MANDT
    BUKRS
    HKONT
    AUGDT
    AUGBL
    ZUONR
    GJAHR
    BELNR
    BUZEI
    Message was edited by:
            Karthikeyan Pandurangan

  • Required replace BSEG with BSAK BSIK BSIS BSAS for report performance

    Hi Experts
    i m optimizing a report in which data is extracting from BSEG , 5 time so i reduses the performance of report
    so i want replace BSEG with BSAK BSIK BSIS BSAS for the same data what I am getting now . this is report of Purchase of item. code is here.
    REPORT  zmm_pur_reg_kanhe LINE-SIZE 1023.
    *& Des         :Purchase Tax Register Report for KANHE
    *& Created on  :12-07-07
    *& Suggested by:Paresh Saini(MM)
    *& Changes By: Lailu Philip
    *& Changed On: 24.09.2007
    *& Changes: New columns for G/L Code Description,VAT Amt,VAT Perc,CST Perc
    *&                         ,SHCESS Amounts,WCT G/L Acc., WCT Amt,Tax Code
    *&                          for Purchase Order,WCT tax code & Percentage.
    *& Request No:  S6DK921577
    Data Declaration
    *& changes: by Vincy on 12.01.2007
    *& changes: display purchase order with vendor type zpsr(get_zpsr)
    *& Request No:  S6DK930821
    TABLES:ekbe, lfa1, faglflexa.",j_1iexcdtl,lfa1,bkpf,bseg.
    TYPE-POOLS: slis.                                 "ALV Declarations
    DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           gd_layout    TYPE slis_layout_alv,
           gd_repid     LIKE sy-repid.
    DATA: it_sortcat   TYPE slis_sortinfo_alv OCCURS 1,
           col_pos LIKE fieldcatalog-col_pos .
    TYPES :BEGIN OF wa1_ekbe,
            belnr         TYPE ekbe-belnr,
            budat         TYPE ekbe-budat,
            menge         TYPE ekbe-menge,
            matnr         TYPE ekbe-matnr,
            ebelp         TYPE j_1iexcdtl-ritem1,
            ebeln         TYPE ekbe-ebeln,
            gjahr         TYPE ekbe-gjahr,
            lfbnr         TYPE ekbe-lfbnr,
            lfpos         TYPE ekbe-lfpos,
            bldat         TYPE ekbe-bldat,
            REEWR         TYPE REEWR,
            END OF wa1_ekbe.
    TYPES :BEGIN OF wa2_ekbe,
            belnr         TYPE ekbe-belnr,
            budat         TYPE ekbe-budat,
            menge         TYPE ekbe-menge,
            ebelp         TYPE ekbe-ebelp,
            ebeln         TYPE ekbe-ebeln,
            gjahr         TYPE ekbe-gjahr,
            lfbnr         TYPE ekbe-lfbnr,
            lfpos         TYPE ekbe-lfpos,
            bldat         TYPE ekbe-bldat,
            REEWR         TYPE REEWR,
            awkey(20)         TYPE c,
            MATNR         TYPE MATNR,
            MWSKZ         TYPE EKBE-MWSKZ,
            END OF wa2_ekbe.
    TYPES :BEGIN OF wa1_j_1iexcdtl,
            exnum         TYPE j_1iexcdtl-exnum,
            exdat         TYPE j_1iexcdtl-exdat,
            lifnr         TYPE j_1iexcdtl-lifnr,
            matnr         TYPE j_1iexcdtl-matnr ,
          maktx         TYPE j_1iexcdtl-maktx ,
          capind      TYPE j_1iexcdtl-capind,
            exbas         TYPE j_1iexcdtl-exbas,
            exbed             TYPE j_1iexcdtl-exbed,
            ecs            TYPE j_1iexcdtl-ecs,
            werks             TYPE j_1iexcdtl-werks,
            ritem1        TYPE j_1iexcdtl-ritem1,
            rdoc1             TYPE j_1iexcdtl-rdoc1,
            docyr         TYPE j_1iexcdtl-docyr,
            bedinv        type J_1IBEDINV,
            ecsinv        type J_1IECSINV,
            EXADDINV1     type J_1IEXADDINV1,
            exaddtax1    TYPE j_1iexcdtl-exaddtax1,
            rdoc2         TYPE j_1iexcdtl-rdoc2,
            ritem2        TYPE j_1iexcdtl-ritem2,
            menge         TYPE j_1iexcdtl-menge,
    ADDED FOR RUDRAPUR ON 08.03.2008 BY ASHOK.CH
    *ENDED ON 08.02.2008
            END OF wa1_j_1iexcdtl.
    TYPES :BEGIN OF wa1_lfa1,
            name1         TYPE lfa1-name1,
            ktokk         TYPE lfa1-ktokk,
            werks         TYPE lfa1-werks,
            lifnr         TYPE lfa1-lifnr,
            END OF wa1_lfa1.
    TYPES :BEGIN OF wa1_ekexclf,
            belnr         TYPE ekbe-belnr,
            budat         TYPE ekbe-budat,
            menge         TYPE ekbe-menge,
            ebelp         TYPE ekbe-ebelp,
            ebeln         TYPE ekbe-ebeln,
            gjahr         TYPE ekbe-gjahr,
            awkey(20)     TYPE c,
            exnum         TYPE j_1iexcdtl-exnum,
            exdat         TYPE j_1iexcdtl-exdat,
            lifnr         TYPE j_1iexcdtl-lifnr,
            matnr         TYPE j_1iexcdtl-matnr ,
          maktx         TYPE j_1iexcdtl-maktx ,
          capind      TYPE j_1iexcdtl-capind,
            exbas         TYPE j_1iexcdtl-exbas,
            exbed             TYPE j_1iexcdtl-exbed,
            ecs            TYPE j_1iexcdtl-ecs,
            werks             TYPE j_1iexcdtl-werks,
            ritem1        TYPE j_1iexcdtl-ritem1,
            rdoc1             TYPE j_1iexcdtl-rdoc1,
            docyr         TYPE j_1iexcdtl-docyr,
            name1         TYPE lfa1-name1,
            ktokk         TYPE lfa1-ktokk,
            exaddtax1     TYPE j_1iexcdtl-exaddtax1,
    added for rudrapur on 08.03.2008 by ASHOK.CH
            bedinv        type J_1IBEDINV,
            ecsinv        type J_1IECSINV,
            EXADDINV1     type J_1IEXADDINV1,
    END OF MODIFICATION ON 08.02.2008
            END OF  wa1_ekexclf.
    TYPES :BEGIN OF wa1_bkpf,
            bukrs TYPE bkpf-bukrs,
            belnr TYPE bkpf-belnr,
            gjahr TYPE bkpf-gjahr,
            budat TYPE bkpf-budat,
            tcode TYPE bkpf-tcode,
            awkey TYPE bkpf-awkey,
            END OF wa1_bkpf.
    TYPES :BEGIN OF wa1_bseg,
            bukrs     TYPE bseg-bukrs,
            belnr     TYPE bseg-belnr,     
            gjahr         TYPE bseg-gjahr,
            buzei     TYPE bseg-buzei,
            bschl     TYPE bseg-bschl,
            fwbas     TYPE bseg-fwbas ,     
            pswbt         TYPE bseg-pswbt,
            hkont         TYPE bseg-hkont,
            wrbtr     TYPE bseg-wrbtr,
            ktosl     TYPE bseg-ktosl,
            koart     TYPE bseg-koart,
            shkzg     TYPE bseg-shkzg,
            mwskz     TYPE bseg-mwskz,
            qsskz     TYPE bsis-qsskz,
            dmbtr     TYPE bseg-dmbtr,
            lifnr     TYPE bseg-lifnr,
            matnr     TYPE bseg-matnr,
            flag      TYPE C,
            flag_21   TYPE C,
            END OF wa1_bseg.
    TYPES :BEGIN OF wa1_tax,
            belnr         TYPE bseg-belnr,
            fi_docno      TYPE bseg-belnr,
            gjahr             TYPE bseg-gjahr,
            bukrs         TYPE bseg-bukrs,
            awkey         TYPE bkpf-awkey,
            fwbas         TYPE bseg-fwbas ,
            cst_amt       TYPE bseg-pswbt,
            vat_amt       TYPE bseg-pswbt,
            shcess_amt    TYPE bseg-pswbt,
            gl_accnt      TYPE bseg-hkont,
            gl_desc       TYPE skat-txt50,
            wctglacc      TYPE bseg-hkont,
            wctamt        TYPE bseg-dmbtr,
            taxcode       TYPE t059z-wt_withcd,
            taxperc       TYPE t059z-qsatz,
            total_value   TYPE bseg-wrbtr,
            set_off       TYPE bseg-wrbtr,
            cond_type     TYPE konv-kschl,
            description(20)   TYPE c,
            service_tax       TYPE bseg-wrbtr,
            service_ecess     TYPE bseg-wrbtr,
            service_shcess     TYPE bseg-wrbtr,      "vincy on 31.01.08
            ebelp         TYPE ekbe-ebelp,           "      on 15.04.08
            flag          TYPE c,
            mwskz     TYPE bseg-mwskz,
            END OF wa1_tax.
    DATA:BEGIN OF itab_skat,
           saknr TYPE skat-saknr,
           spras TYPE skat-spras,
           txt50 TYPE skat-txt50,
           END OF itab_skat.
    DATA: iskat LIKE itab_skat OCCURS 0,
           wa_skat LIKE itab_skat.
    DATA : BEGIN OF zbsis OCCURS 0,
             bukrs TYPE bsis-bukrs,
             hkont TYPE bsis-hkont,
             augdt TYPE bsis-augdt,
             augbl TYPE bsis-augbl,
             zuonr TYPE bsis-zuonr,
             gjahr TYPE bsis-gjahr,
             belnr TYPE bsis-belnr,
             buzei TYPE bsis-buzei,
             budat TYPE bsis-budat,
             qsskz TYPE bsis-qsskz,
            END OF zbsis.
    DATA: BEGIN OF zt059z OCCURS 0,
           land1 TYPE t059z-land1,
           witht TYPE t059z-witht,
           wt_withcd TYPE t059z-wt_withcd,
           qscod TYPE t059z-qscod,
           qsatz TYPE t059z-qsatz,
           hkont TYPE bsis-hkont,
           belnr TYPE bsis-belnr,
           END OF zt059z.
    DATA: BEGIN OF it_faglflexa OCCURS 0,      "added by vincy
          ryear TYPE faglflexa-ryear,
          docnr TYPE faglflexa-docnr,
          rldnr TYPE faglflexa-rldnr,
          rbukrs TYPE faglflexa-rbukrs,
          docln TYPE faglflexa-docln,
          prctr TYPE faglflexa-prctr,
          END OF it_faglflexa.
    Final Table***
    TYPES :BEGIN OF wa1_final,
             belnr         TYPE ekbe-belnr,
             fi_docno      TYPE bseg-belnr,
             budat         TYPE ekbe-budat,
             menge         TYPE ekbe-menge,
             rate          TYPE konv-kbetr,
             ebelp         TYPE ekbe-ebelp,
             ebeln         TYPE ekbe-ebeln,
             mwskz         TYPE bseg-mwskz,
             gjahr         TYPE ekbe-gjahr,
             awkey(20)     TYPE c,
             exnum         TYPE j_1iexcdtl-exnum,
             exdat         TYPE j_1iexcdtl-exdat,
             lifnr         TYPE j_1iexcdtl-lifnr,
             matnr         TYPE j_1iexcdtl-matnr ,
           maktx         TYPE j_1iexcdtl-maktx ,
             capind       TYPE string,
             exbas         TYPE j_1iexcdtl-exbas,
             exbed       TYPE j_1iexcdtl-exbed,
             ecs             TYPE j_1iexcdtl-ecs,
             werks       TYPE j_1iexcdtl-werks,
             ritem1        TYPE j_1iexcdtl-ritem1,
             rdoc1       TYPE j_1iexcdtl-rdoc1,
             docyr         TYPE j_1iexcdtl-docyr,
             name1         TYPE lfa1-name1,
             ktokk         TYPE lfa1-ktokk,
             fwbas         TYPE bseg-fwbas ,
             vat_per       TYPE konv-kbetr,
             vat_amt       TYPE bseg-pswbt,
             cst_per       TYPE konv-kbetr,
             cst_amt       TYPE bseg-pswbt,
             shcess_amt    TYPE bseg-pswbt,
             gl_accnt      TYPE bseg-hkont,
             gl_desc       TYPE skat-txt50,
             wctglacc      TYPE bseg-hkont,
             wctamt        TYPE bseg-dmbtr,
             taxcode       TYPE t059z-wt_withcd,
             taxperc       TYPE t059z-qsatz,
             total_value   TYPE bseg-wrbtr,
             total_value1 TYPE bseg-wrbtr,
             excise_tax    TYPE bseg-wrbtr,
             excise  TYPE bseg-wrbtr,
             set_off       TYPE bseg-wrbtr,
             inventorised  TYPE konv-kawrt,
             cond_type     TYPE konv-kschl,
             cond_type2    TYPE konv-kschl,
             description(20)   TYPE c,
             service_tax       TYPE bseg-wrbtr,
             service_ecess     TYPE bseg-wrbtr,
             service_shcess    TYPE bseg-wrbtr,            "vincy on 31.01.08
            END OF wa1_final.
    DATA :it2_ekbe        TYPE TABLE OF wa1_ekbe WITH HEADER LINE,
           it_ekbe        TYPE TABLE OF wa1_ekbe WITH HEADER LINE,
           it1_ekbe       TYPE TABLE OF wa2_ekbe WITH HEADER LINE WITH KEY ebelp ebeln,
           it_j_1iexcdtl  TYPE TABLE OF wa1_j_1iexcdtl WITH HEADER LINE WITH KEY rdoc1 ritem1,
           it_lfa1        TYPE TABLE OF wa1_lfa1 WITH HEADER LINE WITH KEY lifnr,
           it_lfa2        TYPE TABLE OF wa1_lfa1 WITH HEADER LINE WITH KEY lifnr,
           it_bkpf        TYPE TABLE OF wa1_bkpf WITH HEADER LINE,
           it_bseg        TYPE TABLE OF wa1_bseg WITH HEADER LINE WITH  KEY
                                        bukrs belnr gjahr ktosl shkzg koart,
           it1_bseg        TYPE TABLE OF wa1_bseg WITH HEADER LINE WITH  KEY
                                        bukrs belnr gjahr ktosl shkzg koart,
           it_tax         TYPE TABLE OF wa1_tax WITH HEADER LINE WITH KEY awkey ,
           it_ekexclf     TYPE TABLE OF wa1_ekexclf WITH HEADER LINE,
           it_final       TYPE TABLE OF wa1_final WITH HEADER LINE,
           it_final1      TYPE TABLE OF wa1_final WITH HEADER LINE,         "vincy
           wa_ekbe       TYPE wa1_ekbe,
           wa1_ekbe      TYPE wa2_ekbe,
           wa_j_1iexcdtl TYPE wa1_j_1iexcdtl,
           wa_lfa1       TYPE wa1_lfa1,
           wa_lfa2       TYPE wa1_lfa1,
           wa_bkpf       TYPE wa1_bkpf,
           wa_bseg       TYPE wa1_bseg,
           wa_tax        TYPE wa1_tax,
           wa_ekexclf    TYPE wa1_ekexclf,
           PLANT TYPE WERKS_D,
           wa_final      TYPE wa1_final.
    DATA: it_konv TYPE konv OCCURS 0 WITH HEADER LINE ,
           wa_konv TYPE konv,
           invent TYPE p DECIMALS 4,
           invent1 TYPE konv-kawrt.
    DATA:d1 TYPE konv-kposn,
          d2 TYPE ekbe-ebelp.
    DATA: v_belnr TYPE ekbe-belnr,
           v_gjahr TYPE ekbe-gjahr,
           v_awkey(20) TYPE c,
           idx TYPE sy-tabix.
    **********by vincy on 12.01.07***********
    DATA: BEGIN  OF it_ekko OCCURS 0,
           ebeln LIKE ekko-ebeln,
           bukrs LIKE ekko-bukrs,
           bsart LIKE ekko-bsart,
           lifnr LIKE ekko-lifnr,
           belnr LIKE ekbe-belnr,
           END OF it_ekko.
    DATA: BEGIN  OF it_ekpo OCCURS 0,
           ebeln LIKE ekpo-ebeln,
           ebelp LIKE ekpo-ebelp,
           txz01 LIKE ekpo-txz01,
           END OF it_ekpo.
    DATA: BEGIN  OF it_lfa1v OCCURS 0,
           lifnr LIKE lfa1-lifnr,
           name1 LIKE lfa1-name1,
           END OF it_lfa1v.
    DATA: BEGIN  OF s_prctr OCCURS 0,
           low LIKE faglflexa-prctr,
           END OF s_prctr.
    DATA: it_bsegv TYPE TABLE OF wa1_bseg WITH HEADER LINE.
    DATA: it_konv1 LIKE konv OCCURS 0 WITH HEADER LINE.
    DATA:cnt TYPE i,
          awkey1(250).
    DATA: LIFNR TYPE LIFNR,
          NAME TYPE NAME1_GP,
          MTART TYPE MARA-MTART,
          MAKTX TYPE MAKTX,
          TAX_TOT TYPE KWERT.
    ***********end of changes by vincy ************
    Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_werks1 FOR ekbe-werks,
                     s_budat1 FOR ekbe-budat,
                     s_fiscal FOR  ekbe-gjahr,
                     s_lifnr FOR lfa1-lifnr.
    SELECTION-SCREEN END OF BLOCK b1.
    **"changes being by nahid on 16.04.2008
    PARAMETERS : excel AS CHECKBOX DEFAULT 'X'.
    PARAMETERS: infile LIKE rlgrap-filename.
    DATA : zfile TYPE string.
    **"changes ended by nahid on 16.04.2008
    AT SELECTION-SCREEN.
       IF s_werks1 IS INITIAL.
         MESSAGE 'Please Enter Plant details' TYPE 'E'.
       ENDIF.
       IF s_budat1 IS INITIAL.
         MESSAGE 'Please Enter Posting date' TYPE 'E'.
       ENDIF.
       IF s_fiscal IS INITIAL.
         MESSAGE 'Please Enter Fiscal Year' TYPE 'E'.
       ENDIF.
    *start change by nahid on 16.4.08
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR infile.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        CHANGING
          file_name     = infile
        EXCEPTIONS
          mask_too_long = 1
          OTHERS        = 2.
    zfile = infile.
    *end change by nahid on 16.4.08
    START-OF-SELECTION.
    plant = s_werks1-low.
    MODIFIED FOR RUDRAPUR BY ASHOK.CH ON 13.03.2008
    IF PLANT NE 'RD01'.
       PERFORM get_data.
       PERFORM get_zpsr.                        "vincy
    ENDIF.
    IF PLANT EQ 'RD01'.
        PERFORM get_data1.
    ENDIF.
    *END OF MODIFICATION ON 13.03.2008
       PERFORM build_fieldcatalog.
       PERFORM build_layout.
       PERFORM display_alv_report.
    *start chng by nahid on 16.4.08
    IF excel = 'X'.
        IF NOT infile IS INITIAL.
          PERFORM excel_data.
        ELSE.
          MESSAGE e000(0) WITH 'Please Enter the File Path'.
        ENDIF.
      ENDIF.
    *end by nahid on 16.4.08
    *&      Form  get_data
    FORM get_data .
       SELECT belnr budat menge matnr ebelp ebeln gjahr lfbnr lfpos bldat  REEWR FROM ekbe INTO
       TABLE it_ekbe
       WHERE werks IN s_werks1 AND
            (bewtp EQ 'Q' OR bewtp EQ 'N')     AND
             bewtp IN ('Q' , 'N') AND                 "added N  by vincy on 6.07.2008
             budat IN s_budat1 AND
             gjahr IN s_fiscal .
       IF sy-subrc = 0.               "for 1st ekbe
         IF it_ekbe[] IS NOT INITIAL.
         SELECT exnum exdat lifnr matnr maktx capind exbas exbed ecs werks
         ritem1 rdoc1 docyr bedinv ecsinv EXADDINV1 exaddtax1  rdoc2 ritem2 menge
                FROM j_1iexcdtl INTO TABLE it_j_1iexcdtl FOR ALL ENTRIES IN it_ekbe
                WHERE rdoc1  = it_ekbe-ebeln
                AND ritem1 =  it_ekbe-ebelp AND
                lifnr IN s_lifnr.
         ENDIF.
           IF it_j_1iexcdtl[] IS NOT INITIAL.
           SELECT name1 ktokk werks lifnr FROM lfa1 INTO
                            TABLE it_lfa1 FOR ALL ENTRIES IN it_j_1iexcdtl
                             WHERE lifnr = it_j_1iexcdtl-lifnr.
          ENDIF.
           LOOP AT it_ekbe INTO wa_ekbe.
             wa1_ekbe-belnr        = wa_ekbe-belnr.
             wa1_ekbe-budat        = wa_ekbe-budat.
             wa1_ekbe-menge        = wa_ekbe-menge.
             wa1_ekbe-ebelp        = wa_ekbe-ebelp.
             wa1_ekbe-ebeln        = wa_ekbe-ebeln.
             wa1_ekbe-gjahr        = wa_ekbe-gjahr.
             wa1_ekbe-matnr        = wa_ekbe-matnr.
             wa1_ekbe-lfbnr        = wa_ekbe-lfbnr.
             wa1_ekbe-lfpos        = wa_ekbe-lfpos.
             wa1_ekbe-bldat        = wa_ekbe-bldat.
             v_belnr = wa_ekbe-belnr.
             v_gjahr = wa_ekbe-gjahr.
             CONCATENATE v_belnr v_gjahr INTO v_awkey.
             wa1_ekbe-awkey        = v_awkey.
             APPEND wa1_ekbe TO it1_ekbe.
             CLEAR :wa_ekbe.
           ENDLOOP.
    ************changes by vincy on 29.05.08 for 'FB08' and 'FB60'**************
           LOOP AT s_werks1.
             IF s_werks1-low = 'KN01'.
                s_prctr-low  = 'MUKNHSTM'.
             ELSEIF
              s_werks1-low = 'NS01'.
                s_prctr-low  = 'MUNSKSTM'.
             ELSEIF
              s_werks1-low = 'RD01'.
                s_prctr-low  = 'MURDPSTM'.
             ENDIF.
             APPEND s_prctr.
           ENDLOOP.
           SELECT bukrs belnr gjahr budat tcode awkey FROM bkpf INTO TABLE it_bkpf
                          WHERE bukrs = 'MU51'    AND
                          gjahr IN s_fiscal       AND
                          budat IN s_budat1       AND
                          ( tcode = 'FB60' OR  tcode = 'FB08' ).
          IF it_bkpf[] IS NOT INITIAL.
          SELECT ryear docnr rldnr rbukrs docln prctr FROM faglflexa INTO TABLE it_faglflexa
          FOR ALL ENTRIES IN it_bkpf WHERE rbukrs = 'MU51'   AND
                                           ryear  = it_bkpf-gjahr AND
                                           docnr  = it_bkpf-belnr.
          ENDIF.
          LOOP AT it_faglflexa.
            READ TABLE s_prctr WITH KEY low = it_faglflexa-prctr.
            IF sy-subrc <> 0.
            DELETE it_faglflexa.
            ENDIF.
            CLEAR: it_faglflexa, s_prctr.
          ENDLOOP.
    **************************end of change*************************************
           IF it1_ekbe[] IS NOT INITIAL.
           SELECT bukrs belnr gjahr budat tcode awkey FROM bkpf APPENDING
           TABLE it_bkpf FOR ALL ENTRIES IN it1_ekbe
                          WHERE bukrs = 'MU51'    AND
                          gjahr IN s_fiscal AND
                          awkey = it1_ekbe-awkey.
           ENDIF.
           IF sy-subrc = 0.       "bkpf
             IF it_bkpf[] IS NOT INITIAL.
             SELECT bukrs belnr gjahr buzei bschl fwbas pswbt hkont wrbtr  ktosl koart shkzg mwskz qsskz dmbtr lifnr matnr
                          FROM bseg INTO TABLE it1_bseg FOR ALL ENTRIES IN it_bkpf
                           WHERE belnr = it_bkpf-belnr AND
                                 gjahr = it_bkpf-gjahr AND
                                 bukrs = it_bkpf-bukrs AND
                                 ( bschl = '21' ) AND
                                 lifnr IN s_lifnr.                      "added 21 for miro cancelation
              IF it1_bseg[] IS NOT INITIAL.
              SELECT bukrs belnr gjahr buzei bschl fwbas pswbt hkont wrbtr  ktosl koart shkzg mwskz qsskz dmbtr lifnr matnr
                          FROM bseg INTO TABLE it_bseg FOR ALL ENTRIES IN it1_bseg
                           WHERE belnr = it1_bseg-belnr AND
                                 gjahr = it1_bseg-gjahr AND                    "changed it_bkpf to it1_bseg
                                 bukrs = it1_bseg-bukrs .
              LOOP AT it_bseg.
              it_bseg-wrbtr = it_bseg-wrbtr * -1.
              it_bseg-fwbas = it_bseg-fwbas * -1.
              it_bseg-pswbt = it_bseg-pswbt * -1.
              it_bseg-flag_21 = 'X'.
              MODIFY it_bseg.
              CLEAR it_bseg.
              ENDLOOP.
             SELECT name1 ktokk werks lifnr FROM lfa1 INTO
             TABLE it_lfa2 FOR ALL ENTRIES IN it1_bseg
                          WHERE lifnr = it1_bseg-lifnr.
             ENDIF.
             REFRESH it1_bseg.
             SELECT bukrs belnr gjahr buzei bschl fwbas pswbt hkont wrbtr  ktosl koart shkzg mwskz qsskz dmbtr lifnr matnr
                          FROM bseg INTO TABLE it1_bseg FOR ALL ENTRIES IN it_bkpf
                           WHERE belnr = it_bkpf-belnr AND
                                 gjahr = it_bkpf-gjahr AND
                                 bukrs = it_bkpf-bukrs AND
                                 ( bschl = '31' ) AND                      "added bschl and lifnr by vincy
                                 lifnr IN s_lifnr.
             IF it1_bseg[] IS NOT INITIAL.
             SELECT name1 ktokk werks lifnr FROM lfa1 APPENDING
             TABLE it_lfa2 FOR ALL ENTRIES IN it1_bseg
                          WHERE lifnr = it1_bseg-lifnr.
             SELECT bukrs belnr gjahr buzei bschl fwbas pswbt hkont wrbtr  ktosl koart shkzg mwskz qsskz dmbtr lifnr matnr
                          FROM bseg APPENDING TABLE it_bseg FOR ALL ENTRIES IN it1_bseg
                           WHERE belnr = it1_bseg-belnr AND
                                 gjahr = it1_bseg-gjahr AND                    "changed it_bkpf to it1_bseg
                                 bukrs = it1_bseg-bukrs AND
                                 bschl <> '35'.                                "added bschl to avoid vendor paymnt
            ENDIF.
            SELECT bukrs belnr gjahr buzei bschl fwbas pswbt hkont wrbtr  ktosl koart shkzg  mwskz qsskz dmbtr lifnr
                          FROM bseg APPENDING CORRESPONDING FIELDS OF TABLE it_bseg
                          FOR ALL ENTRIES IN it_bkpf
                          WHERE belnr = it_bkpf-belnr AND
                          gjahr = it_bkpf-gjahr AND
                          lifnr IN s_lifnr AND
                          bukrs = it_bkpf-bukrs AND qsskz IN ('WI', 'WJ').
            ENDIF.
          ENDIF.
           SORT it_bseg BY belnr buzei.
           IF NOT it_bseg[] IS INITIAL.
             SELECT saknr spras txt50 FROM skat
                              INTO TABLE iskat
                              FOR ALL ENTRIES IN it_bseg
                              WHERE saknr = it_bseg-hkont AND spras = 'EN'.
             SELECT  bukrs hkont augdt augbl zuonr gjahr belnr buzei budat qsskz FROM bsis
                               INTO TABLE zbsis
                               FOR ALL ENTRIES IN it_bseg
                               WHERE bukrs = 'MU51' AND hkont = it_bseg-hkont
                               AND belnr = it_bseg-belnr AND gjahr = s_fiscal
                               AND budat IN s_budat1.
           ENDIF.
           LOOP AT it_bseg.
             READ TABLE zbsis WITH KEY hkont = it_bseg-hkont.
             IF sy-subrc = 0.
               it_bseg-qsskz = zbsis-qsskz.
               MODIFY it_bseg.
             ENDIF.
             CLEAR: it_bseg,zbsis.
           ENDLOOP.
           LOOP AT zt059z.
             LOOP AT it_bseg WHERE qsskz = zt059z-wt_withcd.
               zt059z-hkont = it_bseg-hkont.
               zt059z-belnr = it_bseg-belnr.
               MODIFY zt059z.
               CLEAR: it_bseg,zt059z.
             ENDLOOP.
           ENDLOOP.
           CLEAR: wa_bkpf.
    *******Filling Wa.
          LOOP AT it_bkpf INTO wa_bkpf.                     "changes by vincy on 14.04.2008
            LOOP AT it1_ekbe INTO wa1_ekbe .
            READ TABLE it_bkpf INTO wa_bkpf
            WITH KEY awkey = wa1_ekbe-awkey.
             wa_tax-belnr     =    wa_bkpf-belnr.
             wa_tax-gjahr     =    wa_bkpf-gjahr.     
             wa_tax-bukrs     =    wa_bkpf-bukrs.
             wa_tax-awkey     =    wa_bkpf-awkey.
             wa_tax-ebelp     =    wa1_ekbe-ebelp.
             CLEAR: wa_bseg,wa_skat.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                         belnr = wa_bkpf-belnr
                                         gjahr = wa_bkpf-gjahr  INTO wa_bseg.
             IF sy-subrc = 0.
               wa_tax-fi_docno  =    wa_bseg-belnr.
               wa_tax-mwskz     =    wa_bseg-mwskz.
             CLEAR: wa_bseg.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                           belnr = wa_bkpf-belnr
                                           gjahr = wa_bkpf-gjahr
                                           flag = ''
                                           ktosl = 'JP4' INTO wa_bseg.
             IF sy-subrc = 0.
               wa_bseg-flag = 'X'.
               MODIFY it_bseg INDEX sy-tabix FROM wa_bseg.
               wa_tax-gl_accnt    =  wa_bseg-hkont.
               READ TABLE iskat INTO wa_skat WITH KEY saknr = wa_bseg-hkont.
               IF sy-subrc = 0.
                 wa_tax-gl_desc = wa_skat-txt50.
               ENDIF.
               wa_tax-set_off     =  wa_bseg-wrbtr.
               wa_tax-fwbas       =  wa_bseg-fwbas.
               wa_tax-cst_amt     =  wa_bseg-pswbt.
               wa_tax-description = 'CST CG Sett off'.
               wa_tax-cond_type   =  'JVCS'.
             ENDIF.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                           belnr = wa_bkpf-belnr
                                           gjahr = wa_bkpf-gjahr
                                           flag = ''
                                           ktosl = 'VS1' INTO wa_bseg.
             IF sy-subrc = 0.
               wa_bseg-flag = 'X'.
               MODIFY it_bseg INDEX sy-tabix FROM wa_bseg.
               wa_tax-fwbas       =  wa_bseg-fwbas.
             ENDIF.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                            belnr = wa_bkpf-belnr
                                            gjahr = wa_bkpf-gjahr
                                            flag = ''
                                            ktosl = 'JP7' INTO wa_bseg.
             IF sy-subrc = 0.
               wa_bseg-flag = 'X'.
               MODIFY it_bseg INDEX sy-tabix FROM wa_bseg.
               wa_tax-gl_accnt    =  wa_bseg-hkont.
               READ TABLE iskat INTO wa_skat WITH KEY saknr = wa_bseg-hkont.
               IF sy-subrc = 0.
                 wa_tax-gl_desc = wa_skat-txt50.
               ENDIF.
               wa_tax-set_off     =  wa_bseg-wrbtr.
               wa_tax-fwbas       =  wa_bseg-fwbas.
               wa_tax-vat_amt     =  wa_bseg-pswbt.
               wa_tax-description = 'VAT CG Sett off'.
               wa_tax-cond_type   =  'JVCD'.
             ENDIF.
             CLEAR wa_bseg.
            READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                       belnr = wa_bkpf-belnr
                                       gjahr = wa_bkpf-gjahr
                                       flag = ''
                                       ktosl = 'JP5' INTO wa_bseg.
              READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                        belnr = wa_bkpf-belnr
                                        gjahr = wa_bkpf-gjahr
                                        hkont = '0002868001' INTO     wa_bseg.       "vat changed for V0 tax code
             IF sy-subrc = 0.
               wa_bseg-flag = 'X'.
               MODIFY it_bseg INDEX sy-tabix FROM wa_bseg.
               wa_tax-gl_accnt  =  wa_bseg-hkont.
               READ TABLE iskat INTO wa_skat WITH KEY saknr = wa_bseg-hkont.
               IF sy-subrc = 0.
                 wa_tax-gl_desc = wa_skat-txt50.
               ENDIF.
               wa_tax-vat_amt   =  wa_bseg-pswbt.
               wa_tax-set_off   =  wa_bseg-wrbtr.
               wa_tax-cond_type =  'JVRD'.
               wa_tax-fwbas     =  wa_bseg-fwbas.
               wa_tax-description        = 'VAT RM Set off'.
             ENDIF.
             CLEAR: wa_bseg,wa_skat.
             READ TABLE it_bseg WITH KEY     bukrs = wa_bkpf-bukrs
                                             belnr = wa_bkpf-belnr
                                             gjahr = wa_bkpf-gjahr
                                             shkzg = 'H'
                                             koart = 'K'
                                             INTO     wa_bseg.
             IF sy-subrc = 0.
               wa_tax-total_value =  wa_bseg-wrbtr.
             ENDIF.
          START OF MODIFICATION BY ASHOK.CH ON 08.02.2008
            service_tax
             CLEAR wa_bseg.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                        belnr = wa_bkpf-belnr
                                        gjahr = wa_bkpf-gjahr
                                        flag = ''
                                        ktosl = 'VS8'  INTO     wa_bseg.
             IF sy-subrc = 0.
               wa_bseg-flag = 'X'.
               MODIFY it_bseg INDEX sy-tabix FROM wa_bseg.
               wa_tax-gl_accnt  =    wa_bseg-hkont.
               READ TABLE iskat INTO wa_skat WITH KEY saknr = wa_bseg-hkont.
               IF sy-subrc = 0.
                 wa_tax-gl_desc = wa_skat-txt50.
               ENDIF.
               wa_tax-service_tax =  wa_bseg-wrbtr.
               wa_tax-description = 'Service Tax'.
               wa_tax-cond_type =  'JSRT'.
             ENDIF.
         service_ecess
             CLEAR: wa_bseg,wa_skat.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                        belnr = wa_bkpf-belnr
                                        gjahr = wa_bkpf-gjahr
                                        flag = ''
                                        ktosl = 'VS9'  INTO  wa_bseg.
             IF sy-subrc = 0.
               wa_bseg-flag = 'X'.
               MODIFY it_bseg INDEX sy-tabix FROM wa_bseg.
               wa_tax-service_ecess =  wa_bseg-wrbtr.
             ENDIF.
    **********changes by vincy on 31.01.08*********************
        service_shcess
             CLEAR: wa_bseg.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                        belnr = wa_bkpf-belnr
                                        gjahr = wa_bkpf-gjahr
                                        flag = ''
                                        ktosl = 'VSE'  INTO  wa_bseg.
             IF sy-subrc = 0.
               wa_bseg-flag = 'X'.
               MODIFY it_bseg INDEX sy-tabix FROM wa_bseg.
               wa_tax-service_shcess =  wa_bseg-wrbtr.
             ENDIF.
    *************************end of changes***********************
    END OF MODIFICATION ON 08.02.2008
             APPEND wa_tax TO it_tax.
             ENDIF.
             CLEAR :wa_tax,wa_bseg,wa_bkpf,wa_skat.
           ENDLOOP.
           CLEAR wa1_ekbe.
           LOOP AT it1_ekbe INTO wa1_ekbe.
            READ TABLE it_j_1iexcdtl INTO wa_j_1iexcdtl
                                    WITH KEY  rdoc1  = wa1_ekbe-ebeln
                                    ritem1 = wa1_ekbe-ebelp.
    *New query added by Nilesh
            READ TABLE it_j_1iexcdtl INTO wa_j_1iexcdtl
                                    WITH KEY  rdoc1  = wa1_ekbe-lfbnr
                                    ritem2 = wa1_ekbe-lfpos.
             READ TABLE it_bkpf INTO wa_bkpf
             WITH KEY awkey = wa1_ekbe-awkey.
             IF sy-subrc = 0.
             READ TABLE it_bseg WITH KEY bukrs = wa_bkpf-bukrs
                                        belnr = wa_bkpf-belnr
                                        gjahr = wa_bkpf-gjahr.
              IF sy-subrc = 0.
               wa_ekexclf-belnr  =       wa1_ekbe-belnr.
               wa_ekexclf-budat  =       wa1_ekbe-budat.
               wa_ekexclf-menge  =       wa1_ekbe-menge.
               wa_ekexclf-ebelp  =       wa1_ekbe-ebelp.
               wa_ekexclf-ebeln  =       wa1_ekbe-ebeln.
               wa_ekexclf-gjahr  =       wa1_ekbe-gjahr.
               wa_ekexclf-awkey  =       wa1_ekbe-awkey.
               wa_ekexclf-lifnr  =       it_bseg-lifnr.
               wa_ekexclf-matnr  =       it_bseg-matnr .
            READ TABLE it_j_1iexcdtl INTO wa_j_1iexcdtl                 "for records for which either rdoc1 or matnr
                                    WITH KEY  rdoc2  = wa1_ekbe-lfbnr   "not maintained in ekbe by vincy on 16.06.08
                                              menge  = wa1_ekbe-menge.
            IF sy-subrc <> 0 .
            READ TABLE it_j_1iexcdtl INTO wa_j_1iexcdtl
                                    WITH KEY  rdoc1  = wa1_ekbe-ebeln
                                              exdat  = wa1_ekbe-bldat
                                              matnr  = wa1_ekbe-matnr
                                              menge  = wa1_ekbe-menge.
            ENDIF.
             READ TABLE it_j_1iexcdtl INTO wa_j_1iexcdtl
                                     WITH KEY  rdoc1  = wa1_ekbe-ebeln
                                               ritem1 = wa1_ekbe-ebelp.
             IF sy-subrc = 0.
              wa_ekexclf-belnr  =       wa1_ekbe-belnr.
              wa_ekexclf-budat  =       wa1_ekbe-budat.
              wa_ekexclf-menge  =       wa1_ekbe-menge.
              wa_ekexclf-ebelp  =       wa1_ekbe-ebelp.
              wa_ekexclf-ebeln  =       wa1_ekbe-ebeln.
              wa_ekexclf-gjahr  =       wa1_ekbe-gjahr.
              wa_ekexclf-awkey  =       wa1_ekbe-awkey.
               wa_ekexclf-exnum  =       wa_j_1iexcdtl-exnum.
               wa_ekexclf-exdat  =       wa_j_1iexcdtl-exdat.
               wa_ekexclf-lifnr  =       wa_j_1iexcdtl-lifnr.
               wa_ekexclf-matnr  =       wa_j_1iexcdtl-matnr .
               wa_ekexclf-maktx  =       wa_j_1iexcdtl-maktx .
               wa_ekexclf-capind =        wa_j_1iexcdtl-capind.
               wa_ekexclf-exbas  =        wa_j_1iexcdtl-exbas.
              wa_ekexclf-exbed  =        wa_j_1iexcdtl-exbed.
              wa_ekexclf-ecs    =        wa_j_1iexcdtl-ecs.
               wa_ekexclf-werks  =        wa_j_1iexcdtl-werks.
               wa_ekexclf-ritem1 =       wa_j_1iexcdtl-ritem1.
               wa_ekexclf-rdoc1  =         wa_j_1iexcdtl-rdoc1.
               wa_ekexclf-docyr  =       wa_j_1iexcdtl-docyr.
              wa_ekexclf-exaddtax1  = wa_j_1iexcdtl-exaddtax1.
               IF it_bseg-flag_21 = 'X'.
               wa_ekexclf-exbas  = wa_ekexclf-exbas * -1.
               ENDIF.
    MODIFIED BY ASHOK.CH ON 08.03.2008
          IF wa_j_1iexcdtl-WERKS NE 'RD01' .
               wa_ekexclf-exbed  =        wa_j_1iexcdtl-exbed.
               wa_ekexclf-ecs    =        wa_j_1iexcdtl-ecs.
               wa_ekexclf-exaddtax1  = wa_j_1iexcdtl-exaddtax1.
               IF it_bseg-flag_21 = 'X'.
                 wa_ekexclf-exbed  =        wa_ekexclf-exbed * -1.
                 wa_ekexclf-ecs    =        wa_ekexclf-ecs * -1.
                 wa_ekexclf-exaddtax1  = wa_ekexclf-exaddtax1 * -1.
               ENDIF.
         ELSE.
               wa_ekexclf-exbed  =        wa_j_1iexcdtl-BEDINV.
               wa_ekexclf-ecs    =        wa_j_1iexcdtl-ecsINV.
               wa_ekexclf-exaddtax1  = wa_j_1iexcdtl-exaddINV1.
         ENDIF.
    END IF MODIFICATION ON 08.03.2008
              APPEND wa_ekexclf TO it_ekexclf.
              CLEAR :wa_lfa1,wa_j_1iexcdtl,wa1_ekbe.
             ENDIF.
               READ TABLE it_lfa2 INTO wa_lfa2
               WITH KEY lifnr = wa_ekexclf-lifnr.
               IF sy-subrc = 0.
                 wa_ekexclf-name1  =        wa_lfa2-name1.
                 wa_ekexclf-ktokk  =        wa_lfa2-ktokk.
               ENDIF.
               APPEND wa_ekexclf TO it_ekexclf.
             ENDIF.
             ENDIF.
               CLEAR :wa_lfa1,wa_j_1iexcdtl,wa1_ekbe,wa_lfa2,wa_ekexclf.
           ENDLOOP.
           CLEAR wa_ekexclf.
           LOOP AT it_ekexclf INTO wa_ekexclf.
             wa_final-belnr     =       wa_ekexclf-belnr.
             wa_final-budat     =       wa_ekexclf-budat.
             wa_final-menge     =       wa_ekexclf-menge.
             wa_final-ebelp     =       wa_ekexclf-ebelp.
             wa_final-ebeln     =       wa_ekexclf-ebeln.
             wa_final-gjahr     =       wa_ekexclf-gjahr.
             wa_final-awkey     =       wa_ekexclf-awkey.
             wa_final-exnum     =       wa_ekexclf-exnum.
             wa_final-exdat     =       wa_ekexclf-exdat.
             wa_final-lifnr     =       wa_ekexclf-lifnr.
             wa_final-matnr     =       wa_ekexclf-matnr .
             wa_final-maktx     =       wa_ekexclf-maktx .
             wa_final-shcess_amt = wa_ekexclf-exaddtax1.
             IF  wa_ekexclf-capind = 'C'.
               wa_final-capind    =  'Consumables'.
             ENDIF.
             IF  wa_ekexclf-capind = 'A'.
               wa_final-capind    =  'Assets'.
             ENDIF.
             IF  wa_ekexclf-capind = 'T'.
               wa_final-capind    =   'Tools'.
             ENDIF.
             IF  wa_ekexclf-capind = ''.
               wa_final-capind    =   'Raw Material'.
             ENDIF.
             IF  wa_ekexclf-capind = 'N'.
               wa_final-capind    =  'Non Cenvatable'.
             ENDIF.
             IF  wa_ekexclf-capind NE 'C' AND wa_ekexclf-capind NE 'A' AND
                 wa_ekexclf-capind NE '' AND wa_ekexclf-capind NE 'N'.
               wa_final-capind    = wa_ekexclf-capind.
             ENDIF.
             wa_final-exbas     =       wa_ekexclf-exbas.
             wa_final-exbed     =       wa_ekexclf-exbed.
             wa_final-ecs       =       wa_ekexclf-ecs.
             wa_final-werks     =       wa_ekexclf-werks.
             wa_final-ritem1    =       wa_ekexclf-ritem1.
             wa_final-rdoc1     =       wa_ekexclf-rdoc1.
             wa_final-docyr     =       wa_ekexclf-docyr.
             wa_final-name1     =       wa_ekexclf-name1.
             wa_final-ktokk     =       wa_ekexclf-ktokk.
             wa_final-excise    =       wa_final-exbas + wa_final-exbed + wa_final-ecs + wa_final-shcess_amt.
             CLEAR :wa_tax.

    Hi ,
    I think you are using the redundant selects to fetch the data from BSEG.
    First select all the data into an internal table based on  bkpf.
    Now you can distribute the data into whatever tables you want using the loop,read-binary search and append statements..
    Loop at it_bseg.
    read it_bseg where
                        xxxxx
                        xxxxx
                        binary search.
    append wa to it2_bseg.
    endloop              
    This avoid several database fetches..
    Thank you..

  • Help needed on creating a SAP query

    Hi All,
    Can somebody give me the step by step procedures of creating a SAP query and Infoset.
    My requirement is to display asset master details with Asset number or Asset class as input.
    Any pointers or links to create an infoset and query will br highly helpful.
    Thanks,
    Arun

    Here are couple of fields you might be needed :
    AGKO     Cleared Accounts
    ANAR     Asset Types
    ANAT     Asset type text
    ANEK     Document Header Asset Posting
    ANEP     Asset Line Items
    ANEV     Asset downpymt settlement
    ANKT     Asset classes- Description
    ANLA     Asset Master Record Segment
    ANLB     Depreciation terms
    ANLC     Asset Value Fields
    ANLH     Main asset number
    AT02T     Transaction Activity Category- Description
    AT02A     Transaction Code for Menu TIMN
    AT10     Transaction type
    AT10T     Name of Transaction Type
    BKDF     Document Header Supplement for Recurring Entry
    BKORM     Accounting Correspondence Requests
    BKPF     Accounting Document Header
    BLPK     Document log header
    BLPP     Document log item
    BLPR     Document Log Index and Planned Order (Backflush)
    BNKA     Bank master record
    BP000     Business Partner Master (General Data)
    BPBK     Doc.Header Controlling Obj.
    BPEG     Line Item Total Values Controlling Obj.
    BPEJ     Line Item Annual Values Controlling Obj.
    BPEP     Line Item Period Values Controlling Obj.
    BPGE     Totals Record for Total Value Controlling obj.
    BPJA     Totals Record for Annual Total Controlling Obj.
    BSAD     Accounting- Secondary Index for Customers (Cleared Items)
    BSAK     Accounting- Secondary Index for Vendors (Cleared Items)
    BSAS     Accounting- Secondary Index for G/L Accounts (Cleared Items)
    BSEC     One-Time Account Data Document Segment
    BSEG     Accounting Document Segment
    BSID     Accounting- Secondary Index for Customers
    BSIK     Accounting- Secondary Index for Vendors
    BSIM     Secondary Index, Documents for Material
    BSIS     Accounting- Secondary Index for G/L Accounts
    CEPC     Profit Center Master Data Table
    CEPCT     Texts for Profit Center Master Data
    COBRA     Settlement Rule for Order Settlement
    COBRB     Distribution Rules Settlement Rule Order Settlement
    COKA     CO Object- Control Data for Cost Elements
    COSP     CO Object- Cost Totals for External Postings
    COSS     CO Object- Cost Totals for Internal Postings
    CRCO     Assignment of Work Center to Cost Center
    CSKA     Cost Elements (Data Dependent on Chart of Accounts)
    CSKB     Cost Elements (Data Dependent on Controlling Area)
    CSLA     Activity master
    FEBEP     Electronic Bank Statement Line Items
    FPLA     Billing Plan
    FPLT     Billing Plan- Dates
    GLPCT     EC-PCA- Totals Table
    KNA1     General Data in Customer Master
    KOMK     Pricing Communication Header
    MAHNV     Management Records for the Dunning Program
    REGUT     TemSe - Administration Data
    SKA1     G/L Account Master (Chart of Accounts)
    SKAT     G/L Account Master Record (Chart of Accounts- Description)
    SKB1     G/L account master (company code)
    T003T     Document Type Texts
    T007S     Tax Code Names
    T087J     Text
    TAPRFT     Text tab. for investment profile
    TKA01     Controlling Areas
    TKA09     Basic Settings for Versions
    TKVS     CO Versions
    TZB0T     Flow types text table
    TZPAT     Financial Assets Management product type texts
    VBSEGS     Document Segment for G/L Accounts Document Parking
    VTBFHA     Transaction
    VTBFHAPO     Transaction Flow
    VTBFHAZU     Transaction Activity
    VTBFINKO     Transaction Condition
    VTIDERI     Master Data Listed Options and Futures
    VTIFHA     Underlying transaction
    VTIFHAPO     Underlying transaction flows
    VTIFHAZU     Underlying transaction status table
    VTIOF     Options Additional Data
    VWPANLA     Asset master for securities

  • Help on how to use FM REUSE_ALV_HIERSEQ_LIST_DISPLAY...

    Hello Experts,
    I am having problems using the said FM. Based on my code below, can you please tell
    me what am I doing wrong. Hope you can help me guys. Thank you and take care!
    [code]
    *& Report ZFI_CASH_PROOF_SHEET
    *& PROGRAM TYPE  : Report
    *& RICEF ID      : 149
    *& TITLE         : ZFI_CASH_PROOF_SHEET
    *& SAP Module    : FI
    *& CREATION DATE : 10/24/2007
    *& AUTHOR        : Aris Hidalgo
    *& DESIGNER      : Aris Hidalgo
    *& DESCRIPTION   :
    $*********************************************************************
    *$     CHANGE HISTORY
    *$----
    *$   DATE        | T-Num      | Description                  | Reference
                  |            |                              |
    $*********************************************************************
    REPORT  zfi_cash_proof_sheet
            NO STANDARD PAGE HEADING
            MESSAGE-ID zfi.
    Data Dictionary Table/s                      *
    TABLES: t012k.
    TYPE-POOLS                                   *
    TYPE-POOLS: slis.
    SELECTION-SCREEN                             *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_bukrs FOR t012k-bukrs OBLIGATORY,
                    s_hbkid FOR t012k-hbkid,
                    s_hktid FOR t012k-hktid.
    PARAMETERS:     p_budat TYPE bsak-budat OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    */ CLASS DEFINITION/S */
    CLASS lcl_alv_routines DEFINITION DEFERRED.
          CLASS lcl_data_def DEFINITION
    CLASS lcl_data_def DEFINITION ABSTRACT.
      PUBLIC SECTION.
        TYPES: BEGIN OF t_t012k,
                bukrs TYPE t012k-bukrs,
                hbkid TYPE t012k-hbkid,
                hktid TYPE t012k-hktid,
                hkont TYPE t012k-hkont,
               END OF t_t012k.
        TYPES: BEGIN OF t_bsis_bsas,
                bukrs TYPE bsis-bukrs,
                hkont TYPE bsis-hkont,
                belnr TYPE bsis-belnr,
                buzei TYPE bsis-buzei,
                gjahr TYPE bsis-gjahr,
                budat TYPE bsis-budat,
                blart TYPE bsis-blart,
                dmbtr TYPE bsis-dmbtr,
                shkzg TYPE bsis-shkzg,
               END OF t_bsis_bsas.
        TYPES: BEGIN OF t_bsid_bsad,
                bukrs TYPE bsid-bukrs,
                belnr TYPE bsid-belnr,
                gjahr TYPE bsid-gjahr,
                blart TYPE bsid-blart,
                buzei TYPE bsid-buzei,
                budat TYPE bsid-budat,
                dmbtr TYPE bsid-dmbtr,
                shkzg TYPE bsid-shkzg,
               END OF t_bsid_bsad.
        TYPES: BEGIN OF t_cash_in_bank,
                bukrs TYPE bsis-bukrs,
                hkont TYPE bsis-hkont,
                dmbtr TYPE bsis-dmbtr,
               END OF t_cash_in_bank.
        TYPES: BEGIN OF t_outs_trade_coll,
                bukrs              TYPE bsis-bukrs,
                hkont              TYPE bsis-hkont,
                one_day            TYPE bsis-dmbtr,
                two_days           TYPE bsis-dmbtr,
                more_than_two_days TYPE bsis-dmbtr,
               END OF t_outs_trade_coll.
        TYPES: BEGIN OF t_zcheck_monitor,
                zzbukr TYPE zcheck_monitor-zzbukr,
                zhbkid TYPE zcheck_monitor-zhbkid,
                zhktid TYPE zcheck_monitor-zhktid,
                zubhkt TYPE zcheck_monitor-zubhkt,
                zrwbtr TYPE zcheck_monitor-zrwbtr,
                zrlsvd TYPE zcheck_monitor-zrlsvd,
                zrlsdt TYPE zcheck_monitor-zrlsdt,
               END OF t_zcheck_monitor.
        TYPES: BEGIN OF t_zcheck_monitor_collect,
                zzbukr TYPE zcheck_monitor-zzbukr,
                zubhkt TYPE zcheck_monitor-zubhkt,
                zrwbtr TYPE zcheck_monitor-zrwbtr,
               END OF t_zcheck_monitor_collect.
        TYPES: BEGIN OF t_company,
                bukrs TYPE t001-bukrs,
                butxt TYPE t001-butxt,
               END OF t_company.
        TYPES: BEGIN OF t_header,
                bukrs TYPE t001-bukrs,
                butxt TYPE t001-butxt,
                hbkid TYPE t012k-hbkid,
               END OF t_header.
        TYPES: BEGIN OF t_output,
                bukrs              TYPE bsis-bukrs,
                hktid              TYPE t012k-hktid,
                cash_in_bank       TYPE bsis-dmbtr,
                one_day            TYPE bsis-dmbtr,
                two_days           TYPE bsis-dmbtr,
                more_than_two_days TYPE bsis-dmbtr,
                misc_collection    TYPE bsis-dmbtr,
                outs_rel_checks    TYPE bsis-dmbtr,
                treas_transactions TYPE bsis-dmbtr,
                tot_cash_bal       TYPE bsis-dmbtr,
                outs_unrel_checks  TYPE bsis-dmbtr,
                imp_docs_due       TYPE bsis-dmbtr,
                est_cash_balance   TYPE bsis-dmbtr,
               END OF t_output.
        DATA: gt_t012k                  TYPE HASHED TABLE OF t_t012k
                                        WITH UNIQUE KEY bukrs hbkid hktid,
              gt_bsis                   TYPE STANDARD TABLE OF t_bsis_bsas,
              gt_bsis_dum               LIKE gt_bsis,
              wa_bsis                   LIKE LINE OF gt_bsis,
              gt_bsas                   LIKE gt_bsis,
              gt_bsis_bsas              LIKE gt_bsas,
              gt_bsid_bsad              TYPE SORTED TABLE OF t_bsid_bsad
                                        WITH NON-UNIQUE KEY bukrs belnr gjahr blart,
              gt_bsik                   LIKE gt_bsid_bsad,
              gt_cash_in_bank           TYPE HASHED TABLE OF t_cash_in_bank
                                        WITH UNIQUE KEY bukrs hkont,
              gt_misc_collection        LIKE gt_cash_in_bank,
              wa_misc_collection        LIKE LINE OF gt_misc_collection,
              gt_importation_docs_due   LIKE gt_cash_in_bank,
              wa_importation_docs_due   LIKE LINE OF gt_importation_docs_due,
              wa_cash_in_bank           LIKE LINE OF gt_cash_in_bank,
              gt_outs_trade_coll        TYPE HASHED TABLE OF t_outs_trade_coll
                                        WITH UNIQUE KEY bukrs hkont,
              wa_outs_trade_coll        LIKE LINE OF gt_outs_trade_coll,
              gt_zcheck_monitor         TYPE STANDARD TABLE OF t_zcheck_monitor,
              gt_zcheck_monitor_collect TYPE HASHED TABLE OF t_zcheck_monitor_collect
                                        WITH UNIQUE KEY zzbukr zubhkt,
              wa_zcheck_monitor_collect LIKE LINE OF gt_zcheck_monitor_collect,
              gt_outs_rel_checks        LIKE gt_cash_in_bank,
              wa_outs_rel_checks        LIKE LINE OF gt_outs_rel_checks,
              gt_company                TYPE HASHED TABLE OF t_company
                                        WITH UNIQUE KEY bukrs,
              wa_company                LIKE LINE OF gt_company,
              gt_header                 TYPE STANDARD TABLE OF t_header,
              wa_header                 LIKE LINE OF gt_header,
              gt_output                 TYPE STANDARD TABLE OF t_output,
              wa_output                 LIKE LINE OF gt_output.
    ENDCLASS.                    "lcl_data_def DEFINITION
          CLASS lcl_get_data DEFINITION
    CLASS lcl_get_data DEFINITION INHERITING FROM lcl_data_def.
      PUBLIC SECTION.
        METHODS: get_bank_details,
                 get_gl_balances,
                 get_cust_items,
                 get_vend_items,
                 sum_gl_accounts,
                 monday_routines
                   IMPORTING
                     im_date  TYPE bsis-budat
                     im_bukrs TYPE bsis-bukrs
                     im_hkont TYPE bsis-hkont
                     im_budat TYPE bsis-budat
                     im_dmbtr TYPE bsis-dmbtr,
                 sunday_routines
                   IMPORTING
                     im_date  TYPE bsis-budat
                     im_bukrs TYPE bsis-bukrs
                     im_hkont TYPE bsis-hkont
                     im_budat TYPE bsis-budat
                     im_dmbtr TYPE bsis-dmbtr,
                 tuesday_routines
                   IMPORTING
                     im_date  TYPE bsis-budat
                     im_bukrs TYPE bsis-bukrs
                     im_hkont TYPE bsis-hkont
                     im_budat TYPE bsis-budat
                     im_dmbtr TYPE bsis-dmbtr,
                 other_days_routines
                   IMPORTING
                     im_date  TYPE bsis-budat
                     im_bukrs TYPE bsis-bukrs
                     im_hkont TYPE bsis-hkont
                     im_budat TYPE bsis-budat
                     im_dmbtr TYPE bsis-dmbtr,
                 difference_in_days
                   IMPORTING
                     im_date  TYPE bsis-budat
                     im_budat TYPE bsis-budat
                   EXPORTING
                     ex_diff  TYPE vtbbewe-atage,
                 outs_check_released,
                 process_data.
      PRIVATE SECTION.
        CONSTANTS: lc_credit   TYPE bsis-shkzg VALUE 'H',
                   lc_debit    TYPE bsis-shkzg VALUE 'S',
                   lc_nt       TYPE bsis-blart VALUE 'NT',
                   lc_gl_zero  TYPE bsis-hkont VALUE '+++++++++0',
                   lc_gl_one   TYPE bsis-hkont VALUE '+++++++++1',
                   lc_gl_three TYPE bsis-hkont VALUE '+++++++++3',
                   lc_monday   TYPE dtresr-weekday VALUE 'Monday',
                   lc_tuesday  TYPE dtresr-weekday VALUE 'Tuesday',
                   lc_sunday   TYPE dtresr-weekday VALUE 'Sunday'.
        CONSTANTS: lc_k3 TYPE bsik-blart VALUE 'K3',
                   lc_k4 TYPE bsik-blart VALUE 'K4',
                   lc_k5 TYPE bsik-blart VALUE 'K5',
                   lc_k6 TYPE bsik-blart VALUE 'K6',
                   lc_k7 TYPE bsik-blart VALUE 'K7',
                   lc_kb TYPE bsik-blart VALUE 'KB',
                   lc_kd TYPE bsik-blart VALUE 'KD'.
        DATA: lv_hkont           TYPE bsis-hkont,
              lr_hkont           TYPE RANGE OF bsis-hkont,
              wa_hkont           LIKE LINE OF lr_hkont,
              lr_blart           TYPE RANGE OF bsik-blart,
              wa_blart           LIKE LINE OF lr_blart,
              lv_hkont_new       TYPE bsis-hkont,
              lv_hkont_old       TYPE bsis-hkont,
              lv_date            TYPE vtbbewe-atage,
              lv_budat           TYPE bsis-budat,
              lv_day             TYPE dtresr-weekday,
              o_lcl_alv_routines TYPE REF TO lcl_alv_routines.
    ENDCLASS.                    "lcl_get_data DEFINITION
          CLASS alv_routines DEFINITION
    CLASS lcl_alv_routines DEFINITION INHERITING FROM lcl_get_data.
      PUBLIC SECTION.
        DATA: gt_fieldcat       TYPE slis_t_fieldcat_alv,
              wa_fieldcat       LIKE LINE OF gt_fieldcat,
              gs_layout         TYPE slis_layout_alv,
              gs_keyinfo        TYPE slis_keyinfo_alv,
              gv_repid          TYPE syst-repid,
              gv_tabname_header TYPE slis_tabname,
              gv_tabname_item   TYPE slis_tabname.
        METHODS: alv_init,
                 build_fieldcat,
                 display_data
                   IMPORTING
                     im_header LIKE gt_header
                     im_output LIKE gt_output.
    ENDCLASS.                    "lcl_alv_routines DEFINITION
    */ CLASS IMPLEMENTATION/S */
          CLASS lcl_get_data IMPLEMENTATION
    CLASS lcl_get_data IMPLEMENTATION.
      METHOD get_bank_details.
        FIELD-SYMBOLS: <fs_t012k> LIKE LINE OF gt_t012k.
      Get bank account/s and their corresponding G/L account/s
        SELECT bukrs hbkid
               hktid hkont
          FROM t012k
          INTO TABLE gt_t012k
         WHERE bukrs IN s_bukrs
           AND hbkid IN s_hbkid
           AND hktid IN s_hktid.
        IF NOT gt_t012k[] IS INITIAL.
          SORT gt_t012k BY bukrs hbkid hktid hkont.
        Get company name
          SELECT bukrs butxt
            FROM t001
            INTO TABLE gt_company
             FOR ALL ENTRIES IN gt_t012k
           WHERE bukrs = gt_t012k-bukrs.
          LOOP AT gt_t012k ASSIGNING <fs_t012k>.
            wa_hkont-sign   = 'I'.
            wa_hkont-option = 'EQ'.
            wa_hkont-low    = <fs_t012k>-hkont.
            SHIFT wa_hkont-low LEFT DELETING LEADING space.
            APPEND wa_hkont TO lr_hkont.
            CLEAR wa_hkont.
            lv_hkont_new = <fs_t012k>-hkont.
            IF lv_hkont_new <> lv_hkont_old.
              CLEAR lv_hkont.
              lv_hkont = <fs_t012k>-hkont.
              DO 4 TIMES.
                ADD 1 TO lv_hkont.
                CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                  EXPORTING
                    input  = lv_hkont
                  IMPORTING
                    output = lv_hkont.
                wa_hkont-sign   = 'I'.
                wa_hkont-option = 'EQ'.
                wa_hkont-low    = lv_hkont.
                SHIFT wa_hkont-low LEFT DELETING LEADING space.
                APPEND wa_hkont TO lr_hkont.
                CLEAR wa_hkont.
              ENDDO.
            ENDIF.
            lv_hkont_old = lv_hkont_new.
          ENDLOOP.
          CALL METHOD me->get_gl_balances.
        ENDIF.
      ENDMETHOD.                    "get_bank_details
      METHOD get_gl_balances.
      Get G/L line items(Open items)
        SELECT bukrs hkont belnr
               buzei gjahr budat
               blart dmbtr shkzg
          FROM bsis
          INTO TABLE gt_bsis
           FOR ALL ENTRIES IN gt_t012k
         WHERE bukrs = gt_t012k-bukrs
           AND hkont IN lr_hkont
           AND budat <= p_budat.
      Get G/L line items(Cleared items)
        SELECT bukrs hkont belnr
               buzei gjahr budat
               blart dmbtr shkzg
          FROM bsas
          INTO TABLE gt_bsas
           FOR ALL ENTRIES IN gt_t012k
         WHERE bukrs = gt_t012k-bukrs
           AND hkont IN lr_hkont
           AND budat <= p_budat.
        APPEND LINES OF gt_bsis TO gt_bsis_bsas.
        APPEND LINES OF gt_bsas TO gt_bsis_bsas.
        IF NOT gt_bsis_bsas[] IS INITIAL.
          CALL METHOD me->get_cust_items.
          CALL METHOD me->get_vend_items.
          CALL METHOD me->sum_gl_accounts.
        ENDIF.
      ENDMETHOD.                    "get_gl_balances
      METHOD get_cust_items.
      Get customer line items(Open items)
        SELECT bukrs belnr gjahr blart
               buzei budat dmbtr shkzg
          FROM bsid
          INTO TABLE gt_bsid_bsad
           FOR ALL ENTRIES IN gt_bsis_bsas
         WHERE bukrs = gt_bsis_bsas-bukrs
           AND gjahr = gt_bsis_bsas-gjahr
           AND belnr = gt_bsis_bsas-belnr.
      Get customer line items(Cleared items)
        SELECT bukrs belnr gjahr blart
               buzei budat dmbtr shkzg
          FROM bsad
          APPENDING TABLE gt_bsid_bsad
           FOR ALL ENTRIES IN gt_bsis_bsas
         WHERE bukrs = gt_bsis_bsas-bukrs
           AND gjahr = gt_bsis_bsas-gjahr
           AND belnr = gt_bsis_bsas-belnr.
      ENDMETHOD.                    "get_cust_items
      METHOD get_vend_items.
      Get vendor line items(Open items)
        SELECT bukrs belnr gjahr blart
               buzei budat dmbtr shkzg
          FROM bsik
          INTO TABLE gt_bsik
           FOR ALL ENTRIES IN gt_bsis_bsas
         WHERE bukrs = gt_bsis_bsas-bukrs
           AND gjahr = gt_bsis_bsas-gjahr
           AND belnr = gt_bsis_bsas-belnr.
        DEFINE m_blart.
          wa_blart-sign   = 'I'.
          wa_blart-option = 'EQ'.
          wa_blart-low    = &1.
          append wa_blart to lr_blart.
          clear wa_blart.
        END-OF-DEFINITION.
        m_blart lc_k3.
        m_blart lc_k4.
        m_blart lc_k5.
        m_blart lc_k6.
        m_blart lc_k7.
        m_blart lc_kb.
        m_blart lc_kd.
        IF NOT gt_bsik[] IS INITIAL AND NOT lr_blart[] IS INITIAL.
          DELETE gt_bsik WHERE blart NOT IN lr_blart[].
        ENDIF.
      ENDMETHOD.                    "get_vend_items
      METHOD sum_gl_accounts.
        FIELD-SYMBOLS: <fs_bsis_bsas>       LIKE LINE OF gt_bsis_bsas,
                       <fs_bsis>            LIKE LINE OF gt_bsis,
                       <fs_bsid_bsad>       LIKE LINE OF gt_bsid_bsad,
                       <fs_bsik>            LIKE LINE OF gt_bsik,
                       <fs_outs_rel_checks> LIKE LINE OF gt_outs_rel_checks.
        SORT gt_bsis_bsas BY bukrs hkont belnr.
        LOOP AT gt_bsis_bsas ASSIGNING <fs_bsis_bsas>.
          IF <fs_bsis_bsas>-shkzg = lc_credit.   "H
            MULTIPLY <fs_bsis_bsas>-dmbtr BY -1.
          ENDIF.
    */Routine for cash in bank
          IF <fs_bsis_bsas>-hkont CP lc_gl_zero.
            MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_cash_in_bank.
            COLLECT wa_cash_in_bank INTO gt_cash_in_bank.
            CLEAR wa_cash_in_bank.
          ENDIF.
    */Routine for miscellaneous collection
          IF <fs_bsis_bsas>-blart = lc_nt AND
             <fs_bsis_bsas>-shkzg = lc_debit AND
             <fs_bsis_bsas>-hkont CP lc_gl_one.
            READ TABLE gt_bsid_bsad ASSIGNING <fs_bsid_bsad> WITH TABLE KEY bukrs = <fs_bsis_bsas>-bukrs
                                                                            belnr = <fs_bsis_bsas>-belnr
                                                                            gjahr = <fs_bsis_bsas>-gjahr
                                                                            blart = <fs_bsis_bsas>-blart.
            IF sy-subrc = 0.
              MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_misc_collection.
              COLLECT wa_misc_collection INTO gt_misc_collection.
              CLEAR wa_misc_collection.
            ENDIF.
          ENDIF.
    */Routine for outstanding released checks
          IF <fs_bsis_bsas>-hkont CP lc_gl_three AND <fs_bsis_bsas>-shkzg = lc_debit.
            MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_outs_rel_checks.
            COLLECT wa_outs_rel_checks INTO gt_outs_rel_checks.
            CLEAR wa_outs_rel_checks.
          ENDIF.
    */Routine for importation docs.due
          IF <fs_bsis_bsas>-shkzg = lc_credit.
            READ TABLE gt_bsik ASSIGNING <fs_bsik> WITH TABLE KEY bukrs = <fs_bsis_bsas>-bukrs
                                                                  belnr = <fs_bsis_bsas>-belnr
                                                                  gjahr = <fs_bsis_bsas>-gjahr
                                                                  blart = <fs_bsis_bsas>-blart.
            IF sy-subrc = 0.
              MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_importation_docs_due.
              COLLECT wa_importation_docs_due INTO gt_importation_docs_due.
              CLEAR gt_importation_docs_due.
            ENDIF.
          ENDIF.
        ENDLOOP.
    */Routine for outstanding trade collection
        IF NOT gt_bsis[] IS INITIAL.
          DELETE gt_bsis WHERE shkzg = lc_credit.
          DELETE gt_bsis WHERE blart = lc_nt.
          IF NOT gt_bsis[] IS INITIAL.
            lv_budat = p_budat.
            CALL FUNCTION 'DATE_TO_DAY'
              EXPORTING
                date    = lv_budat
              IMPORTING
                weekday = lv_day.
            LOOP AT gt_bsis ASSIGNING <fs_bsis>.
              IF lv_day = lc_monday.
                CALL METHOD me->monday_routines
                  EXPORTING
                    im_date  = p_budat
                    im_bukrs = <fs_bsis>-bukrs
                    im_hkont = <fs_bsis>-hkont
                    im_budat = <fs_bsis>-budat
                    im_dmbtr = <fs_bsis>-dmbtr.
              ELSEIF lv_day = lc_sunday.
                CALL METHOD me->sunday_routines
                  EXPORTING
                    im_date  = p_budat
                    im_bukrs = <fs_bsis>-bukrs
                    im_hkont = <fs_bsis>-hkont
                    im_budat = <fs_bsis>-budat
                    im_dmbtr = <fs_bsis>-dmbtr.
              ELSEIF lv_day = lc_tuesday.
                CALL METHOD me->tuesday_routines
                  EXPORTING
                    im_date  = p_budat
                    im_bukrs = <fs_bsis>-bukrs
                    im_hkont = <fs_bsis>-hkont
                    im_budat = <fs_bsis>-budat
                    im_dmbtr = <fs_bsis>-dmbtr.
              ELSE.
                CALL METHOD me->other_days_routines
                  EXPORTING
                    im_date  = p_budat
                    im_bukrs = <fs_bsis>-bukrs
                    im_hkont = <fs_bsis>-hkont
                    im_budat = <fs_bsis>-budat
                    im_dmbtr = <fs_bsis>-dmbtr.
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDIF.
    */Routine for outstanding released check/s
    */this routine will get all records from custom table zcheck_monitor
    */where status is released to vendor
        CALL METHOD me->outs_check_released.
        IF NOT gt_outs_rel_checks[] IS INITIAL.
          LOOP AT gt_outs_rel_checks ASSIGNING <fs_outs_rel_checks>.
            CLEAR wa_zcheck_monitor_collect.
            READ TABLE gt_zcheck_monitor_collect INTO wa_zcheck_monitor_collect
                                                 WITH TABLE KEY zzbukr = <fs_outs_rel_checks>-bukrs
                                                                zubhkt = <fs_outs_rel_checks>-hkont.
            IF sy-subrc = 0.
              <fs_outs_rel_checks>-dmbtr = <fs_outs_rel_checks>-dmbtr - ABS( wa_zcheck_monitor_collect-zrwbtr ).
            ENDIF.
          ENDLOOP.
        ENDIF.
      Move records to output table
        CALL METHOD me->process_data.
      ENDMETHOD.                    "sum_gl_accounts
      METHOD monday_routines.
        wa_outs_trade_coll-bukrs   = im_bukrs.
        wa_outs_trade_coll-hkont   = im_hkont.
        CLEAR lv_date.
        CALL METHOD me->difference_in_days
          EXPORTING
            im_date  = im_date
            im_budat = im_budat
          IMPORTING
            ex_diff  = lv_date.
      One day
        IF lv_date = 3.
          wa_outs_trade_coll-one_day = im_dmbtr.
      Two days
        ELSEIF lv_date = 4.
          wa_outs_trade_coll-two_days = im_dmbtr.
      More than two days
        ELSEIF lv_date > 4.
          wa_outs_trade_coll-more_than_two_days = im_dmbtr.
        ENDIF.
        COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
        CLEAR wa_outs_trade_coll.
      ENDMETHOD.                    "monday_routines
      METHOD sunday_routines.
        wa_outs_trade_coll-bukrs   = im_bukrs.
        wa_outs_trade_coll-hkont   = im_hkont.
        CLEAR lv_date.
        CALL METHOD me->difference_in_days
          EXPORTING
            im_date  = im_date
            im_budat = im_budat
          IMPORTING
            ex_diff  = lv_date.
      One day
        IF lv_date = 2.
          wa_outs_trade_coll-one_day = im_dmbtr.
      Two days
        ELSEIF lv_date = 3.
          wa_outs_trade_coll-two_days = im_dmbtr.
      More than two days
        ELSEIF lv_date > 3.
          wa_outs_trade_coll-more_than_two_days = im_dmbtr.
        ENDIF.
        COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
        CLEAR wa_outs_trade_coll.
      ENDMETHOD.                    "sunday_routines
      METHOD tuesday_routines.
        wa_outs_trade_coll-bukrs   = im_bukrs.
        wa_outs_trade_coll-hkont   = im_hkont.
        CLEAR lv_date.
        CALL METHOD me->difference_in_days
          EXPORTING
            im_date  = im_date
            im_budat = im_budat
          IMPORTING
            ex_diff  = lv_date.
      One day
        IF lv_date = 1.
          wa_outs_trade_coll-one_day = im_dmbtr.
      Two days
        ELSEIF lv_date = 4.
          wa_outs_trade_coll-two_days = im_dmbtr.
      More than two days
        ELSEIF lv_date > 4.
          wa_outs_trade_coll-more_than_two_days = im_dmbtr.
        ENDIF.
        COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
        CLEAR wa_outs_trade_coll.
      ENDMETHOD.                    "tuesday_routines
      METHOD other_days_routines.
        wa_outs_trade_coll-bukrs   = im_bukrs.
        wa_outs_trade_coll-hkont   = im_hkont.
        CLEAR lv_date.
        CALL METHOD me->difference_in_days
          EXPORTING
            im_date  = im_date
            im_budat = im_budat
          IMPORTING
            ex_diff  = lv_date.
      One day
        IF lv_date = 1.
          wa_outs_trade_coll-one_day = im_dmbtr.
      Two days
        ELSEIF lv_date = 2.
          wa_outs_trade_coll-two_days = im_dmbtr.
      More than two days
        ELSEIF lv_date > 3.
          wa_outs_trade_coll-more_than_two_days = im_dmbtr.
        ENDIF.
        COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
        CLEAR wa_outs_trade_coll.
      ENDMETHOD.                    "other_days_routines
      METHOD difference_in_days.
        CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
          EXPORTING
            i_date_from          = im_budat
          I_KEY_DAY_FROM       =
            i_date_to            = im_date
          I_KEY_DAY_TO         =
          I_FLG_SEPARATE       = ' '
          IMPORTING
            e_days               = ex_diff.
          E_MONTHS             =
          E_YEARS              =
      ENDMETHOD.                    "difference_in_days
      METHOD outs_check_released.
        FIELD-SYMBOLS: <fs_zcheck_monitor>         LIKE LINE OF gt_zcheck_monitor.
        SELECT zzbukr zhbkid zhktid
               zubhkt zrwbtr zrlsvd
               zrlsdt
          FROM zcheck_monitor
          INTO TABLE gt_zcheck_monitor
         WHERE zrlsvd <> space.
        IF NOT gt_zcheck_monitor[] IS INITIAL.
          LOOP AT gt_zcheck_monitor ASSIGNING <fs_zcheck_monitor>.
            MOVE-CORRESPONDING <fs_zcheck_monitor> TO wa_zcheck_monitor_collect.
            COLLECT wa_zcheck_monitor_collect INTO gt_zcheck_monitor_collect.
            CLEAR wa_zcheck_monitor_collect.
          ENDLOOP.
        ENDIF.
      ENDMETHOD.                    "outs_check_released
      METHOD process_data.
        FIELD-SYMBOLS: <fs_t012k>           LIKE LINE OF gt_t012k,
                       <fs_company>         LIKE LINE OF gt_company,
                       <fs_cash_in_bank>    LIKE LINE OF gt_cash_in_bank,
                       <fs_outs_trade_coll> LIKE LINE OF gt_outs_trade_coll,
                       <fs_misc_collection> LIKE LINE OF gt_misc_collection,
                       <fs_outs_rel_checks> LIKE LINE OF gt_outs_rel_checks.
        LOOP AT gt_t012k ASSIGNING <fs_t012k>.
          READ TABLE gt_company ASSIGNING <fs_company>
                                WITH TABLE KEY bukrs = <fs_t012k>-bukrs.
          IF sy-subrc = 0.
            wa_header-bukrs = <fs_company>-bukrs.
            wa_header-butxt = <fs_company>-butxt.
            wa_header-hbkid = <fs_t012k>-hbkid.
            APPEND wa_header TO gt_header.
            CLEAR wa_header.
          ENDIF.
          wa_output-bukrs = <fs_t012k>-bukrs.
          wa_output-hktid = <fs_t012k>-hktid.
        Move cash in bank
          READ TABLE gt_cash_in_bank ASSIGNING <fs_cash_in_bank>
                                     WITH TABLE KEY bukrs = <fs_t012k>-bukrs
                                                    hkont = <fs_t012k>-hkont.
          IF sy-subrc = 0.
            wa_output-cash_in_bank = <fs_cash_in_bank>-dmbtr.
            ADD wa_output-cash_in_bank TO wa_output-tot_cash_bal.
          ENDIF.
          CLEAR lv_hkont.
          lv_hkont = <fs_t012k>-hkont.
          ADD 1 TO lv_hkont.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
            EXPORTING
              input  = lv_hkont
            IMPORTING
              output = lv_hkont.
        Move outstanding trade collection(Deposit in transit)
          READ TABLE gt_outs_trade_coll ASSIGNING <fs_outs_trade_coll>
                                        WITH TABLE KEY bukrs = <fs_t012k>-bukrs
                                                       hkont = lv_hkont.
          IF sy-subrc = 0.
            wa_output-one_day            = <fs_outs_trade_coll>-one_day.
            ADD wa_output-one_day TO wa_output-tot_cash_bal.
            wa_output-two_days           = <fs_outs_trade_coll>-two_days.
            ADD wa_output-two_days TO wa_output-tot_cash_bal.
            wa_output-more_than_two_days = <fs_outs_trade_coll>-more_than_two_days.
            ADD wa_output-more_than_two_days TO wa_output-tot_cash_bal.
          ENDIF.
        Move miscellaneous collection
          READ TABLE gt_misc_collection ASSIGNING <fs_misc_collection>
                                        WITH TABLE KEY bukrs = <fs_t012k>-bukrs
                                                       hkont = lv_hkont.
          IF sy-subrc = 0.
            wa_output-misc_collection = <fs_misc_collection>-dmbtr.
            ADD wa_output-misc_collection TO wa_output-tot_cash_bal.
          ENDIF.
        Move outstanding checks released
          CLEAR lv_hkont.
          lv_hkont = <fs_t012k>-hkont.
          ADD 3 TO lv_hkont.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
            EXPORTING
              input  = lv_hkont
            IMPORTING
              output = lv_hkont.
          READ TABLE gt_outs_rel_checks ASSIGNING <fs_outs_rel_checks>
                                        WITH TABLE KEY bukrs = <fs_t012k>-bukrs
                                                       hkont = <fs_t012k>-hkont.
          IF sy-subrc = 0.
            wa_output-outs_rel_checks = <fs_outs_rel_checks>-dmbtr.
          ENDIF.
        Move outstanding unreleased checks
          CLEAR wa_zcheck_monitor_collect.
          READ TABLE gt_zcheck_monitor_collect INTO wa_zcheck_monitor_collect
                                               WITH TABLE KEY zzbukr = <fs_t012k>-bukrs
                                                              zubhkt = lv_hkont
                                                                       TRANSPORTING zrwbtr.
          IF sy-subrc = 0.
            wa_output-outs_unrel_checks = wa_zcheck_monitor_collect-zrwbtr.
          ENDIF.
        Move importation docs. due
          CLEAR wa_importation_docs_due.
          READ TABLE gt_importation_docs_due INTO wa_importation_docs_due
                                             WITH TABLE KEY bukrs = <fs_t012k>-bukrs
                                                            hkont = <fs_t012k>-hkont
                                                                    TRANSPORTING dmbtr.
          IF sy-subrc = 0.
            wa_output-imp_docs_due = wa_importation_docs_due-dmbtr.
          ENDIF.
          APPEND wa_output TO gt_output.
          CLEAR wa_output.
        ENDLOOP.
        IF NOT gt_output[] IS INITIAL.
          CREATE OBJECT o_lcl_alv_routines.
          CALL METHOD o_lcl_alv_routines->display_data
            EXPORTING
              im_header = gt_header
              im_output = gt_output.
        ENDIF.
      ENDMETHOD.                    "process_data
    ENDCLASS.                    "lcl_get_data IMPLEMENTATION
          CLASS alv_routines IMPLEMENTATION
    CLASS lcl_alv_routines IMPLEMENTATION.
      METHOD alv_init.
        gv_repid = sy-repid.
        gs_layout-subtotals_text   = text-a01.
        gs_layout-key_hotspot      = 'X'.
        gs_layout-expand_fieldname = text-a02.
        gs_keyinfo-header01 = text-a03.
        gs_keyinfo-item01   = text-a03.
      ENDMETHOD.                    "alv_init
      METHOD build_fieldcat.
        DEFINE m_fieldcat.
          add 1 to wa_fieldcat-col_pos.
          wa_fieldcat-fieldname   = &1.
          wa_fieldcat-tabname     = &2.
          wa_fieldcat-rollname    = &3.
          wa_fieldcat-outputlen   = &4.
          wa_fieldcat-fix_column  = &5.
          wa_fieldcat-just        = &6.
          wa_fieldcat-do_sum      = &7.
          wa_fieldcat-emphasize   = &8.
          wa_fieldcat-hotspot     = &9.
          append wa_fieldcat to gt_fieldcat.
          clear wa_fieldcat.
        END-OF-DEFINITION.
        m_fieldcat 'BUKRS'              'gt_output'  text-a04  '' '' '' '' '' ''.
        m_fieldcat 'HKTID'              'gt_output'  text-a05  '' '' '' '' '' ''.
        m_fieldcat 'CASH_IN_BANK'       'gt_output'  text-a06  '' '' '' '' '' ''.
        m_fieldcat 'ONE_DAY'            'gt_output'  text-a07  '' '' '' '' '' ''.
        m_fieldcat 'TWO_DAYS'           'gt_output'  text-a08  '' '' '' '' '' ''.
        m_fieldcat 'MORE_THAN_TWO_DAYS' 'gt_output'  text-a09  '' '' '' '' '' ''.
        m_fieldcat 'MISC_COLLECTION'    'gt_output'  text-a10  '' '' '' '' '' ''.
        m_fieldcat 'OUTS_REL_CHECKS'    'gt_output'  text-a11  '' '' '' '' '' ''.
        m_fieldcat 'TREAS_TRANSACTIONS' 'gt_output'  text-a12  '' '' '' '' '' ''.
        m_fieldcat 'TOT_CASH_BAL'       'gt_output'  text-a13  '' '' '' '' '' ''.
        m_fieldcat 'TOTS_UNREL_CHECKS'  'gt_output'  text-a14  '' '' '' '' '' ''.
        m_fieldcat 'IMP_DOCS_DUE'       'gt_output'  text-a15  '' '' '' '' '' ''.
        m_fieldcat 'EST_CASH_BALANCE'   'gt_output'  text-a16  '' '' '' '' '' ''.
      ENDMETHOD.                    "build_fieldcat
      METHOD display_data.
        CALL METHOD me->alv_init.
        CALL METHOD me->build_fieldcat.
        gv_tabname_header = 'GT_HEADER'.
        gv_tabname_item   = 'GT_OUTPUT'.
        gt_header[] = im_header[].
        gt_output[] = im_output[].
        CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
          EXPORTING
          I_INTERFACE_CHECK              = ' '
            i_callback_program             = gv_repid
          I_CALLBACK_PF_STATUS_SET       = ' '
          I_CALLBACK_USER_COMMAND        = ' '
            is_layout                      = gs_layout
            it_fieldcat                    = gt_fieldcat
          IT_EXCLUDING                   =
          IT_SPECIAL_GROUPS              =
          IT_SORT                        =
          IT_FILTER                      =
          IS_SEL_HIDE                    =
          I_SCREEN_START_COLUMN          = 0
          I_SCREEN_START_LINE            = 0
          I_SCREEN_END_COLUMN            = 0
          I_SCREEN_END_LINE              = 0
          I_DEFAULT                      = 'X'
          I_SAVE                         = ' '
          IS_VARIANT                     =
          IT_EVENTS                      =
          IT_EVENT_EXIT                  =
            i_tabname_header               = gv_tabname_header
            i_tabname_item                 = gv_tabname_item
          I_STRUCTURE_NAME_HEADER        =
          I_STRUCTURE_NAME_ITEM          =
            is_keyinfo                     = gs_keyinfo
          IS_PRINT                       =
          IS_REPREP_ID                   =
          I_BYPASSING_BUFFER             =
          I_BUFFER_ACTIVE                =
          IR_SALV_HIERSEQ_ADAPTER        =
          IT_EXCEPT_QINFO                =
          I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
        IMPORTING
          E_EXIT_CAUSED_BY_CALLER        =
          ES_EXIT_CAUSED_BY_USER         =
          TABLES
            t_outtab_header                = gt_header
            t_outtab_item                  = gt_output
         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.
      ENDMETHOD.                    "display_data
    ENDCLASS.                    "alv_routines IMPLEMENTATION
    START-OF-SELECTION                           *
    START-OF-SELECTION.
      DATA: o_lcl_get_data TYPE REF TO lcl_get_data.
      CREATE OBJECT o_lcl_get_data.
      CALL METHOD o_lcl_get_data->get_bank_details.
    [/code]

    Thanks anyways...

Maybe you are looking for

  • Activation button not working in Solution builder 600V5

    Hi, We are importing Best Practice for Retail V1.603 for US in our blank client system. The add-ons for BP-ERP05 603V3 and BP-INSTASS 600V5 have been imported. After setting the scope of the solution , we are attempting to activate the solution( atte

  • Sound Blaster Audigy Advanced

    I purchased a Dell 705 with Vista and had the software installed and it worked nicely. I sent that laptop back because I did not like Vista and wanted XP Pro SP2 but now Dell is telling me they can not sell anymore because it is not supported. Is tha

  • Error in OAF Page Running

    Hi All,      I created one sample and starting OAF page which displays only the brand logo.      But when I am trying to Run the page it is creating an error as      An error was encountered when running      "JDeveloper\jedevhome\jdev\myclasses\JRAD

  • Help with glitchy horizontal photo scroller

    • Here is the glitchy scroller that I'm trying to make smoother: http://jacobtyler.com/dev/stephanieclair/gallery2.html • I attached the main code that I'm using on the next button: • All of the tweening is on the main timeline. • It would be a bonus

  • Free Busy Configuration

    Hi, Since we can configure Exchange 2010 <> Exchange 2010 Organisation for Free / Busy lookup without using MS federation. (We have must be having GALSYNC) Can we do the same with Exchange 2010 <> Exchange 2010 + Exchange 2003 witout MS federation or