BADI Implementation to provide valuehelp to settype attributes
SETTYPE attributes cannot be accessed directly from their context nodes. Neither can those context nodes be enhanced. So to provide value help to context node attributes we can follow one of the following ways:
- Mention Value Table while creating the attribute
- Manually enhance the context node
- Create a Z class with name ZL_PRD_<name of the settype>_CN and change the associated type of the page attribute SETTYPE.
- Create a BADI implementation of BADI CRM_PRDGENSET_VALUEHELP.
I described the steps for 3rd approach in my last document. Here is the steps for BADI implementation.
- Go to SE18 and open BADI CRM_PRDGENSET_VALUEHELP
- Right click on the Implementations for BAdI definition CRM_PRDGENSET_VALUEHELP and select ‘Create BAdI Implementation’
- Create a new Enhancement Implementation
- Select the new enhancement created and Create a BAdI implementation
Note:Now if we try to activate the enhancement it gives an error message saying that there are other active implementations. So we need to maintain filter for the BADI implementation. There are two filters: OBJECT_FAMILY and PRODUCT_TYPE. We need to maintain at least one.
- Redefine the method IF_EX_CRM_PRDGENSET_VALUEHELP~GET_VALUEHELP_DESCRIPTOR to provide value help.