点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在研究实现IF_RS...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在研究实现IF_RS...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我正在研究实现IF_RSPLFA_SRVTYPE_IMP_EXEC_REF(参考数据计划)的自定义计划功能类型。
实现类的EXECUTE方法具有I_TH_REF_DATA TYPE HASHED TABLE作为"导入"参数。 该表实际上包括我的参考数据。 该表的结构是在运行时根据聚合级别的结构动态定义的。 它包含构成聚合级别的所有特征和关键数据。
为避免对表进行全面扫描,我想使用某种"部分"键(仅包含有限的一组特征)遍历该表。 产品协助建议如下:
DATA spfli_tab类型哈希表 OF SPFLI 使用唯一键primary_key 成分carrid connid 使用非唯一排序键city_from_to 组件城市从城市到 使用非唯一排序键city_to_from 组件从城市到城市。 循环至spfli_tab分配使用密钥city_from_to。
但是。 不适用于我的任务,因为表I_TH_REF_DATA是在计划引擎内部定义的,我无法控制其结构(包括键)。
我事先知道聚合级别的结构,并且想使用一个包含0FISCPER,0CURRENCY,ZSCOPE和ZVERSION特性的键进行循环。 我需要类似的东西
在I_TH_REF_DATA分配处循环使用关键组件'0FISCPER''0CURRENCY''ZSCOPE''ZVERSION'
但是,似乎ABAP语法没有为此提供
。请告知,如何遍历动态哈希表以避免全表扫描?
谢谢
Val
嗨,Mateusz,谢谢您的输入。
让我进入更多细节以使情况更加清楚。
任何实现IF_RSPLFA_SRVTYPE_IMP_EXEC_REF接口的ABAP类都实现EXECUTE方法,该方法通常包含以下内容:
我了解我无法在I_TH_REF_DATA上定义任何新密钥。 因此,我需要将数据复制到另一个内部表,并根据需要为此新表定义键。可以用作此"新表"的示例。 但是,我无法在此表上定义任何内容,因为" CREATE DATA LIKE"构造仅创建源表(I_TH_REF_DATA)的"副本"。 而且,我只能使用字段符号来操纵该表。 尝试在代码中使用l_th_ref_data会导致错误" l_th_ref_data不是内部表"。
因此,使用RTTI创建新表并相应地定义其结构(包括键)似乎是不可避免的。 这样迈克尔的建议看起来很合理。 大概在我看来。
最诚挚的问候,
Val
一周热门 更多>