RPG中的主要和完整程序文件

时间:2010-02-02 10:10:42

标签: ibm-midrange

RPG中定义的主要和完整程序文件有什么区别?

3 个答案:

答案 0 :(得分:3)

主文件使用RPG逻辑循环来读取数据。完整的过程文件是您的逻辑控制对数据记录的访问的文件。到目前为止,完整的过程文件是最常见的用法。事实上,我认为自从上学以来我从未编写过使用逻辑循环的程序。我很少在野外看到它们。

RPG逻辑循环大致如下:

  1. 读取文件中的记录。
  2. 执行等级中断计算规范
  3. 将数据从文件区域移动到 您的RPG计划中的字段
  4. 执行详细程度计算 功能
  5. 回到开头。
  6. 读取最后一条记录后,LR指示器将被设置并执行水平中断计算,然后程序结束。

答案 1 :(得分:1)

是的,RPG中完全不同。相同的数据库表,但程序逻辑的方式不同。

这个选择是RPG编程的核心和灵魂。因此,请先阅读RPG Programmer's guide

如果您不熟悉iSeries编程(以及您知道的其他问题;-),请使用完整的程序文件。这与其他语言和系统类似。

更好的是,使用最新版本的ILE RPG。这支持您从其他语言(过程,函数,局部变量和自由格式)知道的所有概念。较旧的版本也非常好,可以做它们的制作,但它们的概念更具异国情调。

答案 2 :(得分:1)

'P'rimary文件有点类似于SQL FROM表。使用SQL,在运行UPDATEDELETE语句时,无需明确说明何时从表中读取下一行;您只需要说明要使用WHERE处理哪些行,以及可能对列采取什么操作。您无法直接控制底层逻辑中磁盘I / O的时序; RPG(和SQL)会自动处理这个问题。

但是也可以使用SQL的FETCH语句对单个行处理进行更直接的控制。您可以将RPG'F'ull-procedural文件视为SQL FETCH ed表。使用'F'ull-procedural processing,您需要编写操作(动词),例如READWRITE,以便从记录移动到记录。

从这个意义上说,从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文件,您可以有效地编写自己的'循环'版本。你获得的回报是一个“循环”,不会以任何方式限制你;逻辑正是你编码的方式。