AS400初学入门小结1.0
AS400初学入门小结1.0 ........................................................................................... 0 一、 二、 三、 四、 五、 六、 七、 八、 九、 十、 十一、 十二、
RPGIV与RPGILE的区别............................................................................ 1 RPGIV特征 .................................................................................................... 1 LIB、SRCPF、PF、LF、MEMBER、OBJECT ........................................ 2 编程注意.......................................................................................................... 3 SEU的几点说明 ............................................................................................. 3 RPGLE程序的编写基础参考 ........................................................................ 6 指示灯Indicator .......................................................................................... 9 出错查询........................................................................................................ 11 命令技巧........................................................................................................ 12 常用命令........................................................................................................ 13 中文学习资料 ............................................................................................ 15 英文学习资料 ............................................................................................ 15
Bicin cwq2004love@163.com
一、 RPGIV与RPGILE的区别
RPGIV是种IBM的计算机开发语言。
ILE是个集成语言开发环境。
RPGILE就是在这种集成语言开发环境下的RPGIV的称呼。
ILE的最主要的功能是可以把集成在开发环境下多种不同的计算机开发语言通过module形式,bind一起产生一个程序。这类似于Java的模块化和组合。
参考资料:http://blogold.chinaunix.net/u1/46034/showart_1870290.html
二、 RPGIV特征
1、自由格式;
2、module;
3、多线程并发处理;
4、module可驻留物理内存;
5、PROCEDURE;
6、服务程序;
1
Bicin cwq2004love@163.com
参考资料:http://blogold.chinaunix.net/u1/46034/showart_1673419.html
三、 LIB、SRCPF、PF、LF、MEMBER、OBJECT
刚开始这几个比较容易搞糊涂
LIB:library,数据库文件
SRCPF:source physical file 源物理文件
PF:physical file 物理文件
LF:logical file 逻辑文件
AS400的结构为LIB->OBJECT->MEMBER,由左往右层次深入。可以简单的理解为Windows下的文件系统。LIB就是盘,OBJECT就是文件夹,MEMBER就是文件。Windows的盘中不能再建盘,而LIB也是如此,除了一个例外QSYS。用WRKLIB进去查看QSYS后可以发现,这个LIB里面还有*LIB的对象。
PF是Object中File的一种。SRCPF是PF的一种。PF的数据存在Member里。如果这个Member存的数据是程序的源文件,那就是Source了。一般存源文件的Member都放在一个PF下,这个PF就是SRCPF。SRCPF下的Member经过编译以后变成一个OBJ。
上面的描述不是特别准确,但对于刚接触者来说可能比较容易理解,到后期再把不准确的概念不全。
2
Bicin cwq2004love@163.com
参考资料:
http://bbs.chinaunix.net/viewthread.php?tid=919035&extra=page%3D1%26amp%3Bfilter%3Ddigest
http://blogold.chinaunix.net/u1/40417/showart_314452.html
http://bbs.chinaunix.net/thread-231326-1-1.html
四、 编程注意
1、进入系统后把自己的库加入library list(EDTLIBL),很多错误都是因为没加入引起的
2、多用F1,这是系统提供的帮助资料
3、多用F4,可以给出很多代码编写提示
4、编译过定义文件后,对应的RPG程序也要重新编译,否则报错
五、 SEU的几点说明
1、 SEU的几个基本命令:I(插入)、C(复制)、O(覆盖)、M(移动)、B(之前)、A(之后),还有其他的命令参考章节末尾网上资料
2、 SEU的块操作:块操作当初自己误解的地方是以为上下各输入一个C,把块包裹起来,其实是上下个两个C。
3
Bicin cwq2004love@163.com
错误的写法: 正确的写法
C001.00
0002.00
CC01.00
0002.00
C003.00
0004.00
CC03.00
0004.00
0005.00 0005.00
配合其他命令使用:
复制块插入到03和04之间,可以在插入04之前,不能03之后,因为03已经有C命令了:
CC 01.00
0002.00
CC 03.00 B004.00
0005.00
4
Bicin cwq2004love@163.com
复制块插入到04和05之间:
CC 01.00
0002.00
CC01.00
0002.00
CC 03.00 A004.00
0005.00
或 CC03.00
0004.00
B005.00
其他的方法自己试着练习
3、 SEU的专家模式:屏幕本来就不大,还有一部分被帮助提示这些占据。有时候一段程序很长,我们只能在一下块地方看到,显然这是非常累的。我们可以用SEU的专家模式,去掉帮助提示。注意,前提是你要熟悉这些基本操作。
打开专家模式,SEU==>SET EXPERT ON
关闭专家模式,SEU==>SET EXPERT OFF
4、 代码编写位置的对齐。光标停在屏幕最左方,比如序号(如0001.00)的最左边0上面,方向键往右按13下,输入类型,比如F(文件)、D(定义)、C(运算)。如果注释该行则在低14位置输入*,13位置可填可不填,无意义。
5
Bicin cwq2004love@163.com
参考资料:
http://blogold.chinaunix.net/u/11958/showart_333269.html
六、 RPGLE程序的编写基础参考
关于using_as400大哥写的入门文章:
写给刚接触RPG的朋友 ---关于as400的一些讲解:http://bbs.chinaunix.net/thread-919035-1-1.html
写给刚接触RPG的朋友 ---如何建立库、文件、成员:http://bbs.chinaunix.net/thread-919444-1-1.html
写给刚接触RPG的朋友 --- 如何编写RPG程序(1):
http://it.sinru.com/bbs/read.php?tid=573&fpage=&toread=&page=1
写给刚接触RPG的朋友 --- 如何编写RPG程序(2):
http://it.sinru.com/bbs/read.php?tid=574
写给刚接触RPG的朋友 --- 如何编写RPG程序(3)
http://it.sinru.com/bbs/read.php?tid=580
写给刚接触RPG的朋友 --- 如何编写RPG程序(4)
6
Bicin cwq2004love@163.com
http://it.sinru.com/bbs/read.php?tid=586
写给刚接触RPG的朋友 --- 如何DEBUG程序
http://it.sinru.com/bbs/read.php?tid=581
写给有一定RPG基础的朋友 --- 如何使用显示文件的SUBFILE
http://it.sinru.com/bbs/read.php?tid=616&fpage=1&toread=&page=1
对《 写给有一定RPG基础的朋友 --- 如何使用显示文件的SUBFILE》的一点补充
http://it.sinru.com/bbs/read.php?tid=1265
对于using as400大哥的《 写给有一定RPG基础的朋友》的补充
http://it.sinru.com/bbs/read.php?tid=1607
http://it.sinru.com/bbs/read.php?tid=1608
下面这些都是更详细的入门知识和代码练习。
RPGLE的基本格式:http://www.rpgle.net/post/16.html
最简单的RPGLE程序:http://www.rpgle.net/post/14.html
7
Bicin cwq2004love@163.com
RPGLE的F行:http://www.rpgle.net/post/17.html
RPGLE的D行:http://www.rpgle.net/post/18.html
RPGLE的C行:http://www.rpgle.net/post/19.html
定义逻辑文件(LF):http://www.rpgle.net/post/13.html
通过LF对PF进行读写:http://www.rpgle.net/post/15.html
通过上面的学习,应该能写一个自己的读写文件例子了。
屏幕程序(DSPF)--显示:
http://www.rpgle.net/post/21.html
http://it.sinru.com/bbs/read.php?tid=616&fpage=1&toread=&page=1
http://it.sinru.com/bbs/read.php?tid=1265&fpage=1&toread=&page=1
屏幕程序(DSPF)--新增:http://www.rpgle.net/post/23.html
屏幕程序(DSPF)--修改:http://www.rpgle.net/post/24.html
屏幕程序(DSPF)--列表List形式显示:http://www.rpgle.net/post/25.html
8
Bicin cwq2004love@163.com
屏幕程序(DSPF)--列表List形式翻页:http://www.rpgle.net/post/26.html
屏幕程序(DSPF)--列表List形式增删改:http://www.rpgle.net/post/27.html
操作码可以参照本文最下面的“AS400程序员培训手册(中级)”,更详细些。也可以看下面的链接:
http://www.rpgle.net/post/20.html
http://bbs.chinaunix.net/thread-555840-1-1.html
文件的Open和Close对文件名操作,其他的如Read、Chain等对文件记录格式名操作。
七、 指示灯Indicator
指示灯灯亮灯暗可以理解布尔值1和0,我们可以根据这个布尔值判断程序的运行情况。指示灯有三种情况,可以用400的F1帮助查看情况:
HI indicator tests for plus, greater than, high, or a no record found condition.
LO indicators test for minus, less than, low, or an error condition.
EQ indicators test for zero, equal, a beginning-of-file, an end-of-file, or a search-string-found condition.
9
Bicin cwq2004love@163.com
下面这张表其实也就是对上面更加详细的解释:
指示器方面自己不了解,就先贴出点看到过的原始资料,供大家参考,免得我断章取义,影响大家:
http://bbs.chinaunix.net/thread-1586500-1-1.html
http://bbs.chinaunix.net/thread-1250119-1-1.html
http://bbs.chinaunix.net/thread-15076-1-1.html
http://bbs.chinaunix.net/thread-1273301-1-1.html
10
Bicin cwq2004love@163.com
http://bbs.chinaunix.net/thread-920662-1-1.html
http://bbs.chinaunix.net/thread-1972-1-1.html
更详细的解释可以参考 RPG Reference
八、 出错查询
这个很有必要。程序编译出错,可以通过WRKSPLF查看Spooled File了解错误信息。但是编译通过后执行出错则不会在Spooled File中显示。
所以只要是程序编译出错,都可以通过下面步骤进行查找:
1、WRKSPLF
2、按Shift+F6到最后一页,刚才出错的程序的编译信息就在最后一个
3、输入5查看详细信息
4、在Control项输入'B'并确认到文件最后,查看出错信息
5、再向上可以看到错误信息的ID、级别、数目、和信息详情。
6、复制错误信息的ID到Find行,用Shift+F4查找,可以看到更详细的错误信息
参考资料:
11
Bicin cwq2004love@163.com
http://www.rpgle.net/post/28.html
九、 命令技巧
命令构成:
1、Create CRT...
2、Display DSP...
3、Change CHG...
4、Work with WRK...
5、Start STR...
6、Edit EDT…
命令查询
GO CMDLIB 查看命令列表
GO CMD* 显示一系列命令菜单
GO CMDMSG 查询和MSG有关的命令
12
Bicin cwq2004love@163.com
还一种情况是记得命令开头几个字母比如WRKMB,就可用*通配查询:WRKMB*
界面上超过F12的按钮,用Shift+FN,比如F14=Shift+F2
十、 常用命令
1、STRPDM(start programming development manager) 启动程序开发管理工具,提供了一个集成的开发环境。相对于STRPDM,个人更喜欢直接写WRKLIBPDM(Library开发管理)、WRKOBJPDM(Object开发管理)、WRKMBRPDM(Member开发管理)
2、WRKMBRPDM(Work with Members Using PDM) 操作member开发管理,可以同时对多个member进行不同的操作,比如Edit、Copy、Delete、Display、Print、Rename
3、STRSEU (Start Source Entry Utility) 启动源程序输入实用程序 允许你创建、更改、显示或打印源的member信息
4、DSPSYSVAL(Display System Value) 显示系统属性值
5、WRKSPLF(Work with Spooled Files) 操作假脱机文件(保持等待处理的输出数据,如等待打印的信息),可以查看编译成功情况。即如果文件编译不成功,可以到这边查看日志。
6、WRKUSRJOB(Work with User Jobs) 操作用户的作业。可以对自己的作业进行
13
Bicin cwq2004love@163.com
处理,比如kill掉自己死机的界面
7、Ctrl+A后输入2,强制退出
8、STRSDA(Screen Design Aid) 屏幕设计帮助
9、FD(DSPLAY FILE FIELDS) 可以查看文件域,之后按F8可以查看查看物理文件中的数据,按F9可以通过Query查看数据。
10、DSPOBJD 查询非RPG程序源文件路径。根据程序名,查找编译时源代码所在的库名、SRCFILE名。DETAIL参数用“*SERVICE”,OBJTYPE选项用“*PGM”。不过好象RPGLE的程序用这个命令查不出来,要用DSPPGM命令。
11、DSPPGM 查询RPG程序源文件路径。DSPPGM+RPGLE程序名,参数用“*MODULE”,然后再选择5,就可以看到编译的RPGLE程序,源代码所在的库名,SRCFILE名。
12、DSPPGMREF 查找和RPG程序相关联的PF和LF
13、WRKMSGQ QSYSOPR 显示错误信息
14、CMPPFM(Compare Physical File Member)比较物理文件成员,主要用于大文件后期代码被修改后的比对。
15、CHGCURLIB(Change Current Library)改变当前Library,这样后期操作,比如编译等都默认是这个库了,而不需要每次都重新输入库名(默认库是VBSEXC)
14
Bicin cwq2004love@163.com
十一、 中文学习资料
书籍资料:
《AS400程序员培训手册(中级)》--胖有型大哥的原版,我加上目录和个人学习注释
http://download.csdn.net/source/3167118
网上资料:
ChinaUnix论坛:比较好的学术论坛,可以查到很多通用问题。有搜索的论坛,免去一个个翻帖。http://bbs.chinaunix.net/forum-10-1.html
新儒论坛:也是比较好的论坛,可惜没有搜索http://it.sinru.com/bbs/index.php
IBM网络教程:主要是系统操作与管理,要学RPG等还得看其他资料。
http://ibmur.hust.edu.cn/elearning/eServer/iSeries/index/pages/index.htm
我们的RPG记忆博客:比较好的入门学习博客,里面有很多初级教程,有代码和讲解。
http://www.rpgle.net/
十二、 英文学习资料
书籍资料:
15
Bicin cwq2004love@163.com
《ILE Concepts》
《ILE RPG Reference》
《ILE RPG Programmer's Guide》
网上资料:
一个个人网站:http://martinri.freeshell.org/as400/index.html
RPGIV论坛:http://www.rpgiv.com/forum
CODE400:http://code400.com/
Iseries信息中心:
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=%2Fcl%2Faddpfm.htm
16
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务