2,如何编写RPG程序(1)

2022-07-14 20:15:19   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《2,如何编写RPG程序(1)》,欢迎阅读!
编写,程序,如何,RPG

2. 写给刚接触RPG的朋友 --- 如何编写RPG程序(1

这部分我也循序渐进的讲解如何RPG里头更项的含义。

先说说RPG一般用来做什么吧,举例说:

1. 整个RPG程序不包含任何外部程序,只是做些简单的数学运算,或者对数据区、DATAQ非文件目标进行操作,这属于相对最简单的情况;

2. RPG程序对物理文件或者逻辑文件进行读、写、更新、删除操作;

3. RPG程序结合物理文件或逻辑文件、以及显示文件进行操作,这属于比较复杂的情况; 4. RPG程序结合物理文件或逻辑文件、显示文件、以及ICF文件(即通讯文件)进行操作,这种情况也比较复杂。

当然,以上的情况只是平时使用的归纳,你也可以根据自己的实际需要结合各种情况,此处不再深入探讨。

以下结合例子简单说说各种情况,假设以下源码文件存放的路径是 MYLIB、源物理文件MYSRCPF

1. (1)做个简单的运算,比如AXB/(C-D)+E,有加减乘除等运算,代码如下: Code:

.....CL0N01N02N03Factor1+++OpcdeFactor2

+++ResultLenDHHiLoEqComments++*************** Beginning of d*********************************

C Z-ADD2 A 10

C



[Ctrl+A Select All] 【注】

(a) Z-ADD表明把Factor2处的变量值赋给Result处的变量,值得注意的是这两个变量都是数值型的,例如,"Z-ADD2 A 10 "表示把2赋给变量A,后面的"10"中的1”表示变量A的长度是10”表示小数位长度是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,该句的意思表示最后一条记录,即程序结束。

F3保存,假设该文件名是MYRPG,所在的库是MYLIB,源物理文件是MYSRCPF

程序写好之后,应该进行编译了。用WRKMBRPDM FILE(MYLIB/MYSRCPF),找到刚才的文MYRPG,输入14,按F4,进入“Create RPG/400 Program (CRTRPGPGM) 画面,参数:

(i) Program 生成的目标名(假如为MYOBJ (ii) Library 生成的目标存放的库(假如为MYLIB

参数填好之后,按确认键即进行编译,如果程序没错,则生成目标文件,假设为MYOBJ 在命令行输入CALL MYLIB/MYOBJ,这时命令上应该显示RST的值。 (【注】目标即可执行文件)

AS400下编程的文件

1、文件类型

这里所说的文件主要是指物理文件、逻辑文件、显示文件和打印文件。物理文件和逻辑文件主要是存储数据的文件;显示文件主要是用于画面显示格式和属性的;打印文件主要是控制打印文件的布局和显示格式的。这些文件都是在RPG程序中的F表中进行声明的,供程序中数据处理和存储使用。利用通过RPG程序从多个物理文件中取得相应的数据项显示到画面上,也可以通过RPG程序将用户在画面上输入的数据存储到物理文件中。物理文件中的数据是实际客观存在的,而显示文件和打印文件中的数据只是在程序运行时才有存在,程序退出后其中的数据也相应的消失。

2、文件使用

RPG程序中对所用的文件进行声明以后,这些文件中的字段名称都可以作为已知变量使用。比如当对一个文件进行读操作后,该字段名称中的值即为文件当前读到记录的相应的字段的值,RPG程序中就可以通过引用该字段名称来获得当前记录的相应字段的值。如果要想文件中写入数据,只需要在RPG程序中,将想要写入的数值传送到相应的字段名称中,然后执行文件的写操作,就可以生成一条新的纪录。更新文件也是一样,不同的就是执行文件的更新操作。显示文件和打印文件的使用也类似,都是将想要的数值传入相应文件的相应字段中,然后执行相应的操作即可。

主要的几种说明表(H, F, I, E, C)

RPG语言中对作用不同的部分分别用开头一列字母来划分,也可以称为XX表或XX部。 RPG语言中包括H表、 F表、 E表、 I表、 C表、 L表、 O表。 但是现在经常用到的主要是H表、 F表、 E表、 I表、 C表。

H表(控制说明标):提供你的程序和系统的信息,其中可说明程序的名字、程序所用日期的格式和是否应用交替核对排序和文件翻译。(可选)


F表(文件说明表):描述程序应用的所有文件信息,包括文件名、如何应用文件、文件记录的大小、文件应用的输入输出设备、文件是否被外部指示器控制等。

E表(扩展说明表):描述所有在程序中应用的记录地址文件、表文件和矩阵文件的信息;包括记录地文件、矩阵或表的名字,表或矩阵数据记录的入口数目,表或矩阵的入口数目及长度。 I表(输入说明表):可以定义数据结构,说明输入文件的记录和字段的一些信息。

C表(计算说明表) 描述在数据上作的计算和计算次序,也可以用于控制某些输入输出操作;其信息包括对操作说明控制级和条件指示器,程序中应用的字段和常数,被处理的操作以及处理之后是否设置结果指示器等,这也是我们编码主要处理的部分,这里实现了程序的处理功能。

using as400大哥的这篇文章里,我们建立了一个成员

我要提一下的是,在按F6创建成员是,source type一栏我们写RPG 然后按回车,进入编辑界面

5下空格,输入C、然后按F4,在屏幕下方出现一个输入界面。 在这里边我们就很容易找到每个代码所对应的位置。

其中factory12里边是我们所操作的变量,他俩中间是用来操作变量的命令。 在往后的result里边是操作后的结果,然后的len是长度,然后的d是小数位数。 需要注意的是,一般来收,数字在输入的时候是要求右对齐的,字符左对齐。 输入完按回车,把光标移到0001.00处输入I按回车即可进入下一行。

还有一点,最后那一行的LR是对应EQ的,编辑完后按F3,在出现的界面中输入Y保存。

然后按照using as400大哥的操作你就可以完成第一个RPG程序了。


本文来源:https://www.dywdw.cn/722c3b878762caaedd33d4a3.html

相关推荐
推荐阅读