Misc Receipt with negative quantity

Hi,
Is there anyway to create a Misc Receipt with negative quantity. I tried using the INV_TXN_MANAGER_PUB.Process_Transactions.But not able to create it.Any clue?
Thanks in Advance!
Srini

Hi,
How about this?
Create a non-quantity tracked subinventory by name say, DamagedInv. Whenever you want to reduce/remove the damaged quantity, perform a subinventory transfer transaction from the original subinventory to the DamagedInv subinventory.
Since DamagedInv is non-quantity tracked, it will not appear in the Subinventory LOV while performing other transactions (except miscellaneous receipt)..
Thanks,
Pavan.

Similar Messages

  • Inventory issue with negative quantity

    Hi Everybody,
    My project is in Production Support & I'm stuck at one point.
    I have an inventory cube which shows correct quantity values for issues and receipts but shows negative in the file.
    We send a file to business through infospoke.
    I have done various analysis but never got to the root cause of the issue.
    Can anybody give me suggestions or different ways of analysis???
    Parthiv.

    Thanks for your reply Engin,
    You are right with that. I have checked and it is good till the cube. The total quantity matches with database table. There is a BAdI implementation at the infospoke to export the data to a file.
    The file contains negative quantity values for more than 156,000 records.
    The code used in BAdI :
              i_data_out-material = i_data_in2-material.
              i_data_out-plant    = i_data_in2-plant.
              i_data_out-stor_loc = i_data_in2-stor_loc.
              i_data_out-totalstock =
                              i_data_in2-rectotstck - i_data_in2-isstotstck.
    But the file shows negative value of isstotstck as total quantity.

  • Can a Purchase Order (PO) Be Created With Negative Quantity or Price?

    The object is to have a negative line on a PO? Is this possible?

    Hi,
    Oracle Purchasing does not provide functionality to create a Purchase Order with a negative quantity or price.
    Enhancement Request BUG 2457862 NEGATIVE QUANTITIES ON PO LINES has been logged to request this functionality.
    Thanks
    -Arif.

  • Goods receipt with Zero Quantity from Purchase Order

    Dear Expert,
    Is this a policy or something in SAP system?
    Why I can MIGO with Zero Qty from Purchase order that still open quantity?
    Best regards,
    Dedy

    Dear all,
    Thanks a lot for all replies.
    Dear Thiru,
    First thing, all system message i have set error, M7 061 Document does not contain any items
    M7 264 Qty and / or "delivery completed" ind. or final issue ind. are missing.
    Scenario :
    PO not yet tick delivery completed (open quantity), when we doing MIGO w/ zero qty and set delivery completed indicator to --> 2 Set, a document GR is posted w/ zero quantity.
    Also when PO already tick delivery completed, but when MIGO and set delivery completed indicator to --> 3 Do not set, a document GR is posted w/ zero quantity.
    Is this a way that SAP provide to tick delivery completed after PO final release w/ status not changeable so we do not need to cancel release or something like a bug/backdoor?
    Best regards,
    Dedy

  • Don't allow Goods Receipt with quantity zero in EBP

    Hi
    If  a Goods Receipt is confirmed with the quantity zero and the "Last Delivery" flag is set in EBP,
    iin the R / 3 there will be also created a Goods Receipt with the quantity zero. Later It is not possible to
    delete or cancel it in R/3.
    In order to prohibit Goods Receipt confirmation in EBPwith quantity zero, I need a way. How can I achieve
    this.
    Regards
    Marco

    Use can use BBP_DOC_CHECK_BADI  or BBP_ITEM_CHECK_BADI to achieve this..
    Code will look like follow..
         GET SC DATA
          CALL FUNCTION 'BBP_PD_SC_GETDETAIL'
            EXPORTING
              i_guid          = iv_doc_guid
              i_with_itemdata = 'X'
            TABLES
              e_item          = lt_item.
    Loop at lt_item into wa_lt_item.
    IF wa_lt_item-quantity = 0.
    Rase error message
    ENDIF.
    ENDLOOP.
    Thanks!!
    Bharath

  • Service PO Creation With Negative value

    Hi all,
    I am trying to create a Services PO using the BAPI 'BAPI_PO_CREATE1'
    In my scenario, First time PO will create with negative value.
    Then I will remove some conditions in Services line.
    Then PO value will becomes positive.
    When i create the bapi in ME21N, its working fine. Net values of PO become negative.
    But When I try the same using the BAPI, net price of the PO stored as 0(ZERO).
    If I create a PO with positive value using the same BAPI, everything is fine.
    If I change the PO after creation(removing the service line to make bapi value as positive), Net values are doubled since value stored as zero instead of negative value.
    Kindly help me to get out of this issue.
    Note: I need to create a Services PO with negative value using the BAPI
    Thanks in advance.

    Hi,
    No need to create service PO with negative quantity!
    If payment not done for your servicePO, you can cancel invoice document and then revoke SES.
    If any other process involved you can do subsequent debit or subsequent credit  for your service PO in t.code:MIRO.
    Regards,
    Biju K

  • Service Purchase Order with Negative Value

    Hi Experts,
    is there a method of creating a purchase order of services that can have negative value on it?
    the requirement is that the PO, SES and Invoice of the previously issued PO needs to be adjusted by creating a new Purchase order.
    Please advise.
    Thank you,
    Barakzai.

    Hi,
    No need to create service PO with negative quantity!
    If payment not done for your servicePO, you can cancel invoice document and then revoke SES.
    If any other process involved you can do subsequent debit or subsequent credit  for your service PO in t.code:MIRO.
    Regards,
    Biju K

  • Negative Quantity in Fixed Reserve Quantity in MMBE

    Hi,
    In which case will this field be negative??
    My understanding, we can only reserve stocks with quantity.  Is it correct?

    Hi,
    If you issue the material before posting the Goods recipt the stock will show with Negative quantity.
    You can reserve the quantity for movement type irespective of available stock.
    The quantity means the volume of material you required in the future date.

  • Negative quantity issue in inventory

    Experts,
    I am facing one problem in inventory,i am getting two records for one material document in which primary keys are similar for both of the entries with one entry having positive qty while other as negative qty ,also the negative qty entry doesn't have any batch number along with. As it is a quarter end i need to resolve this problem as soon as possible.
    the data source is 2LIS_03_BF, in extractor checker it self it is showing multiple entries for one material document (positive as well as negative)
    i don't know much about inventory, because of that i am unable to understand the root cause for the same.when user are running query on the basis of batch number they are getting mismatch in report as two entries present with positive and negative qty entries(with negative entry missing batch Number.
    If any one faced this issue earlier then please reply as soon as possible.

    Hi Bob,
    Thanks for the reply, as I mentioned in my problem, I am getting two entries for each material document. One with positive and another with negative Quantity. Also the negative Qty record doesn't have batch num along with. So there is no meaning to fill up the setup table again. Hope I am clear this time.
    Please provide me a solution for the same. 
    Regards,
    Yash

  • Negative quantity of SO item

    Dear Expert,
    Can I use the negative quantity for SO items? And do the delivery with negative quantity to increase inventory?
    I will reward you.
    regards
    Gang

    Well
    See if you are selling something in a Order how can you add upp returns in the same order i mean thats not correct logically speaking
    You cant configure a single item category to do both the work ... please let me know more clear requirement and for return of a material LNN for Reteunable packaging material and if you have something like empties you can use TAZ..
    Yeah your line item can have one with TAN & the other with REN but then i have never come across this situation neither i have simulated this senario .. may be you can test it ..( i would wonder how would delivery and billing documents respond to this ) my knowledge says it may not work
    Hope this helps
    Cheers

  • Goods movemets for negative quantity (BAPI_GOODSMVT_CREATE)

    Hi gurus,
    I am posting goods movements with function BAPI_GOODSMVT_CREATE.  (with BWART 101)
    Is it possible create goods movemets for negatives quantity?
    Thanks in advance

    an you explain the need & logic to post a 101 mvt with -ve qty???
    Regards,
    I really need to post a movemetn with negative quantity. It is not necesary that type was 101.
    I am posting movemetns 101 and this is ok, but I have an speciall movement that I have to post with negative quantity
    Regards,

  • ML81N Negative Quantity Posting for Credit or Difference Adjustments.

    ECC 5.0 - DIMP
    This is a VERY, VERY common situation at nearly all companies where a credit or small difference may occur between the invoice amount and the SES.  Reversing / canceling and reentering documents, along with all of the additional accounting documents created is not an appropriate option.
    =========================
    I have a situation with Service Entry Sheets where a vendor delivers services for a PO line item.  There can be MANY service entries, and MANY invoices for a single PO Line item.
    Invoices are posted against the open GR SES amount on the PO Line Item and not specifically to the service entry sheet.  As a result there may be more than one invoice tied to a single service entry sheet.  The reversal option would requie
    When credits come in, or when vendor discounts are taken the SES amount does not match but there is a need to ensure that the SES amount matches the vendor credit amount (whether credit memo or discounts taken). 
    NUMEROUS SAP OSS Notes say that Negative Service Entry Sheet Amounts are possible, and in the first step I even get an SE042 warning message about the negative quantity.  However, when I press ENTER to go past the warning I then get messgae SE396 as a hard error and the dialog box for the error has JUST an exit button causing the entire transaction to exit the process.
    Has anyone ever worked successfully with negative service entry sheet quantities?
    If so, what were your lessons learned?
    Here are some of the notes I have reviewed, and the ability to do the negative SES quantity goes back to 4.6:
    365648
    375799
    411262
    455707
    1068156
    1166693

    Hi Bill,
    If you try to save an SES with ONLY a negative quantity you will receive               
    the following error Value of specs. less than zero (function cannot be                 
    performed) Message no. SE396.
    You can enter negative VALUES based on the               
    following rules:                                                                               
    The service specifications contain lines with negative values.                         
    Service lines with negative values are only allowed if the following                   
    conditions are fulfilled:                                                                               
    The total value of the specifications is positive.                                     
    The total value of each account assignment is positive.                                                                               
    Please see other notes attached.                                                       
    354903 Postings: Invoices for services                                                 
    499575    FAQ: Invoice verification/goods receipt in service                           
    1174830 FAQ: Invoice cancellation for services       
    Regards,
    Edit

  • Need negative quantity non-inventory items on Credit Memo

    Version: (2007A)
    Description of requirements: (Please provide a detailed description)
    Our customer issues many invoices with a negative quantity line item for a miscellaneous non-inventory item. These non-inventory items are used to reduce the amount of the invoice regarding miscellaneous credits to their customers.  These are not discounts.
    When the customer wants to credit these invoices, they canu2019t create a Credit Memo based on the invoice because SAP wonu2019t allow this if there are line items with negative amounts.
    When they create a credit memo not based on an invoice, they arenu2019t allowed to enter a negative quantity for a line item as they are for an Invoice. They are forced to create a credit memo not based on an invoice the inventory item line items and an invoice or Journal Entry for the negative quantity line item to debit back the miscellaneous line amount.
    As an example:
    Invoice line item one for inventory item: qty one, price 100,line total $100.00
    Invoice line item two non-inventory item misc credit: quanity -1, price 10, total -$10.00
    Invoice Total $90.00
    In Order to provide the correct credit amount, they have to create a Credit Memo not based on an invoice for line item one, qty one, price 100 u2013 value -100 and an invoice for the non-inventory item for qty one, price 10 -  value 10.00.
    This creates a net credit for the customer of 90.00
    This looks ridiculous to their customers when they see these transactions on their statements, creates extra work for the users and there is no link between the three documents.
    By using inventory items for these miscellaneous credits, they can assign a sales revenue of their choice. They have multiple sales accounts and the GL posting is determined by the item group for the item. By assigning the desired item group to these non-inventory items, they can control which sales account is updated on their marketing documents when using these non-inventory items.
    If they were to use the Freight items, they would need a separate freight setup entry for combination of item group and miscellaneous credit. Because they have so many Item Groups and types of credits, they would need a great many separate Freight Charges to choose from.
    All of the above pertains to all of our customers. This customer has a custom add-on and their marketing documents are all created from custom objects.  They hit a button on the custom sales contract screen and an invoice is created.  When they hit another button on the screen, the selected invoice is credited. They have legally binding contracts for fixed quantities to be shipped, so we decrease the quantity shipped when creating an invoice and decrease the quantity shipped when a credit memo is created. The contract is fulfilled when the exact quantity contracted for has been shipped. Because the credit memo fails, we canu2019t update the custom objectu2019s remaining to be shipped, rendering it inaccurate from that time forward. (reducing the quantity shipped is part of the Credit Memo creation process).Creating Credit Memos and Invoices from the interface fixes the inventory count, customer balance, etc., but we have no way of fixing the sales contractu2019s quantity shipped & remaining to be shipped or linking the contracts to the documents created from the interface.
    Business needs: (Please describe the impact on your business, if the functionality is not realized)
    Examples: (Please describe a typical example, how the functionality should work.)
    Credit Memos should allow negative quantities and line total amounts for non-inventory items, the same way that A/R Invoices do, so that credit memos can be based on invoices that have negative quantity non-inventory line items.
    Current Workaround: (Please describe the workarounds you are using at the moment)
    Please see above
    Proposed solution: (Please suggest how the new functionality should work)
    Credit Memos should allow negative quantities and line total amounts for non-inventory items, the same way that A/R Invoices do.

    Hi Sean......
    System is behaving properly as per its logic. Infact it does same in all the previous or upcoming versions.
    If you have Item Type GRPO for Non Inventory Item it does not create any accounting but you can see the same during AP invoice.
    GRPO for such type is only optional. For further clarification you can discuss this with your CA what he suggests. But i suggest you to raise AP invoice also for getting Account effect. Just see doing this in test DB you get your answer......
    Regards,
    Rahul

  • Negative quantity in deliver field in production order - CO02

    Hi All,
    I am doing production confirmation and goods receipt for production order through back ground using standard BAPI.While doing GR for production order in background the following error occured.
      System is throughing dump - Arithmatical logical conversion problem.when we analysed through ST22 we came to know that negative quantity appearing in field of delivered in production order.
      Screen name.............. "SAPLCOKO1"
      Screen number............ 0120
      Screen field............. "CAUFVD-GWEMG"
    As per standard, delivered field in production order is always in display mode only. So there will not be any chance for user to change the delivered field.
    Pls guide me how to overcome the above issue and what is exact root cause for the above problem.
    System is throwing error in change mode ( Co02) and display mode ( CO03 ) for the respective production order number
    Thanks
    P.Srinivasan

    Hi,
    This inconsistency can be solved with the following correction report. If you want to try by yourself, then implement it manually in transaction SE38 and execute in test mode first to check if the inconsistency is found. And obviously, in a TEST system first.
    If you are NOT confident about it, I recommend you to submit a support message for SAP for further investigation since this is a database inconsistency.
    Regards,
    Marcelo
    <pre>
    *& Report  ZPCON_076B                                                  *
    *& This report checks goods receipt quantity (WEMNG) and value (WEWRT) *
    *& of an order item for consistency with the corresponding material    *
    *& documents. In UPDATE mode, the quantity and the value calculated    *
    *& from the material documents will be written to database table AFPO. *
    REPORT  zpcon_076b LINE-SIZE 90.
    INCLUDE lcokotyp.
    TABLES: afpo.
    SELECTION-SCREEN COMMENT /1(80) text1.                      "#EC NEEDED
    SELECTION-SCREEN COMMENT /1(80) text2.                      "#EC NEEDED
    SELECTION-SCREEN COMMENT /1(80) text3.                      "#EC NEEDED
    SELECTION-SCREEN COMMENT /1(80) text4.                      "#EC NEEDED
    SELECTION-SCREEN COMMENT /1(80) text5.                      "#EC NEEDED
    SELECTION-SCREEN ULINE.
    SELECTION-SCREEN COMMENT /1(80) texta.                      "#EC NEEDED
    SELECT-OPTIONS r_aufnr FOR afpo-aufnr.
    SELECTION-SCREEN ULINE.
    SELECTION-SCREEN BEGIN OF BLOCK block WITH FRAME TITLE title."#EC NEEDED
    SELECTION-SCREEN COMMENT /1(72) texty.                      "#EC NEEDED
    SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME.
    PARAMETERS: testmode RADIOBUTTON GROUP mode DEFAULT 'X'.
    PARAMETERS: update RADIOBUTTON GROUP mode.
    SELECTION-SCREEN END OF BLOCK block2.
    SELECTION-SCREEN COMMENT /1(72) textz.                      "#EC NEEDED
    SELECTION-SCREEN END OF BLOCK block.
    DATA: BEGIN OF ls_afpo.
            INCLUDE STRUCTURE afpo.
    DATA: END OF ls_afpo.
    DATA  lt_afpo LIKE ls_afpo OCCURS 0.
    DATA: BEGIN OF ls_mseg.
            INCLUDE STRUCTURE mseg.
    DATA: END OF ls_mseg.
    DATA  ls_mseg2 LIKE ls_mseg.
    DATA  lt_mseg LIKE ls_mseg OCCURS 0.
    DATA  ls_mkpf TYPE mkpf.
    DATA l_initial_ltrmi TYPE co_ltrmi VALUE IS INITIAL.
    DATA l_orders TYPE sytabix.
    DATA l_entries TYPE sytabix.
    DATA l_sum_wemng TYPE wemng.
    DATA l_sum_wewrt TYPE wewrt.
    DATA l_error TYPE xfeld.
    INITIALIZATION.
      text1 = 'This report checks goods receipt quantity (WEMNG) and'.
      text2 = 'value (WEWRT) of an order item for consistency with the '.
      text3 = 'corresponding material documents. In UPDATE mode, the'.
      text4 = 'quantity and the value calculated from the material'.
      text5 = 'documents will be written to database table AFPO.'.
      texta = 'Please specify order numbers of orders to be processed.'.
      texty = 'If TESTMODE is set, no database update will occur.'.
      textz = 'Set radio button UPDATE for updating the database entries.'.
      title = 'Mode'.
    AT SELECTION-SCREEN.
    orders specified?
      IF r_aufnr IS INITIAL.
        MESSAGE e889(co) WITH 'Please specify order numbers'.
      ENDIF.
    START-OF-SELECTION.
    select order items
      SELECT *
             FROM  afpo
             INTO  TABLE lt_afpo
             WHERE aufnr IN r_aufnr
             AND ( dauty = auftragstyp-fert
                OR dauty = auftragstyp-netw
                OR dauty = auftragstyp-inst
                OR dauty = auftragstyp-rma
                OR dauty = auftragstyp-bord ).
      DESCRIBE TABLE lt_afpo LINES l_orders.
    check order items
      LOOP AT lt_afpo INTO ls_afpo.
        REFRESH lt_mseg.
        CLEAR l_sum_wemng.
        CLEAR l_sum_wewrt.
        CLEAR l_error.
        SELECT *
               FROM  mseg
               INTO  TABLE lt_mseg
               WHERE matnr = ls_afpo-matnr
                 AND werks = ls_afpo-pwerk
                 AND aufnr = ls_afpo-aufnr
                 AND aufps = ls_afpo-posnr
                 AND kzbew = 'F'
               %_HINTS ORACLE 'rule'.
        IF NOT sy-subrc IS INITIAL.
        no goods movements --> nothing to do.
          DELETE lt_afpo.
          CONTINUE.
        ENDIF.
        LOOP AT lt_mseg INTO ls_mseg.
          IF ls_mseg-shkzg ='S'.
          inward movement
            IF NOT ls_mseg-dmbtr IS INITIAL.
              l_sum_wewrt = l_sum_wewrt + ls_mseg-dmbtr.
            ENDIF.
            IF NOT ls_mseg-bstmg IS INITIAL.
              l_sum_wemng = l_sum_wemng + ls_mseg-bstmg.
            ELSE.
              IF ls_mseg-erfme = ls_afpo-amein.
                l_sum_wemng = l_sum_wemng + ls_mseg-erfmg.
              ELSE.
                IF ls_mseg-meins = ls_afpo-amein.
                  l_sum_wemng = l_sum_wemng + ls_mseg-menge.
                ELSE.
                  WRITE: 'ERROR - Order', ls_afpo-aufnr COLOR 6.
                  DELETE lt_afpo.
                  l_error = 'X'.
                  EXIT.
                ENDIF.
              ENDIF.
            ENDIF.
            ls_mseg2 = ls_mseg.
          ELSE.
          outward movement
            IF NOT ls_mseg-dmbtr IS INITIAL.
              IF ls_mseg-dmbtr NE ls_mseg-bualt AND
                 NOT ls_mseg-bualt IS INITIAL.
                l_sum_wewrt = l_sum_wewrt - ls_mseg-bualt.
              ELSE.
                l_sum_wewrt = l_sum_wewrt - ls_mseg-dmbtr.
              ENDIF.
            ENDIF.
            IF NOT ls_mseg-bstmg IS INITIAL.
              l_sum_wemng = l_sum_wemng - ls_mseg-bstmg.
            ELSE.
              IF ls_mseg-erfme = ls_afpo-amein.
                l_sum_wemng = l_sum_wemng - ls_mseg-erfmg.
              ELSE.
                IF ls_mseg-meins = ls_afpo-amein.
                  l_sum_wemng = l_sum_wemng - ls_mseg-menge.
                ELSE.
                  WRITE: 'ERROR - Order', ls_afpo-aufnr COLOR 6.
                  DELETE lt_afpo.
                  l_error = 'X'.
                  EXIT.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDLOOP. "AT lt_mseg
      only continue if no error in the calculation occurred
        CHECK l_error IS INITIAL.
        IF ls_afpo-wemng = l_sum_wemng AND
           ls_afpo-wewrt = l_sum_wewrt.
        values are correct, no update necessary
          DELETE lt_afpo.
          CONTINUE.
        ENDIF.
        FORMAT: COLOR 1.
        WRITE: / 'Order', ls_afpo-aufnr, 'material', ls_afpo-matnr.
        FORMAT: COLOR OFF.
        WRITE: /3 'Order item data   : quantity',
                  ls_afpo-wemng UNIT ls_afpo-amein, ls_afpo-amein, 'value',
                  ls_afpo-wewrt CURRENCY ls_mseg-waers, ls_mseg-waers.
        WRITE: /3 'Material documents: quantity',
                  l_sum_wemng UNIT ls_afpo-amein, ls_afpo-amein, 'value',
                  l_sum_wewrt CURRENCY ls_mseg-waers, ls_mseg-waers.
        FORMAT: COLOR 2.
        WRITE: /3 'Material doc.  BWART', 30 'stock qty  UoM',
               52 'entry qty  UoM', 77 'value  Curr'.
        FORMAT: COLOR OFF.
        LOOP AT lt_mseg INTO ls_mseg.
          WRITE: /3 ls_mseg-mblnr, ls_mseg-zeile, ls_mseg-bwart,
                   ls_mseg-menge UNIT ls_mseg-meins, ls_mseg-meins,
                   ls_mseg-bstmg UNIT ls_mseg-bstme, ls_mseg-bstme,
                   ls_mseg-dmbtr CURRENCY ls_mseg-waers, ls_mseg-waers.
        ENDLOOP.
        IF NOT update IS INITIAL.
        set delivery date
          IF l_sum_wemng IS INITIAL.
          initial delivery quantity --> initial delivery date
            UPDATE afpo SET   ltrmi = l_initial_ltrmi
                        WHERE aufnr = ls_afpo-aufnr
                          AND posnr = ls_afpo-posnr.
          ELSE.
          read posting date from last valid goods receipt
            SELECT SINGLE * FROM  mkpf
                            INTO  ls_mkpf
                            WHERE mblnr = ls_mseg2-mblnr
                              AND mjahr = ls_mseg2-mjahr.
            IF sy-subrc IS INITIAL.
              UPDATE afpo SET   ltrmi = ls_mkpf-budat
                          WHERE aufnr = ls_afpo-aufnr
                            AND posnr = ls_afpo-posnr.
            ELSE.
            leave LTRMI untouched
            ENDIF.
          ENDIF.
        set quantity and value
          UPDATE afpo SET   wemng = l_sum_wemng
                            wewrt = l_sum_wewrt
                      WHERE aufnr = ls_afpo-aufnr
                        AND posnr = ls_afpo-posnr.
          FORMAT: COLOR COL_POSITIVE.
          WRITE: /3 'Order item data corrected from material documents.'.
          FORMAT: COLOR OFF.
        ENDIF.
        ULINE.
      ENDLOOP. "AT lt_afpo
      WRITE: / 'Number of checked order items     :', l_orders.
      DESCRIBE TABLE lt_afpo LINES l_entries.
      WRITE: / 'Number of inconsistent order items:', l_entries.
      IF NOT update IS INITIAL    AND
         NOT l_entries IS INITIAL.
        WRITE: / 'Inconsistencies were corrected from material documents.'
                  COLOR COL_POSITIVE.
      ENDIF.
      ULINE.
    </pre>
    Edited by: Wilian Segatto on Jan 25, 2011 12:27 PM

  • Creating goods receipt with refernce to PO number using BAPI_GOODSMVT_CREAT

    Hi Gurus,
    I have a requirment where in, I need to create a goods receipt with reference to a PO number which has been created by BAPI_PO_CREATE1, using another BAPI BAPI_GOODSMVT_CREATE.  How can I do this? what are all the values that I need to fill in GOODSMVT Create BAPI.
    Please help its very urgent... Need to submit by EOD.
    Thanks,
    Suma

    hi
    hope this code will help you,.
    Reward if help.
    REPORT ZRICH_0001 .
    Structures for BAPI
    DATA: GM_HEADER  TYPE BAPI2017_GM_HEAD_01.
    DATA: GM_CODE    TYPE BAPI2017_GM_CODE.
    DATA: GM_HEADRET TYPE BAPI2017_GM_HEAD_RET.
    DATA: GM_ITEM    TYPE TABLE OF
                     BAPI2017_GM_ITEM_CREATE WITH HEADER LINE.
    DATA: GM_RETURN  TYPE BAPIRET2 OCCURS 0 WITH HEADER LINE.
    DATA: GM_RETMTD  TYPE BAPI2017_GM_HEAD_RET-MAT_DOC.
    CLEAR: GM_RETURN, GM_RETMTD. REFRESH GM_RETURN.
    Setup BAPI header data.
    GM_HEADER-PSTNG_DATE = SY-DATUM.
    GM_HEADER-DOC_DATE   = SY-DATUM.
    GM_CODE-GM_CODE      = '04'.                                " MB1A
    Write 971 movement to table
    CLEAR GM_ITEM.
    MOVE '412'                 TO GM_ITEM-MOVE_TYPE     .
    MOVE 'Q'                 TO GM_ITEM-SPEC_STOCK.
    MOVE '3800533484'  TO GM_ITEM-MATERIAL.
    MOVE '1'     TO GM_ITEM-ENTRY_QNT.
    *MOVE 'PC'    TO GM_ITEM-ENTRY_UOM.
    MOVE '1060'  TO GM_ITEM-PLANT.
    MOVE '0007'  TO GM_ITEM-STGE_LOC.
    *MOVE '0901'   TO GM_ITEM-MOVE_REAS.
    MOVE 'P203601001' TO GM_ITEM-WBS_ELEM.
    MOVE 'P203601001' TO GM_ITEM-VAL_WBS_ELEM.
    APPEND GM_ITEM.
    Call goods movement BAPI
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
         EXPORTING
              GOODSMVT_HEADER  = GM_HEADER
              GOODSMVT_CODE    = GM_CODE
         IMPORTING
              GOODSMVT_HEADRET = GM_HEADRET
              MATERIALDOCUMENT = GM_RETMTD
         TABLES
              GOODSMVT_ITEM    = GM_ITEM
              RETURN           = GM_RETURN.
    IF NOT GM_RETMTD IS INITIAL.
      COMMIT WORK AND WAIT.
      CALL FUNCTION 'DEQUEUE_ALL'.
    ELSE.
      COMMIT WORK AND WAIT.
      CALL FUNCTION 'DEQUEUE_ALL'.
    ENDIF.
    WRITE:/ GM_RETMTD.
    LOOP AT GM_RETURN.
      WRITE:/ GM_RETURN.
    ENDLOOP.
    check the BAPI_GOODSMVT_CREATE.
    Functionality
    You can use this method to create a material document for a goods movement.
    You can only create one material document each time you call up the method.
    You can use a simulation function before posting the goods movement to check how the data is updated in the database. The standard system is configured so that the goods movement is posted immediately without simulating beforehand.
    Ensure that you transfer the data in the same way as it is run in the database, for example,
    Material number 18-figure with leading zeros
    Batches with uppercase letters
    Note that for all transactions/events listed below, the posting date is entered in the header data of the material document. In the BAPI2017_GM_HEAD_01 interface, fill the PSTNG_DATE (import structure GOODSMVT_HEADER) field.
    Notes
    Authorization check check
    In the MM Inventory Management component, the method does not execute any authorization checks.
    Note that during a posting of a goods movement, depending on the business transaction of the system, authorization objects of other applications can also be checked.
    Transfer
    The following information about the material document that is to be created is transferred to the method:
    a structure with header data
    a structure with the code for the movement
    a table with the item data
    a table with the serial numbers
    The posting is carried out in the SAP R/3 via the MB_CREATE_GOODS_MOVEMENT function module.
    Confirmations
    Messages are returned in the Return parameter. The parameter documentation shows the return codes and their meanings.
    Further Information
    The method can only carry out your function if no error messages were generated in the Return table. This is the case if the header data and all the items were processed successfully.
    Transaction control is not implemented. The calling program therefore has to execute the Commit Work itself after this method has been successfully called (in other words, if no errors were reported in the Return parameter).
    Which fields have to be filled during the various transactions/ events?
    The following sample scenarios demonstrate which fields have to be filled for which business transactions/events (code).
    There are the following types of transactions/events:
    1. GM_Code 01: Goods receipt for purchase order
    2. GM_Code 02: Goods receipt for production order
    3. GM_Code 03: Goods issue
    4. GM_Code 04: Transfer posting
    5. GM_Code 05: Other goods receipts
    6. GM_Code 06: Reversal of goods movements
    7. GM_Code 07: Subsequent adjustment to a subcontract order
    Entering the movement indicator
    Depending on the transaction, you must enter the following in the movement indicator:
    GM_Code 01 (Goods receipt for purchase order): B
    GM_Code 02 (Goods receipt for production order): F
    For all other transactions, you leave the field blank.
    For 1: GM_Code 01: Goods receipt for purchase order
    Purchase order known
    The following fields have to be filled:
    Purchase order
    Purchase order item
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry or
    quantity proposal
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if it has been configured like this in the system)
    Reason for movement (if it has been configured like this in the system)
    Batch (if the material is handled in batches and batch numbers are not assigned automatically)
    Storage location (if a storage location has not been specified in the purchase order item)
    The following fields can be filled (incomplete listing):
    Stock type
    Item text
    Unloading point
    Delivery completed indicator
    You cannot fill the following fields (incomplete listing):
    Account assignment fields (account assignment is adopted from the purchase order)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    In the case of a purchase order item with the "subcontracting" item category, only the GR item in the interface is to be transferred. The system automatically determines GI items.
    Purchase order unknown: Shipping notification known
    The following fields have to be filled:
    Delivery
    Delivery item
    Movement type
    Other fields, such as those under "Purchase order known". The system determines the relevant purchase order item via the delivery/delivery item.
    Purchase order unknown: Purchase order should be created automatically
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Vendor
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if it has been configured like this in the system)
    Reason for movement (if it has been configured like this in the system)
    Batch (if the material is handled in batches and batches are not assigned automatically)
    The following fields can be filled (incomplete listing):
    Stock type
    Item text
    Unloading point
    You cannot fill the following fields (incomplete listing):
    Account assignment fields (automatic creation of purchase order items with account assignment is not supported)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Purchase order unknown: A purchase order should not be created
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Vendor
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if it has been configured like this)
    Reason for movement (if it has been configured like this)
    Batch (if the material is handled in batches and automatic assignment of batch numbers is not set)
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Unloading point
    Goods recipient
    The following fields cannot be filled (incomplete listing):
    Account assignment fields (automatic creation of purchase order items with account assignment is not supported)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Receiving/issuing batch
    The input combinations listed above for the GM_CODE 01 can be combined within an input table so that they can be posted in a material document. Items can also be posted for different purchase orders, provided that all the purchase orders refer to the same vendor.
    Transfer of subcontracting components
    During the posting of the ordered material of a subcontract order with movement type 101, for the transfer of the subcontracting components, the filled unique identification of the document line (LINE_ID) is also required.
    More information on LINE_ID and PARENT_ID
    The following fields have to be filled for the components:
    Unique identification of the document line
    Identification of the immediately superior line
    Material number
    Plant
    Storage location
    Quantity in unit of entry
    The following fields can be filled for the components:
    All other fields in the method that are included in this list.
    The following fields cannot be filled for the components:
    All fields that are not included in the list above. The movement indicator must be initial.
    Additional fields in goods-receipt-based invoice verification
    When you post a goods receipt to purchase order with movement type 102, an issue with reference to a previously posted goods issue, the following fields must also be transferred:
    REF_DOC_IT (LFPOS): Item of a reference document
    REF_DOC (LFBNR): Document number of a reference document
    REF_DOC_YR (LFBJA): Fiscal year of a reference document
    Only when you transfer these fields is it guaranteed that the reference to the original goods movement stay the same.
    For 2 GM_Code 02: Goods receipt for production order
    The following fields have to be filled:
    Order
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry or
    quantity proposal
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if the system has been configured like this)
    Reason for movement (if the system has been configured like this)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    Storage location (if storage location has not been specified in the order)
    The following fields can be filled (incomplete listing):
    Order item (co-product)
    Stock type
    Item text
    Unloading point
    "Delivery completed" indicator
    The following fields cannot be filled (incomplete listing):
    Account assignment fields (the account assignments are adopted from the purchase order)
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Receiving/issuing batch
    For 3 GM_Code 03: Goods issue
    Goods issue without reference to a reservation
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Special stock (e.g. sales order, project, vendor etc.)
    Shelf life expiration date (if the system is configured like this)
    Reason for movement (if the system has been configured like this)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    Account assignment fields
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Unloading point
    Goods recipient
    The following fields cannot be filled (incomplete listing):
    Reservation
    Receiving/issuing material
    Receiving/issuing plant
    Receiving/issuing storage location
    Receiving/issuing batch
    Goods issue with reference to a reservation
    The following fields have to be filled:
    Reservation number
    Reservation item
    Record type of the reservation
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Shelf life expiration date (if this has been configured in the system)
    Reason for movement (if this has been configured in the system)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    Storage location (if not planned in the reservation)
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Unloading point
    Goods recipient
    The following fields cannot be filled (incomplete listing):
    Movement type
    Material
    Plant
    Account assignment fields
    For 4 GM_Code 04: Transfer posting
    Transfer posting without reference to a reservation
    The following fields have to be filled:
    Material number
    Plant
    Storage location
    Movement type
    Movement indicator
    Quantity in unit of entry
    ISO code unit of measurement for unit of entry
    The following fields may have to be filled in some cases (incomplete listing):
    Receiving material
    Receiving plant
    Receiving storage location
    Receiving batch (if material is handled in batches and you want to change batches)
    Receiving/issuing special stock (e.g. sales order, project, vendor etc.)
    Shelf life expiration date (if this has been configured in the system)
    Reason for movement (if this has been configured in the system)
    Batch (if the material is handled in batches and automatic batch number assignment is not set)
    The following fields can be filled (incomplete listing):
    Special stock indicator
    Item text
    Account assignment fields (for automatic posting lines: Expense/income from stock transfer)
    The following fields cannot be filled (incomplete listing):
    Reservation
    Transfer posting with reference to a reservation
    See goods issue with reference to a reservation
    For 5 GM_Code 05: Other goods receipts
    Other goods receipt without reference to a reservation
    See goods issue without reference to a reservation
    Other goods receipt with reference to a reservation
    See goods issue with reference to a reservation
    For 6 GM_Code 06: Reversal of goods movements
    You can use the Cancel method to reverse goods movements. But you may also want to cancel a goods movement without referring to a material document (see the Cancel method).
    If you want to work without referring to the document, you have to fill the field BAPI_GM_ITEM_CREATE-XSTOB in the interface (import table GOODSMVT_ITEM). In this case, the system converts the movement type assigned in the interface to the reversal movement type. Alternatively, you can set the reversal movement type in the interface. In this case, the BAPI_GM_ITEM_CREATE_XSTOB field must be transferred blank.
    If you want to cancel a goods movement with reference to a reservation (without using the Cancel method) you can only transfer the field BAPI_GM_ITEM_CREATE_XSTOB if it is filled. Movement types are not transferred when you post with reference to a reservation, as the movement type is contained in the reservation item.
    For 7. GM_Code 07: Subsequent adjustment to a subcontract order
    Ordered material of subcontract order
    The following fields have to be filled:
    Unique identification of document line (can be assigned to anything)
    Posting date in document header
    Document number of purchasing document
    Item number of purchasing document
    Material number check
    Plant check
    Movement type (select movement type 121)
    Movement indicator (must be O)
    Further entries are not allowed. The entry quantity for the ordered material of a subcontract order must be zero.
    Components
    The following fields have to be filled:
    Unique identification of document line (can be assigned to anything)
    Identification of the immediately superior line
    Plant
    Material number check
    Quantity in unit of entry; can also be negative
    The following fields can be filled:
    Storage location
    All other fields in the method that are included in this list.
    The following fields may not be filled:
    All fields that are not in the list above. The movement indicator must be blank.
    More information on LINE_ID and PARENT_ID
    Additional fields in goods-receipt-based invoice verification
    When you post a subsequent adjustment, the following fields must also be transferred:
    REF_DOC_IT (LFPOS): Item of a reference document
    REF_DOC (LFBNR): Document number of a reference document
    REF_DOC_YR (LFBJA): Fiscal year of a reference document
    Only when you transfer these fields is it guaranteed that the reference to the original goods movement stays the same.

Maybe you are looking for