In ERP the premise contains custom fields. In CRM those are handled within table ECRM_ISU_EVBS as customer include. In case of a request load or a simply delta load from ERP, the customer fields are integrated into the middleware structure via BAdI but on CRM side the development is missing to update table ECRM_ISU_EVBS with those custom fields.
The BAdI IBSSI_RECEIVE_TO_DWN contains a new method FILL_CI_PRM to enable the custom premise fields to be added to the own premise table in CRM. For this the data of the BDOC BAPI has to be stored in the implementation class of the BAdI and when method FILL_CI_PRM is called, inside the method the data has to be retrieved and attached based on the premise guid. This premise guid is an input parameter of the BAdI and has to be copied to the returning result table. The data itself might be found via the normal ERP premise number which is also an input parameter of the method.
Create a new structure ECRM_CI_PRM in package CRM_UTILITY_UIS with description Customer Include of premise for replication purpose. The structure should contain two components:
PRM_GUID Types EUI_VSTGUID
.INCLUDE Types CI_PRM
The structure can be enhanced character type or numeric.
Save and activate.
Create a table type ECRM_CI_PRM_T in the same package and description: table type of ECRM_CI_PRM. The line type is the just created structure ECRM_CI_PRM.
Enhance the BAdI Interface IF_EX_IBSSI_RECEIVE_TO_DWNof BAdI IBSSI_RECEIVE_TO_DWN via SE18. Add two types in the public section:
- tt_eui_vstelle TYPE TABLE OF eui_vstelle .
- tt_eui_vstguid TYPE TABLE OF eui_vstguid .
Add a new method FILL_CI_PRM with description Fill customer include for premise. The method gets the following parameters:
XT_PRM_GUID Importing Type IF_EX_IBSSI_RECEIVE_TO_DWN=>TT_EUI_VSTGUID
XT_VSTELLE Importing Type IF_EX_IBSSI_RECEIVE_TO_DWN=>TT_EUI_VSTELLE
YT_ECRM_CI_PRM_T Exporting Type ECRM_CI_PRM_T
FLT_VAL Importing Type COMT_PRODUCT_OBJECT_FAMILY
All parameters are flagged as parameter passing types (passed as value).
Save and Activate.
The BadI IBSSI_RECEIVE_TO_DWN has to be regenerated via menu utilities -> Regeneration.