- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要为我的 RPG 程序中的现有物理文件创建一个新成员。我知道有两种方法,但我必须说,我都不喜欢:
QCMDEXC
调用ADDPFM
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/
我是一名优秀的程序员,十分优秀!