kra*_*nko 3 api rpgle ibm-midrange
我需要为我的RPG程序中的现有物理文件创建一个新成员。我知道两种方式,我必须说,我都不喜欢:
QCMDEXC拨打电话ADDPFMADDPFM从RPG 调用并调用第一个涉及将必须解析的命令组合在一起,QCMDEXC这对执行者来说听起来并不合理(我知道,这里的扩展部分不是调用,而是成员的创建)-但是真正困扰我的是它不是我觉得很简单,但是相反,它很难遵循并且不是很美观。
第二个程序使用编译的程序,因此不涉及任何摘要和解析。同样,它在您的RPG代码中看起来并不可怕,因为它只是一个正常的过程调用。但是我必须创建一个额外的外部程序,该程序必须转移到将使用我的RPG程序的所有系统上。这也与我的审美意识产生了冲突,创建了一个额外的源代码和二进制文件,仅用于一个API调用。
有没有一种方法可以直接调用api,而无需调用QCMDEXC?或者是创建PF新成员的另一种RPGish方法?Google根本对我没有帮助。
谢谢
无法从RPG内部直接创建物理文件成员。
您列出的选项很好。另一个是system()API。如果这是一个新应用,请尝试避免多个成员;他们不是SQL的朋友。传统的多成员应用程序在调用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
Run Code Online (Sandbox Code Playgroud)
显然,使用最新版本的RPG,我们可以在F规范中进行替代。但是仍然没有办法直接从RPG内部操纵文件成员。我倾向于为system()或QCMDEXC编写过程包装,并将其放在服务程序中,以便可以在我的RPG程序中进行OS级的工作。如果愿意,编写一个特定的ADDPFM过程并调用该“ API”。
| 归档时间: |
|
| 查看次数: |
2680 次 |
| 最近记录: |