RPG中定义的主要和完整程序文件有什么区别?
答案 0 :(得分:3)
主文件使用RPG逻辑循环来读取数据。完整的过程文件是您的逻辑控制对数据记录的访问的文件。到目前为止,完整的过程文件是最常见的用法。事实上,我认为自从上学以来我从未编写过使用逻辑循环的程序。我很少在野外看到它们。
RPG逻辑循环大致如下:
读取最后一条记录后,LR指示器将被设置并执行水平中断计算,然后程序结束。
答案 1 :(得分:1)
是的,RPG中完全不同。相同的数据库表,但程序逻辑的方式不同。
这个选择是RPG编程的核心和灵魂。因此,请先阅读RPG Programmer's guide。
如果您不熟悉iSeries编程(以及您知道的其他问题;-),请使用完整的程序文件。这与其他语言和系统类似。
更好的是,使用最新版本的ILE RPG。这支持您从其他语言(过程,函数,局部变量和自由格式)知道的所有概念。较旧的版本也非常好,可以做它们的制作,但它们的概念更具异国情调。
答案 2 :(得分:1)
'P'rimary文件有点类似于SQL FROM
表。使用SQL,在运行UPDATE
或DELETE
语句时,无需明确说明何时从表中读取下一行;您只需要说明要使用WHERE
处理哪些行,以及可能对列采取什么操作。您无法直接控制底层逻辑中磁盘I / O的时序; RPG(和SQL)会自动处理这个问题。
但是也可以使用SQL的FETCH
语句对单个行处理进行更直接的控制。您可以将RPG'F'ull-procedural文件视为SQL FETCH
ed表。使用'F'ull-procedural processing,您需要编写操作(动词),例如READ
或WRITE
,以便从记录移动到记录。
从这个意义上说,从RPG'P'rimary文件的旧文化转移到后来的RPG'F'ull-procedural文件就像是在存在像SQL这样更现代的东西之前进入更原始的数据库交互形式。 / p>
然而,RPG语言的并发和后来的持续进步同时允许RPG演变为今天的完全自由形式的语言,与其早期的根源没有必要的视觉关系仅仅是'R'eport'P'rogram'发电机。今天,它被IBM上的许多系统程序员有效地使用,我可能比C更常用。(C仍然有一些显着的优点,例如,它具有高级优化器,不能用于其他语言,位级操作,如班次,等等;它取决于RPG是否合适所需的功能。在RPG中肯定可以更快地开发。)
要理解'P'rimary(以及'S'econdary和related)文件的用法,有必要了解RPG“Cycle”的工作原理。如果使用'F'ull-procedural文件,您可以有效地编写自己的'循环'版本。你获得的回报是一个“循环”,不会以任何方式限制你;逻辑正是你编码的方式。