Filter Dependent BAdI

Assume I have implemented the following BAdI:
BBP_DOC_SAVE_BADI
Furthermore, assume I have defined a single filter value: BUS2200
Does this mean that my BAdI implementation will be called ONLY
when the filter value is BUS2200.
Is it possible that the implementation will be called for other
filters like BUS2121 and BUS2201?
The reason I ask is this:
Do I have to check the filter value in my implementation to make sure
it is being called for BUS2200?  If so, what's the purpose of defining
the filter value in the BAdI implementation?

Do I have to check the filter value in my implementation to make sure
it is being called for BUS2200? If so, what's the purpose of defining
the filter value in the BAdI implementation?
In the filter you need to specify the variable which contains the desired value.
Like:
W_BO_TYPE = 'BUS2201'.
GET BADI badi_inst
              FILTERS bo_type = W_BO_TYPE.
This code will not get any instance of the BADI as you don't have the implementation for this BUS2201. If your variable W_BO_TYPE contains the value BUS2200 than you would get the BADI instance which contains your implementation.
Regards,
Naimesh Patel

Similar Messages

  • Problem in creating new implementation for filter dependent badi

    Hi Experts,
       I want to use badi NOTIF_EVENT_POST.It is a filter dependent badi. It is asking filter type while implementing thro se19. Could anyone pls tel me how to create new implementation for the filter dependent badi. Existing filter type is QMART. is there any problem if i change the filter type?
    Thanks in Advance!

    Hi ,
    NOTIF_EVENT_POST is filter dependent and filter values are based on QMART value in table TQ80. You need to specify the filter value ie : QMART value before implimentation , before that check all active implimentations for the same , if u have to impliment on same filter value , you need to deactivate the one which is implimented on same filter value .
    You are not supposed to change the filter type.
    Regards,
    Vamsi
    Edited by: CH. VAMSHI on Sep 29, 2009 11:58 AM

  • How to Pass Filter value to Filter dependent BADI ?

    Hi,
    I am having some doubt related to CRM Badi's there are two types of BADI's one is Muliple use badi and other in Filter dependent BADI.
        Incase of filter dependent BADI. when we are creating implentation for filter BADI how to pass this filter value to that new implentation.i.e. if we are going to see the importing parameters for Each method of that  Filter Dependent BADI.   the 1st importing parameter for each method is FILTER VALUE for each method in Filter Dependent BADI. 
          So my question is that how to map this filer value while creating new implentation for Filter Dependent BADI ?
         It will Automatically get this importing filter value or we have to do any coding for this ????
    for this you can refer badi : CRM_ISA_BASKET_HEAD
    this Badi defination is filter dependent.
    Please let me clarification for this .perfect answer will be rewarded !!!!
    Regards,
    Amol Tambe
    SAP CRM Technical Consultant.

    Hi,
    If this is the case. Then what is the use of filter in that if it is automaticaaly getting mapped i.e. How the filter will restrict the use for Badi ??
              I am not getting it ??????
    Because for every simple badi when we are going to creat the implenation it will work fine without any restrictions by getting all importing values automatically.
    And incase of filter depednt Badi also its going in same way it will get its filter value automatically so both the cases are same for Filter dependent badi and simple badi.
    Then what is the use of Filter value ????
    Regards,
    Amol Tambe.
    SAP CRM Technical Consultant.

  • Filter Dependent BADI - All Country codes to be included

    Hi,
    I am using a BADI 'CMS_RE_LR_DIALOG' which has a filter type 'CMS_RE_DTE_LR_ID'.
    This BADI is used in conjunction with a screen field that can take as inputs the 'country codes'. However currently this BADI has only one implementation for the country code 'DE' (Germany) and this is a SAP implementation and should not be modified. The requirement is that I need to include all the country codes in this BADI so that the associated transaction is executed for all country codes.
    Could anyone brief me how this could be done? One procedure would be to create an impl each for every country code, however this is not a feasible solution. Is there any other way in which we can pass all values in a structure to the filter type? I tried using the data element LAND1 for this purpose, but not getting the required output with it.
    Kindly pitch in your inputs as to how this could be implemented.

    filter is implemented in se18 in badi definition.
    certain times u may require to implement certain checks based on country so u can specify the country element as key and implementa filter dependant badi.
    кu03B1ятu03B9к
    Edited by: kartik tarla on Feb 15, 2009 12:46 PM

  • Filter dependent BADI TRIP_POST_FI is not calling.

    Hello Experts,
    I am trying to use the BADI TRIP_POST_FI, this is related to interface IF_EX_TRIP_POST_FI.
    But the standard class CL_EX_TRIP_POST_FI is already using this interface, and has imple-mentation for all methods.
    So, although I can create a new implementation using definition TRIP_POST_Fi it is never exe-cuted because the system is is using the standard implementation.
    What can I do in this case ?
    Thanks

    Hai,
    Try to create new classic BADI implementation for TRIP_POST_FI in SE19 then Z class will be created.
    And in SE24 you can go to that class and you can use the method what ever you want.
    Thanks

  • Need to create a filter in BADI

    Hello Experts,
    Iu2019ve a requirement and according to it I need to Create a filter BUKRS in the BADI definition which makes the BADI call acceptable only when Company Code is XXXX and XXXX.
    Can somebody tell me which BADI I should use?
    Thanks,

    Hello.
    If it is a custom BADI please check the box available in BADI definition (SE18) attributes.
    Step1 - Check the check box Filter in BADI attributes. So that I will enables the filter field and there you need to choose BUKRS.
    Step2 - By doing step1 system adds one more parameter flt_XX to all the methods available in BADI definition.
    Now you need to pass this variable when you are calling the proxy call in the actual application.
    If it is standard BADI you need to check the filter dependent BADIs so that you can impliment them for specific Countries.
    All the best. Let me know if you need any more help.
    - Mohan.

  • You must specify the a of filter if you want to save you filter- dependent

    I get this message when I try to save an implementation for BADI :  NOTIF_EVENT_SAVE
    Specify filter types
    Message no. ENHANCEMENT213
    Diagnosis
    You must specify the a of filter if you want to save you filter- dependent BAdI implementation.
    System Response
    Without a filter type, the implementation cannot be saved.
    Procedure
    Enter a filter type.
    The filter type already exists.  This is a standard SAP BADI.
    There are related notes but not for my ECC 6.0 release. 
    I am using:    SAP_BASIS  700  SAPKB70013
    Has anyone had this problem?

    I think u have already had ur Document Types.
    Now using Tcode Se18 u will goto BADI. There U will Select Implementation --> Change / Display.
    Now at below u will see Filter Dependent Check Box Checked which means that the BADI requires a filter.
    Below that u can enter Ur document Types as filters for which types only u want the BADI to be processed. If u want all the Types to be entered and as the BADI is Filter Dependent , u have to enter all the Document types. Now the BADI is triggered only for the Documents containgin that Document type u entered in the filter only.
    awrd points if useful
    Bhupal

  • Badi Multiple Use and Filter Dependent.

    Dear Experts,
    i Have enough Documents on Badi.
    and My question is If we implement the Multiple Use the program calls all active implementations in Dynamic sequence.
    to Call Particular Implmentation do we go for Filter dependent?
    or is both concepts are independent .
    Let me Know the difference
    Regards
    Raj.

    Yes,Both Concepts are independent.
    If the BADI Has checked with Muliple use check box then u can implement multiple implementation for that BADI for example check the BADI ME_PURCHDOC_POSTED Attributes tab.
    If the check box is marked with Filter-dependent then u can implement based on the data element.Example check the BADI NOTIF_EVENT_SAVE Attibutes tab.

  • Creation of filter dependent Custom BADI defination.

    Hello,
    How to create a custom BADI definition (ECC 6.0), so that I will be able to make it filter dependent.
    I need to create an implementation of the same as per Logical system name filtering for ALE processing.
    I tried to create Enhancement Spot and then created BADi but not able to make it filter dependent.
    Please suggest.
    Thanks.
    Edited by: Parthasarathi Mohanty on May 20, 2011 2:46 PM

    Hi,
    I tried to create an independent custom BADI definition and make it filter Dependant.
    So that I can create my own implementation and call that in a Standard BADI method.
    Through SE18, it's not allowed to directly create BADI, I created an enhancement spot but while creating BADI in this process, it not giving me the option to make it filter dependent.
    Is there any special process to create an independent BADI definition & to make filter dependent in ECC 6.0.
    Thanks.

  • Difference between multiple use and filter depend in BADis

    Dear Experts,
    Can u plz tell me the major difference between <b>MULTIPLE USE</b> and<b> FILTER DEPEND</b> types in badi definition.Is it possible to create a BAdi definition without selecting none of them
    Thanks & regards,
    vineel

    You can differentiate between single-use and multiple use Business Add-Ins. The distinction is based on the procedure or event character of an enhancement. In the first case, the program waits for the enhancement to return something, usually a return code. A typical example could be a benefit calculation in HR. Depending on the implementation, alternative calculations can be executed. With multiple use add-ins, an event that may be of interest to other components is processed in program flow. Any number of components could use this event as a “hook” to hang their own additional actions on to.
    Business Add-Ins may be implemented on the basis of a filter value. If an enhancement for country-specific versions is provided for in the standard version, it is likely that different partners will want to implement this enhancement. The individual countries can create and activate their own implementation.
    Enter a filter type when defining your enhancement (a country or industry sector, for example). All methods created in the enhancement's interface have filter value FLT_VAL as their importing parameter. The application program provides the filter value for the enhancement method. The method then selects the active implementation for that value.
    http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf4940e11d295df0000e82de14a/frameset.htm

  • BADI: Diff between Multiuse & Filter Dependent

    Hi All,
    I would like to know whats the diff between Multiuse and Filter Dependent, Filter Types and Defined Filters.
    Thanks,
    Santosh

    <b>Multiple Use</b>
    This property defines whether – during the initialization of a BAdI object using GET BADI– just one implementation needs to be selected through the specified filter values, or whether an arbitrary number of implementations (or no implementation at all) can be selected.
    If more than one implementation is selected at GET BADI for a BAdI provided for single use, the exception cx_badi_multiply_implemented is triggered. If no implementation is found, the exception cx_badi_not_implemented is triggered.
    Use
    You can define whether a BAdI is to be provided for single or multiple use. In the standard version, a BAdI is provided for single use, but a multiple use can also be selected.
    In the case of a multiple use, there is a general restriction – in addition to the general restriction regarding variable attributes – that the BAdI methods must not have any EXPORTING or RETURNING parameters. The reason for this is that, if you have a call with CALL BADI, the methods of all the object plug-ins referenced by the BAdI object are called and that there is no definition regarding from which of the implementations a returned value will actually come. CHANGING parameters, on the other hand, are allowed since these are changed by all the calling methods, one after the other, so that a method can also access the parameter changed in a previous method.
    Regards
    - Gopi

  • Request to know necessity of filter in BADI

    Hi,
    I would like to know what is Filter in BADI and why it is required, please throw some light on the advantages of filter in BADI.
    Appreciate your quick response.
    Regards
    Harikrishna

    when you want different source code for methods depending on for instance the sales document type, you can use the filter.
    So for different doc.types, you're getting different code.
    You could do it also without a filter, but then you need IF or CASE.
    regards,
    Hans

  • How can I read the filter dependent values in abap class implementation ?

    Hi Experts,
    I need read the filter dependent values in my Z Class implementation but I don´t know how to do it.
    In classic badi was via FT_VAL parameter.
    Now how can I do it ?
    Regars,
    Bala

    Rogerio,
    In case of badis the field flt_val gets added automatically as an import parameter when you check FILTER DEPENDENT check box. This is to restrict which implementation of the badi should be executed, if there are more than one.
    There is no such concept when you are building a class.
    If you want one of your methods to be executed on in certain cases, you need add the required logic within the method.
    If you are referring to the FILTER check box in the pic below, that is used for a different purpose. It is used to filter what is displayed on the class builder screen. F1 on the field to know more about the same.
    Thanks,
    Vikram.M

  • Custom Filter-Depend

    Hi all,
       i am very confusing. i have couple of questions for you.
    1. what is filter-depend in se18?
    2. there is a filter attach with BBP_DOC_CHECK_BADI and BBP_DOC_CHECK_BADI, how does it work? because filter is a data element then what the logic behind and how it gets trigger 
    3.  is it possible to create custom Filter in se18?
    please give me brief explanation.
    thanks,
    john.

    Hi ,
          thanks for your response. there is a filter type in SE18 for BBP_DOC_CHECK_BADI called BBP_SEARCH_OBJTYP which is nothing but data element. they attached domain called BBP_SEARCH_OBJCTTYP, in that domain 'Value Range' tab values are below
    <b>BUS2201     Object Type EBP Local PO
    BUS2205     Object Type EBP Invoice
    BUS2203     Object Type EBP Confirmation
    BUS2121     Object Type EBP Shopping Cart
    SOCO     Shopping Cart for Further Processing in Sourcing Cockpit
    BUS2202     Object Type EBP Local Bid
    BUS2200     Object Type EBP Local Bid Invitation
    BUS2208     Object Type EBP Auction
    </b>
    based on the above value filer, implementation gets trigger.
    1 . my question is how system does know which BOR called ? what is the relationship between data element(Filter Type) and shopping cart?
    2. is it possible to create custom filter?
    thanks in advance,
    John.

  • Filter for BAdi CRM_ORDER_STATUS does not work in WebUI

    Hello,
    we have made an implementation for BAdi CRM_ORDER_STATUS for our sales cycle.
    In detail:
    The BAdi implementation shall be triggered if the user sets a special user status within an opportunity.
    Therefor we have used the standard filter functionality provided by this BAdi (giving the correct header status profile and user status).
    Using transaction CRMD_ORDER in SAP GUI, creating an opportunity and setting the special user status -> the BAdi implementation is triggered as expected.
    But: If we are using the WebUI the done BAdi implementation is triggered at every roundrip caused by creating/editing an opportunity and not only at setting the user status.
    Does anybody of you made similar experiences with using BAdis in WebUI (SAP CRM 7.0)?
    Cheers,
    André
    **EDIT***
    It´s possible coding the filter within the BAdi implementation.
    But we prefer using the provided SAP standard.
    Edited by: Andre Schillack on Apr 23, 2009 8:47 PM

    Hi Andre,
    I just checked my system CRM2007 and below is what I found in WebUI mode:
    During the build of DDLB for Status field, it calls method cl_crm_uiu_status_info=>get_status_info. What it does is:
    1. It derives all status codes for the user status profile (based on customizing)
    2. And then for each status code, it triggers the BADI based on filter value. In the BADI, customer can decide whether the particular status (filtered value) is allowed to see in the DDLB.
    Since it is building the DDLB for Status field every time there is change on the opportunity and therefore DDLB method calls the BADI every time to build the Status code list.
    If you want to do further processing based on status change in the method BEFORE_CHANGE, you can try the following code.
    if is_status_wrk-active_old = 'X' and
           is_status_wrk-user_stat_proc = 'CRMACTIV' and
           is_status_wrk-status = 'E0002'.
    Do something
    endif.
    I hope I have not confused you.
    I feel that this is standard behaviour in WebUI. You may want to check with SAP OSS also.
    Regards,
    Paparao Undavali

Maybe you are looking for