【发布时间】:2012-09-05 06:07:35
【问题描述】:
我目前正在开发 3 个程序。程序 A 是一个 CL,它将用 SHARE(*YES) 覆盖物理文件 ECIFCTP 并调用 RPG 程序 B 来处理它。处理后程序B会调用程序C,另外一个CL在这个物理文件上打开查询文件,过滤掉记录。当我实际运行程序时,程序 C 中的 OPNQRYF 语句将导致错误消息 CPF417A“处理空字段对打开成员 ECIFCTP 无效”。为什么会这样?如何避免?
【问题讨论】:
-
附注:OPNQRYF 是一种不再受到鼓励的旧技术。 IBM 并未将其包括在性能或功能增强中。虽然在某些环境中将其保留在遗留程序中可能是可以接受的,但通常不建议创建它的任何新用法。较新的 SQE 查询优化器不支持 OPNQRYF。您可能会认为 OPNQRYF 本质上已被弃用,取而代之的是 SQL。
-
如果你决定走那条路,IBM 在Converting from OPNQRYF to SQL 上有一篇论文
标签: ibm-midrange