Expert Routine Template Class

最近写了比较多的复杂逻辑转换,大部分用了expert routine。写个模板,以便在后期项目有可能使用。

"!

>Expert routine模板类</p> CLASS zszc_expert_routine DEFINITION PUBLIC CREATE PUBLIC. PUBLIC SECTION. "!

>结果表计数器</p> DATA gv_record TYPE /bi0/oirecord. "!

>Request</p> DATA gv_reqtsn TYPE rspm_request_tsn. "!

>Data Package</p> DATA gv_datapakid TYPE /bi0/oidatapakid. "!

>DTP Log</p> DATA gv_log TYPE REF TO cl_rsbm_log_cursor_step. "!

>DTP request instance</p> DATA gr_request TYPE REF TO if_rsbk_request_admintab_view. METHODS constructor IMPORTING !request TYPE rsrequest datapackid TYPE rsdatapid req_obj TYPE REF TO if_rsbk_request_admintab_view OPTIONAL !log TYPE REF TO cl_rsbm_log_cursor_step OPTIONAL. "!

>记录错误Message</p> METHODS record_log IMPORTING msg TYPE rspc_s_msg. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS zszc_expert_routine IMPLEMENTATION. METHOD constructor. gv_reqtsn = request. gv_datapakid = datapackid. gv_log = log. gr_request = req_obj. ENDMETHOD. METHOD record_log. DATA lt_monitor TYPE rspc_t_msg. IF msg IS INITIAL. RETURN. ENDIF. APPEND msg TO lt_monitor. " 调用标准log方法 gv_log->add_t_msg( i_t_msg = lt_monitor ). ENDMETHOD. ENDCLASS.

你可能感兴趣的:(ABAP,BW,开发语言)