点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我尝试解决的问题:我有一...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我尝试解决的问题:我有一...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我尝试解决的问题:我有一个数据库表,例如 50列。出于性能原因,我想创建一个内部表,其中包含这些列的子集(n <50)。
数据负载巨大,我想减少计算时间(对ITab的操作) )和" RAM浪费",只需选择真正需要的列即可。
因此列数取决于用户交互(n可以在1到50之间)。
首先,我尝试使用了以下方法,这些方法不适用于所有表(SELECT问题会导致某些表出现Unicode异常):
cl_abap_typedescr => describe_by_name('tablename')< br> cl_alv_table_create => create_dynamic_table
第二次尝试时,我仅使用RTTI方法(这似乎是解决问题的一种非常聪明的方法):
ref_rowtype?= cl_abap_typedescr => describe_by_name('tablename')
ref_tabletype = cl_abap_tabledescr => create(p_line_type = ref_rowtype)
此解决方案效果很好,但我无法减少列(组件)的数量。
有人知道我如何解决"动态选择列"的问题吗,请:)?
亲切的问候,
Michael Kilger
如果您尝试从数据库表中删除未使用的组件,我建议以相反的方式进行操作:
1。 从数据库表名称中获取所有组件。
2。 取用户选择的列,然后在步骤1中检查是否存在。
3。 创建一个新的表类型,其中包含在步骤2中收集的组件的子集。
一周热门 更多>