-
- RPG中数组和DS使用方法总结
- 2011-08-30
ARRAY
一 array与table的区别
Array:可以使用下标,进行顺序访问或随即访问
Table:不可以使用下标,只能顺序访问。只能以TABxxx开头。
注:table虽然和array的功能相似,但是array要比table灵活很多。Table可以淘汰了,了解table的原因是维护老的代码时可能会用到。
二 array的类型和key word
1有三种类型的array,分别是compile time array、run time array、pre-run time array。
2与array相关的key word:
DIM(number) 定义数组中元素的数量- Views(13799) | Comments(3) | In AS400について
-
- RPGLE中DS结构和数组结合的几种方式
- 2010-05-30
最近的项目中不段的用到配列(数组),二维配列以及DS等。将几种定义方式及区别列举如下:
变量定义以T@或W@开头,分别带表是数 组还是普通WK变量。
T@ARR DS DIM(10) QUALIFIED T@SUBARR 12A DIM(20)
上 面这个就是一个二维数组,相当于DB中的横向20个字段,记录有10条。
必须加“QUALIFIED"关键字。
T@ARR DS DIM(10) W@SUB1 5A W@SUB2 5S 0
上 面这个是数组呢,相当于每条记录是由W@SUB1和W@SUB2组成的,也就是T@ARR的每条记录是一个10A的变量。
DS T@ARR 20A DIM(10) T@ARR1 5A OVERLAY(T@ARR:1) */OR OVERLAY(T@ARR:*NEXT) T@ARR2 5A OVERLAY(T@ARR:6) T@ARR3 10S 0 OVERLAY(T@ARR:11)
上 面的也是T@ARR的每条记录由三个变量组成,但上面这种定义方法,可以将三个变量也形成一个DIM(10)的数组,这样对于DB中有规律的重复字段来说 就很有用。
W@STR DS 10A T@ARR 1A DIM(10)
上 面这个就是将变量W@STR分成一个单个元素长度为1A的数组。
- Views(8904) | Comments(2) | In AS400について
-
- COBOL数组操作
- Weather:有点凉
- 2009-09-14
下面是数组的例子:
01 RECORD-X.
03 MONTH OCCURS 12 TIMES.
05 NAME PIC X(12).
05 DAYS OCCURS 31 TIEMS.
07 COMMENT PIC X(20).
07 TEMP-HI PIC S999.
07 TEMP-LO PIC S999.
77 CURRENT-DAY PIC 99.
调用表示如下:
MONTH(5) : 包含NAME 和 DAYS表格的组项目。
NAME OF MONTH(5) :基本字母数字项目,长度为12个字符。
NAME(5) (1:3) 上述第5个项目的前3个字符。
TEMP-HI(1,31) 基本数字项目,长度为3个字符。前一个参数是在MONTH数组中的位置,后一个参数是在DAYS数组中的位置。相当于MONTH[1].DAYS[31].TEMP-HI。
COMMENT OF RECORD-X(5,CURRENT-DAY)(11) 基本字母数字项目第五个月的CURRENT-DAY的COMMENT字段的最后10个字符。03 TEXT PIC XXX OCCURS 1 TO 12 TIMES DEPENDING ON IX.
定义一个变长的数组。定义的长度是12,实际以IX为准,若IX为10,则TEXT的长度就是30。。。。- Views(6331) | Comments(0) | In AS400について
