RPGLE 编程
文章平均质量分 74
304的的哥
一个被产品经理耽误的,摄影师
展开
-
第一个RPGLE程序
2012年7月10日开始学习RPGLE编程。一般来说,当我们去接触一门程序语言的时候,第一个练习都会写一个“hello world”程序,然而我的第一个RPGLE程序却不是!佳姐的PPT对于RPGLE程序做了一个简短的介绍,熟悉RPG语言规范表,数据类型与定义,C表中数据的使用,之后,让我们试着去写一个RPGLE程序。之前AS400学习接近尾声的时候,红姐给我们演示了一个访问PF文件和原创 2012-07-14 22:34:06 · 2848 阅读 · 2 评论 -
嵌入SQL中(DB2)异常处理WHENEVER语句的使用
WHENEVER语句用于异常处理,这里的异常包括:ERROR、EXCEPTION、WARNING。这个异常的处理,主要是检查SQLSTATE和SQLCODE这两个保存SQL运行状态的值。语法格式为:EXEC SQL WHENEVER condition actionEND-EXECWHENEVER语句的作用域:一个程序中可以出现多个WHENEVER语句,若程序翻译 2013-01-24 16:20:36 · 3626 阅读 · 0 评论 -
rpgle中引用完整性的实现
rpgle编程中,也经常会碰到这样的问题,向B物理文件中添加数据的时候,一定要先检查A物理文件中是否有其相关数据的存在;若不存在,则不允许添加,若存在于A中,则可以向B物理文件中添加数据。这种检查操作,叫做引用完整性。引用完整性可理解为一个表中的数据依赖于另外一个表,也就是子表中的数据依赖于父表中的数据而存在。下面是用rpgle去实现引用完整性的代码片段: C原创 2012-10-28 21:00:56 · 1489 阅读 · 0 评论 -
使用max函数转换rpgle中readpe操作码
前几天写了一个维护交易,有这样的一个需求:在增加数据的时候,每条数据都有序号,这个序号值由程序生成,非柜员输入;生成规则是,根据键值排序,类似这样的数据:actyp actno seqno ...------ ------- ------- ------ 001 a001 1 ...001 a00原创 2012-10-28 09:49:41 · 1490 阅读 · 0 评论 -
RPGLE程序返回值问题
当调用一个具有入口参数RPGLE程序的时候,在主调程序中CALL之后,我们给其传递的参数变量就有了值。这些参数具有的值,是在被调程序传递回来的,也叫程序返回值;如同DB2中存储过程里面的OUT参数(CREATE PROCEDURE PRO_CL(IN PARM1 CHAR(5),OUT PARM2 VARCHAR(100))...)返回给过程调用程序的作用相同。下面是一个例子,MA原创 2012-07-28 17:43:55 · 1563 阅读 · 0 评论 -
RPGLE操作Keyed Logical File
在AS400里面,数据存放在物理文件中,逻辑文件可以实现对数据的筛选,功能类似视图。如果我们使用create view命令,在AS400里面建立视图,其本质上还是在创建逻辑文件,只不过这个过程有I5/OS完成。当我们使用create index命令建立索引的时候,还是在创建逻辑文件,只不过这个逻辑文件有K值,这就是Keyed Logical File。下面是一个对Keyed Logic原创 2012-07-26 15:42:17 · 2018 阅读 · 0 评论 -
RPGLE中获取日期时间值
获取时间和日期值,使用oracle的话,直接:select sysdate from dual就可以取到了,或者获取时间戳timestamp,然后使用字符串截取函数substr截取日期或者时间部分。RPGLE中,有两种方法获取时间和日期值。1.使用系统函数%XXX,2使用TIME操作码,实例如下: FMOVETST01 UF A E DISK原创 2012-07-24 17:25:07 · 2251 阅读 · 0 评论 -
数据域(DATA AREA)的使用
在AS400中,数据域是类型为*DTAARA的目标,永久存储在硬盘上面,由用户创建和删除,也可以视为单一字段。从操作系统的角度讲,当我们发出:CRTDTAARA DTAARA(TOTDTA) TYPE(*DEC) LEN(20)这条语句的之后,系统就开辟一个占用20个字符的连续空间;从RPGLE程序的角度看,数据域就似一个缓冲池,我们可以用来临时存储程序中需要使用到的数据,下面是实例。原创 2012-07-17 23:16:50 · 5441 阅读 · 0 评论 -
ILE RPG中嵌入SQL
在之前培训的时候,佳姐提了点RPG中嵌入SQL语言,当时试着在RPG程序里面写了一个查询语句,编译老是通不过;由于知识有限,所以当时也就放着了。在大学学习《数据库系统概念》这门课的时候,了解了点嵌入SQL,但只限于一些理论的规范和语法而已。这周一直在看RPG中嵌入SQL的东西,有了一点基础,所以昨天下午试着去写了一个,用到了一些DB2和RPG相关知识。边学边做,这个过程,确实有点漫原创 2012-08-03 09:25:38 · 1707 阅读 · 0 评论 -
从AS400上导出RPGLE程序代码
打开IBM Personal Communications1.定位需要导出的RPGLE程序1.1打开我们要导出的RPGLE程序,这是为了在第二个步骤的时候方便设置参数。1.2或者你也可以不用打开你的RPGLE程序,如果你熟悉你的库和里面的文件的话。2.设置导出属性菜单栏中:操作—>接受来自主机的文件,进入下面的窗口:图12.1 在“库/文件(成员)”下的空白处按原创 2012-07-16 08:46:27 · 2796 阅读 · 0 评论 -
不小心被物理文件的Record Address Type闹了1个小时
今天给同事调试程序,在检查完RPGLE语法和逻辑没有问题之后,进行CRTBNDRPG。之后就出现了一个怪异的问题。 M e s s a g e S u m m a r y Msg id Sv Number Message text原创 2012-07-15 21:33:38 · 1879 阅读 · 0 评论 -
RPGLE中嵌入SQL时的RNF7049错误处理
这个错误来自于程序中在处理NO DATA的GOTO语句,信息如下:The GOTO branches from within a subroutine to another subroutine; the specification is ignored.ILERPG处理NO DATA如下: * 没数据则关闭游标 C/EXEC原创 2013-01-22 16:06:06 · 1530 阅读 · 0 评论