Update Requestor and Goods Recipient in Purchase Order/Shopping Cart

Hello guys,
we have created a Z program that transfers objects Purchase Order/Shopping Cart from one user to another.
In our Z program we transfer the CRMD_PARTNER-PARTNER_NO, ADDR_NR and ADDR_NP from the old user to the new user.
Also in CRMD_ORDERADM_H and CRMD_ORDERADM_I we change the field CREATED_BY from the old user to the new user.
The problem we have seen is that in header position in SRM portal we see the old user in Requestor and Goods Recipient, and in table CRMD_PARTNER the PARTNER_NO is the new user, Another strange thing is that if we see detailed position of the Purchase Order we see the new user in Requestor and in Good Recipient.
In resume, we see different things in position that in header. Could it be possible? We are doing wrong the update?
Many thanks in advance.
Regards,
Xavier.

Hello Xavier,
If partner "Requester" and/or "Goods Recipient" is different between PO items and there was previously a "Requester" and/or a "Goods Recipient" at PO header, after your update, partner at header level should have field CRMD_PARTNER-DISABLED set: "Requester" and /or "Goods Recipient" is active at header level only if the same partner is populated for all PO items.
Concerning SC, there is no "Requester" and/or "Goods Recipient" at header level.
Be that as it may, if you use function modules BBP_PD_PO_UPDATE,  BBP_PD_PO_SAVE and BAPI_TRANSACTION_COMMIT, modifications will be OK (do not forget to not populate table I_PARTNER for partner at header level if partners are different at item level).
Regards.
Laurent.

Similar Messages

  • No Update FMIOI and KBLP tables with purchase order

    Hello,
    We have un serious problem : No Update FMIOI and KBLP tables with purchase order
    System :  SAP ERP 6.0 /7.0 - EHP 4
    Note 965633 was read.
    1) First case: The purchase order 4510000673 does not reduce the funds reservation.
    Purchase order 4510000673 should consume the funds reservation 1200000193 because all post of the PO charge the funds reservation 1200000193.But the consumption history of the funds reservation 1200000193 donu2019t show this consumption.
    In table FMIOI, we do not have lines with amount type 0200 (reduction) but whe have the lines with the post of PO with amount type (0100).  The Purchase order 4510000673 should consume the funds reservation 1200000193.
    In table KBLP, the fields are :
    Total amount (LC) - HWGES  = 53.409,40
    Amount used u2013 WTABB = 0,00
    Reduction amount u2013 HWABB = 0,00
    Open amount u2013 CWTFREE =    53.409,40
    Reduced amount u2013 WTABG = 0,00
    Reduced amount u2013HWABG = 0,00
    To solve the problem, we executed the transactions : FM4N et FMN5 and the program RFFMRC20 but no result.
    2) Second case : Delete a item of a purchase order does not release the budget
    The single item of the purchase order 4510000597 is deleted but in the display of consumption History of the funds reservation 1200000137, the amount of the purchase order is not to zero.
    To solve the problem, we executed the transactions : FM4N et FMN5 and the program RFFMRC20 but no result.
    Somebody already had a similar problem ?
    Thank you
    Fabian

    Hello Fabian
    There are two known notes dealing with missing update on reference Earmarked Funds, I am listing them for future references:
    1376800  Earmarked funds: Incorrect open amount         
    1438487  RFFMRC20: Missing KBLE records are ignored     
    These notes correct some errors within the Standard.
    However, in your scenario, problem has to do with an incorrect execution of a Commit work inside a customer user-exit. After elimination of this commit work, new Po's are working correctly.
    Remaining task is the correction of old PO's. Manual correction via small changes with ME22N (for instance, adding a '.' to the line item text/s) will force the correct update and fix your database
    If you agree, we can close this thread (?)
    Kind regards
    Mar

  • Change requestor and goods recipient for PO's in SRM

    We have an issue where we want to change the Requestor and goods recipient for PO's in SRM as the requestor is leaving the organization. Do we have any way possible to change the Requestor adn goods recipient for SRM PO's?
    I have found bbp_crr, but it only list partly confirmed/invoiced POs. I'm not sure if the transaction is suppose to do the mass change.
    Thank you
    Joann

    Hello,
    The report BBP_CRR suggests all the POs assigned to a requisitioner , that are to be assigned to a new requisitioner/recipient and that are not closed.
    Once the POs are suggested , you can change for all the POs or make your own selection.
    Hope this information was useful.
    Regards,
    Kalyan

  • Unloading point and Goods recipient in Purchase Requisition

    Hi,
    I have a requirement to update Good Recipient and Unloading point in Purchase requisition.
    I am using BAdI ME_PROCESS_REQ_CUST and PROCESS_ACCOUNT Method.
    in PROCESS_ACCOUNT method I am using IM_ACCOUNT_REF and GET_DATA and SET_DATA methods. and this is working fine for me.
    I need your help in resolving below problem.
    If Purchase already planned with some Materials by an individual, is now added more Materials by another individual, the system should assign the values of the Goods Recipient  and Unloading Point of the second individual to the Material items in the document. The Goods Recipient and Unloading Point values of the existing Material items in the document should remain unchanged, unless these values are specifically changed by the user editing the document or the Material number of the original item has been changed by the user, following which the Goods Recipient  and Unloading Point values of the current user should be adopted instead, overwriting the existing values.
    GET_DATA and SET_DATA methods does not have the inforamtion Material number filed.
    I have also checked GET_PERSISTANT_DATA and GET_PREVIOUS_DATA.
    Please let me know which BAdI and method i can use to cater this requirement. or any Enhancement points.
    Thanks in Advance.

    Hi,
    Reason for not getting populated these fields from PR to PO
    through ME59N or ME21N is because in general, in case of service
    environment, these are not available as explained in attached
    note 118008. Their role is taken by the so-called user fields
    since release 4.0 which are declared as text fields and play
    a purely informative role only....
    These two fields have never been included into the standard
    functionalities due to the basic business process which does not
    include these fields for service transactions/functionalities.
    The fields "unloading point" and "Goods recipient" are not available
    for services in R/3.
    >>The same functionality exists for blanket pos.<<<
    One reason for this is that the account-assignment screen is filled
    by the user on sub-item level. The system aggregates this information
    to item level. This is not possible for the unloading point and goods
    recipient, because there can be several unloading points / goods re-
    cipients for one purchase/requisition order item.
    This functionality won't be available in standard R/3.
    See also note
    633986     FAQ: Account assignment in the service
    Br
    Nadia Orlandi

  • Transaction to Mass Update Header and Item text in Purchase Order

    Dear All
    Whether any Transaction in SAP to mass update the Header and Item text in Purchase Order.
    One Single Text For Ex :" This is a Dummy PO" .
    This text needs to be updated in large number of POs.
    Please let me know your views
    Reg
    Shyam

    Hi Shyam,
    You can make use of BAPI_PO_CHANGE for this. See the documentation of this BAPI in SE37 for more information.
    "You can transfer header and item texts in the PoTextHeader and PoTextItem tables. You import texts
    for services in the PoServicesText table. Texts can only be replaced complete."
    Regards,
    Purnima.

  • Line item confirmation and goods reciept number of a shopping cart

    Hi All ,
    I am waiting for any response from u guys to my below post ....
    I  have developed an end to end report in SRM which gives us an end to end report of a shopping cart .
    I have got the Shopping Cart details using FM : BBP_PD_SC_GETDETAIL
    for each item of the shopping cart in the table E_ITEM , getting the Po number for it from E_ITEM- BE_OBJECT_ID
    I called FM BBP_BE_PO_GETHISTORY to get the Confirmation and Invoice number from E_HEADER_REL of BBP_BE_PO_GETHISTORY.
    But this function module gives me the confirmation and invoice number of a particular purchase order and
    I am stuck here as I need to find out the confirmation and invoice number of a line item and I am not finding a link between them .
    I tried using FM BBP_PD_PO_GETDETAIL ,
    BBP_PD_PO_GETLIST
    BBP_PD_PO_DOC_FLOW and other function modules also , however they give me the confirmation and invoices o a particular PO but I am not able further drill down to find confirmation and invoivce of a particular line item of a shopping cart …..
    Please let me know if there is a way to find this out ????
    Has anybody have an idea to find this out ????
    Useful answers would be rewarded .
    Regards,
    Prabhu

    Hi All ,
    I was able to get a link using the function module  BBP_PD_SC_GETDETAIL . in the tables E_item  has fields BE_OBJ_ITEM  and the BE_OBJ_ITEM which give the po number and po line item number of each line item .
    then i used BBP_BE_PO_GETHISTORY Fm to get the history of the po and read the line item history based on the BE_OBJ_ITEM  no .
    Thanks to all .
    Prabhu

  • Check on Shop for usrid and Goods recipient field in BADI

    I would like to make a check thro' check docuement BADI in SRM 3.0, Give an error to user if shop for usrid is different from Goods recipient field in the shopping cart.
    In which structure the shop for usrid information is stored and how should I read it. I can get the goods recipient information from structure-BBP_PDS_PARTNER.
    Any help is greatly appreciated.
    Thanks in advance!
    Mrudula

    Thanks Rupali,
    I've already created my search help and search help goes well with any of my ztable or zprogram. But, the field where I want to add my search help is a standard migo program SAPLMIGO, and the field where I want to add search help is "good recipient" field under "where" tab of "migo" transaction.
    And the name of the field is WEMPF, which belongs to the sap standard structure GOITEM.
    So, SAP wont allow me to edit it's standard tables. Is there any other alternative?
    ~With Regards,
       Him

  • Call BAPI_GOODSMVT_CREATE to create a goods receipt for purchase order

    Hi,
    I'm calling the bapi BAPI_GOODSMVT_CREATE to create a goods receipt for purchase order, but the following code doesn't work. It doesn't give me any kind of error message but it does nothing as well...
    Can anyone help me please?
    Thank You
    Hugo
    Code
    DATA: wa_goodsmvt_header  LIKE bapi2017_gm_head_01,
                            wa_goodsmvt_code    LIKE bapi2017_gm_code,
                            wa_bapi2017_gm_head TYPE bapi2017_gm_head_ret-mat_doc.
                      DATA: it_goodsmvt_item LIKE bapi2017_gm_item_create OCCURS  0 WITH HEADER LINE,
                            it_return        LIKE bapiret2 OCCURS  0 WITH HEADER LINE.
                      wa_goodsmvt_header-pstng_date = SY-DATUM.
                      wa_goodsmvt_header-doc_date   = SY-DATUM.
                      wa_goodsmvt_header-ref_doc_no = '4500000020'.
                      wa_goodsmvt_code-gm_code = '01'.          "Goods receipt for purchase Order
                      it_goodsmvt_item-stge_loc  = 'BPF2'.
                      it_goodsmvt_item-move_type = '101' .
                      it_goodsmvt_item-entry_qnt = 17.
                      it_goodsmvt_item-entry_uom = 'KG'.
                      it_goodsmvt_item-mvt_ind   = 'B'.
                      it_goodsmvt_item-po_number = '4500000020'.
                      it_goodsmvt_item-po_item   = '00010'.
                      it_goodsmvt_item-material  = '50'.
                      APPEND it_goodsmvt_item.
                      CALL FUNCTION  'BAPI_GOODSMVT_CREATE'
                        EXPORTING
                          goodsmvt_header  = wa_goodsmvt_header
                          goodsmvt_code    = wa_goodsmvt_code
                        IMPORTING
                          materialdocument = wa_bapi2017_gm_head
                        TABLES
                          goodsmvt_item    = it_goodsmvt_item
                          return            = it_return.
                        data: begin of errmsg occurs 10.
                                include structure bapiret2.
                        data: end of errmsg.
                        data: wmenge like iseg-menge,
                              errflag.
                        clear errflag.
                        loop at errmsg.
                          if errmsg-type eq 'E'.
                            write:/'Error in function', errmsg-message.
                            errflag = 'X'.
                          else.
                            write:/ errmsg-message.
                          endif.
                        endloop.
                        if errflag is initial.
                          commit work and wait.
                          if sy-subrc ne 0.
                            write:/ 'Error in updating'.
                            exit.
                          else.
                            write:/ 'Ok'.
                          endif.
                        endif.
                        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
                        EXPORTING
                        wait = ' '.

    Hi,
    Thank you for the asnwer! I'm a rookie at ABAP so please forgive my stupid questions
    I've changed the code to:
    DATA: wa_goodsmvt_header  LIKE bapi2017_gm_head_01,
                            wa_goodsmvt_code    LIKE bapi2017_gm_code,
                            wa_bapi2017_gm_head TYPE bapi2017_gm_head_ret-mat_doc.
                      DATA: it_goodsmvt_item LIKE bapi2017_gm_item_create OCCURS  0 WITH HEADER LINE,
                            it_return        LIKE bapiret2 OCCURS  0 WITH HEADER LINE.
                      wa_goodsmvt_header-pstng_date = SY-DATUM.
                      wa_goodsmvt_header-doc_date   = SY-DATUM.
                      wa_goodsmvt_header-ref_doc_no = '4500000020'.
                      wa_goodsmvt_code-gm_code = '01'.          "Goods receipt for purchase Order
                      it_goodsmvt_item-plant     = 'BP01'.
                      it_goodsmvt_item-stge_loc  = 'BPF2'.
                      it_goodsmvt_item-move_type = '101' .
                      it_goodsmvt_item-entry_qnt = 10.
                      it_goodsmvt_item-entry_uom = 'KG'.
                      it_goodsmvt_item-mvt_ind   = 'B'.
                      it_goodsmvt_item-po_number = '4500000020'.
                      it_goodsmvt_item-po_item   = '10'.
                      it_goodsmvt_item-material  = '50'.
                      APPEND it_goodsmvt_item.
                      CALL FUNCTION  'BAPI_GOODSMVT_CREATE'
                        EXPORTING
                          goodsmvt_header  = wa_goodsmvt_header
                          goodsmvt_code    = wa_goodsmvt_code
                        IMPORTING
                          materialdocument = wa_bapi2017_gm_head
                        TABLES
                          goodsmvt_item    = it_goodsmvt_item
                          return            = it_return.
                          write:/ it_return-message.
    And the return message is : Material document data and PO data do not match (Material)
    Any idea of what might be the problem?
    Thanks

  • Automatic creation of transfer orders from goods receipt of purchase order.

    Hi experts
    The project i am currently working on requires the following;
    When goods receipting a purchase order i have a requirement for the system to create automatic transfer orders to put the stock away into storage bins.  I am aware that the stock goes straight into the 902 area once goods receipted.  Is it possible to have the transfer orders created automatically out of 902 once the goods receipt has been posted.
    In support of this, i have made an entry in transaction OMKX for the following;
    Reference Movement Type - 101
    Movement Indicator - B (goods movement for purchase order)
    Movement Type - 101
    TR Create Transfer requirement - X
    Immed. TO Creation - A
    Addl Data - X
    Once i receipt the PO it just sits in 902 and does not create any automatic transfer orders.
    Could someone please help me
    Thanks
    Simon

    Please try to process the material document of the GR manually by LT06 in foreground to find out the root cause of the error.
    You may also want to setup the mail control (V_T321-MAILK) for immediate TO creation in OMKX. The system will send you a express message (depending on your setup) if TO creation is failed.

  • MIGO - Goods Receipt against Purchase order. PO rate dispaly.

    Is it possible to display purchase order line item rate in MIGO - Goods Receipt against purchase order - Quantity tab.
    In Quantity tab - System is showing Qty in Unit of Entry, Qty in SKU, Qty in Delivery Note, Quantity Ordered, alongwith these fields we also want display of Purchase order rate/each of that line item.
    Please guide.

    BTW you are getting PO number at MIGO and clicking over that you will get entire PO then why you want PO rate display here??

  • Goods Receipts for Purchase Order using BAPI_GOODSMVT_CREAT

    Hi experts,
    I am working on the a program where am generating Goods Receipts for Purchase Order. the BAPI_GOODSMVT_CREAT returns an error saying "Material 6003022 not maintained in plant 1001"
    Can any one assist? is there a field I may be missing?
    Here is a sample code.
    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 = '02'.
    " MB1A * Write 971 movement to table CLEAR GM_ITEM.
    MOVE '101' TO gm_item-move_type .
    " MOVE 'Q' TO GM_ITEM-SPEC_STOCK.
    MOVE '6003022' TO gm_item-material.
    MOVE '10' TO gm_item-entry_qnt.
    MOVE 'EA' TO gm_item-entry_uom.
    MOVE '1001' TO gm_item-plant.
    MOVE '' TO gm_item-stge_loc.
    MOVE '0901' TO gm_item-move_reas.
    "  MOVE '4500006877' TO GM_ITEM-WBS_ELEM.
    "  MOVE '0020' TO GM_ITEM-VAL_WBS_ELEM.
    MOVE '0020' TO gm_item-deliv_numb.
    MOVE '4500006881' TO gm_item-po_number.
    MOVE '0010' TO gm_item-po_item.
    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.

    >
    Spark842 wrote:
    > Hi experts,
    > I am working on the a program where am generating Goods Receipts for Purchase Order. the BAPI_GOODSMVT_CREAT returns an error saying "Material 6003022 not maintained in plant 1001"
    >  Can any one assist? is there a field I may be missing?
    >
    > Here is a sample code.
    >
    > 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 = '02'.
    >
    >
    > " MB1A * Write 971 movement to table CLEAR GM_ITEM.
    > MOVE '101' TO gm_item-move_type .
    > " MOVE 'Q' TO GM_ITEM-SPEC_STOCK.
    > MOVE '6003022' TO gm_item-material.
    > MOVE '10' TO gm_item-entry_qnt.
    > MOVE 'EA' TO gm_item-entry_uom.
    > MOVE '1001' TO gm_item-plant.
    > MOVE '' TO gm_item-stge_loc.
    > MOVE '0901' TO gm_item-move_reas.
    > "  MOVE '4500006877' TO GM_ITEM-WBS_ELEM.
    > "  MOVE '0020' TO GM_ITEM-VAL_WBS_ELEM.
    > MOVE '0020' TO gm_item-deliv_numb.
    > MOVE '4500006881' TO gm_item-po_number.
    > MOVE '0010' TO gm_item-po_item.
    > 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.
    My guess, is that this material is not really maintained in the Plant '1001', to be on the safer side, get the exact values from EKPO itself, also check if this material exists in the table MARC for the plant and storage location.
    MOVE '1001' TO gm_item-plant.   "<< Hard coded
    MOVE '' TO gm_item-stge_loc.
    Replace the above hardcodes to something like this to get the actual value from EKPO.
    select werks lgort into (gm_item-plant, gm_item-stge_loc) from ekpo
       where ebeln = gm_item-po_number
            and ebelp = gm_item-po_item.

  • Is it possible to do goods receipt for purchase order by mb31

    Hello friends,
    I have created one purchase order.Now i want to do goods receipt for that purchase order.I know that throught migo and movt type 101, i can do this.But guys i have one doubt over here.Can i do the goods receipt for purchase order by Transaction code MB31(Goods Receipt for Order).
    When in Transaction code mb31 i put the purchase order number, system gave me the error,"order 44000000298 not found or not permitted for goods movement".Message no. c6001.
    So guys what do you think in this matter?is it possible to do goods receipt for purchase order by mb31.If yes than how to resolve this error.
    Thanking you guys in advance.

    MB31 is for doing goods receipt of production order

  • Goods receipt  for purchase order not allowed for a particular wbs

    hello everybody..
    Am creating a good receipt for a purchase order using the T-CODE-: MIGO...
    While doing so am getting an error as " goods receipt  for purchase order not allowed(wbs element)".
    What can be done to rectify this error?
    Plz do help me....
    Regards,
    Deepika
    Moderator message: not directly related to ABAP development, please have a look in the appropriate functional forum, study the long text of this error message.
    Edited by: Thomas Zloch on Dec 1, 2010 5:52 PM

    Hi Br. Ajay M,
    Released the order and Status line as follow
    REL  AVAC BUDG GMPS
    but the error changed while reverse the document
    item 0001 Order is invalid.
    Many thanks for your kindly reply.
    regards,
    Steven

  • Menu path - for goods receipt for purchase order (MB01)

    Hi
    What is the menu path for Goods receipt for purchase order (MB01) - ECC6.0

    hi
    the path is too deep
    plz just log in ur system and find MB01
    Materials Management >  Purchasing  >  Master Data   > Subsequent Settlement >  Vendor Rebate Arrangements  >  Environment   > Condition/Arrangement  > Environment   >Pricing  > Environment    Value assignment  >  Inventory management  > Goods receipt  >For purchase order   >  MB01 - PO number known
    regards
    KI

  • SAP how to determine the account in Goods receipt for purchase order?

    We know when we make a Goods receipt for purchase order,we will use the account in GBB and BSX define in OBYC. But where can we find the rule? I mean why system can find the account in GBB and BSX , not the other TEcode?

    HI
    This is again based on the movement type which SAP has created a link internally.
    So if you see when a document is posted it basically derives the GL accounts based on the Movement type,Valuation class,valaution area and so on.
    Good luck
    Hari

Maybe you are looking for