IBM i RPG Code to procedure

时间:2014-06-18 22:46:10

标签: ibm-midrange db2-400 rpgle

我正在看一个RPG计划。有一些像这样的子程序:有没有工具 哪个会创建一个程序,可以在单独的过程中使用?

C                   Eval      FinQty# = 0                           
C                   Eval      OdCom# = OhCom#                       
C                   Eval      OdOrd# = OhOrd#                       
C     OdKey         Setll     OeOrd1                                
C     OdKey         Reade     OeOrd1                                
C                   Dow       %eof = *off                           
 *                                                                  
C                   If        OdPrt# = OdAls# and                   
c                             %subst(odprt#:1:3) <> 'FRT'           
C                   Eval      FinQty# += OdQty#                     
C                   Endif                                           
 *                                                                  
C     OdKey         Reade     OeOrd1                                
C                   Enddo                                           
 *                                                      

2 个答案:

答案 0 :(得分:7)

是的,有工具。我不会用它们。

可以说,子过程的主要好处是局部变量和参数化接口。没有自动化工具能够梳理出界面,并确定哪些全局变量应该被制作成局部变量是一项艰巨的任务。

对于我的钱,所有自动化工具都将把语法从EXSR转换为CALLP。 'subprocedure'仍在使用全局变量,界面仍然对程序员隐藏。有什么意义?

答案 1 :(得分:1)

我特别喜欢Linoma的RPG向导 http://www.linomasoftware.com/products/rpgtoolbox/rpgwizard

Arcad有另一个工具,但它有更多的功能,更多的是$$$。 http://www.arcadsoftware.com/products/arcad-transformer-ibm-i-refactoring-tools/

请注意,Linoma会将语法从内部子程序转换为内部程序;但它是一个从外部移动程序的手动过程。

我认为Arcard的工具集可以构建外部程序。