*&---------------------------------------------------------------------*
*& Report ZBIIP_ACTIVATE_ALVL
*&---------------------------------------------------------------------*
REPORT ZBIIP_ACTIVATE_ALVL.
TYPE-POOLS: rs.
PARAMETER: g_iprov TYPE rsinfoprov,
g_objv TYPE rsobjvers DEFAULT 'M'.
DATA p_area TYPE RSINFOAREA .
TYPE-POOLS rsdg.
TYPES: ty_s_rsdcube LIKE rsdcube.
TYPES: ty_t_rsdcube TYPE ty_s_rsdcube OCCURS 0.
TABLES rsdcube.
DATA: objvers TYPE rsobjvers .
objvers = rs_c_objvers-modified .
DATA: g_s_rsdcube TYPE ty_s_rsdcube.
DATA: g_t_rsdcube TYPE ty_t_rsdcube.
DATA: g_infoarea TYPE rsd_infoarea.
DATA: g_r_mpro TYPE REF TO cl_rsd_mpro.
DATA: l_r_exception TYPE REF TO cx_rs_error.
DATA: l_actvt TYPE activ_auth.
DATA: l_enqueue TYPE rs_bool.
DATA: l_with_cto TYPE rs_bool.
DATA: l_success_pre TYPE rs_bool.
DATA: l_success_act TYPE rs_bool.
DATA: l_subrc LIKE sy-subrc.
DATA: l_cnt(4) TYPE n.
DATA: l_cnt_ok(4) TYPE n.
DATA: l_cnt_no(4) TYPE n.
DATA: l_text1(60) TYPE c.
DATA: l_text_out(132) TYPE c.
DATA: l_answer TYPE rs_answer.
DATA: l_not_all TYPE rs_bool.
DATA: l_time_from LIKE sy-uzeit.
DATA: l_time_to LIKE sy-uzeit.
DATA: l_extnumber LIKE balhdr-extnumber.
DATA: l_t_return TYPE STANDARD TABLE OF bapiret2,
l_s_return TYPE bapiret2,
l_t_alvl TYPE STANDARD TABLE OF rspls_alvl,
l_s_alvl TYPE rspls_alvl,
l_t_alvl_iobj TYPE STANDARD TABLE OF rspls_s_rfc_alvl_iobj.
PERFORM run.
PERFORM run2.
*&---------------------------------------------------------------------*
*& Form run
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM run.
SELECT * FROM rspls_alvl INTO TABLE l_t_alvl
WHERE infoprov = g_iprov
AND objvers = g_objv.
CHECK l_t_alvl IS NOT INITIAL.
LOOP AT l_t_alvl INTO l_s_alvl.
CALL FUNCTION 'RSPLS_ALVL_CHANGE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
i_tk_alvl_iobj = l_t_alvl_iobj
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_CHECK'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
i_objvers = rs_c_objvers-active
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_ACTIVATE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
ENDLOOP.
ENDFORM. "run
*&---------------------------------------------------------------------*
*& Form run2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM run2.
SELECT SINGLE INFOAREA INTO p_area FROM RSDCUBE
WHERE INFOCUBE = g_iprov .
SELECT * FROM rsdcube
INTO TABLE g_t_rsdcube
WHERE
* infocube IN so_mpro AND
objvers = objvers
AND infoarea LIKE p_area
AND cubetype = rsd_c_cubetype-multi_ic.
* warning popup
DESCRIBE TABLE g_t_rsdcube LINES l_cnt.
l_text1 = text-pt1.
REPLACE '&1' WITH l_cnt INTO l_text1.
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
EXPORTING
defaultoption = rs_c_yes
diagnosetext1 = l_text1
* DIAGNOSETEXT2 = ' '
* DIAGNOSETEXT3 = ' '
textline1 = text-pt2
* TEXTLINE2 = ' '
titel = text-ptt
* START_COLUMN = 25
* START_ROW = 6
cancel_display = rs_c_true
IMPORTING
answer = l_answer.
CHECK: l_answer = rs_c_yes.
l_success_pre = rs_c_true.
l_success_act = rs_c_true.
l_actvt = rssb_c_auth_actvt-maintain.
l_enqueue = rs_c_false.
l_with_cto = rs_c_false.
LOOP AT g_t_rsdcube INTO g_s_rsdcube.
* create instance of multiprovider
CALL METHOD cl_rsd_mpro=>factory
EXPORTING
i_infoprov = g_s_rsdcube-infocube
* I_REFNM =
* I_TXTLG =
* I_INFOAREA =
* I_BWAPPL =
RECEIVING
r_r_mpro = g_r_mpro
EXCEPTIONS
input_invalid = 1
cancelled = 2
OTHERS = 3.
CHECK: sy-subrc = 0.
* prepare multiprovider
TRY.
CALL METHOD g_r_mpro->prepare
EXPORTING
i_with_enqueue = l_enqueue
i_with_cto_check = l_with_cto
i_with_authority = rs_c_true
i_actvt = l_actvt.
CATCH cx_rs_display_only INTO l_r_exception.
l_cnt_no = l_cnt_no + 1.
l_success_pre = rs_c_false.
CONTINUE.
CATCH cx_rs_error INTO l_r_exception.
l_cnt_no = l_cnt_no + 1.
l_success_pre = rs_c_false.
CONTINUE.
ENDTRY.
* activate multiprovider
CALL METHOD g_r_mpro->activate
EXPORTING
i_objvers = objvers
* I_TH_TLOGO =
i_force_activation = rs_c_true
* I_SHOW_CHECK_PROTOCOL = RS_C_FALSE
i_with_cto = l_with_cto
IMPORTING
* E_T_TABLNM_CNV =
e_subrc = l_subrc.
IF l_subrc <> space.
l_success_act = rs_c_false.
l_cnt_no = l_cnt_no + 1.
ELSE.
l_cnt_ok = l_cnt_ok + 1.
ENDIF.
SELECT * FROM rspls_alvl INTO TABLE l_t_alvl
WHERE infoprov = g_s_rsdcube-infocube
AND objvers = g_objv.
CHECK l_t_alvl IS NOT INITIAL.
LOOP AT l_t_alvl INTO l_s_alvl.
CALL FUNCTION 'RSPLS_ALVL_CHANGE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
i_tk_alvl_iobj = l_t_alvl_iobj
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_CHECK'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
i_objvers = rs_c_objvers-active
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
CHECK l_subrc = 0.
CALL FUNCTION 'RSPLS_ALVL_ACTIVATE'
EXPORTING
i_aggrlevel = l_s_alvl-aggrlevel
IMPORTING
e_subrc = l_subrc
TABLES
e_tk_return = l_t_return.
ENDLOOP.
ENDLOOP.
ENDFORM. "run2
No comments:
Post a Comment