操作码
下表显示了每个操作码的自由格式语法。
- 扩展器
- (A)
- 始终执行转储,即使指定了 DEBUG (*NO) 也是如此
- (A)
- 按升序排序
- (C)
- 仅处理发送到 ON-EXCP 的当前过程的异常
- (D)
- 在绑定调用上传递操作描述符
- (D)
- 日期字段
- (D)
- 按降序排序
- (英)
- 错误处理
- (H)
- 半调整 (对数字结果进行舍入)
- (M)
- 缺省精度规则
- (N)
- 不锁定记录
- (N)
- 成功 DEALLOC 后将指针设置为 *NULL
- (N)
- 请勿将数据强制转换为非易失性存储器
- (P)
- 用空格或零填充结果
- (R)
- "结果小数位" 精度规则
- (T)
- 时间字段
- (Z)
- 时间戳记字段
| 代码 | 自由格式语法 |
|---|---|
| ACQ 1 | ACQ {(E)} device-name workstn-file |
| BEGSR | BEGSR 子例程-名称 |
| CALLP | {CALLP{(EMR)}} 名称({parm1{:parm2...}}) |
| 链 | {(ENHMR)} search-arg file-or-record-name { data-structure} |
| 清除 | CLEAR {*NOKEY} {*ALL} 名称 |
| 关闭 | CLOSE{(E)} 文件名 |
| COMMIT | COMMIT{(E)} {边界} |
| 数据-GEN | DATA-GEN{(EH)} 源文档解析器 |
| 数据-INTO | DATA-INTO{(EH)} 目标或处理程序文档解析器 |
| DEALLOC 1 | DEALLOC {(EN)} 指针名称 |
| 删除 | DELETE {(EHMR)} {search-arg} file-or-record-name |
| DOU | DOU{(MR)} 指示符-表达式 |
| DOW | DOW{(MR)} 指示符-表达式 |
| DSPLY | DSPLY{(E)} {消息 {消息队列 {响应}}} |
| 转储 1 | DUMP{(A)} {标识} |
| ELSE | ELSE |
| ElseIf | ELSEIF{(MR)} 指示符-表达式 |
| ENDDO | ENDDO |
| 终点 | 结束 |
| ENDIF | ENDIF |
| ENDMON | ENDMON |
| 结束语 | 用户线路 |
| 结束语 | ENDSR {返回点} |
| Eval | {EVAL{(HMR)}} 结果 = 表达式 |
| EVALR | EVALR {(MR)} result = expression |
| EVAL-CORR | EVAL-CORR {(EH)} target-ds = source-ds |
| EXCEPT | 除{除名 } 外 |
| EXFMT | EXFMT {(E)}格式名称 {data-structure} |
| EXSR | EXSR 子例程-名称 |
| FEOD | FEOD{(EN)} 文件名 |
| 对于 | 对于{(MR)} 索引 {= 启动} {BY 增量} {TO | DOWNTO 限制} |
| 每个 | FOR-EACH{(H)} 项 IN 数组 | %LIST | %SUBARR |
| FORCE | FORCE 文件名 |
| IF | IF{(MR)} 指示符-表达式 |
| 输入 1 | IN {(E)} {*LOCK} data-area-name |
| 热核实验堆 | 伊特 |
| 保留 | LEAVE |
| LEAVESR | LEAVESR |
| MONITOR | MONITOR |
| 下一步1 | NEXT{(E)} 程序设备 文件名 |
| 接通错误 | ON-ERROR {exception-id1 {:exception-id2 ...}} |
| 退出时 | ON-EXIT {状态} |
| 打开 | OPEN{(E)} 文件名 |
| 其他 | OTHER |
| 输出1 | 输出{(E)} {*LOCK} data-area-name |
| 职位 1 | POST {(E)} { 程序 -设备} 文件名 |
| 读 | 读{(EN)} file-or-record-name {data-structure} |
| 阅读 | READC {(E)} 记录名 { 数据结构} |
| 自述文件 | READE{(ENHMR)} search-arg| *KEY file-or-record-name { data-structure} |
| 阅读 | READP{(EN)} 名称 {data-structure} |
| READPE | READPE{(ENHMR)} 搜索-arg| *KEY file-or-record-name {数据结构} |
| REL 1 | REL{(E)} 程序设备 文件名 |
| 重置 1 | RESET{(E)} {*NOKEY} {*ALL} 名称 |
| 返回 | RETURN{(HMR)} 表达式 |
| ROLBK | ROLBK {(E)} |
| 选择 | 选择 |
| SETGT | SETGT {(EHMR)} search-arg file-or-record-name |
| 设置 | SETLL {(EHMR)} search-arg file-or-record-name |
| 索塔 | SORTA{(AD)} array-name 或 keyed-ds-array |
| 测试 1 | TEST {(EDTZ)} {dtz-format} 字段名称 |
| 解锁 1 | UNLOCK{(E)} 名称 |
| 更新 | UPDATE{(E)} file-or-record-name {数据结构| %FIELDS(名称{: 名称...})} |
| When | WHEN{(MR)} 指示符-表达式 |
| WRITE | WRITE {(E)} file-or-record-name {data-structure} |
| XML-INTO | XML-INTO {(EH)}target-or-handler xml-document |
| XML-SAX | XML-SAX{(E)} 处理程序 xml-document |
注:
- 此操作码不允许使用复杂限定名。
下表是传统语法中每个操作码的规范摘要。
- 空列指示字段必须为空。
- 所有带下划线的字段都是必填字段。
- 一个突出的空格表示在该位置没有结果指示符。
- 符号
- +
- 加
- -
- 负误差
- 扩展器
- (A)
- 始终执行转储,即使指定了 DEBUG (*NO) 也是如此
- (A)
- 按升序排序
- (D)
- 在绑定调用上传递操作描述符
- (D)
- 日期字段
- (D)
- 按降序排序
- (英)
- 错误处理
- (H)
- 半调整 (对数字结果进行舍入)
- (M)
- 缺省精度规则
- (N)
- 不锁定记录
- (N)
- 成功 DEALLOC 后将指针设置为 *NULL
- (P)
- 用空格或零填充结果
- (R)
- "结果小数位" 精度规则
- (T)
- 时间字段
- (Z)
- 时间戳记字段
- 生成的指示符符号
- BL
- 空白
- BN
- 空白,然后是数字
- BOF
- 文件开头
- EOF
- 文件的结尾
- EQ
- 等于
- ER
- 错误
- FD
- 找到
- HI
- 大于
- IN
- 指示符
- LO
- 小于
- LR
- 最后一个记录
- NR
- 找不到任何记录
- NU
- 数字
- /
- 关闭
- 打开
- On
- Z
- 零
- ZB
- 零或空白
| 代码 | 因子1 | 因子2 | 结果字段 | 结果指示符 | ||
|---|---|---|---|---|---|---|
| 71-72 | 73-74 | 75-76 | ||||
| ACQ ( E7 ) | 设备名 | 工作文件 | ER | |||
| 添加 (H) | 附加 | 添加 | 总计 | + | - | Z |
| ADDDUR (E) | 日期/时间 | 持续时间: 持续时间代码 | 日期/时间 | ER | ||
| ALLOC (E) | 长度 | 指针 | ER | |||
| ANDxx | 比较 | 比较 | ||||
| BEGSR | 子例程-名称 | |||||
| 比托夫 | 位数字 | character field(字符字段) | ||||
| 比通 | 位数字 | character field(字符字段) | ||||
| CABxx | 比较 | 比较 | 标签 | HI | LO | EQ |
| 呼叫 (E) | 程序名 | Plist 名称 | ER | LR | ||
| CALLB (D E) | 过程名称 或 过程指针 | Plist 名称 | ER | LR | ||
| 呼叫点(E M/R) | 名称 {(parm1 {:parm2 …}) } | |||||
| CASxx | 可比性 | 可比性 | 子例程名称 | HI | LO | EQ |
| 禁止酷刑委员会 (P) | 源字符串 1 | 源字符串 2: 空格数 | 目标 string | |||
| 主席 (E N) | 搜索参数 | name (文件或记录格式) | 数据结构 | NR2 | ER | |
| 检查 (E) | 比较器字符串 | 基本字符串: 启动 | 最左位置 | ER | FD2 | |
| 检查 (E) | 比较器字符串 | 基本字符串: 启动 | 最右侧位置 | ER | FD2 | |
| 清除 | *诺基 | *全部 | name (变量或记录格式) | |||
| 关闭 (E) | file-name 或 *ALL | ER | ||||
| 提交 (E) | 边界 | ER | ||||
| 压缩机1 | 比较 | 比较 | HI | LO | EQ | |
| DEALLOC (E/N) | 指针名称 | ER | ||||
| 定义 | *喜欢 | 引用的字段 | 定义的字段 | |||
| 定义 | *DTAARA | 外部数据区 | 内部字段 | |||
| 删除 (E) | 搜索-arg | name (文件或记录格式) | NR2 | ER | ||
| 分部(H) | 红利 | divisor | QUOTIENT | + | - | Z |
| DO | 起始值 | 限制值 | 指数值 | |||
| 杜(男/女) | 指示符-表达式 | |||||
| DOUxx | 比较 | 比较 | ||||
| 道琼斯指数(M/R) | 指示符-表达式 | |||||
| DOWxx | 比较 | 比较 | ||||
| DSPLY (E) 4 | 消息 | 消息队列 | 响应 | ER | ||
| 倾倒 (A) | 标识 | |||||
| ELSE | ||||||
| ELSEIF (M/R) | 指示符-表达式 | |||||
| END | 增量值 | |||||
| 结束语 | ||||||
| ENDDO | 增量值 | |||||
| 终点 | ||||||
| ENDIF | ||||||
| ENDMON | ||||||
| 结束语 | ||||||
| 结束语 | 标签 | 返回点 | ||||
| 评估(H M/R) | 结果 = 表达式 | |||||
| EVALR(M/R) | 结果 = 表达式 | |||||
| EVAL-CORR | EVAL-CORR 目标-ds = 源-ds | |||||
| EXCEPT | 除外名称 | |||||
| EXFMT (E) | 记录格式-名称 | 数据结构 | ER | |||
| EXSR | 子例程-名称 | |||||
| 切除 (E) | 日期/时间: 持续时间代码 | 目标字段 | ER | |||
| FEOD (EN) | 文件名 | ER | ||||
| 对于 | Index-name = start-value BY increment TO | DOWNTO 限制 | |||||
| FORCE | 文件名 | |||||
| GOTO | 标签 | |||||
| 中频(M/R) | 指示符-表达式 | |||||
| IFxx | 比较 | 比较 | ||||
| 输入 (E) | * 锁定 | 数据区域名称 | ER | |||
| 热核实验堆 | ||||||
| KFLD | 键字段 | |||||
| klist | KLIST 名称 | |||||
| 保留 | ||||||
| LEAVESR | ||||||
| LOOKUP1 (数组) | search argument(搜索自变量) | 数组名 | HI | LO | EQ6 | |
| LOOKUP1 (表) | search argument(搜索自变量) | 表名 | 表名 | HI | LO | EQ6 |
| MHHZO | 源字段 | 目标字段 | ||||
| MHLZO | 源字段 | 目标字段 | ||||
| MLHZO | 源字段 | 目标字段 | ||||
| MLLZO | 源字段 | 目标字段 | ||||
| MONITOR | ||||||
| 移动 (P) | 数据属性 | 源字段 | 目标字段 | + | - | ZB |
| MOVEA (P) | 源 | 目标 | + | - | ZB | |
| 移动 (P) | 数据属性 | 源字段 | 目标字段 | + | - | ZB |
| MULT (H) | 乘法 | 增效器 | 产品 | + | - | Z |
| MVR | 余数 | + | - | Z | ||
| 下一步 (E) | 程序-设备 | 文件名 | ER | |||
| 出现 (E) | 出现值 | 数据结构 | 出现值 | ER | ||
| 接通错误 | 状态码 | |||||
| 退出时 | 状态 | |||||
| 开放 (E) | 文件名 | ER | ||||
| ORxx | 比较 | 比较 | ||||
| 其他 | ||||||
| 输出 (E) | * 锁定 | 数据区域名称 | ER | |||
| 参数 (parm) | 目标字段 | 源字段 | 参数 | |||
| PList | PLIST 名称 | |||||
| 职位(英) 3 | 程序设备 | 文件名 | INFDS 名称 | ER | ||
| 读 (E N) | name (文件或记录格式) | 数据-
结构 |
ER | EOF5 | ||
| 读卡器 (E) | 记录名 | 数据-
结构 |
ER | EOF5 | ||
| 自述文件 (E N) | 搜索-arg | name (文件或记录格式) | 数据-
结构 |
ER | EOF5 | |
| 读数(英 N) | name (文件或记录格式) | 数据-
结构 |
ER | BOF5 | ||
| READPE(英文名) | 搜索-arg | name (文件或记录格式) | 数据-
结构 |
ER | BOF5 | |
| 重新分配 (E) | 长度 | 指针 | ER | |||
| REL (E) | 程序-设备 | 文件名 | ER | |||
| 重置 (E) | *诺基 | *全部 | name (变量或记录格式) | ER | ||
| 返回(H M/R) | 表达式 | |||||
| ROLBK (英文) | ER | |||||
| 扫描 (E) | 比较器字符串: 长度 | 基本字符串:start | 最左侧位置 | ER | FD2 | |
| 选择 | ||||||
| SETGT (E) | 搜索参数 | name (文件或记录格式) | NR2 | ER | ||
| 设置 (E) | 搜索参数 | name (文件或记录格式) | NR2 | ER | EQ6 | |
| 关闭1 | / | / | / | |||
| 设置1 | 打开 | 打开 | 打开 | |||
| SHTDN | 打开 | |||||
| SORTA(A/D) | array-name 或 keyed-ds-array | |||||
| SQRT(H) | 值 | 根 | ||||
| SUB (H) | 米努端德 | 子端 (Subtrahend) | 差别 | + | - | Z |
| SUBDUR (E) (持续时间) | 日期/时间/时间戳记 | 日期/时间/时间戳记 | 持续时间: 持续时间代码 | ER | ||
| SUBDUR (E) (新日期) | 日期/时间/时间戳记 | 持续时间: 持续时间代码 | 日期/时间/时间戳记 | ER | ||
| SUBST (E P) | 要抽取的长度 | 基本字符串:start | 目标 string | ER | ||
| 标记 | 标签 | |||||
| 测试 (E) 8 | 日期/时间 或 时间戳记字段 | ER | ||||
| 测试 (D E) 8 | 数据格式 | 字符 或 数字字段 | ER | |||
| 测试(E T) 8 | 时间格式 | 字符 或 数字字段 | ER | |||
| 测试 (E Z) 8 | 时间戳记格式 | 字符 或 数字字段 | ER | |||
| 测试1 | 位数字 | character field(字符字段) | / | 打开 | EQ | |
| 测试1 | character field(字符字段) | NU | BN | BL | ||
| 测试1 | character field(字符字段) | 人工智能 | JR | XX | ||
| 时间 | 目标字段 | |||||
| 解锁 (E) | name (文件或数据区) | ER | ||||
| 更新 (E) | name (文件或记录格式) | 数据-
结构 |
ER | |||
| 何时(男/女) | 指示符-表达式 | |||||
| WHENxx | 比较 | 比较 | ||||
| 写入 (E) | name (文件或记录格式) | 数据-
结构 |
ER | EOF5 | ||
| XFOOT (H) | 数组名 | 总计 | + | - | Z | |
| XLATE (EP) | 发件人: 收件人 | 字符串:start | 目标 string | ER | ||
| XML-INTO | XML-INTO target-or-handler xml-document | |||||
| XML-SAX | XML-SAX{(E)} 处理程序 xml-document | |||||
| Z-ADD (H) | 添加 | 总计 | + | - | Z | |
| Z-SUB (高) | 子端 (Subtrahend) | 差别 | + | - | Z | |
注:
|
||||||