问题标签 [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.
memory - 从 ABAP 内存导入通用表?
我正在将动态创建的内部表导出到内存。
我想知道是否有可能以某种方式(从另一个程序)取回它,此外,虽然第一个程序至少知道我从中动态创建 itab 的表的名称,但第二个程序不知道.
这是导出我的 itab 的代码(有效 :P )。
我可以只使用带有表名的参数来取回数据吗?
我想要的是声明一个通用数据类型,并将数据放入其中,例如:
abap - 动态获取动态表的结构
我想动态获取动态表的结构。获取表格没问题,但我坚持获取表格的结构。
现在我想执行这个命令:
如果有任何其他解决方案,我会同意的。
abap - 将行添加到动态内部表
我想将动态表行添加到动态内部表中。
最后一行是问题所在。我收到此语法错误:
您不能对类型为“HASHED TABLE”或“ANY TABLE”的表使用显式或隐式索引操作。“<LT_TABLE>”的类型为“ANY TABLE”。可能在“<LT_TABLE>”之前未指定“TABLE”添加。
我应该如何在表格中添加一行?
xml - 确定类继承层次结构。如何?
我司离线提供ABAP系统分析服务。也就是说,系统的 ABAP 代码被提取出来并作为 XML 发送给我们。我们使用 Java 编写的工具来分析系统。就个人而言,我不是 ABAP 专家。
即将到来的一项任务是构建类继承图。当然可以基于 XML 做到这一点。但是由于 ABAP 提供了 RTTS/RTTI,为什么不使用它呢?我的想法是:
- 编写一个查询 RTTI 并提取完整类层次结构的 ABAP 程序
- 将结果作为 XML 发送并提供一个接口来访问该信息(不是这个问题的一部分)
现在我的问题是:第一点听起来像是一个好/可行的主意吗?是否有任何陷阱,例如性能瓶颈?
abap - TYPEKIND 和 TYPECATEGORY 的区别
谁能告诉我和之间的
CL_ABAP_TYPEDESCR=>kind
区别CL_ABAP_TYPEDESCR=>type_kind
。只是想知道它是否是一个结构。但是我必须使用哪一个?
abap - 创建动态ABAP内表
在选择屏幕上,用户需要插入一个表名,我需要从该表中获取前 3 个字段并将它们显示在 ALV 中以供输出。我从阅读教程中了解到我需要调用 method cl_alv_table_create=>create_dynamic_table
,但我不知道如何创建 fieldcatalog。
abap - RTTS 创建的带有 itab 的任何 ALV 细节?
我通过两个步骤创建内部表,都参考了 RTTS 技术。第一步将一个制表符分隔的文件加载并解析到一个表中。第二步通过 RTTI 读取该表,然后进行硬编码,在文件中的旧列前面添加一些其他列,最后再次添加旧字段,该表现在有大约 12 个新的硬编码列,在那些前面从文件中。RTTS 帮助创建最终表,然后将其作为数据源传递给 ALV 网格。
我之前的要求没有考虑到最终用户将永远需要 ALV-grid-toolbar-functions,但是,与往常一样,这已经改变了。我启用了工具栏功能,默认功能,没有任何自定义按钮。
因此,现在用户可以从显示中删除一些列或重新添加它们,她/他也可以更改它们的顺序。一切都很好,但我从未遇到过在运行时创建的表的这种情况。
是否有我需要注意的特殊罪魁祸首?
dynamic - 来自任意表的动态 SELECT
我的程序中有一个下拉列表,我在其中输入了不同表的名称。所以我使用了 IF 语句。基本上:
我有这样的选择:
替换表名的语法是什么?我知道替换语句仅适用于字符串,但有办法解决吗?
abap - 运行时类型服务 (RTTS) 是否使用数据库来获取数据描述?
问题
像describe_by_data
, get_ddic_field_list
, get_components
(ofcl_abap_typedescr
和类似的) 这样的方法是从数据库中检索数据还是在应用程序服务器上生成?
我查看了这些类,所有一些方法(可能是填充缓存)似乎以非标准方式(METHOD ... BY KERNEL MODULE ...
)提取数据,而其他方法则从缓存中提取数据。我想知道如果它没有被缓存,它是如何被拉出来的。
谷歌也没有给我任何关于这个话题的具体信息。
一些上下文,以防细节变得相关
我一直在研究为一些通用类实现动态选择子句生成(以替换 S/4HANA 中基于列的处理的星号,并希望减少对 DB 的压力)。
由于这些类中的大多数将数据检索到字典类型结构中,我想我可以使用运行时类型服务 (RTTS) 的类型描述来获取字段列表并根据目标结构动态生成 select 子句。
在大多数情况下,我可以通过实现静态变量(并且每个会话只处理一次)来解决性能损失(如果有的话),但是我遇到过类似的情况,静态变量不是一个选项(处理是在未知的情况下进行的) types),我不得不放弃这个想法,因为我不确定如果调用这些方法会如何影响峰值性能,假设每个会话 30 次。
编辑(只是一段代码,以避免进一步混淆,导致没有实质内容的居高临下的评论):
abap - 从动态分配的结构中创建
在一个方法中,我引用了一个声明如下的表:
如何创建基于 的结构?