澄清了AMDP类中的计划功能类型

2020-09-01 13:55发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好, 我已经为我的自定义计划...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,

我已经为我的自定义计划功能要求之一创建了AMDP类。 需要进一步澄清。

1。 我通过实现接口IF_AMDP_MARKER_HDB,IF_RSPLFA_SRVTYPE_IMP_EXEC和IF_RSPLFA_SRVTYPE_TREX_EXEC创建了类。 现在我的问题是:

1。 是否必须实现这些接口的所有方法。 如果是,则需要在这些方法中编写什么代码。

2。 IF_RSPLFA_SRVTYPE_IMP_EXEC和IF_RSPLFA_SRVTYPE_TREX_EXEC接口有什么区别?

在上述2个接口的execute方法中编写脚本过程有什么区别?

3。 我想进一步了解上述接口及其方法和执行周期。

请帮助。

此致

Shreyanssh。

3条回答
compass1988
2020-09-01 14:22

嗨,格雷戈尔,

谢谢您的回复,我已经在上面的链接中关注了一个文档。

1。 我已经创建了类,自定义计划功能类型,计划功能和计划顺序。

 class ZCL_CPY_PFTY_01定义
   上市
   最后
   创造公众。
 公共部分。


 接口IF_AMDP_MARKER_HDB。
 接口IF_RSPLFA_SRVTYPE_IMP_EXEC。
 接口IF_RSPLFA_SRVTYPE_TREX_EXEC。


 类型:TY_AQPL的开始,
         CALMONTH2 TYPE CHAR2,
         CALYEAR类型CHAR4,
         Z_PROD TYPE CHAR20,
         ZRC_AMT TYPE INTEGER,
         ZRC_QTY TYPE INTEGER,
         TY_AQPL结束。
  TYPES:TY_AQPL的TT_AQPL TYPE STANDARD表。
 类别方法MY_HANA_PROCEDURE
               导入值(LT_AGG)TYPE TT_AQPL
               导出值(LT_AG1)类型TT_AQPL。
 受保护的部分。
 私人部分。
 ENDCLASS。


 ZCL_CPY_PFTY_01类实施。


 方法IF_RSPLFA_SRVTYPE_IMP_EXEC〜init_execution。
 出口。
 方法。


 方法IF_RSPLFA_SRVTYPE_IMP_EXEC〜完成_执行。
 出口。
 终结法。


 方法IF_RSPLFA_SRVTYPE_IMP_EXEC〜EXECUTE。
 出口。
 方法。


 方法if_rsplfa_srvtype_trex_exec〜init_and_check。


 " e_trex_supported = rs_c_true。
 出口。


 终结法。


 方法IF_RSPLFA_SRVTYPE_TREX_EXEC〜trex_execute。


     数据:l_r_sql_script类型参考if_rspls_sql_script,
           l_procedure_name TYPE字符串,
           l_t_iobj_param类型if_rsr_pe_adapter => tn_t_iobj_param。
     l_r_sql_script = cl_rspls_session_store_manager => get_sql_script_instance(i_r_store = i_r_store)。
         l_r_sql_script-> get_parameter_values(
       出口
         i_r_param_set = i_r_param_set
         i_para_name_for_procedure ='HANA_PROCEDURE_NAME'
       输入
         e_procedure_name = l_procedure_name
         e_t_iobj_param = l_t_iobj_param)。
             l_procedure_name ='ZCL_CPY_PFTY_01 => MY_HANA_PROCEDURE'。
     r_s_view-view = l_r_sql_script-> execute_sql_script(
         i_view = i_view
         i_t_iobj_param = l_t_iobj_param
         i_proc_name = l_procedure_name
 * i_sql_script_returns_ai = abap_true
         i_r_msg = i_r_msg)。


 终结法。


 方法MY_HANA_PROCEDURE通过DATABASE过程用于hdb语言SQLSCRIPT。


 LT_AG1 = SELECT CALMONTH2,
                 CALYEAR的" 2020",
                 Z_PROD
                 ZRC_AMT,
                 ZRC_QTY
                 来自:LT_AGG;
  终结法。


 ENDCLASS。
 

。 在执行计划序列时,我得到以下转储。

dump1.jpg

我做了以下分析。

1。 在IF_RSPLFA_SRVTYPE_TREX_EXEC接口的init_and_check方法中注释e_trex_supported = rs_c_true语句时。 执行是在应用程序层中进行的,并且由于IF_RSPLFA_SRVTYPE_IMP_EXEC的execute方法为空,因此我得到0条记录输出。

output1.jpg

一周热门 更多>