因子2是要删除的记录所在的更新文件名或记录格式名。记录格式名仅对外部描述文件有效。如果没有规定因子1,记录格式名必须是从文件读的最后一个记录的名,否则将产生错误。
如果规定了因子1,则必须在71和72列指定一个结果指示器。如果没有规定因子1,则保留71和72列为空格。如果在文件中找到要删除的记录,此指示器置为ON。可以在73和74列上说明一个结果指示器;如果DELETE操作不成功将其置为ON(例如,用户没有权力在文件上删除记录)。75和76列上保留空格。
在OS/400操作系统下,如果对因子2规定的文件成功的执行了DELETE操作,之后又对此文件执行一个读操作,将读出被删除记录后的下一条记录。
DIV(除法)
操作码 因子1 因子2 结果字段 指示器
DIV(H) 被除数 除数 商 + - Z
如果说明了因子1,DIV操作使因子1被因子2除,否则,用结果字段被因子2除。商(结果)放在结果字段中。如果因子1是0,除的结果也是0。因子2不能是0,如果是0,则出现错误,RPGⅣ异常/错误处理例程接收控制。如果没有说明因子1,结果字段(被除数)被因子2(除数)除,而结果(商)放于结果字段中。因子1和因子2必须是数字,也可以是:一个数组、数组元素、字段、象征常量、文字、命令常量、子字段或表名。
除非除法操作后做一个传送余数(MVR)操作,否则除法操作的余数将会丢失。如果用条件指示器,必须确保在DIV操作之后应即执行MVR。如果在DIV操作之前执行了MVR操作,则出现不可预料的结果。如果传送余数是下一个操作,除法操作的结果就不能被取舍(四舍五入)。
关于DIV操作的规则,见4.3.1的“算术操作”。
在4.3.1中的图100,举例说明了DIV操作。
jlwrp 回复于:2005-06-13 15:42:42
DO(do)
操作码 因子1 因子2 结果字段 指示器
DO 开始值 界限值 索引值
DO开始一组操作,并且指出做这组操作的次数。要规定次数,通过说明一个索引字段,一个开始值和一个界限值。ENDDO语句放在该组的末尾。关于DO组的详细资料,见4.4.19“结构程序设计操作”。
在因子1中规定没有小数的起始值,这个值可以是一个数字文字、命名常量或字段名。如果不说明因子1,初值为1。
在因子2上规定没有小数的界限值,它可以是一个数字型字段名、文字或命名常量。如果不说明因子2,界限值为1。
在结果字段说明一个有当前索引值的数字型字段名。结果字段必须是足够长,能容纳下界限值加上它的增量。如果不说明索引字段,则内部使用。当DO操作开始时,索引字段的值都用因子1来代替。
在相应的ENDDO操作的因子2上指出将要加在索引字段上的增量,它可以是一个数字文字或没有小数位的数字字段。如果它是空格,则增量值为1。
另外,对DO操作本身,在DO和ENDDO语句上的条件指示器控制该DO组。DO语句上的条件指示器控制是否开始DO操作,这些指示器仅在DO循环开始时检测一次。相应的ENDDO语句上的条件指示器控制该DO组是否重复进行。这些指示器在每个循环结束时被检测。
DO操作分以下步来执行:
1、如果DO语句行上的指示器满足了,执行DO操作(第2步)。如果没有满足,执行相应的ENDDO语句之后的可执行操作(第7步)。
2、当开始DO操作时,把初值(因子1)传送到索引字段(结果字段)。
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20 21 22 23 24 25 26 27 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标签: | 笔记 字母 顺序 学习 操作 常用 因子 文件 记录 一个 |
注册
个人空间
