检索数据结构字段的名称

ben*_*sen 2 rpg rpgle ibm-midrange

我想检索数据结构的字段名称。那可能吗?我的计划是编写一个 toString() 过程来转储给定的数据结构。例如,我可以将 ds 的所有字段名称和值打印为 JSON。

Cha*_*les 7

虽然 RPG 并不像 C# 那样真正支持“反射”,但在过去几年中,IBM 添加了“开放访问”功能。

最初,开放访问使用文件 I/O 操作码。然后 IBM v7.2+ 添加了DATA-INTO操作码,用于解析为数据结构。在 2019 年秋季,对于 v7.3+,IBM 添加了用于从数据结构生成的 DATA-GEN操作码。

您可以自由编写自己的解析器或生成器。

然而,Scott Klement 在他和 David Russo 的原始开源 IBM i 端口“Yet Another JSON Library (YAJL)”中提供了一个解析器 (YAJLINTO) 和生成器 (YAJLDTAGEN) 。