首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

RPGLE程序返回值有关问题

2012-08-24 
RPGLE程序返回值问题当调用一个具有入口参数RPGLE程序的时候,在主调程序中CALL之后,我们给其传递的参数变

RPGLE程序返回值问题

当调用一个具有入口参数RPGLE程序的时候,在主调程序中CALL之后,我们给其传递的参数变量就有了值。

这些参数具有的值,是在被调程序传递回来的,也叫程序返回值;

如同DB2中存储过程里面的OUT参数(CREATE PROCEDURE PRO_CL(IN PARM1 CHAR(5),OUT PARM2 VARCHAR(100))...)

返回给过程调用程序的作用相同。

下面是一个例子,MAINCALL程序调用BECALL程序,将其返回值写入一个叫做CALLTST的物理文件里面:

MAINCALL :

 Line   ....+....1....+....2....+....3....+....4....+....5....+....6           序列        日期        时间      时间戳                      000001 2101200015  0001-01-01  00.00.00  0001-01-01-00.00.00.000000   000002 2101200016  0001-01-01  00.00.00  1999-09-29-12.34.56.000000   000003 2101200018  0001-01-01  10.10.10  1999-09-29-12.34.56.000000   000004 2101200019  2000-01-01  10.10.10  1999-09-29-12.34.56.000000   000005 2101200020  2000-01-01  10.10.10  1999-09-29-12.34.56.000000   000006 2101200021  2000-01-01  10.10.10  1999-09-29-12.34.56.000000   ****** ********  End of report  ******** 
第一行数据,添加序列值成功;

             这里报日期,时间,或者时间戳格式不对,所以只添加序列值。

第二行数据,添加序列和时间戳成功;

             确定时间戳格式无误。为了保证BECALL修改编译后没问题,这里CALL了一次,所以序列里面少了2101200017这个数字。

第三行数据,添加添加序列,时间,和时间戳成功;

             查了ILE RPG Reference,发现默认的时间*ISO格式的分隔符为点(.),而程序给的分隔符却是冒号(:)。

             在默认情况下,时间,日期,时间戳的格式都为*ISO格式,这也是程序内部格式。

             若程序中有不同的时间,日期格式的话,推荐使用默认格式*ISO。

第四行数据,调试完全通过,添加所有字段的数据;

第五、六行,call了两次。

热点排行