“成员类型 RPGLE 不允许运行过程选项”是什么意思?
2 回答
“成员类型不允许运行过程选项
RPGLE
”是什么意思?
显然,这是错误消息标识符 PDM0365,第一级文本“成员类型 &1 不允许运行过程选项”。来自 QPDA 库中的消息文件 (MSGF) QUOMSGF。在第二级文本中 [在 F1=Help 后可见,光标位于该消息 ID 上,或在该消息 ID 和消息文件的显示消息描述 (DSPMSGD) 中] 是什么原因以及错误情况的恢复是进一步解释;即在此站点上请求的帮助,可能可以通过要求系统提供帮助来解决:
Cause . . . . . : You cannot run a procedure with this type.
Recovery . . . : The following member types can be run as procedures: REXX,
OCL36, BASP, BASP38.
如果替换变量 &1 的替换文本为RPGLE
,则表明 option-16="Run Procedure" 是针对“使用 PDM 处理成员”(WRKMBRPDM) 功能中列出的成员发出的,并且该成员的TYPE是RPGLE ,而不是恢复文本中列出的支持的成员类型之一。
此外,如果在标题Opt [选项的美国英语缩写] 下按 F1=Help [而不是] 在键入选项 16 的位置,将显示以下帮助文本,解释可以指定的选项是什么以及什么每个系统提供的数字选项将影响:
Help Options - Help
16=Run procedure
Type 16 to run a source member with a member type of REXX,
OCL36, BASP, or BASP38. If you try to run a member with a type
that cannot be run, you receive an error message. To run an
OCL36 procedure, the file name must be QS36PRC. You can have
the member run in batch mode or interactively depending on what
you specified in the Run in batch prompt on the Change Defaults
display.
因此,如果Run选项不是针对 type=RPGLE 成员执行的合格任务,则可能查看其他选项以了解它们可能提供的内容。这里有两个,一个通过在选项帮助文本中具体提到对 type-RPGLE 的支持而引人注目,另一个更微妙的是仅暗示反映ILE源类型的类型[[...]
表示从该帮助中截取的内容]:
[...]
14=Compile
Type 14 to compile one or more members. The system creates an
object based on the member being compiled. The member is
compiled interactively or in batch mode, depending on what you
have specified on the Change Defaults display.
The following member types can be compiled: [...]
PLI38, PNLGRP, PRTF, PRTF38, QRY38, RMC, RPG, RPGLE, RPG36,
RPG38, RPT, RPT36, RPT38, SPADCT, SQLC, SQLCPP, SQLCBL,
[...]
When the programming development manager compiles a program
[...]
15=Create module
Type 15 to create a module object for an ILE source type.
[...]
对于后者,创建模块 (*MOD) 对象与从RPGLE类型创建绑定程序 (*PGM) 是 RPG 和 ILE 的缩写,表示该类型为ILE 源类型。
因此,不要使用 Option-16,而是使用 Option-14 或 Option-15 将 ILE RPG 源编译为可执行的 [*PGM] 或可链接的 [*MOD] 对象。
选项 16(运行程序)仅适用于 REXX 程序(可能还有其他一些程序)。您不能使用它来运行 RPG/COBOL/C 程序。运行 CL 程序可能会起作用,但我不这么认为。
要运行程序,请从命令行调用它或创建您自己的 PDM 选项。
SEU 错误可能是也可能不是错误 - SEU 没有与 RPGLE 语言的所有新功能保持同步。请记住,SEU 只是一个源代码编辑器/验证器。
如果您能够编译 RPG 程序(对 CRTBNDRPG 使用 PDM 选项 14,对 CRTRPGMOD 使用选项 15,然后运行 CRTPGM 命令),那么 SEU 的“问题”根本不是问题。