问题标签 [rtts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oop - 使用 RTTS 从内部表中为字段创建范围
我想创建一个接受 2 个参数的函数/自定义类方法:
1) IM_ITAB 类型 ANY TABLE
2) IM_COMPONENT 类型字符串
并返回 1 个参数:
1) EX_RANGE 类型 PIQ_SELOPT_T
所以,算法是这样的:
- 首先,我们检查具有组件名称的列是否存在
- 然后,我们检查内部表是否为空。
- 然后,我们循环遍历内部表分配组件和填充范围表。代码如下。
但我想进一步改进该方法。如果导入的内部表有 255 列,那么遍历该表将需要更长的时间。但我只需要一列来组成范围。
所以我想获取内部表的组件,然后只选择一个组件,创建一个只包含该组件的新线型,然后创建具有该线型的内部表并复制。
这是与我想要实现的目标相对应的伪代码:
如何“剪掉”一个组件并使用 RTTS 创建新的线型?
dynamic - CX_SY_STRUCT_COMP_NAME=>illegal_char_in_name 在使用 RTTS 创建类型时
我正在尝试使用 RTTS 类构建动态类型。我已经构建了一个包含列名的组件表'COL_1'
,'COL_2'
等等......CL_ABAP_STRUCTDESCR=>CREATE( )
在第 73 行的标准方法中类型创建失败:
的验尸comp-name
值为COL_1
。如您所见,这些字符是有效的。我不明白这里的 IF 条件如何为真。
在以完全相同的方式调用此方法之前,我已经在我自己的模块中测试了列名的有效性,并且 IF 条件在那里返回 FALSE。
重现此错误的最少代码:
abap - 获取 itab 的表结构失败
我目前正在做一个项目,将数据提取到几个 itabs 中,并将它们全部保存到我本地电脑上的一个 excel 文件中。
为了将我的数据移动到 excel 文件中,我必须遍历似乎可以使用cl_abap_structdescr=>describe_by_data
andcl_abap_tabledescr=>create
函数归档的表格字段。在我阅读的原始文章中,作者将它们与 ABAP 字典表一起使用,我的目标是将其与任意内部表一起使用。
我在测试报告中尝试过,并使用 T005 进行测试:
两者都describe_by_name()
不起作用describe_by_data()
,按名称描述会导致“NOT_FOUND”异常。因为它不是 ABAP 字典表,所以这对我来说很有意义。用数据描述会CX_SY_MOVE_CAST_ERROR
告诉我源类型\CLASS=CL_ABAP_TABLEDESC
不能转换为"\CLASS=CL_ABAP_STRUCTDESC
.
提前致谢
abap - 使用 TABLE-FIELD 声明变量时如何找出变量的类型
是否可以从变量中找出 TABLE-FIELD 短语?在下面的示例中,如何从字符串中获取jkak-vbeln
类型?dref
我尝试了一些 RTTI,但没有发现任何有用的东西。