CRM and CX Blogs by Members
Find insights on SAP customer relationship management and customer experience products in blog posts from community members. Post your own perspective today!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

Business Scenario : Business wants to extend ELM functionality to upload Business partners on the basis of a custom field

Assuming the custom field to be External Identification number (ID_EXT) for BP.

Steps:

  • Extend the Standard Extension structures to include the custom fields using Append Structures.

          Structure for Person: CRMT_MKTLIST_PER

          Structure for Organization: CRMT_MKTLIST_ORG_EXT

  • Implement the BADI Implementation for BADI CRM_MKTLIST_BADI.

          Add the logic to influence the standard update of BP using custom fields based on Custom Business process.

          Methods to be used: CREATE_BUSINESS_PARTNERS, UPDATE_ORGANIZATION, UPDATE_PERSON.

  • We can further influence the behavior such that the custom field is a mandatory field by deriving messaging around this field.
    • For ex, Custom field can be determined as a key field by influencing Web UI Behavior

               Web UI Component/View - ELMMAPOE/VSEditHeaderAndFields

               We can include logic in Event 'DONE' to read the individual field value header values and determine if the custom field is included in the uploaded data or not.

Logic

  lr_cuco_mapping ?= me->get_custom_controller( controller_id = 'ELMMAPOE/CUCOOverviewAndEdit' ).

   lr_col ?=   lr_cuco_mapping->typed_context->format->collection_wrapper.

CHECK lr_col IS BOUND.

lr_entity ?= lr_col->get_current().

CHECK lr_entity IS BOUND.

lr_col_fields ?= lr_entity->get_related_entities( iv_relation_name = 'ELMMAPFormatFieldRel' ).

CHECK lr_col_fields IS BOUND.

lr_bol ?= lr_col_fields->get_current().

WHILE lr_bol IS BOUND.

   lv_field = lr_bol->get_property_as_string( 'FIELD_NAME' ).

 

    < Implement Custom Business logic here >

   lr_bol ?=    lr_col_fields->get_next().

ENDWHILE.

By this way we can include Custom fields and associated custom behavior around ELM.