SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Outstanding Invoice Receipts (IR) from Purchase Order (PO)



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ММ
View previous topic :: View next topic  
Author Message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Sat Apr 12, 2008 11:04 am    Post subject: Outstanding Invoice Receipts (IR) from Purchase Order (PO) Reply with quote

The purpose of this program is to highlight goods receipts (GR) that have no corresponding invoice receipts (IR). Either the invoice has not been received, or it has not been keyed in, or it was keyed in incorrectly.

The program is written as an interface for an ABAP Query. The output should be like that of ME2L (Purchasing IS), except that the format is different, and only those items with different quantities for GR and IR are listed. The code is not very optimized. The only advantage of using it as an ABAP Query is being able to quickly change the online format, sorting, etc.

Outstanding IRs from PO

Code:
*&---------------------------------------------------------------------*
*& Report  ZGR-IR                                                      *
*&                                                                     *
*&---------------------------------------------------------------------*
*& Used for ABAP Query to list goods received that have not been       *
*& fully invoiced                                                      *
*&---------------------------------------------------------------------*

REPORT ZGR-IR.

TABLES: EKBE.                          "Define Dictionary structure

* Conditions to limit search
SELECT-OPTIONS: PO_DOC FOR EKBE-EBELN,   "Purchase order
                PO_ITEM FOR EKBE-EBELP,  "Purchase order item
                POSTDATE FOR EKBE-BUDAT, "GR Posting Date
                MAT_NR FOR EKBE-MATNR.   "Material number

DATA: GOODSRCVD LIKE EKBE-MENGE,       "goods received in units
      GOODSINVOICED LIKE EKBE-MENGE,   "goods invoiced in units
      LAST_EBELN LIKE EKBE-EBELN,      "to keep track of already processed POs
      LAST_EBELP LIKE EKBE-EBELP,      " and PO items

      BEGIN OF SUMS OCCURS 4,
       BEWTP LIKE EKBE-BEWTP,
       MENGE LIKE EKBE-MENGE,
       SHKZG LIKE EKBE-SHKZG,          "Debt/Credit indicator
      END OF SUMS.

* <Query_head>   "This comment must always appear after data decl'ns

* check header GR documents for un-invoiced inventory
SELECT * FROM EKBE
    WHERE BWART = '101' AND            " GR document
          EBELN IN PO_DOC AND
          EBELP IN PO_ITEM AND
          BUDAT IN POSTDATE AND
          MATNR IN MAT_NR
    ORDER BY EBELN EBELP BELNR.
  CHECK  " only get the header one
         NOT ( EKBE-EBELN = LAST_EBELN AND EKBE-EBELP = LAST_EBELP ).
  LAST_EBELN = EKBE-EBELN.
  LAST_EBELP = EKBE-EBELP.

  CLEAR SUMS. CLEAR SUMS[].
  SELECT BEWTP MENGE SHKZG FROM EKBE INTO SUMS
      WHERE EBELN = EKBE-EBELN AND EBELP = EKBE-EBELP.
    COLLECT SUMS.
  ENDSELECT.

  GOODSRCVD = 0. GOODSINVOICED = 0.
  LOOP AT SUMS.               "sums table should now have 4 totals
    IF SUMS-SHKZG = 'S'.               "positive value
      IF SUMS-BEWTP = 'E'.           "goods received
        GOODSRCVD = GOODSRCVD + SUMS-MENGE.
      ELSE.                            "goods invoiced
        GOODSINVOICED = GOODSINVOICED + SUMS-MENGE.
      ENDIF.
    ELSE.                              " negative value
      IF SUMS-BEWTP = 'E'.           "goods received
        GOODSRCVD = GOODSRCVD - SUMS-MENGE.
      ELSE.                            "goods invoiced
        GOODSINVOICED = GOODSINVOICED - SUMS-MENGE.
      ENDIF.
    ENDIF.
  ENDLOOP.

  IF GOODSRCVD = GOODSINVOICED. "amount received = amount invoiced
    CONTINUE.
  ELSE.
    EKBE-BPMNG = GOODSRCVD - GOODSINVOICED. "missing invoice amount
  ENDIF.

* <Query_body>      send data to query
ENDSELECT.
*&---------------------------------------------------------------------*
*& End of Report  ZGR-IR                                               *
*&                                                                     *
*&---------------------------------------------------------------------*
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ММ All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.