Use of BADI BBP_WFL_SECUR_BADI in SRM 7 PCW

Hi all,
We are on SRM 7.0
We had implemented the BADI BBP_WFL_SECUR_BADI to overwrite the authorization levels(basically BBP_WFL_SECURITY parameter) in SRM 5.0 so that when new approvers are added in SC workflow/SC approval process,they are able to change as well as approve the SC.
Can someone please tell me how can I achieve the same now in SRM 7 with PCW?\
Thanks.

Thanks Saravanan.
But in SRM 5,we had to do it selectively only for some users at runtime based on table entries in a custom table and also when the approver is the shopping cart creator.
Considering,how do we do it now in SRM 7 PCWpartuclarky how to change the BBP_WFL_SECURITY at runtime in SRM 7 when the approver actually goes to approve the cart?

Similar Messages

  • Implementation of BADI BBP_ECS_PO_OUT_BADI in SRM. and BBP_PO_INBOUND_BADI

    Hi All,
    Facing a problem in BADI can u please help me out...
    I am implementing sourcing dashboard.
    I am facing problem while implementing the badi BBP_ECS_PO_OUT_BADI in SRM. and BBP_PO_INBOUND_BADI in R3.
    i have written following code in BBP_ECS_PO_OUT_BADI in SRM
    method IF_EX_BBP_ECS_PO_OUT_BADI~BBP_B46B_PO_OUTBOUND.
    data : ls_item type BBP_PDS_PO_ITEM_D.
    data : w_customer_fields type BBPS_IF_CUSTOMER_FIELDS_PI.
    move 'POITEM' to w_customer_fields-refobject.
    move 'CATALOGID' to w_customer_fields-fieldname.
    move ls_item-catalogid to w_customer_fields-container.
    append w_customer_fields to ct_bapi_customer_fields.
    endmethod.
    i have created field zsrmcatalogid field in R3 in EKPO table.and i am now implementing the Badi in R3 for BBP_PO_INBOUND_BADI .....in extended classic scenario.
    i have written following code in R3 BADI
    method IF_EX_BBP_PO_INBOUND_BADI~BBP_MAP_BEFORE_BAPI.
    data : wa_customer_fields type bbps_if_customer_fields,
    wa_bapi_te_mepoitem type bapi_te_mepoitem,
    wa_bapi_te_mepoitemx type bapi_te_mepoitemx,
    wa_extensionin type bapiparex.
    data : txt_960(960) type c.
    read table bbp_customer_fields into wa_customer_fields with key
    refobject = 'POITEM' fieldname = 'CATALOGID'.
    if sy-subrc eq 0.
    move wa_customer_fields-container TO
    wa_bapi_te_mepoitem-zsrmcatalogid.
    wa_bapi_te_mepoitemx-zsrmcatalogid = 'X'.
    endif.
    clear txt_960.
    clear wa_extensionin.
    write wa_bapi_te_mepoitem to txt_960 left-justified.
    wa_extensionin-structure = 'BAPI_TE_MEPOITEM'.
    wa_extensionin-valuepart1 = txt_960(240).
    wa_extensionin-valuepart2 = txt_960+240(240).
    wa_extensionin-valuepart3 = txt_960+480(240).
    wa_extensionin-valuepart4 = txt_960+720(240).
    append wa_extensionin to bapi_extensionin.
    clear txt_960.
    clear wa_extensionin.
    write wa_bapi_te_mepoitemx to txt_960 left-justified.
    wa_extensionin-structure = 'BAPI_TE_MEPOITEMX'.
    wa_extensionin-valuepart1 = txt_960(240).
    wa_extensionin-valuepart2 = txt_960+240(240).
    wa_extensionin-valuepart3 = txt_960+480(240).
    wa_extensionin-valuepart4 = txt_960+720(240).
    append wa_extensionin to bapi_extensionin.
    endmethod.
    But its not working...
    The PO details are not passed from SRM to R3.......
    Can anybody help me regarding how to debug the BADI in R3.
    Thanks in Advance...

    Hi Ravi,
    I never tried those BADIs to pass CUF fields.
    But here an attempt to understand it.
    First, have you maintained the mandatory R/3 CUF mapping table BBP_CUFMAP ?
    Your SRM BADI is not correct, because you don't populate enough data.
    There is a particular logic for ct_bapi_customer_fields (look at R/3 mapping in LBBP_BAPI_POF04, called before the R/3 BADI).
    Following fields must be populated:
    - REFOBJECT: ok with POITEM
    - FIELDNAME: dummy name (CATALOGID) or real R/3 field (zsrmcatalogid)? --> used in mapping table BBP_CUFMAP to get the R/3 field
    - REFFIELD1: missing: put PO_ITEM ?
    - REFVAL1  : missing: put the PO item number (numc 5)
    - CONTAINER: ok with final value we want to pass
    I think that if SRM BADI and the R/3 mapping table are populated correctly, the fields are transfered to R/3 PO item without additionnal coding on R/3 BADI side.
    The R/3 BADI goal is not to create BAPI_EXTENSIONIN. This is done by the Form MAPPING_CUSTOMER_FIELDS of include LBBP_BAPI_POF04.
    Later on, the custom fields of BAPI_EXTENSIONIN are transfered automatically to EKPO fields via a move-corresponding.
    In the way you coded R/3 BADI, you by-pass the Form MAPPING_CUSTOMER_FIELDS, to populate the BAPI_EXTENSIONIN by yourself.
    This could work like this, but you missed one info: the PO item number (missing in SRM BADI) !!!
    For debugging, what additional details do yo need ?
    Rgds
    Christophe

  • Please provide some important using Enhancements/BADIs in Self service proc

    Hi experts,
    Please provide some important generally using Enhancements/BADIs in Self service procurement with classic Scenario.
    Also pls provide some details regarding those enhancements.
    Also pls. provide some important reports in SAP-SRM
    Thanks
    Reshma

    Not sure what u r trying to do.
    Nornally many requirements are fulfilled with doc change Badi.
    SRM provides very basic reports but if u want good reports u need BI
    Regards,
    NNK

  • BADI [BBP_WFL_SECUR_BADI]

    Hi,
    Would like to ask about this BADI. In the doc it is written that
    [[You use this BAdI to prevent the approval workflow from starting again
    if the manager changes only the cost center of a shopping cart during
    the approval process.]]
    In the BADI only these parameters are available
    ACTUAL_USER
    OBJECT_ID
    OBJECT_TYPE
    GUID
    SCENARIO
    NEW_SEC_LEVEL
    How the system knows which fields the approver has changed?
    Alok

    Hi
    <b>Go through the sample code below.</b>
    method IF_EX_BBP_WFL_SECUR_BADI~SET_SECURITY_LEVEL .
    data: ls_header type BBP_PDS_SC_HEADER_D.
    clear ls_header.
      CALL FUNCTION 'BBP_PD_SC_GETDETAIL'
        EXPORTING
         I_OBJECT_ID             = OBJECT_ID
         I_WITH_ITEMDATA         = 'X'
       IMPORTING
         E_HEADER                = ls_header
    *   TABLES
    *     E_ITEM                  = lt_item
    *     E_ACCOUNT               = lt_account.
    *--- In lt_Account table.. you can find the details of the cost center..
    *--- Incase the shopping cart is changed, that means SC Creator name will
    *--- be  different from Approver (manger) name
    *-- If current user not = user who created cart set security level = 1
    If NOT ACTUAL_USER = ls_header-created_by.
       NEW_SEC_LEVEL = 1.
    Endif.
    endmethod.
    <u>Related BADI Documentation -></u>
    <b>BBP_WFL_SECUR_BADI</b>
    You can use the Business Add-In (BAdI) BBP_WFL_SECUR_BADI to determine whether
    1) A shopping cart can be changed during the approval process
    2) The approval workflow restarts when changes are made to the document
    3) A reviewer/approver can be added or changed
    4) These are the call scenarios (see import parameter SCENARIO).
    You use this BAdI to overwrite the settings for the authorization level of approver. The BAdI is called each time the shopping cart screen is opened and whenever a purchase order is ordered and held.
    For more information, see the SAP Note 502952.
    Example
    You use this BAdI to prevent the approval workflow from starting again if the manager changes only the cost center of a shopping cart during the approval process.
    Standard settings
    Rejection of a shopping cart item causes the approval process to be restarted (dependent on workflow start conditions and authorization level). SAP supplies a BAdI-Implementation that prevents a restart if you set the authorization level of the approver to "not defined".
    The standard system features the following authorization levels, which you can set in user maintenance (transaction SU01) or role maintenance (transaction PFCG) on the Personalization tab. Note that user settings override role settings:
    Not defined Initial setting: Authorization level on delivery.
    No authorization
    Changes to the document are not allowed while it is being approved.
    Low
    Changes can be made to the document. The approval workflow is restarted after every change.
    Medium
    Changes can be made to the document. After every change, the approval workflow either continues or is restarted.
    The system evaluates the start conditions and restarts the workflow if a new approval is required as a result of the change. If this is not the case, the approval workflow continues.
    High
    Changes can be made to the document. The current approval process always continues. A new approval workflow is not started when the document is changed.
    Note: if the approver is assigned several roles, the system uses the highest authorization level.
    Activities
    The following parameters are provided in the SET_SECURITY_LEVEL method:
    Import
    ACTUAL_USER (user whose authorization level is overridden)
    OBJECT_ID (transaction number of the document
    OBJECT_TYPE (business process type)
    GUID (unique document key)
    SCENARIO (scenarios in which the BAdI is called).
    Export
    NEW_SEC_LEVEL (determined authorization level)
    Hope this will help.
    Regards
    - Atul

  • Use of BAdi UC_CTR_XRPROC in Currency Translation

    Hi All,
    Has anyone experience of the BAdi for determining Exchange Rate in BCS?
    In BCS you have the option of customising the Procedure for Exchange Rate Determination by using a Badi, my current client has configured a custom one but I can't view the configuration (due to authorisation frustrations), so I can see that something has been selected but can't see what it is.
    Selected Info from SAP BCS help:
    You can create additional procedures for exchange rate determination in the customer namespace. The custom procedures, along with the standard procedures, are offered for selection in Customizing of currency translation methods.
    If you specify a parameter when creating a procedure for exchange rate determination, this parameter is also offered for selection when the procedure is listed.
    At the time of execution, whenever a custom procedure for exchange rate determination is encountered, the system calls the Business Add-In for exchange rate determination ( UC_CTR_XRPROC). There you can freely determine the exchange rate for each data record being translated.
    Also:
    The E/R determination procedure is the second-last step for determining the value in target currency. (The last step is the currency translation procedure, for which there is also another Business Add-In, UC_CTR_CTPROC.) At this point, the data records to be translated are accessible, and the date of exchange rate determination is known.
    All help will be much appreciated

    Thanks Eugene,
    it appears to have been implemented at one of my current clients but I can't work out what it's doing.
    An old, incomplete configuration document indicates that they were trying to stop the GC figure being updated unless Currency Translation Indicator <> 0 (ie RFD record is not updated by Currency Translation task, GC values are only posted to new records with CT Indicator >0)

  • How can I use a bad IMEI AT&T iphone 5 with straight talk ?

    Someone sold me a bad IMEI AT&amp;T iphone 5. I had an AT&amp;T iphone 4 with straight talk prior to buying this phone. I didn't know the IMEI was bad so I bought the iphone 5 hoping to switch. I cut my SIM card and put it into the iphone 5. Everything worked perfectly fine so I went ahead and gave the dude the money. I went to sleep and wake up the next day and try to make a call and I get a message saying my phone has been blocked from the network. I contacted straight talk and they thought it was a problem of theirs so somehow they got my phone to work again. Everything was good , calls, texts , and data. 2 hours later, the same problem happens. So I call straight talk again , tell them the problem. They fix It again, 2 hours later , THE SAME PROBLEM. I gave up this time and began looking for answers. Is there any way I can use this iphone 5 with straight talk ? There was a comment I saw through my search for answers where if I get another straight talk sim everything would work again. Is this true? How can I use a bad IMEI AT&amp;T iphone 5 with straight talk ?

    If that IMEI has been blacklisted by AT&T, then it is blacklisted by all USA carriers, as well as several participating Canadian and Mexican carriers.
    As of 31 October 2012, USA Cellular Providers are sharing a common IMEI/ESN database to ensure that phones blacklisted on one carrier can't be activated on another carrier.  AT&T and T-Mobile are also participating members of the GSM-networks global shared blacklists.

  • How to use the BADI  WORKORDER_GOODSMVT to meet my requirement?

    Hello Abapers,
    My requirement is I need to display Batch Number in confirmation of production order(co15) which is entered in creation of production order(co01).While debugging the CO15,i got badi as WORKORDER_GOODSMVT.
    I am new to BAdi,HOW to use this badi to meet my requirement.
    Please help for me to solve my problem.
    If any one implemented batch mangement in PP.Please tell the procedure how u achieved?
    waiitng for your favourable replies
    Regards
    Maruthi.

    Hai,
    IN my reuqiremnt,i used GOODS_RECEIPT method to meet my requirement.
    Regards
    Maruthi.K

  • How to use MAM30_011_CREATE BADI - IF_EX_ALM_ME_010_NOTIF~MAM30_CREATE ?

    Hi,
    I have an customer field "ZZEXT_XY" in the table "QMEL".
    When the user creates a new notification on mobile device the information for that customer field is saved in the notification syncBo as enhancement field for CE_NOTIF_HEADER (MAM30_010Item030).
    During sync the functional modul "MAM30_011_CREATE" is called by the middleware.
    Now I want to use the BADI "IF_EX_ALM_ME_010_NOTIF~MAM30_CREATE" to save this information in the table field "ZZEXT_XY" in table "QMEL" (wich includes "CI_QMEL" with the enhanced table fields, like "ZZEXT_XY").
    Is this possible?
    And if yes, how can I implement this?
    Because I don't see any type in the BADI which contains the customer field "ZZEXT_XY".
    I thought I can use a reference type for the structure ALM_ME_CUSTOM_NOTIF_HEADER.
    But this is not working.
    I'm getting a "OBJECTS_MOVE_NOT_SUPPORTED" runtime error during executing the functional modul "MAM30_011_CREATE".
    Thanks for your help.

    Hi Frank!
    I hope I can help you a little bit.
    You must extend the Customer Include CI_ALM_ME_NOTIF_HEADER with your own field ZZEXT_XY. When you have done this, you have to implement the BADI Method in order to get your customer field into the database. The Customer BADI is called after the standard creation of the notification.
    I have extend the task list and it works fine.
    best regards
    Matthias

  • Use of BAdi 'WorkOrder_update'(method in_update)

    Hi,
    I am using the badi 'WorkOrder_update' for an enhancement to iw32.I need to check whether new material has been added to order.How will i check that new material has been added to order. There are parameters in this badi which gives us the components list.Will these tables be returning the components which are already existing in the order or the components which the user has entered or changed.
    Please help.

    Hai anu,
    in that badi defination there is a moethod IN_UPDATE in which u have
    IT_HEADER
    IT_HEADER_OLD
    IT_ITEM
    IT_ITEM_OLD
    IT_SEQUENCE
    IT_SEQUENCE_OLD
    IT_OPERATION
    IT_OPERATION_OLD
    IT_COMPONENT
    IT_COMPONENT_OLD
    IT_DOCLINK
    IT_DOCLINK_OLD
    as importing parameters with this u can compare the old and new items for the order.
    If usefull Reward points
    Regards,
    Sree

  • Use of BADI's in enhancement

    Hi
    Can some one help me in undestanding
    what is BADI, how it can be used in enchancements?
    how it is different from userexit?

    The key to using a BADI is that SAP would have had to place a BADI definition in the correct location within the Application you want to modify.  Certainly not every single application has a BADI definition within it.  You need to study the particual application you need to modify to see if a BADI definition is present.
    If there is BADI, there is quite a bit of processing that can be done within the BADI.  Basicually you inherit from an SAP class for your BADI implementation.  You have the ability to add more methods to your class, so you can built quite a bit of logic there.
    Off the top of my head, I don't know if any of SAP's delivered BSP applications have BADI definitions within them.  There is nothing technically stopping an application class, controller, or model class from having a BADI definition.
    If you are on Netweaver 04S, you might also consider looking at the enhancement framework. This allows safe modifications to be made directly to certain enhancement points within standard SAP applications.

  • Use of BADI /SAPAPO/SDP_RELDATA METHOD CHANGE_PROD_LOC

    We have a requirement for a small number of product/locations to re-direct them onto a customer location when releasing the forecasts to SNP.
    We have been pointed in the direction of the BADI /SAPAPO/SDP_RELDATA method CHANGE_PROD_LOC.
    Unfortunately we can not find any documentation on the use of this BADI/Method, we've tried to change the location using the parameter CT_MATID_LOCID, also setting the parameter CV_CHANGE_PROD_LOC where a change has been made, but it doesn't seem to work.
    Has anyone used this BADI/Method and has advice on it's usage?
    Regards, Mark

    Hi Mark - Changing the CT_MATID_LOCID table alone will not associate the change with a plobj or CV. I am surprised you do not get an error. You will also need to update the CT_MATLOC_PLOBJ table - find the entry for the old matid/locid then update that with the new matid/locid. Also the CT_PLOBJ_CHAR table needs to be updated as well - find the same plobj and update matid/locid accordingly.
    Regards
    Andy

  • HAP_DOCUMENT BSP redirect using the BADI HRHAP00_BSP_TMPL

    Hi all,
    Below is my issue:
    Last year, We have modified the BSP HAP_DOCUMENT by copying it to Y_HAP_DOCUMENT. Now we had to make further changes to the BSP which had to be template specific.
    So we used the BADI HRHAP00_BSP_TMPL to redirect the document to a new BSP Y_HAP_DOCUMENT_V1.
    The iviews are pointing to the BSP Y_HAP_DOCUMENT, but when the BADI is hit its getting redirected to the V1 BSP.
    But the issue is that whenever the redirect BSP is used, the error messages are getting killed.
    Please let me know if anyone had a similar issue and if they were able to solve the issue.
    Thanks,
    Manasa
    I am using the

    Hi Luk!
    Sorry that i got back to you this late. Have you solved the issue?
    whenever we redirect using the badi for hap_document the control starts from layout_alternative.htm  view instead of the layout_sap_standard.htm. So if you copy paste the code from the sap standard view you will be able to redirect it.
    Hope this helps. Plesae reward hlpfull answers.
    Thanks,
    manasa

  • Use of BADI's instead of in-line modifications

    Hi!
    In using SAP packages, we do some customizations to cope with the requirements right? I was asked to do some modifications, and they asked me to use BADIs instead of in-line modification. Can we put evrything under BADIs? The changes were quite big and additonal data needs to be retrieved and processed which is not part of the standard code. Also, we do not have BADI's under the BSP right? Can somebody give me an idea on this?
    Thanks!

    The key to using a BADI is that SAP would have had to place a BADI definition in the correct location within the Application you want to modify.  Certainly not every single application has a BADI definition within it.  You need to study the particual application you need to modify to see if a BADI definition is present.
    If there is BADI, there is quite a bit of processing that can be done within the BADI.  Basicually you inherit from an SAP class for your BADI implementation.  You have the ability to add more methods to your class, so you can built quite a bit of logic there.
    Off the top of my head, I don't know if any of SAP's delivered BSP applications have BADI definitions within them.  There is nothing technically stopping an application class, controller, or model class from having a BADI definition.
    If you are on Netweaver 04S, you might also consider looking at the enhancement framework. This allows safe modifications to be made directly to certain enhancement points within standard SAP applications.

  • I can't modify the field MARC-LOSGR using the badi BADI_MATERIAL_REF

    Hello!
    I have to force a value in the field "lot size" (MARC-LOSGR) when the system extends automatically a material with the transaction CK40N.
    I tried to use the badi BADI_MATERIAL_REF, wich seems to be perfect for this purpose, but it doesn't work: after the badi the system resets the field to its initial value.
    What can I do?
    Thank you

    Dear Sauro
    I've found this thread in the forum, and because I've the same problem (I need to set 1000 as default for marc-losgr) during creation/extension of a material, I'd like know how you solved your issue.
    The BADI is called during CK11N and CK40N transaction, but even if I set the value in the right mode it's not saved on table MARC. Of course If I create manually the cost view by using MM01 the BADI works fine and the value is saved.
    Thank-you in advance for cooperation.
    Claudio
    Ps: se vuoi puoi anche rispondere direttamente in italiano al mio indirizzo che trovi nei miei riferimenti. Grazie

  • Using HRALE00INBOUND_IDOC BADI for HRMD_A message,  infty 0105

    Hello Experts,
    I am using HRALE00INBOUND_IDOC BADI for HRMD_A message type (for HR master data and infotype 0105).
    I have configured OUTBOUND and INBOUND systems. I have created Z programe for idoc generation.
    In Z program, changing only one filed i.e. USRID_LONG (EMAIL Address).
    After executing the Z program IDOC is generating and if we see in WE05 then it is in YELLOW color with status 30 and 01.
    After that i am using we19 or BD87 and process the IDOC then it will come in green color. I am checking on INBOUND system, IDOC is receving successfuly with green color and with updated data.
    But If we go to PA30 transaction code and check to the email address (infty 0105 and subtype 0010) that is not updating.
    Why? If i am receving IDOC successfuly then why Data base table is not updating?
    Thanks in advance,
    Ranveer

    Hello Anatony,
    BADI HRALE00INBOUND_IDOC is trrigering in INBOUND side.
    Now data is updating, but problem with data.
      s_e1plogi-plvar = '01'.
      s_e1plogi-otype = 'P'.
      s_e1plogi-objid = '00000014'.
      s_e1plogi-opera = 'U'.        
      APPEND s_e1plogi.
      int_edidd-segnam = c_e1plogi.
      int_edidd-hlevel = '02'.
      int_edidd-sdata = s_e1plogi.
      APPEND int_edidd.
      s_e1pityp-plvar = '01'.
      s_e1pityp-otype = 'P'.
      s_e1pityp-objid = '00000014'.
      s_e1pityp-infty = '0105'.
      APPEND s_e1pityp.
      int_edidd-segnam = c_e1pityp.
      int_edidd-hlevel = '03'.
      int_edidd-sdata = s_e1pityp.
      APPEND int_edidd.
    U for update. If sender system have data for 0010 subtype, and recevier side 10 subtype is blank. In that case infotype 0105 is creating, but if infotype is already available on INBOUND system and wants to update, in that case data is not updating and IDOC in red color with 51 status. Message is " Infotype 0105 cannot be updated on database table PA0105".
    My logic is for update....
    select * from pa0105 into table int_pa30
                  where pernr = '00000014'.
      int_pa30-usrid_long = 'ABC1 ATTHERATE SAP.COM'.
      modify int_pa30 transporting usrid_long
      where usrid_long = 'XYZ ATTHERATE SAP.COM'.
    *--To send the data to 510 Client thru IDOC.
      loop at int_pa30.
        int_pa0105-infty = '0105'.
        move-corresponding int_pa30 to int_pa0105.
        append int_pa0105.
      endloop.
    So, where is my fault kindly update me.
    Thanks in Advance,
    Regards,
    Ranveer

Maybe you are looking for