免费在线资源学习RPGIV

时间:2012-08-28 13:35:01

标签: rpgle

我想学习一些RPGIV。我对这门语言了解不多。我正在寻找一个免费的在线资源,到目前为止我刚刚找到了我需要付费的网站。

我想学习的原因是,我们使用的是调用Web服务的RPG函数。它给出了一般的内部服务器错误500.所以我想学习RPGIV所以我可以提出正确的问题,并解决这个问题。

1 个答案:

答案 0 :(得分:5)

这是一个非常广泛的问题。如果你能解释为什么RPG IV以及你将用它做什么,那么答案的用处会增加。

与Java或C ++不同,RPG IV没有任何基于PC的编译器。 RPG IV仅在IBM中端系列计算机上运行,​​因此有必要访问一个以试用任何代码。 Holger Scherer has a public machine available;可能还有其他人,但这是一个薄弱的市场。

一般来说,学习RPG IV是不够的。为了能够在中端计算机上使用,您还需要至少了解DDSCL。除此之外,您还应该学习一些基本的工作管理概念,例如查找编译器列表中的哪个输出队列,如何将作业提交到批处理(以及“作业”是什么!)以及如何使用库列表。我也强烈建议您学习ILE。内置数据库是DB2变体;一个初级程序员不会关心创建数据库,而是了解它是如何构建的,各个表如何相互关联。这完全取决于数据库,设计它的业务。作为程序员,您将使用embedded SQL,因此请查看该手册以及SQL programmingSQL Reference手册。

修改

如果您正在阅读它,RPG IV并不难理解。写它是更多的工作:-)而且,听起来好像你有一个本地资源,可以引导你通过一些可能看起来很奇怪的部分。我的直接建议是将RPG IV程序调试并观察来回的内容。 (STRDBG)将这与网络服务作者提供的任何示例进行比较(在Java中,可能?)并查看HTTP请求是否以某种方式格式错误。

由于这个问题是关于学习RPG而不是调试500错误,我会专注于学习方面。如果您需要有关调试的帮助,请启动其他问题并发布相关代码。获取代码的方法是在RPG IV程序上DSPPGM并查找包含它的模块。显示模块的详细信息(选项5)并跟踪源文件,库和成员名称。然后,在源文件和库上WRKMBRPDM,在右上角的“位置到”字段中输出源成员名称。按Enter键,该源成员将位于列表的顶部。使用选项5浏览源成员。

非常简单,F规范描述了程序将使用的表。 RPG使用包含READWRITEEXCEPTUPDATE等操作代码的文件。如果程序使用嵌入式SQL,则除了RPG使用的表之外,还可能存在SQL使用的表。您将在EXEC SQL语句中看到指定的内容。

D-specifications描述了所有工作变量,包括单个变量,数组和数据结构。

C规范是进行实际计算的地方。这些被认为是使用/自由形式计算但您可能会遇到它们的人弃用。固定形式的C-specs是columnnar;特定列意味着非常具体的事情。最重要的列是因子1,操作码,因子2和结果。此样式的典型计算可能是BUFFERLEN ADD 1 BUFFERLEN,它将变量BUFFERLEN递增1.

固定格式C-specs的变体是扩展因子2.相同的计算看起来像这个(empty factor 1) EVAL BUFFERLEN = BUFFERLEN + 1。当你在代码中看到它时,这将更有意义。

自由格式计算根本不关心列。上述计算看起来像BUFFERLEN += 1;BUFFERLEN = BUFFERLEN + 1;

O规范描述了内部描述的输出是如何产生的。这通常用于打印报告,但您可能会遇到这里描述实际文件输出的情况。

子程序不言自明。子程序可能需要一些解释。这些基本上是函数调用。 PR规范描述原型,因此编译器将能够键入检查变量,PI规范描述实际过程。在过程中声明的变量(在D-specs上)是该过程的本地变量。您可能会遇到未包含在RPG程序源中的过程,而是绑定到服务程序中。您将能够在DSPPGM

中看到这些内容