2021年RPGAS400程序员培训手册.docVIP

  • 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)

1亿VIP精品文档

相关文档