You are on page 1of 11

Note 2699388

Note:

a. All the enhancement mentioned in this document should be created in Customer Namespace and should
be saved in a Custom Package
b. It is recommended to create Z-object with same name as shown in screen shots.
c. Customers having Software Component - UIDP 100 installed and SP level less than SP01 kindly
implement the SAP Note #3042504 before applying below manual changes.
d. Customers having Software Component – UISM 100 installed with SP level less than SP08 then kindly
implement the SAP Note# 3196296 before applying below manual changes.
e. Customers having Software Component – UIDP 100 installed with SP level less than SP03 then kindly
implement the SAP Note# 3208758 before applying below manual changes.

1. Enhancement of method GET_MODEL in class /IWBEP/CL_MGW_MED_PROVIDER


In Transaction SE24, open method GET_MODEL of class /IWBEP/CL_MGW_MED_PROVIDER and
create implicit enhancement at the end of the method.

Enhancement Name ZENH_UISM_MGW_MED_PROVIDER


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------


IF /uism/cl_flag_utilities=>is_active(
/uism/cl_flag_utilities=>gc_global_flag ) = abap_true.
IF sy-tcode NE '/IWBEP/SB' AND sy-cprog NE
'/IWBEP/R_SBUI_SERVICE_BUILDER'.
/uimgw/cl_b_dispatcher=>get_model(
EXPORTING
iv_service_name = iv_internal_service_name " Service Name
CHANGING
cr_model = lo_model " implementation of odata meta data model
).
ENDIF.
ENDIF.

ro_model = lo_model.
"--------------End of masking hook for Gateway--------------

Screenshot:
2. Enhancements in class /IWBEP/CL_MGW_ABS_DATA
2.1 Enhancement of method /IWBEP/IF_MGW_CORE_SRV_RUNTIME~READ_ENTITY in class
/IWBEP/CL_MGW_ABS_DATA

Create implicit enhancement at the end of method


/IWBEP/IF_MGW_CORE_SRV_RUNTIME~READ_ENTITY of the class /IWBEP/CL_MGW_ABS_DATA.

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------

*-- Execute Masking/Data Blocking


IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) =
abap_true.
/uimgw/cl_b_dispatcher=>read_entity(
EXPORTING
iv_service_name = is_request_details-service_doc_name
iv_entity = iv_entity_name
ir_expand_node = lo_expand_root
ir_model = lo_model
CHANGING
cr_entity = cr_entity ).

ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:
2.2 Enhancement of method /IWBEP/IF_MGW_CORE_SRV_RUNTIME~READ_ENTITYSET in
class /IWBEP/CL_MGW_ABS_DATA

Create implicit enhancement at the end of method


/IWBEP/IF_MGW_CORE_SRV_RUNTIME~READ_ENTITYSET of class /IWBEP/CL_MGW_ABS_DATA

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------

IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) =
abap_true.
/uimgw/cl_b_dispatcher=>read_entityset(
EXPORTING
iv_service_name = is_request_details-service_doc_name
iv_entity = iv_entity_name
ir_expand_node = lo_expand_root
ir_model = lo_model
CHANGING
cr_entityset = cr_entityset
).
ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:
2.3 Changes for Update Scenarios

2.3.1 Removal of obsolete update entity methods

Note: This step is applicable for existing customers only having Software component UISM
100 installed.

Download note-2897628 and follow the steps mentioned for removal of obsolete Update
entity manual changes.

2.3.2 Create implicit enhancement at beginning of method


/IWBEP/IF_MGW_CORE_SRV_RUNTIME~UPDATE_ENTITY in class /IWBEP/CL_MGW_ABS_DATA

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------

IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) =
abap_true.
/uimgw/cl_b_dispatcher=>update_entity_v3(
EXPORTING
is_request_details = is_request_details
ir_abs_data = me
ir_data_provider = io_data_provider
ir_model = me->get_model( )
).
ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:
2.3.3 Creation of new method SET_DATA_FROM_UIM in class /IWBEP/CL_MGW_ENTRY_RAW_PRV

Enhance the class-/IWBEP/CL_MGW_ENTRY_RAW_PRV and create new method with below


details:

Method Name Level Visibility


SET_DATA_FROM_UIM Instance Method Public

Create a parameter in above newly created method with following details:

Parameter Name Type Associated Type


IV_RAW_DATA Importing XSTRING

Insert the following lines of code in newly created method SET_DATA_FROM_UIM

mv_raw_data = iv_raw_data.
3. Enhancement of method POST_PROCESS_READ_ENTITY in class /IWBEP/CL_MGW_ABS_DATA

Note: Kindly ignore this step if -


1. Software Component - UISM 100 installed with SP level SP06 or higher.
2. Software Component - UIDP 100 installed with SP level SP02 or higher.

Create implicit enhancement at the beginning of method POST_PROCESS_READ_ENTITY of class


/IWBEP/CL_MGW_ABS_DATA

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------


IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) = abap_true.
/uimgw/cl_b_dispatcher=>set_source_entity( ir_source_entity = cr_entity ).
ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:
4. Enhancement of method POST_PROCESS_READ_ENTITYSET in class /IWBEP/CL_MGW_ABS_DATA

Note: Kindly ignore this step if -


1. Software Component - UISM 100 installed with SP level SP06 or higher.
2. Software Component - UIDP 100 installed with SP level SP02 or higher.

Create implicit enhancement at the beginning of method POST_PROCESS_READ_ENTITYSET of class


/IWBEP/CL_MGW_ABS_DATA

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------


IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) = abap_true.
/uimgw/cl_b_dispatcher=>set_source_entityset( ir_source_entityset = cr_entityset ).
ENDIF.
"--------------End of masking hook for Gateway--------------
Screenshot:
5. Enhancement of method INIT_REQUEST in class /IWBEP/CL_MGW_LOCAL_HANDLER

Create implicit enhancemnt at the end of method INIT_REQUEST of class /IWBEP/CL_MGW_LOCAL_HANDLER

Enhancement Name ZENH_UISM_MGW_LOCAL_HANDLER


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------


*-- Remove UIM_INFO from Select Parameters for $select scenarios
*-- Note: Global Flag is not checked here.
IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) = abap_true.
CALL METHOD /uimgw/cl_b_dispatcher=>init_request
EXPORTING
ir_runtime = mo_mgw_runtime
CHANGING
cs_request_context = cs_request_context. " Request Context
ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:
6. Enhancement of method SERIALIZE_WITH_TRANSFORMATION in class /IWBEP/CL_MGW_ABS_DATA

Note:

1. Customers having UISM 100 installed and SP level Less than SP05, kindly implement the
SAP Note# 3007342 before applying below manual changes.
2. Customers having UIDP 100 installed and SP level less than SP01 kindly make sure the SAP
Note #3042504 is installed before applying below manual changes.

Create implicit enhancemnt at the start of method SERIALIZE_WITH_TRANSFORMATION of class


/IWBEP/CL_MGW_ABS_DATA

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------


IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) = abap_true.
/uimgw/cl_b_dispatcher=>read_entityset(
EXPORTING
iv_service_name = is_request_details-service_doc_name
iv_entity = conv #( is_request_details-technical_request-target_entity_type )
ir_expand_node = io_expand_root
ir_model = io_model
CHANGING
cr_entityset = cr_entityset
).
ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:
7. Enhancement of method /IWBEP/IF_MGW_CORE_SRV_RUNTIME~EXEC_SERVICE_OPERATION in class
/IWBEP/CL_MGW_ABS_DATA

Create implicit enhancemnt at the end of method


/IWBEP/IF_MGW_CORE_SRV_RUNTIME~EXEC_SERVICE_OPERATION of class /IWBEP/CL_MGW_ABS_DATA

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:

"--------------Start of masking hook for Gateway--------------


IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) = abap_true.
/uimgw/cl_b_dispatcher=>exec_service_operation(
EXPORTING
is_request_details = is_request_details
io_expand_node = lo_expand_root
iv_multiplicity = lv_multiplicity
io_model = lo_model
CHANGING
cr_data = cr_data
).
ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:
8. Enhancement of method /IWBEP/IF_MGW_CORE_SRV_RUNTIME~CREATE_ENTITY in class
/IWBEP/CL_MGW_ABS_DATA

Create implicit enhancemnt at the end of method /IWBEP/IF_MGW_CORE_SRV_RUNTIME~CREATE_ENTITY


of class /IWBEP/CL_MGW_ABS_DATA

Enhancement Name ZENH_UISM_MGW_ABS_DATA


Description Enhancement for UI data protection masking

Insert the following lines of code inside implicit enhancement:


"--------------Start of masking hook for Gateway--------------
IF /uism/cl_flag_utilities=>is_active( /uism/cl_flag_utilities=>gc_global_flag ) = abap_true.
/uimgw/cl_b_dispatcher=>read_entity(
EXPORTING
iv_service_name = is_request_details-service_doc_name
iv_entity = iv_entity_name
ir_expand_node = lo_entity_descriptor
ir_model = lo_model
CHANGING
cr_entity = cr_entity ).
ENDIF.
"--------------End of masking hook for Gateway--------------

Screenshot:

Note: After the implementation of above manual changes, clear your both backend & frontend system
cache by executing the following t-code:
a) /n/IWFND/CACHE_CLEANUP (with option – ‘Cleanup Cache for all Models’)
b) /n/IWBEP/CACHE_CLEANUP (with option – ‘Cleanup Cache for all Models’)

You might also like