RPG语言(REPORT PROGRAM GENERATOR)
Report Program Generator 处理报表编程语言
IBM的AS/400小型机上的高级语言.REPORT PROGRAM GENERATOR,程序运行效率很高.
RPG起始是一个非常简单的面向事务处理的编程语言, 用被储存在系统IBM709和360型号的20针打孔卡中的数据而生成报表.
AS400的基本特点
TIMI结构:保护用户应用系统的投资
集成性:系统总体性能最优,兼容性最好
可靠性:是UNIX的4.5倍,是NT服务器的40倍
安全性:C2级系统认证(商业领域最高的安全性) 唯一可以防病毒、防黑客的系统
扩展性:保证用户业务扩展需求
开放性:支持各种通用的通信方式与协议,支持各种客户端连接(WINDOWS,UNIX,DOS) ,支持WIN2000、WIN NT应用
易用性:容易使用、容易操作、容易维护
低拥有成本:来自TIMI、集成性、可靠性、安全性、易用性
AS400结构总括
As400的库类似于windows上的文件夹,但他与windows有些区别。
主要的层次关系是:库-〉对象-〉成员
其最上一层是一个叫做QSYS的库,这也是唯一一个特殊的库,因为它的下面仍然可以包含其他的库,而除此之外的库下都不能再有库。也就是说,库只有一个层次,不象windows下面的文件夹是可以多层存在的。
紧跟着库下来的一层是对象。一般来说,对象是一个可以实际应用和运行的。例如:编译后的数据文件,打印文件和程序。当然,对象也不仅仅包括这些,还有其他属性的对象,最常见的就是QPRGSRC/QDDSSRC/QDSPSRC,这些名字都是预定俗成的名字,当然也可以改成其他的名字。这几个对象是作为物理源文件属性的。
对象的下面一层叫做成员。最常见的成员类型包括 PF LF DSPF RPG PRTF。这些类型的成员是我们在实际编程中经常打交道的,因为我们所作的编码工作就是针对这几个类型的成员进行的。成员编译后形成相应的对象。如PF/LF —>可以存储数据的物理文件和相应的逻辑文件;RPG —>可执行的程序,等等。编译系统根据文件不同的类型编译后会形成不同的对象类型。
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表(计算说明表): 描述在数据上作的计算和计算次序,也可以用于控制某些输入输出操作;其信息包括对操作说明控制级和条件指示器,程序中应用的字段和常数,被处理的操作以及处理之后是否设置结果指示器等,这也是我们编码主要处理的部分,这里实现了程序的处理功能。
AS400下RPG编程的常用命令
EDTLIBL 编辑系统的库列表
STRPDM 启动管理工具(对库,对象,成员进行管理操作的工作)
STRSDA 启动SDA(画面和菜单的可视化操作工具)
WRKLIBPDM (LIBNAME) 直接对库操作
WRKMBRPDM (LIB/OBJ MBR) 直接队成员进行操作
STRISDB 单步调试命令
STRDBG DEBUG命令
ENDDBG ENDDBG 命令
RUNQRY FILENAME数据文件查询命令,查看里面的数据
UPDDTA FILENAME 数据库文件更新命令,可以对数据文件中的数据进行更新操作
CLRPFM FILENAME 删除数据文件中的全部数据
CALL PGMNAME (‘’PARM1 ‘PARM2’ ……..) 调用程序的命令
来源:CSDN
作者:eastyell
链接:https://blog.csdn.net/eastyell/article/details/103584071