2024年3月23日发(作者:)

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 FLD01>FLD03 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