- 40
- 0
- 约1.19万字
- 约 21页
- 2020-11-13 发布于江苏
- 举报
2.8.4.4 O--R
ON-ERROR (On-Error)
没用过
OPEN {(E)} (Open File for Processing) 打开文件
Factory 1 Operation Factory 2 Result HI LO EQ
OPEN 文件名
OPEN 后面目标,必需是在目前途序中已申明文件名(不是文件统计格式名),
而且在OPEN 操作以后,在程序结束之前之前,必需有对应CLOSE 操作。
使用OPEN 操作,文件在申明时,必需使用USROPN 关键字(详见D 行说明)。
ORxx (Or) 逻辑判定—或
Factory 1 Operation Factory 2 Result HI LO EQ
FLD01 IFGT FLD03
FLD01 OREQ FLD02
等价于
IF FLD01FLD03 OR FLD01=FLD02
和IF、IFxx,AND、ANDxx 类似,RPGLE 写法OR,比RPG 写法ORxx 要灵活,
而且能够用来表示部分复杂逻辑关系。有鉴于此,所以通常IF 语句中,我会以OR 为主,
基础不用ORxx。假如在编程序方面,企业/项目组无硬性要求,那我认为还是少用ORxx 吧,
总认为这种写法逻辑关系看起来不直接,尤其是有很复杂AND,OR 时。
OTHER (Otherwise Select) 分支语句判定
和分支语句SELECT 一起使用,表示不符合上述全部条件时操作,以下:
Factory 1 Operation Factory 2 Result HI LO EQ
SELECT
WHEN 条件判定1
处理语句1
WHEN 条件判定2
处理语句2
OTHER
处理语句3
ENDSL
在这个例子中,当满足条件判定1 时,运行处理语句1,运行结束后跳至ENDSL 处;
假如不满足条件判定1,则程序继续向下实施,判定是否满足条件判定2。
当满足条件判定2 时,运行处理语句2,跳至ENDSL;当不满足
当不满足条件判定2 时,程序继续向下执下,当读到OTHER 操作码时,无条件运
行处理语句3(即当程序目前不满足以上所以条件判定时,则实施OTHER 以后语句。
处理语句许可有很多句;
条件判定能够写得很复杂,也许可对不一样字段进行判定;比如说C 语言也有分支语
句switch,不过这个语句只能对一个字段进行分支判定,ILE 语言和它不一样,许可对不一样
字段进行判定
就我现在掌握测试情况,上述SELECT—WHEN--OTHER—ENDSL,其实也能够
写做:
IF 条件判定1
处理语句1
ELSEIF 条件判定2
处理语句2
ELSE
处理语句3
ENDIF
即WHEN 和ELSEIF 是类似,这么说,应该能够明白了吧。
总而言之,SELECT—ENDSL 是一个很好用语法,尤其是在表示很多不一样分支处理时。
OUT {(E)} (Write a Data Area)
没用过,讲数据域。
PARM (Identify Parameters) 定义入口参数
Factory 1 Operation Factory 2 Result HI LO EQR
*ENTRY PLIST
PARM FLD01
相关具体内容讲解,详见前面所说“入口参数”一章。
许可做为入口参数有:一般变量、结构变量、数组变量
相关PARM、PLIST,还有一个在Factory 1, Factory 2 也填写变量或指示器用
法,不过我不知道它具体表示什么意思,也不知道该怎么用。请用过来补充。
PLIST (Identify a Parameter List) 同上
POST {(E)} (Post)
没用过
READ {(N | E)} (Read a Record) 读取统计
1. 基础语法:
Factory 1 Operation Factory 2 Result HI LO EQ
READ 文件统计格式名 45 46
READ后面跟,必需是申明文件统计格式名;
LO 指示器表示锁表指示器,当在指定时间(CHGPF,WAITRCD 项可看到),
需要读取统计仍被锁,将会打开LO 指示器,即*IN45=’1’;
EQ指示器为是否读到指示器。当未读到任何统计时,打开EQ 指示器,即*IN46=’1’
2. 当文件在程序中,是用只读方法申明时,READ 操作并不会造成锁表;
假如文件在程序中是用修改方法申明,READ 操作成功后,该统计被锁;直到执
行解锁操作(UNLOCK,或UPDATE),或READ 该文件其它统计,才会解锁
假如文件是用修改方法申明,但期望READ
原创力文档

文档评论(0)