ENDSR操作结束子程序,把控制返回到EXSR或CASxx语句之后的语句,除非该子程序紧跟是一个程序异常/错误子程序(*PSSR)或一个文件异常/错误子程序(INFSR)。对这些子程序,ENDSR操作的因子2可以存放子程序执行后控制返回的地点。因子2的内容可以是一个字段名,包括一个保留键字或文字或命名常量。如果说明了无效返回点,则RPGⅣ错误处理程序接收控制。
关于返回点的详细信息见1.5.1.2的“文件异常/错误子程序(INFSR)”。
RPGⅣ子程序编码的例子见4.4.37的图138。
4.4.33 EVAL(计算表达式)
操作码 因子1 因子2
EVAL 空格 赋值语句
EVAL操作计算格式为结果=表达式的赋值语句的值。表达式计算后放在结果中。因此,结果不能是文字或常量,它必须是一个字段名、数组名、数组元素、数据结构、数据结构子字段或%SUBST内部函数的一个串。表达式可以产生任一RPG数据类型。表达式的类型必须与结果的类型相同。字符型或图形结果要左对齐,或按要求用空格填充或截断。
如果结果表示一个不带下标的数组或一个ARRAY(*)的数组,表达式的值将分配给结果的每个元素,依据的原则在数组一章描述。否则,表达式仅做一次计算并把值放到数组或数组的每一个元素中。对于数字表达式,允许做扩展的舍入操作。舍入的规则与算术操作中的规则相同。
jlwrp 回复于:2005-06-13 15:47:51
EXFMT(写/然后读格式)
操作码 因子1 因子2 结果字段 指示器
EXFMT 记录格式名 - ER -
EXFMT操作是对同一个记录格式先写后读的组合操作。EXFMT仅对外部描述的WORKSTN文件有效,该文件可以定义为一个外部描述的(文件描述规范表22列是E)全过程文件(文件描述规范表的18列是F)或组合文件(文件描述规范表的17列是C)。
因子2必须是先写后读的记录格式名。可以在73和74列上说明一个结果指示器,当EXFMT操作不成功时置为ON。当指示器置为ON时,操作的读部分不执行(记录标识指示器和字段不改变)。71,72,75和76列必须是空格。
对多设备文件使用EXFMT,请参阅READ和WRITE操作的描述。
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+....
FFilename++IPEASFRLen+LKlen+AIDevice+.Keywords++++++++++++++++++++++++++
F*
F* PROMTD是WORKSTN文件,它提示用户一个选项,根据用户输入的
F* 内容,程序执行不同的子例程进行增加、删除或修改记录。
F*
FPROMTD CF E WORKSTN
F*
F* 如果用户按了F3键,指示器*IN03为ON,结束DOW循环。
F*
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
C
C DOW *in03 = *off
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2627 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 下一页
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 笔记 字母 顺序 学习 操作 常用 因子 文件 记录 一个 |
注册
个人空间
