RPGLE 编程基础.docx
- 文档编号:1591215
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:75
- 大小:66.60KB
RPGLE 编程基础.docx
《RPGLE 编程基础.docx》由会员分享,可在线阅读,更多相关《RPGLE 编程基础.docx(75页珍藏版)》请在冰豆网上搜索。
RPGLE编程基础
RPGLE编程基础
本章主要介绍RPGLE语言的基础知识,包括规范表,操作码,编译方法等,通过本章的学习了解并初步掌握RPGLE的基本操作码并应用于简单编程,能编译程序并查看跟踪错误,能使用单步调试源码方法,并能读懂简单的RPGLE程序。
1RPGLE规范表
•H表(Control):
指定程序使用的数据区
•F表(FileDescription):
文件说明
•I表(Input):
说明输入文件记录结构和数据
•C表(Calculation):
程序主体
•O表(Output):
说明输出文件记录结构
常用的表有F表,D表,C表
2操作码简介
RPGⅣ程序设计语言允许对数据进行多种类型的操作。
在计算规范表中写入的操作码指出要做的操作,通常是操作的缩写。
下表概括说明了每个操作码。
·一个空列表示此字段必须为空
·所有下划线的字段都是必须的
·一个下划线区域表明此位置没有结果指示器
符号符号说明
(H)四舍五入(整数的数值型结果)
(N)不锁定记录
(P)用空格或零填充结果
(D)操作描述符或日期字段
(T)时间字段
(Z)时间标记字段
+正的
-负的
BL空格
BN数值型空格
BOF文件头
EOF文件尾
EQ等于
ER错误
FD找到
HI大于
IN指示器
LD小于
LR最后一个记录
NR没有找到记录
NU数字
OFoff
ONon
Z零
ZB零或空格
操作码说明一览表
操作码
因子1
因子2
结果字段
结果指示器
71-72
73-74
75-76
ACQ
设备名
WORKSTN文件
ER
ADD(1/2)
加数
加数
和
+
-
Z
ADDDUR
日期/时间
期间:
期间码
日期/时间
ER
ANDxx
比较数
比较数
BEGSR
子程序名
BITOFF
位数
字符字段
BITON
位数
字符字段
CABxx
比较数
比较数
标号
HI
LO
EQ
CALL
程序名
列表名
ER
LR
CALLB(D)
过程名或过程指针
列表名
ER
LR
CASxx
比较数
比较数
子程序名
HI
LO
EQ
CAT(P)
源串1
源串2:
空格数
目的串
CHAIN(N)
查找自变量
文件名
数据结构
NR
ER
CHECK
(2)
比较串
基串:
开始
最左边位置
ER
FD
CHECKR
(2)
比较串
基串:
开始
最右边位置
ER
FD
CLEAR
*NOKEY
*ALL
结构或变量或记录格式
CLOSE
文件名
ER
COMMIT
边界
ER
COMP
(1)
比较数
比较数
HI
LO
EQ
DEFINE
*LIKE
参考字段
定义字段
DEFINE
*DTAARA
外部数据区
内部字段
DELETE
查找自变量
文件名
NR
ER
DIR(1/2)
被除数
除数
商
+
-
Z
DO
初值
限定值
索引值
DOU
指示器表达式
DOUxx
比较数
比较数
DOW
指示器表达式
DOWxx
比较数
比较数
DSPLY(4)
信息
输出队列
响应
ER
DUMP
标识符
ELSE
END
增量值
ENDCS
ENDDO
增量值
ENDIF
ENDSL
ENDSR
标号
返回点
EVAL
结果=表达式
EXCEPT
EXCEPT名
EXFMT
记录格式名
ER
EXSR
子程序名
EXTRCT
日期/时间:
期间码
目的字段
ER
FEOD
文件名
ER
FORCE
文件名
GOTO
标号
IF
指示器表达式
IFxx
比较数
比较数
IN
*LOCK
数据区名
ER
INER
KFLD
键字字段
KLIST
KLIST名
LEAVE
LOOKUP
(1)(数组)
查找自变量
数组名
HI
LO
EQ
LOOKUP
(1)表
查找自变量
表名
表名
HI
LO
EQ
MHHZO
源字段
目的字段
MHLZO
源字段
目的字段
MLHZO
源字段
目的字段
MLLZO
源字段
目的字段
MOVE(P)
源字段
目的字段
+
-
ZB
MOVEA(P)
源字段
目的字段
+
-
ZB
MOVEL(P)
日期/时间格式
源字段
目的字段
+
-
ZB
MVLT(1/2)
被乘数
乘数
积
+
-
Z
MVR
余数
+
-
Z
NEXT
程序设备
文件名
ER
OCCUR
出现值
数据结构
出现值
ER
ORxx
比较数
比较数
OTHER
OUT
*LOCK
数据区名
ER
PARM
目的字段
源字段
参数
PLIST
PLIST名
POST(3)
程序设备
文件名
INFDS名
ER
READ(N)
记录名,文件名
数据结构
ER
EOF
READC
记录名
ER
EOF
READE(N)
查找自变量
文件名,记录名
数据结构
ER
EOF
READP(N)
文件名,记录名
数据结构
ER
EOF
READPE(N)
查找自变量
文件名,记录名
数据结构
ER
EOF
REL
程序设备
文件名
ER
RESET
*NOKEY
*ALL
结构或变量或记录格式
ER
RETURN
SUB(1/2)
减数
被减数
差
+
-
Z
SUBDUR
(期间)
日期/时间
日期/时间
期间:
期间码
ER
SUBDUR
(新日期)
日期/时间
日期/时间
日期/时间
ER
SUBST(P)
选取长度
基串:
开始
目的串
ER
TAG
标号
TEST(D)
日期格式
日期或字符字段或数字字段
ER
TEST(T)
时间格式
时间或字符字段或数字字段
ER
TEST(Z)
时间标记或字符字段或数字字段
ER
TESTB
(1)
位数
字符字段
OF
ON
EQ
TESTN
(1)
字符字段
NU
BN
BL
TESTZ
(1)
字符字段
TIME
数字字段
UNLOCK
数据区,记录或文件名
ER
UPDATE
文件名
数据结构
ER
WHEN
指示器表达式
WHENxx
比较数
比较数
WRITE
文件名
数据结构
ER
EOF
XFOOT(1/2)
数组名
和
+
-
Z
XLATE(P)
从:
至
串:
开始
目的串
ER
Z-ADD(1/2)
加数
和
+
-
Z
Z-SUB(1/2)
减数
差
+
-
Z
3程序代码行的编写
3.1最简单的RPGLE程序
为便于理解,这里写一个最简单的RPGLE程序
CL0N01Factor1+++++++Opcode&ExtFactor2+++++++Result++++++++Len++D+HiLoEq
***************Beginningofdata*************************************
0001.00C'HELLOWORLD'DSPLY
0002.00CRETURN
******************Endofdata****************************************
这个程序编译成功,并调用(CALL程序名),就是在屏幕上反白显示“HELLOWORLD”字样。
(其中,绿色字样,是系统自动显示的,下同)
与其他语言不同,RPGLE中的编码,是有一定的格式,如果写错,将会在当前代码行上高亮反绿显示。
初学者如果不太清楚从何处开始下手,可以使用“F4”键查看(F4键只有用2进入的编辑状态才有效,用5进入的查看状态是无效的)
LevelN01Factor1OperationFactor2Result
'HELLOWORLD'DSPLY
Decimal
LengthPositionsHILOEQComment
关于每一项所对应的内容代表什么意思,该如何填写,即如何写程序,将会在下面的具体讲解。
3.2举例准备
列出表名,字段,以方便下面的举例。
假设有PF文件叫PFFHS,文件的记录格式叫FMTFHS
每条记录,都是由FHS01、FHS02、FHS03三个字段组成,每个字段都是两位长的字符型变量。
逻辑文件PFFHSL1的键值为FHS01
逻辑文件PFFHSL2的键值为FHS02
逻辑文件PFFHSL3的键值为FHS01、FHS02
文件的记录格式在RPGLE的程序中,不能与文件名相同。
3.3简单的程序流程
FPFFHSUFEDISK
CREADFMTFHS
CEVALFHS01=”01”
CUPDATEFMTFHS
CSETONLR
CRETURN
这个程序的意思,是说读PFFHS这个文件,然后将读到的第一条记录中的FHS01这个字段的值修改为“01”。
“SETONLR”,LR的位置可在HI、LO、EQ中任选一处。
意思是指将打开指示器*INLR,即赋值使指示器*INLR的值等于1。
等价于“EVAL*INLR=’1’”,意思是强制将内存中的数据写到磁盘中。
(基于效率因素,系统在修改文件时,会先将修改的结果先放在内存中,在同一程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RPGLE 编程基础 编程 基础
![提示](https://static.bdocx.com/images/bang_tan.gif)