Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Picking open items and cleared items from BSID and BSAD

0 Kudos

Hi

I have to pick the open items and cleared items from BSID and BSAD.

But the case is for the month of september. I.e the items that are open on 30 september 2013 according to FBL5n

But those items are cleared by the user but they are open at that date. how are they picked and displayed in fbl5n.

Regards

Nikhil Jain

1 ACCEPTED SOLUTION

haresh_manani
Explorer
0 Kudos

Hii Nikhil,

The following query will work : -

Suppose your open item date in selection screen is p_date and internal table it it_data.

select * from bsid

          appending corresponding fields to table it_data

          where budat <= p_date.

select * from bsad

          appending corresponding fields to table it_data

          where augdt >  p_date and

                    budat <= p_date.

Regards,

Haresh Manani.

4 REPLIES 4

venkateswaran_k
Active Contributor
0 Kudos

Hi Nikhil

The BSID table store all uncleared items

The BSAD table contains all Cleared Items.

there is field AUGDT - stores teh Clearing Date.

The Report FBL5N - baed on the clearing date you choose, it displays.

Regards,

Venkat

harshsisodia31
Participant
0 Kudos

Hi Nikhil,

I faced the same problem few days back.

Try below BAPI it will surely help you.

CALL FUNCTION 'BAPI_AR_ACC_GETOPENITEMS'
       EXPORTING
         COMPANYCODE       = PA_BUKRS
         CUSTOMER          = PA_KUN
         KEYDATE           = D1
         NOTEDITEMS        = 'X'
*       SECINDEX          = ' '
*     IMPORTING
*       RETURN            =
       TABLES
         LINEITEMS         = LT_ITMES.

PA_BUKRS = company code

PA_KUN = customer

date = date for which you want to fetch the open line item

if you to select the the line item for range of date eg : 01.04.2013 to 30.04.2013

then use below code :

WHILE D1 LE D2.
       CALL FUNCTION 'BAPI_AR_ACC_GETOPENITEMS'
       EXPORTING
         COMPANYCODE       = PA_BUKRS
         CUSTOMER          = PA_KUN
         KEYDATE           = D1
         NOTEDITEMS        = 'X'
*       SECINDEX          = ' '
*     IMPORTING
*       RETURN            =
       TABLES
         LINEITEMS         = LT_ITMES.

       DELETE LT_ITMES WHERE PSTNG_DATE NE D1.
       APPEND LINES OF LT_ITMES TO LT_ITMES1.
       D1 = D1 + 1.
     ENDWHILE.

     LOOP AT LT_ITMES1 INTO WA_ITMES.

       MOVE WA_ITMES-CLEAR_DATE  TO WA_BSID-AUGDT.
       IF WA_BSID-AUGDT = '00000000'.
         MOVE WA_ITMES-COMP_CODE   TO WA_BSID-BUKRS.
         MOVE WA_ITMES-FISC_YEAR   TO WA_BSID-GJAHR.
         MOVE WA_ITMES-REF_DOC_NO  TO WA_BSID-XBLNR.
         MOVE WA_ITMES-ALLOC_NMBR  TO WA_BSID-ZUONR.
         MOVE WA_ITMES-DOC_NO      TO WA_BSID-BELNR.
         MOVE WA_ITMES-DOC_TYPE    TO WA_BSID-BLART.
         MOVE WA_ITMES-DOC_DATE    TO WA_BSID-BLDAT.
         MOVE WA_ITMES-PSTNG_DATE  TO WA_BSID-BUDAT.
         MOVE WA_ITMES-CLR_DOC_NO  TO WA_BSID-AUGBL.
         MOVE WA_ITMES-ITEM_TEXT   TO WA_BSID-SGTXT.
         MOVE WA_ITMES-ENTRY_DATE  TO WA_BSID-CPUDT.
         MOVE WA_ITMES-SP_GL_IND   TO WA_BSID-UMSKZ.
*       MOVE WA_ITMES-SP_GL_IND   TO WA_BSID-HKONT.
         MOVE WA_ITMES-CUSTOMER    TO WA_BSID-KUNNR.
         MOVE WA_ITMES-DB_CR_IND   TO WA_BSID-SHKZG.
         MOVE WA_ITMES-ITEM_NUM    TO WA_BSID-BUZEI.
         MOVE WA_ITMES-PMNTTRMS    TO WA_BSID-ZTERM.
         MOVE WA_ITMES-LC_AMOUNT   TO WA_BSID-DMBTR.
         MOVE WA_ITMES-DOC_STATUS  TO WA_BSID-BSTAT.
         APPEND WA_BSID TO IT_BSID1.
       ENDIF.

       IF WA_BSID-AUGDT NE '00000000'.
         IF WA_BSID-AUGDT > D2.
           MOVE WA_ITMES-COMP_CODE   TO WA_BSID-BUKRS.
           MOVE WA_ITMES-FISC_YEAR   TO WA_BSID-GJAHR.
           MOVE WA_ITMES-REF_DOC_NO  TO WA_BSID-XBLNR.
           MOVE WA_ITMES-ALLOC_NMBR  TO WA_BSID-ZUONR.
           MOVE WA_ITMES-DOC_NO      TO WA_BSID-BELNR.
           MOVE WA_ITMES-DOC_TYPE    TO WA_BSID-BLART.
           MOVE WA_ITMES-DOC_DATE    TO WA_BSID-BLDAT.
           MOVE WA_ITMES-PSTNG_DATE  TO WA_BSID-BUDAT.
           MOVE WA_ITMES-CLR_DOC_NO  TO WA_BSID-AUGBL.
           MOVE WA_ITMES-ITEM_TEXT   TO WA_BSID-SGTXT.
           MOVE WA_ITMES-ENTRY_DATE  TO WA_BSID-CPUDT.
           MOVE WA_ITMES-SP_GL_IND   TO WA_BSID-UMSKZ.
*         MOVE WA_ITMES-SP_GL_IND   TO WA_BSID-HKONT.
           MOVE WA_ITMES-CUSTOMER    TO WA_BSID-KUNNR.
           MOVE WA_ITMES-DB_CR_IND   TO WA_BSID-SHKZG.
           MOVE WA_ITMES-ITEM_NUM    TO WA_BSID-BUZEI.
           MOVE WA_ITMES-PMNTTRMS    TO WA_BSID-ZTERM.
           MOVE WA_ITMES-LC_AMOUNT   TO WA_BSID-DMBTR.
           MOVE WA_ITMES-DOC_STATUS  TO WA_BSID-BSTAT.
           APPEND WA_BSID TO IT_BSID1.
         ENDIF.
       ENDIF.

       CLEAR WA_BSID.
       CLEAR WA_ITMES.
     ENDLOOP.


here d1 = 01.04.2013

         d2 = 30.04.2013


Hope it helps.


Thanks


Harsh

hiriyappa_myageri
Participant
0 Kudos

Hi Nikhil,

Based on Clearing Date and Fiscal Year BSID-AUGDT  BSID-GJAHR You can fetch it .

Regards,

Hiriyappa

haresh_manani
Explorer
0 Kudos

Hii Nikhil,

The following query will work : -

Suppose your open item date in selection screen is p_date and internal table it it_data.

select * from bsid

          appending corresponding fields to table it_data

          where budat <= p_date.

select * from bsad

          appending corresponding fields to table it_data

          where augdt >  p_date and

                    budat <= p_date.

Regards,

Haresh Manani.