云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

金山云_服务器时间不同步_年度促销

小七 141 0

金山云_服务器时间不同步_年度促销

Hello All,

Some opportunities will contain invalid Business Partners( like archived, marked for deletion, not released). If such business partners are added then system will throw error message saying " The BP is marked for deletion / archived / not released with the BP number".

Now in this blog i am going to show how to display first name and last name of the BP instead of the BP number in the error message.

This will involve 3 steps.

1. Delete the standard error messages.

2. Structure the custom message.

3. Display the custom error message.

You can use all the below code in do_prepare_output method of the opportunity view.

1.Delete the standard error messages.

DATA: lr_msg_cont    TYPE REF TO  if_genil_message_container,          lr_msg_service TYPE REF TO cl_bsp_wd_message_service.

DATA: lt_msg                TYPE crmt_genil_message_tab,               lv_partner            TYPE bu_partner,               ls_bp_detail         TYPE bapibus1006_central_person,               lv_chk_msg         TYPE boolean,               ls_msg               TYPE crmt_genil_message,               lt_msg_partner    TYPE crmt_genil_message_tab,               ls_msg_partner   TYPE crmt_genil_message,               lv_guid               TYPE crmt_genil_object_guid,  *****Initially delete the standard error messages raised for the invalid BPs      lr_msg_service = cl_bsp_wd_message_service=>get_instance( ).      lr_msg_cont =  er_entity->get_message_container( ).

*These are the standard error messages thrown by system when we add invalid BPs to sales team      ls_msg–id = ‘R11’.     ls_msg–number = ‘185’.     APPEND ls_msg TO lt_msg.

ls_msg–id = ‘COM_PARTNER’.     ls_msg–number = ‘156’.     APPEND ls_msg TO lt_msg.

ls_msg–id = ‘COM_PARTNER’.     ls_msg–number = ‘158’.     APPEND ls_msg TO lt_msg.

IF lr_msg_cont IS BOUND.       LOOP AT  lt_msg INTO ls_msg.         lr_msg_cont->delete_messages( iv_msg_id     = ls_msg–id                                                         iv_msg_number = ls_msg–number ).       ENDLOOP.     ENDIF."lr_msg_cont

lv_guid = er_entity->get_property_as_string( ‘GUID’ ) .

2. Structure the custom message.

*function module to read the invalid BPs from the opportunity and structuring the custom error message

CALL FUNCTION ‘ZCHECK_PARTNERS’       EXPORTING         iv_guid    =      lv_guid       IMPORTING         et_message = lt_msg_partner.

3. Display the custom error message.

IF lt_msg_partner IS NOT INITIAL.       LOOP AT lt_msg_partner INTO ls_msg_partner.         IF lr_msg_service IS BOUND.           lr_msg_service->add_message( iv_msg_type         = ls_msg_partner–type                                                          iv_msg_id            = ls_msg_partner–id                                                          iv_msg_number    = ls_msg_partner–number                                                          iv_msg_v1            = ls_msg_partner–var1                                                          iv_msg_v2            = ls_msg_partner–var2                                                          iv_msg_v3            = ls_msg_partner–var3                                                          iv_msg_v4            = ls_msg_partner–var4                                            ).         ENDIF."lr_msg_service       ENDLOOP.     ENDIF.

function module source code.

ZCHECK_PARTNERS

FUNCTION zcheck_partners. *"———————————————————————- *"*"Local Interface: *"  IMPORTING *"     REFERENCE(IV_GUID) TYPE  CRMT_OBJECT_GUID *"  EXPORTING *"     REFERENCE(ET_MESSAGE) TYPE  CRMT_GENIL_MESSAGE_TAB *"———————————————————————-

*****Data Declarations   DATA: lt_header_guid      TYPE crmt_object_guid_tab,             lt_partner              TYPE crmt_partner_external_wrkt,             ls_but000              TYPE but000,             lt_msg                  TYPE crmt_genil_message_tab,             ls_msg                 TYPE crmt_genil_message,             ls_partner_fct        TYPE CRMC_PARTNER_FT,             ls_partner             TYPE crmt_partner_external_wrk,             lt_partner_fct        TYPE STANDARD TABLE OF crmc_partner_ft,             lt_but000              TYPE STANDARD TABLE OF but000.

CHECK iv_guid IS NOT INITIAL.

APPEND iv_guid TO lt_header_guid.