Quantcast
Channel: SCN : All Content - ABAP Development
Viewing all articles
Browse latest Browse all 8332

Order Aging Report (AUFK-AUFNR , USER1)

$
0
0

Hello Experts,

 

I'm working on Order Aging Report: A Report of Orders that have been inactive for greater than 90 days.

 

I need to check the Posting Date of the Order is greater than the Start Date.

 

How can I do this?

 

If I read BSEG / BKPF Tables, it is taking a lot of time. Performance is getting affected.

 

Here's my code:

* Validation for Posting Date

* Display the orders that do not have had any activity during the past 90 days from wdate

  LOOP AT aaufk.

    SELECT SINGLE * FROM aufk WHERE aufnr = aaufk-aufnr.

    IF sy-subrc EQ 0.

      SELECT SINGLE belnr FROM bseg INTO w_belnr

        WHERE bukrs EQ aufk-bukrs

        AND   gjahr EQ p_gjahr

        AND   aufnr EQ aaufk-aufnr

        AND   prctr EQ aufk-prctr.

      IF sy-subrc EQ 0.

        SELECT SINGLE budat INTO w_budat

          FROM bkpf

          WHERE bukrs EQ aufk-bukrs

          AND   belnr EQ w_belnr

          AND   gjahr EQ p_gjahr.

        IF sy-subrc EQ 0.

          IF w_budat GT strt-date.

* If Posting Date is GT Start Date, then delete the entry

* as the order had an activity in the last 90 days

            DELETE aaufk WHERE user1 EQ aufk-user1

                         AND   aufnr EQ aufk-aufnr.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

Since this is inside the LOOP, performance is really bad.

 

I need to delete the entries from an Internal Table where the Posting Date > Start Date (if it is within 90 days).

 

Which Table can I use to get the Posting Date of a Particular Order (AUFK-AUFNR)?

 

Please advise.

 

Thanks & Regards,
Sowmya


Viewing all articles
Browse latest Browse all 8332

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>