Hi,
When I create an order for customer with various target groups, the VA01 returns an error in the method IF_EX_BADI_SD_SALES_ITEM~ITEM_PRICING_COM_I in the line ASSERT sy-subrc EQ 0. "component must exist (check append KOMP_MKTTG)
The function CRM_MKTTG_GET_TG_FOR_CUSTOMER returns various target_groups.
There is no error when the custormer not has target groups associated, the order is saved correctly.
CALL FUNCTION 'CRM_MKTTG_GET_TG_FOR_CUSTOMER'
EXPORTING
iv_kunnr = ftkomk-kunnr
IMPORTING
et_target_group = lt_target_groups.
CALL FUNCTION 'CRM_MKTTG_GET_PS_FOR_MATERIAL'
EXPORTING
iv_matnr = ftkomp-matnr
IMPORTING
et_product_segments = lt_product_segments.
* pre-set communication structure fields and trigger multi-valued condition access
READ TABLE lt_target_groups ASSIGNING <target_group> INDEX 1.
IF sy-subrc EQ 0.
ASSIGN COMPONENT 'TARGET_GROUP_ID' OF STRUCTURE ftkomp TO <target_group_id>.
ASSERT sy-subrc EQ 0. "component must exist (check append KOMP_MKTTG)
<target_group_id> = <target_group>-tg_id.
IF sy-tfill > 1.
ftkomp-use_multival_attr = 'X'.
Regards.
Cécile