‎2009 Nov 03 1:30 PM
Hi All,
I am creating a BADI implementation for a standard BADI.
In the implementaion I need to mention the filter values.
Now the problem is that, when I do an F4 help, there are 8 values coming up, out of which i have to select one.
And I do not know which one to select.
Now when I execute the transaction, I can see that the BADI is getting triggered (Had put a break point on CL_EXITHANDLER->GET_INSTANCE)
However, my implementation is not.
My implementation method and BADI implementaion both are active.
I am assuming that may be my filter value didnt match when executed the transaction. Any idea on how to find the filter value passed when a standard BADI is called?
Or am I wrong somewhere?
‎2009 Nov 03 1:41 PM
Hello,
Few points:
1. You must have an idea of what filter values to set before implementing the BAdI.
2. The BAdI may get triggered but based on the filter values provided, the implementation you have designed might not be trigrering.
BR,
Suhas
‎2009 Nov 03 1:41 PM
Hello,
Few points:
1. You must have an idea of what filter values to set before implementing the BAdI.
2. The BAdI may get triggered but based on the filter values provided, the implementation you have designed might not be trigrering.
BR,
Suhas
‎2009 Nov 03 1:51 PM
Hi Suhas,
Thanks for the reply!
When I am executing a standard transaction, this BADI is triggered so it might be that the filter values are also passed in the similar manner!
What I would like to know is, how will I know which filter values are considered when calling the BADI implementation...
I had debugged quite a lot...but unsuccessful.
Any idea about this?
‎2009 Nov 03 1:54 PM
Hello,
You have to ask the functional consultants based on which filter conditions they want to trigger the BAdI.
Till the time being do not provide any filters & check if the BAdI gets triggered.
BR,
Suhas
‎2009 Nov 03 2:23 PM
>
> What I would like to know is, how will I know which filter values are considered when calling the BADI implementation...
> I had debugged quite a lot...but unsuccessful.
> Any idea about this?
Hi Vin,
FIlters are used to make BADI implementation specific to the filter value.
For example if you have BADI with filter as LAND1 (country) then you have to define implementation(s) by specifying the country in implementation and during execution your implemented code will only be called if then country passed to BADI method matchs with the country you specified during BADI implementation.
If you look closely to the method of Filter dependent BADI you will notice that all methods have a importing parameter FLT_VAL whose data type is same as data element of filter.
So clearly, the code calling that methods need to paas the value in this parameter. Which will later be compared with all implementation and respective matching implemenation will be called.
In short look the value passed in paramater FLT_VAL , that will be filter value.
Cheers,
Pawan.
PS: I am refering to classical BADI here..
Edited by: Pawan Kesari on Nov 3, 2009 7:54 PM
‎2009 Nov 03 2:30 PM
Hi Suhas,
Now the functional consultant has informed me, on which filter value they want the BADI to be triggered, however, the BADI is still not being triggered?
Everything is active!
Do we configure somewhere that this BADI (not implementation) has to be called for the following filter values? i.e. in SPRO?
Any idea on this?
Edited by: Vin on Nov 3, 2009 3:30 PM
‎2009 Nov 03 2:35 PM
Hello Vin,
When executing the transaction for which the BAdI is implemented the value in the transaction for the filter object must match with the filter value in the BAdI. If not the implementation will not trigger.
>
> Do we configure somewhere that this BADI (not implementation) has to be called for the following filter values? i.e. in SPRO?
If you can share the BAdI name, then may be we can provide better solution.
BR,
Suhas