1. Start transaction SE80.
2. Search for Web Dynpro Component FPM_LIST_UIBB
3. Locate and open the Component Configuration BS_BP_ADDRESS_EMAILS
4. Display the Configuration
5. Create new customizing: - New field is coming from the Genil structure. Use that to create a new column
6. Save your changes
T:Code – SM30
Redefine all the below method of the class.
METHOD if_mdg_bs_bp_access_handler~read_object_data.
DATA : lv_adrnr TYPE ad_addrnum,
lt_return TYPE TABLE OF bapiret2,
lt_adrt TYPE TABLE OF adrt.
CALL METHOD super->if_mdg_bs_bp_access_handler~read_object_data
EXPORTING
it_idlist = it_idlist
iv_read_all = iv_read_all.
* Read the Vendor Number
READ TABLE it_idlist ASSIGNING FIELD-SYMBOL(<ls_idlist>) INDEX 1.
CHECK sy-subrc EQ 0.
DATA(lv_bp) = <ls_idlist>-bpartner.
* Get the ADRT Data into the internal structures
READ TABLE gt_bp_data_db ASSIGNING FIELD-SYMBOL(<ls_data>)
WITH KEY partner-header-object_instance-bpartner = lv_bp
BINARY SEARCH.
IF <ls_data> IS ASSIGNED.
"Read the Address of the Business Partner
READ TABLE <ls_data>-partner-central_data-address-addresses ASSIGNING FIELD-SYMBOL(<fs_address>) INDEX 1.
CHECK sy-subrc = 0.
IF <fs_address>-data-communication-smtp-smtp IS NOT INITIAL. "Fetch the ADRT data only for the 1st Time.
* Read the ADRNR from the BP number
"ADRT Data should be fetched based on the ADRNR & CONSNO.
<fs_address>-data-zzsmtp_notes-CURRENT_STATE = abap_true.
DATA(lv_error) = abap_false.
CALL FUNCTION 'BAPI_BUPA_ADDRESSES_GET'
EXPORTING
businesspartner = lv_bp
IMPORTING
standardaddressnumber = lv_adrnr
TABLES
return = lt_return.
LOOP AT lt_return INTO DATA(ls_reutrn) WHERE type EQ 'E'.
lv_error = abap_true.
EXIT.
ENDLOOP.
CHECK lv_error EQ abap_false.
* Read the ADRT Data for this Address Number
SELECT * FROM adrt INTO TABLE lt_adrt WHERE addrnumber = lv_adrnr
AND persnumber EQ space.
IF sy-subrc EQ 0 AND lt_adrt IS NOT INITIAL.
" Fill the REMARKS structure of the SMTP Componenet of the Internal Strucutre
LOOP AT <fs_address>-data-communication-smtp-smtp ASSIGNING FIELD-SYMBOL(<fs_smtp>).
READ TABLE lt_adrt INTO DATA(ls_adrt) WITH KEY consnumber = <fs_smtp>-contact-data-consnumber.
IF sy-subrc = 0.
READ TABLE <fs_smtp>-REMARK-remarks ASSIGNING FIELD-SYMBOL(<fs_remark>) INDEX 1.
IF sy-subrc = 0.
<fs_remark>-data-langu = sy-langu.
<fs_remark>-data-langu_iso = 'EN'.
<fs_remark>-data-comm_notes = ls_adrt-remark.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDMETHOD.
METHOD if_mdg_bs_bp_access_handler~get_object_data_by_entity.
CALL METHOD super->if_mdg_bs_bp_access_handler~get_object_data_by_entity
EXPORTING
iv_entity = iv_entity
iv_partner = iv_partner
IMPORTING
er_data = er_data
ef_not_found = ef_not_found.
CASE iv_entity.
WHEN if_mdg_bp_constants=>gc_bp_model_entity-address_email. "AD_EMAIL entity
"search the requested business partner in the buffer
READ TABLE gt_bp_data_db ASSIGNING FIELD-SYMBOL(<ls_data>)
WITH KEY partner-header-object_instance-bpartner = iv_partner
BINARY SEARCH.
IF <ls_data> IS ASSIGNED.
GET REFERENCE OF <ls_data> INTO er_data.
ef_not_found = abap_false.
ELSE.
CLEAR er_data.
ef_not_found = abap_true.
ENDIF.
WHEN OTHERS.
RETURN.
ENDCASE.
ENDMETHOD.
METHOD if_mdg_bs_bp_access_handler~map_data_2sta.
DATA: lo_data TYPE REF TO data,
ls_smtp TYPE bus_ei_bupa_smtp.
FIELD-SYMBOLS: <fs_gt_bp_data> TYPE mdg_bs_bp_t_fnd_extern,
<fs_partner> TYPE bus_ei_extern,
<fs_remark> TYPE bus_ei_bupa_comrem,
<fs_address> TYPE bus_ei_bupa_address.
ASSIGN COMPONENT 'PARTNER' OF STRUCTURE is_data TO <fs_partner>.
CHECK <fs_partner> IS ASSIGNED.
READ TABLE <fs_partner>-central_data-address-addresses ASSIGNING <fs_address> INDEX 1.
IF sy-subrc = 0.
ENDIF.
CREATE DATA lo_data LIKE LINE OF ct_data.
ASSIGN lo_data->* TO FIELD-SYMBOL(<ft_data>).
CHECK <ft_data> IS ASSIGNED.
CASE iv_entity.
WHEN if_mdg_bp_constants=>gc_bp_model_entity-address_email. "AD_EMAIL entity
"search the requested business partner in the buffer
" Read the Data from IS_DATA and push them in CT_DATA.
LOOP AT ct_data ASSIGNING FIELD-SYMBOL(<fs_data>).
ASSIGN COMPONENT 'BP_HEADER' OF STRUCTURE <fs_data> TO FIELD-SYMBOL(<fs_bp>).
CHECK <fs_bp> IS ASSIGNED.
IF <fs_bp> IS NOT INITIAL.
ASSIGN COMPONENT 'AD_CONSNO' OF STRUCTURE <fs_data> TO FIELD-SYMBOL(<fs_consno>).
CHECK <fs_consno> IS ASSIGNED AND <fs_consno> IS NOT INITIAL.
READ TABLE <fs_address>-data-communication-smtp-smtp INTO ls_smtp WITH KEY contact-data-consnumber = <fs_consno>.
IF sy-subrc = 0.
ASSIGN COMPONENT 'ZZNOTE' OF STRUCTURE <fs_data> TO FIELD-SYMBOL(<fs_zznote>).
IF <fs_zznote> IS ASSIGNED.
READ TABLE ls_smtp-remark-remarks ASSIGNING <fs_remark> WITH KEY data-langu = sy-langu.
IF sy-subrc = 0 AND <fs_remark> IS ASSIGNED.
<fs_zznote> = <fs_remark>-data-comm_notes.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
WHEN OTHERS.
RETURN.
ENDCASE.
ENDMETHOD.
METHOD if_mdg_bs_bp_access_handler~prepare_ei_header_map_2api.
CALL METHOD super->if_mdg_bs_bp_access_handler~prepare_ei_header_map_2api
EXPORTING
iv_entity = iv_entity
iv_task = iv_task
is_data = is_data
IMPORTING
er_data_ext = er_data_ext
CHANGING
ct_data_ext = ct_data_ext.
ENDMETHOD.
METHOD if_mdg_bs_bp_access_handler~map_data_2api.
DATA : ls_notes_data TYPE bus_ei_bupa_comrem. " We are using Existing REMARKS structure which are already in API to store the chanegd data
FIELD-SYMBOLS: <fs_partner> TYPE bus_ei_extern,
<fv_consno> TYPE ad_consnum.
CASE iv_entity.
WHEN if_mdg_bp_constants=>gc_bp_model_entity-address_email. "AD_EMAIL entity
ASSIGN COMPONENT 'PARTNER' OF STRUCTURE cs_data_ext TO <fs_partner> .
CHECK <fs_partner> IS ASSIGNED.
READ TABLE <fs_partner>-central_data-address-addresses ASSIGNING FIELD-SYMBOL(<fs_address>) INDEX 1.
CHECK sy-subrc = 0.
" Get the CONS NO from the IS_DATA
ASSIGN COMPONENT 'AD_CONSNO' OF STRUCTURE is_data TO <fv_consno>.
CHECK <fv_consno> IS ASSIGNED AND <fv_consno> IS NOT INITIAL.
" Get the ZZNOTES from the IS_DATA
ASSIGN COMPONENT 'ZZNOTE' OF STRUCTURE is_data TO FIELD-SYMBOL(<fv_note>).
CHECK <fv_note> IS ASSIGNED AND <fv_note> IS NOT INITIAL.
" Read the SMTP line based on the CONSNO.
READ TABLE <fs_address>-data-communication-smtp-smtp ASSIGNING FIELD-SYMBOL(<fs_smtp>)
WITH KEY contact-data-consnumber = <fv_consno>.
IF sy-subrc = 0.
* Task
ls_notes_data-task = iv_task.
* Data
ls_notes_data-data-langu = sy-langu.
ls_notes_data-data-langu_iso = 'EN'.
ls_notes_data-data-comm_notes = <fv_note>.
* Append the Data
APPEND ls_notes_data TO <fs_smtp>-remark-remarks.
ENDIF.
cv_xchange = abap_true.
WHEN OTHERS.
ENDCASE.
ENDMETHOD.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
12 | |
7 | |
7 | |
6 | |
6 | |
6 | |
6 | |
5 | |
4 |