1: 代码比较的关键报表:
RSVRSREM REMOTE 比较的接口
RSVRSFU3 版本比较:功能模块(源)
代码比较的关键函数:SVRS_GET_REPS_FROM_OBJECT
Call function: SVRS_GET_REPS_FROM_OBJECT
2: 请求释放主函数:TRINT_TDR_USER_COMMAND
TR_RELEASE_REQUEST
TRINT_RELEASE_REQUEST
TRINT_RELEASE_WITHOUT_TRANSP
请求释放主函数检查:TRINT_RELEASE_WITHOUT_TRANSP
请求释放增强:
PERFORM user_exit_before_release USING iv_dialog
CHANGING es_request.
3: Badi: CTS_REQUEST_CHECK
例子:
METHOD if_ex_cts_request_check~check_before_release.
DATA: ls_tr_objects TYPE e071.
DATA: lt_code TYPE TABLE OF abaptxt255,
objtype TYPE vrsd-objtype,
objname TYPE vrsd-objname.
DATA: errmsg(255).
CHECK sy-uname = '14072598'.
LOOP AT objects INTO ls_tr_objects.
CHECK ls_tr_objects-object = 'FUNC' OR ls_tr_objects-object = 'REPS'.
MOVE ls_tr_objects-object TO objtype.
MOVE ls_tr_objects-obj_name TO objname.
“代码检查逻辑
ENDLOOP.
IF errmsg IS NOT INITIAL.
RAISE cancel.
ENDIF.
ENDMETHOD.
SCI检查:
METHOD if_ex_cts_request_check~check_before_release.
DATA: lf_e070 TYPE e070.
*******当标记打开时才进行检查
SELECT SINGLE * INTO lf_e070 FROM e070 WHERE trkorr = request.
IF lf_e070-strkorr IS NOT INITIAL.
CALL METHOD sci_check
EXPORTING
request = request
objects = objects
EXCEPTIONS
cancel = 1
OTHERS = 2.
IF sy-subrc <> 0.
RAISE cancel.
ENDIF.
ENDIF.
ENDMETHOD.