因子2中的*PSSR说明执行程序异常/错误子程序。因子2中的*INZSR用于说明执行程序初始化子程序。
4.4.37 编写子程序
一个RPGⅣ子程序可以在计算操作中的任一点上执行。所有RPG操作都可在一个子程序内执行,而且这些操作可以用9-11列的有效指示器来进行条件限制。7-8列上可以是SR或空格。在这些列上不能使用控制级指示器(L1-L9)。然而,子程序内的AND/OR行可以在7-8列上指出。
子程序使用的字段可以在子程序内定义,也可以在程序其它地方定义。主程序和子程序都能使用该字段。
一个子程序不能包含另一个子程序。但一个子程序可以调用另一个子程序;即一个子程序中可有EXSR或CASxx语句 ,但在一个子程序内的EXSR或CASxx不能调用它本身。因为这可能产生不可预测的结果。如果想走到同一个子程序内的另一点时,可以使用GOTO和TAG语句。
不必须说明子程序的使用顺序。每一个子程序都必须有一个唯一的符号名,必须有一个BEGSR和一个ENDSR语句。
在子程序内允许使用GOTO(分支)操作。GOTO可以在子程序的ENDSR操作上指定标号。GOTO不能用于走到某个子程序内的TAG或ENDSR发出,除非此GOTO与TAG或ENDSR在同一子程序内。子程序内的GOTO可以走到明细计算或总计计算内的TAG处。
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+....
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
C*
C* 对于子例程,7和8列必须是空格或SR。
C*
C :
C :
C EXSR SUBRTB
C :
C :
C :
CL2 EXSR SUBRTA
C :
上一页 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 26 27 2829 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标签: | 笔记 字母 顺序 学习 操作 常用 因子 文件 记录 一个 |
注册
个人空间
