AS400如何编写RPG程序
As400如何编写RPG程序
1. 写给刚接触AS/400的朋友 --- 如何建立库、文件和成员
鉴于很多朋友都还是刚接触AS/400,我就从系统登陆开始简单说说吧~
打开AS/400仿真终端(可以是PCOM、CA等软件,如何配置就不说了),输入用户名和密码,进入系统。
如果你的权限足够的话,可以使用CRTLIB命令给自己建个库,如:
CRTLIB LIB(MYLIB) TYPE(*TEST) TEXT('for test') 库建好之后,你可以使
用STRPDM->2,在Library处输入库名MYLIB,按确认键就进入该库。这时库下面没任何文件,你可以使用CRTSRCPF命令建立一个源物理文件,用来放置源码,如: CRTSRCPF FILE(MYLIB/MYSRCPF) IGCDTA(*YES) TEXT('源物理文件') 【注:】参数IGCDTA(*YES)表示该源物理文件里头的源码文件都可以使用中文
到此为止,自己存放源码的地方已经生成,你可以直接使用以下命令直接进入该源物理文件: WRKMBRPDM FILE(MYLIB/MYSRCPF)
进入该文件之后,就可以建立任何源码文件了,按F6,显示“Start Source Entry Utility
(STRSEU)”画面,参数说明如下:
1. Source member:表示建立的成员名,我们把它理解成存放源码的文件就可以,类似WINDOW平台的TXT文件;
2. Source type:表示建立的成员名的类型,如果不确定,可按 F4 查看,常
用类型有
(1)PF: 物理文件;
(2)LF: 逻辑文件;
(3)RPG: RPG程序源码文件;
(4)RPGLE: RPGLE程序源码文件;
(5)DSPF: 显示文件;
(6)CLP: CLP程序源码文件;
(7)CMD: 命令文件
……
3. Text 'description':表示对该文件的描述,可填可不填。
上面的参数填好之后,即进入源码编辑环境,可以写代码了。
代码写完之后:
1. 如果要保存并且退出编辑器,按F3,出现“Exit”画面,参数
Change/create member置为Y即可。
2. 如果只想保存而不想退出的话,在编辑器的顶端的命令行输入SAVE,按确认键即可。
3. 如果要放弃更改,那么在编辑器的顶端的命令行输入CAN,按确认键即可。
以上整个过程,介绍了登陆系统、建立库、建立源物理文件、建立成员(即源码文件)的过程。有欠妥之处,请不吝赐教~
1
RPG开发步骤
1、建立数据库和源物理文件。CRTLIB 和 CRTSRCPF。
2、在SEU输入源语句建立相关的PF、LF、DSPF。PF~物理文件 LF~逻辑文件DSPF~显示
文件。
3、用CRTPF、CRTLF、CRTDSPF命令建立物理文件、逻辑文件、显示文件、
4、在SEU中输入源语句(RPG源语句),按照H、F、D、I、C、O顺序输入,其中H~指控
制规范表,F~文件描述规范表,D~定义规范表、I~输入规范表、C~计算规范表、O~输出规范
表。
5、建立程序:CRTPGMRPG 如果编译通过的话,则可以用 CALL 程序名,来调用程序。
小提示:如果发现建立文件时,出现不到某某的信息时,请先用EDTLIBL 把文件的LIB 加
入。
写给刚接触RPG的朋友 --- 如何编写RPG程序(1)
这部分我也循序渐进的讲解如何RPG里头更项的含义。
先说说RPG一般用来做什么吧,举例说:
1. 整个RPG程序不包含任何外部程序,只是做些简单的数学运算,或者对数据区、DATAQ等
非文件目标进行操作,这属于相对最简单的情况;
2. RPG程序对物理文件或者逻辑文件进行读、写、更新、删除操作;
3. RPG程序结合物理文件或逻辑文件、以及显示文件进行操作,这属于比较复杂的情况;
4. RPG程序结合物理文件或逻辑文件、显示文件、以及ICF文件(即通讯文件)进行操作,这
种情况也比较复杂。中文写代码软件
当然,以上的情况只是平时使用的归纳,你也可以根据自己的实际需要结合各种情况,此处不再
深入探讨。
以下结合例子简单说说各种情况,假设以下源码文件存放的路径是库MYLIB、源物理文件
MYSRCPF
1. (1)做个简单的运算,比如AXB/(C-D)+E,有加减乘除等运算,代码如下:
.....CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+ +++
*************** Beginning of data
*************************************
C Z-ADD2 A 10
C Z-ADD10 B 20
C Z-ADD5 C 10
C Z-ADD1
D 10
C Z-ADD2 E 10
C Z-ADD0 TEM 30
C Z-ADD0 RST 30
C A MULT B TEM
C C SUB
D RST
2
C TEM DIV RST RST
C MVR TEM2 30
C RST AD
D
E RST
C RST
DSPLY .....CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComment s+
+++
C SETON LR
****************** End of data
**************************************** 【注】
(a) Z-ADD表明把Factor2处的变量值赋给Result处的变量,值得注意的是这两个变量都是数值型的,例如,"Z-ADD2 A 10 "表示把2赋给变量A,后面的"10"中的“1”表示变量A的长度是1,“0”表示小数位长度是0,即A是一个长度为
1整型变量;
(b) MULT表示做乘法运算,“A MULT B TEM”表示AXB,把结果赋给整型变量TEM;
(c) SUB表示做减法运算,“C SUB D RST”表示C-D,把结果赋给整型变量RST;
(d) DIV表示做除法运算,“TEM DIV RST RST”表示TEM/RST,把结果赋给整型变量RST;
(e) MVR表示做取余数运算,“MVR TEM2 30”表示把余数赋给整型变量TEM2;
(f) ADD表示做取加法运算,“RST ADD E RST”表示RST+E,把结果赋给整型
变量RST,这句一般写成“ADD E RST”也可以。
(g) DSPLY表示显示变量值,“RST DSPLY”表示显示变量RST的值;
(h) SETON表示给指示器置为*ON的状态,即'1',“SETON LR”表示把LR指
示器置为*ON,该句的意思表示最后一条记录,即程序结束。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论