Recently I worked on a requirement where we were needed to build marketing attributes and identification assignment block in IC business partner view.
Scenraio : when a user in UTIL_IC busineess role, search a BP , he gets an option MORE FIELD. when he clicks on it he gets something shown in screenshot below
Here as per the requirement, along with telephone, fax and email, Marketing attribute and identification tab was also required.
1. go to the component ICCMP_BP_DETAIL , enhance it , add component usage BP_DATA for these two views are there in this standard component.( BP_DATA/MarketingAttributesEOVP and BP_DATA/AccountIDNumberList ).
2. Now in ICCMP_BP_DETAIL, under ViewSet ICCMP_BP_DETAIL/CommunicationVS in runtime rep add this component usage along with the view.
3.now go to the BP_DATA component and enhance both the view. after enhancing, redefine the set_view_group_context. now here view group context need to be set as you will not get the parent entity initially. add these code of lines :
IF IV_PARENT_CONTEXT IS INITIAL.
CREATE OBJECT ME->VIEW_GROUP_CONTEXT TYPE CL_BSP_WD_VIEW_GROUP_CONTEXT.
view_group_context->set_view_editable( me ).
ME->VIEW_GROUP_CONTEXT = IV_PARENT_CONTEXT.
view is also set editable here with the same view_group_context attribute . This will be triggering on click of the edit button on IC agent. locking is being takn care in insert event code so u need not to worry on that part.
4.then go to .htm page and make the noHeader = “FALSE” , personalizable = ‘TRUE’ ( if u need personalizable icon too ) that you can get the header with button inseta and personalizable icon
5. do the binding in component controller of iccmp component with follwoing code
IV_USAGE->BIND_CONTEXT_NODE( IV_CONTROLLER_TYPE =CL_BSP_WD_CONTROLLER=>CO_TYPE_COMPONENT
IV_TARGET_NODE_NAME = ‘CUSTOMER’
IV_NODE_2_BIND = ‘PARTNER’ ).
activate your code and test
you will get the resiult as stated below.
Hope this helps you all.