AS06课程资料-HT(3)

2019-05-18 17:47

RPG Ⅳ基础

FUCLACFL3 IF E K DISK INFSR(*PSSR)

F RENAME(UCLREC:UCL3) UCLREC为记录格式名。

SAVEDS (数据结构名) 输入为每个设备保存和复原的数据结构名。 SAVEIND (数字) 输入指示符号,以保存从 01 到该号码的指示符。 SFILE (记录格式名 : 字段)

为作为子文件处理的输入字段输入要包含相对记录号的记录格式和字段的名称。 FZZZZDSP CF E WORKSTN

F RRN KSFILE SCRN02 FADC330D CF E WORKSTN

F SFILE(ADC33002:RRN) FUPL3000D CF E WORKSTN SFILE(UPL30001:RRN1) F SFILE(UPL30005:RRN5) 1.SFL的记录格式; 2.RRN的定义,

A SFLSIZ(9999) (0012) A SFLPAG(0012) A RRN 4S 0H

用READC或CHAIN检索到的记录号被放到RRN中。也可用RRN对该文件执行WRITE或 ADD操作。

SLN (名称) 为 WORKSTN 文件输入开始行号 (SLN) 字段的名称。 USROPN

指定此关键字以指示不应执行隐式 OPEN 。该文件必须用 OPEN 操作码显式打开。 FFONTPR O E PRINTER INFSR(*PSSR) F USROPN

D表说明

D(Definition):定义在程序中所使用到的数组、表、数据结构、常量、独立的字段等。 (Arrays,tables,data structures,subfields,constants,standalone fields,and prototypes )

*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++ D var10 S 10A INZ('0123456789')

外部的(E) Position 22 (External Description)

空白:若在”名称”字段中指定的项目不是外部描述数据结构,则将此字段留空。 E :若在”名称”字段中指定的项目是外部描述数据结构,则输入 E 。 注:在位置 24 到 25 中的项必须是数据结构的 DS 。

RPG Ⅳ基础

数据结构类型 Data Structure Type

空格:若这不是程序状态或数据区数据结构,则将此字段保留为空白。 S:若这是程序状态数据结构,则输入 S 。 U:若这是数据区数据结构,则输入 U 。

说明类型(Declaration Type) Positions 24-25 (Definition Type)

空白: 若此说明不定义数据结构、常数、独立的字段、数组或表,则将此字段留空。 DS: 若此说明定义数据结构,则输入 DS 。 C: 若此说明定义了常数,则输入 C 。

PI:若此说明定义了过程接口,则输入 PI 。 PR:若此说明定义了调用的原型,则输入 PR 。

S: 若此说明定义了独立的字段、数组或表,则输入 S 。

内部数据类型 Position 40 (Internal Data Type)

空白:对于字符字段、压缩的小数独立字段或区化小数字段的数据结构子字段,将该字段保

留为空白。对于区化或压缩的数据类型,此小数位字段必须是非空白的。 A: 若这是字符字段,则输入 A 。 B: 若这是固定二进制字段,则输入 B 。 D: 若这是日期字段,则输入 D 。 F: 若这是浮点字段,则输入 F 。 G: 若这是图形字符字段,则输入 G 。 I: 若这是带正负号的整数字段,则输入 I 。 N: 若这是指示符字段,则输入 N 。 P: 若这是压缩十进制字段,则输入 P 。 S: 若这是区化字段,则输入 S 。 T: 若这是时间字段,则输入 T 。 U: 若这是无符号的整数字段,则输入 U 。 Z: 若这是时间戳记字段,则输入 Z 。 *: 若这是指针字段,则输入 * 。

1. 字符型 (A)

* DBCS字符包含一个移出和一个移入字符,所以其总字节数要+2; * 初始化值必须加单引号,两单引号间可为空;

D var10 S 10A INZ('0123456789') D var11 S 10A INZ(' ')

D var12 S 7A INZ('O”CLOCK') * 标志位:1)*ON = ‘1’ *OFF = ‘0’ 2)初始值为’0’;

3)RPG IV中有99个标志位;

4)85意味着标志位85为*ON(‘1’)时; N40意味着标志位40为*OFF(‘0’)时; *IN15意味着标志位15为*ON(‘1’)时; * 可变长度字符字段:

RPG Ⅳ基础

VARYING:在任何字符或图形字段定义上指定此关键字,指示该字段可同时具有最大长度

和当前长度。

D var5 S 5A VARYING

D var10 S 10A VARYING INZ('0123456789')

2. 数字型

? 区化型(Zoned-Decimal): (S) 这种类型每个字节包含一个数字(DIGIT);

每个字节分为两部分存储,一部分4位(bit)为1111,另一部分4位为一个二进制数; 最后一个字节的前4位表示符号,F(1111)为正号,D(1101)为负号; 所占字节数 = 数字个数

ZONE DIGIT SIGN

F 1 F 2 F 3 +123 1111 0001 1111 0010 1111 0011

ZONE DIGIT SIGN

F 1 F 2 D 3 -123 1111 0001 1111 0010 1101 1011

? 压缩型(Packed-Decimal): (P)

每个字节两个数字;

最后一个字节的后4位表示符号,F(1111)为正号,D(1101)为负号; 如果为偶数个数字,第一个字节前半字节为0; 小数点位置被忽略;

所占字节数 = 数字个数/2 + 1 (忽略小数) SIGN

1 2 3 F +123 0001 0010 0011 1111 SIGN

0 2 3 D -23 0000 0010 0011 1101 SIGN +1.23

区化型 1 2,3 4,5 ? 28,29 30

压缩型 1 2 3 ? 15 16 1 2 3 F 0001 0010 0011 1111 RPG Ⅳ基础

? 浮点型(Float): (F)

1E1 = 10 1.2e-1 = .12 -1234.9E0 = -1234.9 12e12 = 12000000000000 +67,89E+0003 = 67890 (the comma is the decimal point)

在H表中指定关键字DECEDIT

? 固定二进制型(Binary): (B) ? 带正负号的整数型(Integer): (I) ? 无正负号的整数型(Unsigned): (U)

RPG Ⅳ基础

数据结构:ILE RPG编译器允许你在存储器中定义一个区域,在这个区域中你可以规定字段,声明子字段,存储器中的这个区域叫数据结构(data structure)。你需要在D表的24,25列指定DS来定义一个数据结构。

D表关键字:

OVERLAY (名称 {: 位置 } )

对于数据结构子字段,它指示子字段在‘位置’值覆盖由‘名称’值指定的子字段的存储。位置的默认值为1。

------------------------------------------------------- D DataStruct DS


AS06课程资料-HT(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:课堂实录《鱼游到了纸上》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: