gpt4 book ai didi

api - 如何从 RPG 程序创建新的文件成员?

转载 作者:行者123 更新时间:2023-12-01 11:00:55 26 4
gpt4 key购买 nike

我需要为我的 RPG 程序中的现有物理文件创建一个新成员。我知道有两种方法,但我必须说,我都不喜欢:

  1. 使用QCMDEXC调用ADDPFM
  2. 编写一个 CL 程序,调用 ADDPFM 并从 RPG 调用它

第一个涉及将必须由 QCMDEXC 解析的命令组合在一起,这听起来性能不佳(我知道,这里的扩展部分不是调用,而是创建成员)——但真正让我困扰的是,我觉得它并不简单,相反,很难理解,也不是很美观。

第二个使用编译程序,因此不涉及连接和解析。此外,它在您的 RPG 代码中看起来并不那么可怕,因为它只是一个正常的过程调用。但是我必须创建一个额外的外部程序,需要将其传输到将使用我的 RPG 程序的所有系统。这也与我的审美观念有些冲突,创建一个额外的源代码和二进制文件只是为了执行一次 api 调用。

有没有办法不用QCMDEXC直接调用api?或者也许是另一种为 PF 创建新成员的 RPGish 方式? Google 对我一点帮助都没有..

谢谢

最佳答案

无法从 RPG 中直接创建物理文件成员。

您列出的选项很好。另一个是 system() API。如果这是一个新的应用程序,尽量避免多个成员;他们不是 SQL 的 friend 。传统的多成员应用程序在调用 RPG 之前使用包装器 CL 来处理 ADDPFM 和 OVRDBF:

PGM &month
DCL &month *char 3
DCL &mbr *char 10
chgvar &mbr ('SALES' *cat &month)
addpfm sales &mbr
monmsg...
ovrdbf sales mbr(&mbr)
call RPG_PGM
endpgm

显然,对于更新版本的 RPG,我们可以在 F 规范中进行覆盖。但是仍然没有办法直接从 RPG 中操作文件成员。我倾向于为 system() 或 QCMDEXC 编写过程包装器并将其放入服务程序中,这样我就可以在我的 RPG 程序中进行操作系统级别的工作。如果您愿意,可以编写特定的 ADDPFM 过程并调用该“API”。

关于api - 如何从 RPG 程序创建新的文件成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10852388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com