SAP MDG: Assign Roles Automatically According to CR Type

Hi SCN Folks, 

Hope you guys are doing great 🙂

Note 01: This blog does not include execution screenshots.
Note 02: 
The entire code was developed and validated in the SANDBOX system, with results meeting expectations.
Note 03: 
There are several ways; this blog is written about one of them.

Create one custom class & redefine the standard class (CL_MDG_BS_ECC_HANDLER)

Method Responsible: IF_MDG_BS_BP_ACCESS_HANDLER~DERIVE_DATA

Code:

DATA : lv_crtype TYPE usmd_crequest_type,
lt_bp_role TYPE TABLE OF /mdgbp/_s_bp_pp_bp_role,
ls_bp_role TYPE /mdgbp/_s_bp_pp_bp_role.

CONSTANTS lc_crtype TYPE string VALUE ‘CRTYPE’.

DATA(obj_param) = cl_FPM_factory=>get_instance( )->mo_app_parameter.

CALL METHOD obj_param->get_value
EXPORTING
iv_key = lc_crtype
IMPORTING
ev_value = lv_crtype.

READ TABLE gt_bproot_task ASSIGNING FIELD-SYMBOL(<ls_bproot_task>) INDEX 1.

IF <ls_bproot_task> IS ASSIGNED.
ls_bp_role-bp_header = <ls_bproot_task>-bp_id.

CASE lv_crtype.
WHEN ‘ZMDGS01’.
ls_bp_role-bp_rol_id =’FLVN01′.
ls_bp_role-rol_vfrom = sy-datum.
ls_bp_role-rol_vto = ‘99991231’.
APPEND ls_bp_role TO lt_bp_role.
ls_bp_role-bp_rol_id =’FLVN00′.
ls_bp_role-rol_vfrom = sy-datum.
ls_bp_role-rol_vto = ‘99991231’.
APPEND ls_bp_role TO lt_bp_role.
WHEN ‘ZMDGS02’.
ls_bp_role-bp_rol_id =’FLVN01′.
ls_bp_role-rol_vfrom = sy-datum.
ls_bp_role-rol_vto = ‘99991231’.
APPEND ls_bp_role TO lt_bp_role.
ENDCASE.

ENDIF.

io_write_data->write_data(
i_entity = ‘BP_ROLE’
it_data = lt_bp_role ).

me->if_mdg_bs_bp_access_handler~buffer_derived_data(
io_model = io_model
iv_entity = ‘BP_ROLE’
it_data_ins = lt_bp_role
).
.

 

SAP S/4HANA   SAP Master Data Governance   ABAP Development  

Thank You, 
Sandeep Suggu.
SAP Community Profile | SAP Profile | LinkedIn   

 

​ Hi SCN Folks, Hope you guys are doing great 🙂Note 01: This blog does not include execution screenshots.Note 02: The entire code was developed and validated in the SANDBOX system, with results meeting expectations.Note 03: There are several ways; this blog is written about one of them.Create one custom class & redefine the standard class (CL_MDG_BS_ECC_HANDLER)Method Responsible: IF_MDG_BS_BP_ACCESS_HANDLER~DERIVE_DATACode: DATA : lv_crtype TYPE usmd_crequest_type,
lt_bp_role TYPE TABLE OF /mdgbp/_s_bp_pp_bp_role,
ls_bp_role TYPE /mdgbp/_s_bp_pp_bp_role.

CONSTANTS lc_crtype TYPE string VALUE ‘CRTYPE’.

DATA(obj_param) = cl_FPM_factory=>get_instance( )->mo_app_parameter.

CALL METHOD obj_param->get_value
EXPORTING
iv_key = lc_crtype
IMPORTING
ev_value = lv_crtype.

READ TABLE gt_bproot_task ASSIGNING FIELD-SYMBOL(<ls_bproot_task>) INDEX 1.

IF <ls_bproot_task> IS ASSIGNED.
ls_bp_role-bp_header = <ls_bproot_task>-bp_id.

CASE lv_crtype.
WHEN ‘ZMDGS01’.
ls_bp_role-bp_rol_id =’FLVN01′.
ls_bp_role-rol_vfrom = sy-datum.
ls_bp_role-rol_vto = ‘99991231’.
APPEND ls_bp_role TO lt_bp_role.
ls_bp_role-bp_rol_id =’FLVN00′.
ls_bp_role-rol_vfrom = sy-datum.
ls_bp_role-rol_vto = ‘99991231’.
APPEND ls_bp_role TO lt_bp_role.
WHEN ‘ZMDGS02’.
ls_bp_role-bp_rol_id =’FLVN01′.
ls_bp_role-rol_vfrom = sy-datum.
ls_bp_role-rol_vto = ‘99991231’.
APPEND ls_bp_role TO lt_bp_role.
ENDCASE.

ENDIF.

io_write_data->write_data(
i_entity = ‘BP_ROLE’
it_data = lt_bp_role ).

me->if_mdg_bs_bp_access_handler~buffer_derived_data(
io_model = io_model
iv_entity = ‘BP_ROLE’
it_data_ins = lt_bp_role
).
. SAP S/4HANA   SAP Master Data Governance   ABAP Development  Thank You, Sandeep Suggu.SAP Community Profile | SAP Profile | LinkedIn      Read More Technology Blog Posts by Members articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author