cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Hybris Marketing on-Premise 1709SP01 - The BAdIs method IMP_IA_IC_UPDATE_IC_ROOT

arvinth
Explorer
0 Likes
418

Dear Experts,

During new contact person creation I want to check whether this person already exist in the system if exist I don't want to create new contact and want to create additional Facet for existing contact.

e.g Exiting contact : Name = ABC; Address = Street 1, 6789 Berlin, Germany; ID_ORIGIN = C4C; ID = 12345

While creating new contact I want to check ID = 12345 existing in the system if existing create additional facet

Address = Old Street 32, 9898 Muncih, Germany; ID_ORIGIN = S4; ID = 12345

I am trying to achieve this via BAdIs method IMP_IA_IC_UPDATE_IC_ROOT but I could not find any standard function module.

Do you have any idea how to achieve my requirement?

Many Thanks.

Kind Regards,

Arvinth

Accepted Solutions (1)

Accepted Solutions (1)

hakan_kose
Contributor
0 Likes

Hi arvinth ,

You can implement the BAdI CUAN_CE_IC_UPDATE_SP7 and method IMP_IC_SPECIAL_HANDLING of Enhancement Spot CUAN_INTERACTION_CONTACT to add additional facets to interaction contacts.

Below you can find even a sample code.

Regards,

Hakan Köse

  METHOD if_cuan_ce_ic_update_sp7~imp_ic_special_handling.

    DATA: lv_s4_id TYPE cuan_customerid_ext.

    CALL METHOD super->if_cuan_ce_ic_update_sp7~imp_ic_special_handling
      EXPORTING
        is_ic_imp    = is_ic_imp
        iv_ic_type   = iv_ic_type
      IMPORTING
        et_ic_add_id = et_ic_add_id
        es_ic_imp    = es_ic_imp.

*   Insert S/4 HANA business partner number as additional facet

    IF is_ic_imp-zz1_s4id_enh IS NOT INITIAL.
      CLEAR lv_s4_id.
      lv_s4_id = is_ic_imp-zz1_s4id_enh.
      lv_s4_id = |{ lv_s4_id ALPHA = IN }|.
      APPEND VALUE #( id_origin = zcust_id_origin-s4_bupa
                      id        = lv_s4_id ) TO et_ic_add_id.
    ENDIF.
  ENDMETHOD.

Answers (4)

Answers (4)

arvinth
Explorer
0 Likes

Dear Hakan Köse,

Many Thanks for the reply. It helps me lot to achieve my requirement.

Kind Regards,

Arvinth

arvinth
Explorer
0 Likes

Dear Maris,

Thanks for the reply. I want to create different facet for one contact. for example Contact : ABB

Id_origin : C4C ; ID = 12345; Address: Address_1

Id_origin; S4; ID = 12345; Address: Address_2

I don't want to create duplicate contact and want to create 2 facets.

Kind Regards,

Arvinth

SauMaris
Contributor
0 Likes

Isn't it what standard is doing?

In your case, does system create a second contact with the same C4C origin and ID = 12345? Check customizing Contacts and Profiles > Interaction Contacts > Define Origins of Contact ID. Your C4C origin should have "Sharable" = false (without a check-box).

Maris

arvinth
Explorer
0 Likes

Dear Experts,

Please can you help me with your experience .

Thanks.

Kind Regards,

Arvinth