是否可以将AMDP类的IMPORT参数作为SQL APPLY_FILTER的第二个参数传递。

2020-09-13 12:27发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, ...

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

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


大家好,

我有一个AMDP类方法的Import参数,例如String类型的" iv_sel_opt"。

确实会有" CL_SHDB_SELTAB => combine_seltabs"中的值,因此它将转换报告屏幕的"选择选项"并将其转换为" SQL Where子句"。

现在无法在AMDP方法实现中将此" iv_sel_opt"用作" APPLY_FILTER"的第二个参数。

上面写着" SQLSCRIPT消息:参数不受支持的类型:APPLY_FILTER:第二个参数必须是标量变量&A0&A1&A2&A3&A4&A5&A6&A7&A8&A9"。

除了使用CDS表函数之外,还有其他方法可以实现吗?

非常有用的评论。

谢谢

四进

请找到我的代码:

 CLASS zcl_demo_consume_amdp_abap定义
   上市
   最后
   创建公众。


 公共部分。
   接口:if_amdp_marker_hdb。


   类型:
     ty_mara的开始,
         matnr TYPE C LENGTH 40,
         ernam TYPE C LENGTH 12,
     ty_mara的结尾,


     tt_mara ty_mara的类型标准表。
    
   类方法get_mara
     输入
         VALUE(iv_client)TYPE要求
         VALUE(iv_sel_opt)TYPE字符串
     出口
         VALUE(et_mara)类型tt_mara。
        
 受保护的部分。
 专用部分。
 ENDCLASS。


 类别zcl_demo_consume_amdp_abap实施。
   方法get_mara通过数据库过程
                   对于组屋
                   语言SQLSCRIPT
                   选项只读
                   使用玛拉。
     et_mara = apply_filter(mara,iv_sel_opt);  " <==这是错误
   终结法。
 ENDCLASS。
 

10条回答
大道至简
2020-09-13 12:44

嗨,

第二个错误与Apply过滤器无关,它表示Apply过滤器的返回表结构与给定的LHS表不匹配。

在这种情况下,et_mara和mara(应用过滤器内部)具有不同的结构。

请验证并纠正LHS和RHS中的结构相同,然后et_mara = apply_filter(mara,:iv_sel_opt); 应该可以。

-克里希纳(Krishna S)

一周热门 更多>

相关问答