CALL(调用程序)
| 自由格式语法 | (不允许-使用 CALLP 操作码) |
| 代码 | 因子1 | 因子2 | 结果字段 | 指标 | ||
|---|---|---|---|---|---|---|
| 呼叫 (E) | 程序名 | Plist 名称 | _ | ER | LR | |
CALL 操作将控制权传递给因子 2 中指定的程序。
因子 2 必须包含一个字符条目,用于指定要调用的程序的名称。
在结果字段中,通过下列其中一种方法指定参数:
- 输入 PLIST 的名称
- 将结果字段留空。 如果被调用程序不访问参数或者 PARM 语句直接跟在 CALL 操作之后,那么这是有效的。
位置 71 和 72 必须为空。
要处理 CALL 异常 (程序状态码 202,211 或 231) ,可以指定操作码扩展器 "E" 或错误指示符 ER ,但不能同时指定两者。 有关错误处理的更多信息,请参阅 程序异常/错误。
如果调用的程序是返回 LR 指示符的 RPG 程序或循环主过程,那么可以在要设置的位置 75 和 76 中指定任何 有效结果指示符 。
注: 在线程安全环境中不允许使用 LR 指示符。
有关呼叫操作的更多信息,请参阅 呼叫操作。
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
* The CALL operation calls PROGA and allows PROGA to access
* FieldA and FieldB, defined elsewhere. PROGA is run using the content
* of FieldA and FieldB. When PROGA has completed, control
* returns to the statement following the last PARM statement.
*
*
C CALL 'PROGA'
C PARM FieldA
C PARM FieldB