IF_PURCHASE_REQUISITION_ITEM: get_previous_data vs get_persistent_data

I'm invoking the "process_item" method of an implementation of the Purchase Requisition me_process_req_cust BAdI:
IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM
I'm doing this to set some exkn fields that will later be transferred to cobl (cobl_cust/ci_cobl) to help FM Derive code decide whether to commit funds or not.
So in the "process_item" method, I have to use the IF_PURCHASE_REQUISITION_ITEM interface and call one of these two methods:
GET_PERSISTENT_DATA     Get Posted Item Data
GET_PREVIOUS_DATA     Get Item Data Prior to Validation
In this situation, which should I be using?  (Remember that the BAdI is being invoked out of ME51n.)
Thanks for any informed opinion anyone can provide.
djh

So difficult, I dont know how that variable  my_state->item got filled?
   METHOD if_purchase_requisition_item~get_data.
  DATA: ls_buffer    LIKE LINE OF my_data_input_buffer,
        ls_rel_data  TYPE merel_s_data.
  READ TABLE my_data_input_buffer INTO ls_buffer
      WITH KEY req = me.
  IF sy-subrc EQ 0.
    re_data = ls_buffer-data.
  ELSE.
    re_data = my_state->item.

Similar Messages

  • Get_previous_data from process_item, class IF_PURCHASE_ORDER_ITEM_MM

    Hi everyone,
    I'm new to the use of BADI's and classes in general. I'm using BADI IF_PURCHASE_ORDER_ITEM_MM, and under process_item, I want to use the method get_previous_data. But whenever it's the first time that the method is called (and when there's no previous data, the system generates a runtime error, NO_DATA. I tried to catch this with a try, catch statement, but it isn 't working. Here's my code :
    TRY.
              CALL METHOD im_item->get_previous_data
                IMPORTING
                  ex_data = ls_prev_mepoitem.
              lv_matn = ls_prev_mepoitem-matnr.
            CATCH no_data INTO oref.
              text = oref->get_text( ).
          ENDTRY.
    I'm doing something wrong, but what...

    solved, used the user exit instead

  • BADI-ME52N - Getting Account Assignment Data

    Experts
        I'm Implementing BADI , ME_PROCESS_REQ_CUST~Process_Account
    Method ME_PROCESS_REQ_CUST~Process_Account
    CALL METHOD im_account_ref->get_persistent_data
        RECEIVING
          re_persistent_data = re_persistent_data1.
      CALL METHOD im_account_ref->get_data
        RECEIVING
          re_data = re_data1.
      CALL METHOD im_account_ref->get_previous_data
        RECEIVING
          re_previous_data = re_previous_data1.
    EndMethod.
    All These Data will Fetch Information About Account Assignment and some Header ITemFields.
    But Oly After Trigeering The Account Assignment Tab only it's Fetching
    I want the values to be fetched immdly after giving the transaction ME52N
    After Giving Transaction Me52N , these data shows Values are as 0. Just giving any small changes or triggering the Account Assignment tab the values are fetching.
    Any ways to solve this
    Thanks.

    METHOD if_ex_me_process_req_cust~open.
      GET PARAMETER ID 'PRO' FIELD lv_wbs."getting the WBS ELEMENT
    ENDMETHOD.
    getting the Parameter id in the
    initialize method of the badi will solve the issue

  • Purchase order : get Account assignment into BADI

    Hi,
    i'm using the BADI ME_PROCESS_REQ_CUST method POST ; in this method i need to access to items and it's work (i use im_header->get_items( ) ). But now i need to access to Account assignment, how can i do this ? the only object available is im_header.
    Be careful, i can't read database because when i create a new document, the data are not saved again.
    Thanks for help.
    Cheer

    IM_HEADER->get_items( ) returns the internal table RE_ITEMS type ref to MMPUR_REQUISITION_IITEMS (of line type MMPUR_REQUISITION_ITEM) which gives the list of  line items.
    Loop through the internal table RE_ITEMS, refer to the component RE_ITEMS-ITEM (type ref to IF_PURCHASE_REQUISITION_ITEM) & use the method RE_ITEMS-ITEM->IF_ACCT_CONTAINER_MM~GET_ITEMS( ) to get the account assignment details related to each item.  This method is to be called in the loop for each line item.
    Regards, Vinod
    P.S : Is it purchase order or Purchase requisition ? By going through the post it is PR, your subject line seems to be wrong.
    Edited by: Vinod Kumar on Jul 15, 2011 2:21 PM

  • Adding new line item while save

    Hi all,
    use an implementation of BADI  ME_PROCESS_REQ_CUST in the MM-Purchase-Requisition, method IF_EX_ME_PROCESS_REQ_CUST~POST while save.
    based on the line items available(USER ENTERED) i have to add few more line items based on the account assignment category and quantity while save.
    How to create new line items (copying the existing line item and change the quantity ) and save the requestion with the additional line items. I used this code. while calling the method CRETE_ITEM  create based on the object REF_ITEM  in the MY_STATE.
    the REF_ITEM object is Initial . so while creation the empty object is created.
    kindly help to give tips/details  to handle.
    Coding:
    data: l_item_list TYPE MMPUR_REQUISITION_ITEMS,
    l_item TYPE MMPUR_REQUISITION_ITEM,
    l_item_akt TYPE mereq_item,
    l_item_ref TYPE ref to IF_PURCHASE_REQUISITION_ITEM.
    l_item_list = im_header->get_items().
    loop at l_item_list into l_item.
    l_item_akt = l_item-item->get_data( ).
    IF l_item_akt-MENGE > 1 AND
           l_item_akt -KNTTP = 'A'.
          DO l_item_akt -MENGE TIMES.
             l_item-item= IM_HEADER->CREATE_ITEM( IM_ITEM =  l_item-item).
            INSERT  l_item INTO TABLE IT_ITEMS_list.
    %%%%%  here i checked useing    get data  method  i am not getting any data other than relesing procedure data.
    I used SET_DATA method to set the data. even I am not getting data.
    endloop.
    (Debugging the code, I manage by doubleclicking while create Item  method the fieldcontent of l_item (e.g ) to show the content of the class-attribute my_state. This works only if the field “Interface” in the Debugger is empty because then I see the attributes of the class. If the field Interface is filled with “IF_PURCHASE_REQUISITION_ITEM”, there aren’t any attributes shown.)
    Thanks in advance for your kind help!!
    Nicole

    I searched sdn and found this not possible.

  • What is the BADI  while SAVING purchase order using me22n?

    what is the BADI  while SAVING purchase order using me22n?
    while i will save purchase order through me22n, badi should be fire what is badi for that?
    regards,
    dushyant.

    Dushyant,
    Hopefully you know how to implement the BADI ME_PROCESS_PO_CUST now.
    The following are the codes that you can put in the method "Post".
      DATA: LW_HEADER        TYPE MEPOHEADER,
            LW_POSTED_HEADER TYPE MEPOHEADER,
            LW_VALID         TYPE MMPUR_BOOL,
            ITAB_ITEM        TYPE PURCHASE_ORDER_ITEMS,
            LW_ITEM          TYPE MEPOITEM,
            ITEM_INTERFACE   TYPE PURCHASE_ORDER_ITEM,
            ITAB_ACCT        TYPE PURCHASE_ORDER_ACCOUNTINGS,
            ACCT_INTERFACE   TYPE PURCHASE_ORDER_ACCOUNTING,
            LW_ACCT          TYPE MEPOACCOUNTING,
            LW_POSTED_ACCT   TYPE MEPOACCOUNTING,
            W_ACCT_CHANGED  TYPE C,
            W_GRANT_AMT      TYPE EKPO-NETWR,
            W_FINANCE_AMT    TYPE EKPO-NETWR,
            W_FLAG           TYPE C.
    Check if PO header data is valid
      CLEAR LW_VALID.
      CALL METHOD IM_HEADER->IS_VALID
        RECEIVING
          RE_VALID = LW_VALID.
      CHECK LW_VALID = 'X'.
    PO header data is valid
    Get the newly updated PO header data
      CLEAR LW_HEADER.
      CALL METHOD IM_HEADER->GET_DATA
        RECEIVING
          RE_DATA = LW_HEADER.
    Get the posted PO header data
      CLEAR LW_POSTED_HEADER.
      CALL METHOD IM_HEADER->GET_PERSISTENT_DATA
        IMPORTING
          EX_DATA = LW_POSTED_HEADER
        EXCEPTIONS
          NO_DATA = 1.
      IF SY-SUBRC <> 0.
        CLEAR LW_POSTED_HEADER.
      ENDIF.
    Get PO line items
      REFRESH ITAB_ITEM.
      CALL METHOD IM_HEADER->GET_ITEMS
        RECEIVING
          RE_ITEMS = ITAB_ITEM.
      LOOP AT ITAB_ITEM INTO ITEM_INTERFACE.
    Check if PO line item is valid
        CLEAR LW_VALID.
        CALL METHOD ITEM_INTERFACE-ITEM->IS_VALID
          RECEIVING
            RE_VALID = LW_VALID.
        IF LW_VALID <> 'X'.
    This PO line item is not valid
          CLEAR W_ACCT_CHANGED.
          EXIT.
        ENDIF.
        CLEAR LW_ITEM.
        CALL METHOD ITEM_INTERFACE-ITEM->GET_DATA
          RECEIVING
            RE_DATA = LW_ITEM.
    Get the account interface
        REFRESH ITAB_ACCT.
        CALL METHOD ITEM_INTERFACE-ITEM->GET_ACCOUNTINGS
          RECEIVING
            RE_ACCOUNTINGS = ITAB_ACCT.
        LOOP AT ITAB_ACCT INTO ACCT_INTERFACE.
          CLEAR LW_ACCT.
    Get the newly updated PO item data
          CALL METHOD ACCT_INTERFACE-ACCOUNTING->GET_DATA
            RECEIVING
              RE_DATA = LW_ACCT.
          CLEAR LW_POSTED_ACCT.
    Get the posted PO item data
          CALL METHOD ACCT_INTERFACE-ACCOUNTING->GET_PERSISTENT_DATA
            IMPORTING
              EX_DATA = LW_POSTED_ACCT
            EXCEPTIONS
              NO_DATA = 1.
          IF SY-SUBRC > 0.
            CLEAR LW_POSTED_ACCT.
          ENDIF.
          IF LW_ACCT-LOEKZ <> LW_POSTED_ACCT-LOEKZ OR
             LW_ACCT-KOSTL <> LW_POSTED_ACCT-KOSTL OR
             LW_ACCT-PRCTR <> LW_POSTED_ACCT-PRCTR OR
             LW_ACCT-PS_PSP_PNR <> LW_POSTED_ACCT-PS_PSP_PNR.
    Account assignment was changed
    We will force this PO to go through workflow
            W_ACCT_CHANGED = 'Y'.
          ENDIF.
        ENDLOOP.
      ENDLOOP.

  • ME_PROCESS_REQ_CUST  GL Account Number

    I am running this BADI in the IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ACCOUNT interface. My code is pasted below. I am able to retrieve our the GL Account Number from the cross-reference table and move it to wa_exkn-sakto. However, SAP issues a message that the GL Account need to be entered, thinking that it is not there. It is on the screen, and also in wa_exkn-sakto when I return to the Req screen after the BADI executes.
    I am thinking that since SAP does not regognize it as being populated, or, on the screen, I have to move it somewhere else as well. The commented out code was a test to see if somehow I need to introduce MEACCT1100-SAKTO into my logic.
      Thank-You.
    METHOD if_ex_me_process_req_cust~process_account.
    *                              D A T A                                   *
      DATA:  wa_exkn TYPE exkn,
             wa_exknx        TYPE mepoaccounting_datax,
             wa_item         TYPE mereq_item,
             wa_itemref      TYPE REF TO if_purchase_requisition_item,
             wa_exkn_hold    TYPE exkn,
             wa_exknx_hold   TYPE mepoaccounting_datax,
             wa_item_hold    TYPE mereq_item,
             wa_itemref_hold TYPE REF TO if_purchase_requisition_item.
    *                  P R O C E S S I N G                                   *
      IF im_count = 1.
        CLEAR:wa_exkn_hold,
              wa_exknx_hold,
              wa_item_hold,
              wa_itemref.
      ENDIF.
      CLEAR: wa_exkn,
             wa_exknx,
             wa_item,
             wa_itemref.
    *   get account classification data           *
      CALL METHOD im_account->get_exkn
        RECEIVING
          re_exkn = wa_exkn.
      move wa_exkn to wa_exkn_hold.
      CALL METHOD im_account->get_exknx
        RECEIVING
          re_exknx = wa_exknx.
      move wa_exknx to wa_exknx_hold.
    *           get item data                     *
      CALL METHOD im_account_ref->get_item
        RECEIVING
          re_item = wa_itemref.
      move wa_itemref to wa_itemref_hold.
      CALL METHOD wa_itemref->get_data
        RECEIVING
          re_data = wa_item.
      move wa_item to wa_item_hold.
      MOVE wa_item TO wa_item_hold.
    *   Get the Gl Account Number if needed       *
      DATA: ls_z4ppi_glmap TYPE z4ppi_glmap.
      IF wa_exkn-sakto IS INITIAL AND
         ( wa_item-knttp = 'F' OR
           wa_item-knttp = 'K' ).
        SELECT SINGLE * FROM z4ppi_glmap
          INTO ls_z4ppi_glmap
          WHERE zzmatkl = wa_item-matkl AND
           zzacc_assign = wa_item-knttp.
        IF sy-subrc = 0.
          MOVE ls_z4ppi_glmap-zzacc_no TO wa_exkn-sakto.
    *     move ls_z4ppi_glmap-zzacc_no to MEACCT1100-SAKTO.
        ENDIF.
      ENDIF.
    ** Cuenta Mayor
    *field-symbols <fs_sakto> type meacct1100-sakto.
    * Utilizo el truco de asignar el programa de control y el campo al field
    *move wa_exkn-sakto to SAPLMEACCTVI-MEACCT1100-SAKTO.    "' to <fs_sakto>.
    *assign ('(SAPLMEACCTVI)MEACCT1100-SAKTO') to <fs_sakto>.
    *if <fs_sakto> ne wa_exkn-sakto.
    *endif.
    *          set the  GL Account Number         *
      CALL METHOD im_account->set_exkn
        EXPORTING
          im_exkn = wa_exkn.
      CALL METHOD im_account->set_exknx
        EXPORTING
          im_exknx = wa_exknx.
    endmethod.

    I think you missed out the statement
    MOVE 'X' TO wa_exknx-sakto.
    Regards, Vinod

  • 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

  • Accessing Account assignment in P.Req BADI -PROCESS_REQ_CUST~PROCESS_HEADER

    I have implemented a BADI for Purchase requisition and in PROCESS_HEADER method of BADI Implementation for ME_PROCESS_REQ_CUST. I am trying to access account assignment lines on the purchase requisition (EKBN).
    IM_HEADER is the only parameter available for me. But I am able to access the items indirectly via get_items method in its interface.
    method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_HEADER.
    DATA: l_item_list TYPE mmpur_requisition_items,
           l_item_listx type mereq_itemx,
          l_item      TYPE mmpur_requisition_item,
          l_item_akt  TYPE mereq_item,
          l_item_account type MMPUR_ACCOUNTING_LIST,
          l_item_ref  TYPE REF TO if_purchase_requisition_item.
    data :  lt_preq_items type standard table of mereq_item .
      FIELD-SYMBOLS:
        <lo_lcl>        TYPE ANY,
        <ls_item>       TYPE mereq_item,
        <ls_itemx>      TYPE mereq_itemx,
        <item>          TYPE mmpur_requisition_item.
      " Get items of purchase requisition
       l_item_list = im_header->get_items( ).
      check IM_COUNT <= 1 .
    * Logic for approver determination goes here .
       LOOP AT l_item_list ASSIGNING <item>.
        l_item_akt = <item>-item->get_data( ).
        break-point.
    *   l_item_account = <item>-item->get_items( ).
        append l_item_akt to lt_preq_items[].
      ENDLOOP.
    I am able to collect all the items of the p.req (i.e EBAN entries) in lt_preq_items .
    Now, my challege is to use get_items() method inside
    IF_ACCT_CONTAINER_MM~GET_ITEMS   (  Return Account Assignment Objects ) which is inside IF_PURCHASE_REQUISITION_ITEM interface.
    A simple  l_item_account = <item>-item->get_items( ) resulted in syntax error. How can I get account assignment objects inside this process header BADI of purchase requisition ? Any useful tips is greatly appreciated.
    Regards,
    Shareen
    Edited by: Shareen Hegde on Jan 27, 2012 12:29 AM

    Hi,
    DATA: l_item_list TYPE mmpur_requisition_items,
           l_item_listx type mereq_itemx,
          l_item      TYPE mmpur_requisition_item,
          l_item_akt  TYPE mereq_item,
          l_item_account type MMPUR_ACCOUNTING_LIST,
          l_item_ref  TYPE REF TO if_purchase_requisition_item.
    data :  lt_preq_items type standard table of mereq_item .
      FIELD-SYMBOLS:
        <lo_lcl>        TYPE ANY,
        <ls_item>       TYPE mereq_item,
        <ls_itemx>      TYPE mereq_itemx,
        <item>          TYPE mmpur_requisition_item.
      " Get items of purchase requisition
       l_item_list = im_header->get_items( ).
      check IM_COUNT <= 1 .
    Logic for approver determination goes here .
       LOOP AT l_item_list ASSIGNING <item>.
        l_item_akt = <item>-item->get_data( ).
        break-point.
      *litem_account = <item>-item->IF_ACCT_CONTAINER_MM~GET_ITEMS( ).*_    
    append l_item_akt to lt_preq_items[].
      ENDLOOP.
    Check with the above code for l_item_account .
    Thanks,
    Shailaja Ainala.

  • ME_PROCESS_REQ_CUST

    in method PROCESS_ACCOUNT, how to get the PR's item data as in EBAN/mereq_item internal table

    Hello Esther
    IM_ACCOUNT_REF is available at SAP release >= ECC 6.0.
    Perhaps the following coding may be helpful:
    METHOD if_ex_me_process_req_cust~process_account.
    * define local data
      DATA: lo_account    TYPE REF TO cl_po_accounting_handle_mm,
            lt_items      TYPE mmpur_models,
            ls_item       TYPE mmpur_model_type,
            lo_item       TYPE REF TO cl_req_item_proxy_mm,
            ls_data       type mereq_item.
      lo_account ?= im_account.
      CALL METHOD lo_account->get_items
    *    EXPORTING
    *      im_items_with_error =
    *      im_enq_err_mat      =
    *      im_enq_err_con      =
        IMPORTING
          ex_items            = lt_items.
      LOOP AT lt_items INTO ls_item.
        lo_item ?= ls_item-model.
        ls_data = lo_item->if_purchase_requisition_item~get_data( ).
      ENDLOOP.
    ENDMETHOD.
    Regards
      Uwe

  • MEPO151 - ME_PROCESS_PO_CUST / IF_FLUSH_TRANSPORT_MM~START

    Dear All,
    I'm using ME_PROCESS_PO_CUST (PROCESS_ITEM) to make some modifications. Everything is working ok but when I want to create a PO with reference to another PO, after I press Adopt button - the system issues this message.
    As I read in the information about this error message - it seems the problem is in my coding for ME_PROCESS_PO_CUST. I did not understand what I should change .... If somebody can give me a sample code for how I should use set_data method (it seems this one is the problem) - please do it.
    Thanks.
    Florina R.

    A sample where some log fields are appended to standard tables and automatically filled.
    An internal table of lines already updated (2 tables actually), and some fields, are defined as an instance attributes of the implementation class
    In open method such attributes are initialized
    * Initialize
      me->trtyp = im_trtyp.
      REFRESH me->t_matnr_displayed.
      REFRESH me->t_item_updated.
    In process item some fields are updated first time the method is triggered (if user change a data)
    ls_item = im_item->get_data( ).
    READ TABLE me->t_item_updated WITH TABLE KEY table_line =  ls_item-ebelp TRANSPORTING NO FIELDS.
    IF sy-subrc NE 0.
      INSERT ls_item-ebelp INTO TABLE me->t_item_updated.
      im_item->get_persistent_data( IMPORTING ex_data = ls_item_old EXCEPTIONS no_data = 1 OTHERS  = 2 ).
      IF sy-subrc NE 0.
        " Added line - update some fields
      ENDIF.
        " Changed line - update some fields
      ENDIF.
      im_item->set_data( ls_item ).
      ENDIF.
    ENDIF.
    This is just a sample, adapt to your change logic.
    Regards,
    Raymond

  • Change status Purchase Requisition

    Hi - I have to use the following enhancement to change the status of a purchase requisition depending on the valuation price.
    MEREQ001- EXIT_SAPLMEREQ_008.
    Is it posible to change here the field IM_EBAN_CHANGES-FRGKZ of any row??
    Any help would be greatly appreciated.
    Thanks in advance !

    I'm trying to use some methods to change EBAN-FRGKZ but the following code doesn't work fine as it's said in some post.
    Does anyone knows why it s not working?
    DATA: i_items TYPE mmpur_requisition_items.
      DATA: wa_item LIKE LINE OF i_items,
            lv_if_item TYPE REF TO if_purchase_requisition_item,
            lt_itm_data TYPE mereq_item,
            lx_itm_data TYPE mereq_itemx.
      CALL METHOD im_req_header->get_items
      RECEIVING  re_items = i_items.
      LOOP AT i_items INTO wa_item.
        lv_if_item = wa_item-item.
        CALL METHOD lv_if_item->get_data
        RECEIVING  re_data = lt_itm_data.
        CALL METHOD lv_if_item->get_datax
        RECEIVING  re_datax = lx_itm_data.
        lx_itm_data-frgkz = 'X'.
        lt_itm_data-frgkz = 'Z'.
        CALL METHOD lv_if_item->set_datax
        EXPORTING
        im_datax = lx_itm_data.
        CALL METHOD lv_if_item->set_data
        EXPORTING
        im_data = lt_itm_data.
      ENDLOOP.
    Regards

  • How to read data from a function exit

    Hi friends,
    I have a requirement, where in i am creating a screen exit for ME51N.I am using MEREQ001 enhancement for this.It is working fine, but i am to get data in to this so as to write any code.For that i am using the function exit EXIT_SAPLMEREQ_001 in that same enhancement(thought of doing export and import).
    But the data is declared in this way..
    REFERENCE(IM_REQ_ITEM) TYPE REF TO IF_PURCHASE_REQUISITION_ITEM
    so now it is having a method GET_DATA in which i have all the parameters required.
    can anyone please tell me how to read this data...
    Regards,
    Thoufique.

    thats ok friends..i got the solution.
    Regards,
    Thoufique

  • Authorization for block/ubblock indicator

    Hi
    I am facing authorization Issue.  Our scenario is as follows:
    Purchase Order for services will be created.  Release strategy will effect.  If partail service entries has been done and Vendor has been left out in middle or due to poor workmanship he has asked to stop the work.
    Only the highest level in release strategy is authorized to block or Unblock his Purchase Order for service.  If he blocks the purchase order no one shall be able to unblock the Purchase order for services.
    Kindly help me out in finding the authorization object for Block/Unblock Indicator.
    Thanks & Regards
    Prem

    Hope it will be use for u .
    The user exit is the BAdI ME_PROCESS_PO_CUST (shall be implemented via trs SE18), method PROCESS_ITEM.
    This method receives only one parameter which is the PO item object. This object has many interesting methods you can use, among them GET_DATA to get the current item data on the screen (including the deletion flag), GET_PREVIOUS_DATA that gives you the flag store din the database. If they are different, then the user changed the flag and you can check his/her auth. to do this.
    For this purpose you will probably need to define a custom auth. object.
    To issue messages use the macro mmpur_message_forced and the method INVALIDATE() of the PO item object.
    Regards,
    Anthyodaya

  • Delete & Un locK   purchase Order

    Hi experts,
    How can i set a option for 2 users can not be Un LOCK the  purchase order .
    how can i set  option for only for 1 user to Unlock  option.
    how to get this AUTHORIZATION in  PFCG roles or   is there any   T code like JOY transaccions.
    because only one user should acces this option.
    Regards,
    Anthyodaya.
    Edited by: anthyodaya Reddy Nagaram on Feb 23, 2010 11:47 AM

    Hi ,
    i got a good solution for this .... with BADI.
    The user exit is the BAdI ME_PROCESS_PO_CUST (shall be implemented via trs SE18), method PROCESS_ITEM.
    This method receives only one parameter which is the PO item object. This object has many interesting methods you can use, among them GET_DATA to get the current item data on the screen (including the deletion flag), GET_PREVIOUS_DATA that gives you the flag store din the database. If they are different, then the user changed the flag and you can check his/her auth. to do this.
    For this purpose you will probably need to define a custom auth. object.
    To issue messages use the macro mmpur_message_forced and the method INVALIDATE() of the PO item object.
    Regards,
    Anthyodaya.

Maybe you are looking for

  • Updation of SO Confirmed Delivery date based on GR date for BANC parts

    Dear All, Would appreciate an answer on the following issue: For Back to back/Indiv Purchase Order parts(BANC) the confirmed delivery date in the SO is updated based on the Order Acknowledgement date sent by the vendor for the corresponding PO genera

  • SharePoint Reporting Services, No Credentials are available in the security package

    Hi all,  I have problem to solve regarding rendering Reports inside SharePoint. Scenario as follows. 1. There are two domains with two-way trusted connections. We have confirmed it finding users for both domains in the people pickers 2. Kerberos has

  • Mail not allowing aol connection?

    I suddenly am unable to connect to aol, but can get to my exchange and mobile me accounts. Any thoughts on what would have caused this over the last three days? I did install Mackeeper around this same time. Is there a possible conflict? Thanks.

  • Process order confirmation through PI sheet without Batch no.

    Hi Experts, Can any body tell me how can we confirm the process order through PI sheet without batch no.? I know though COEBR we can confirm the order through PI sheet but it requires batch no. & We don't have batch managenent implemented. Youe sugge

  • Carrying values across jsp pages

    hi there! i got a quick question... ive got a login page where users enter their email address and a password and upon pressing the submit button the login page calls the page processlogin.jsp which verifies this email addres and password with those