Ibm midrange 我可以在rpgleref源中使用/free而不使用/end free吗?

Ibm midrange 我可以在rpgleref源中使用/free而不使用/end free吗?,ibm-midrange,rpgle,rpg,Ibm Midrange,Rpgle,Rpg,我正在编写一组程序,用于创建、编写和编译一组SQLRPLE程序。我的程序开始时的很多代码在我的每个程序中都是重复的,所以我把这些代码放到参考源代码中是有意义的。。。它的形式大致相同 H some h specs D a load of d specs /free my nice free formatted code that I use everywhere 然后我的元程序出现并添加了大量代码。在这一点上,我的程序看起来像这样 /copy *l

我正在编写一组程序,用于创建、编写和编译一组SQLRPLE程序。我的程序开始时的很多代码在我的每个程序中都是重复的,所以我把这些代码放到参考源代码中是有意义的。。。它的形式大致相同

    H some h specs
    D a load of d specs

    /free
       my nice free formatted code that I use everywhere
然后我的元程序出现并添加了大量代码。在这一点上,我的程序看起来像这样

    /copy *libl/qrpgleref,myRefPgm

      lots of nice rpg and sql

    /end-free
当我编译它时,它不工作-我认为这是因为程序不能正确匹配/free和/end-free。。。是这样吗?还是我错过了一些更微妙的东西


干杯

我想你可以,但是为什么不加上
/free
/end free
,以防将来出现混乱或问题呢?

我想你可以,但是为什么不添加
/free
/end free
,以防将来出现混乱或问题呢?

我认为您的程序没有编译的原因,仅仅基于您问题中提供的示例,是因为您的自由格式计算规范中混合了H和D规范。秩序对RPG很重要,你不能搞砸它。如果复制的代码需要D和H规格,则有两个选项:

  • 为H、D和C(自由格式)规范创建单独/复制源成员。然后将它们复制到RPG程序的正确位置
  • 创建*模块或*SRVPGM,然后仅将原型的D规格复制到RPG程序中。仅根据您在问题中提出的内容,我认为最好的解决方案是创建一个服务计划。为了更容易地将服务程序绑定到RPG程序,我喜欢创建一个绑定目录,然后在我的RPG程序中放置一个H规范:H BNDDIR(library/BNDDIR)。这样,我仍然可以在PDM中使用普通的14进行编译

我认为,您的程序之所以没有编译(仅基于您问题中提供的示例),是因为您的自由格式计算规范中混合了H和D规范。秩序对RPG很重要,你不能搞砸它。如果复制的代码需要D和H规格,则有两个选项:

  • 为H、D和C(自由格式)规范创建单独/复制源成员。然后将它们复制到RPG程序的正确位置
  • 创建*模块或*SRVPGM,然后仅将原型的D规格复制到RPG程序中。仅根据您在问题中提出的内容,我认为最好的解决方案是创建一个服务计划。为了更容易地将服务程序绑定到RPG程序,我喜欢创建一个绑定目录,然后在我的RPG程序中放置一个H规范:H BNDDIR(library/BNDDIR)。这样,我仍然可以在PDM中使用普通的14进行编译

根据IBM ILE RPGLE语言参考(SC09-2508-08)

包含在/COPY或/INCLUDE指令中的任何语句都是 考虑固定语法计算。任何自由格式的声明都是副本 成员必须由/FREE和/END-FREE指令分隔

另请注意:

指定时,自由形式计算块将结束 /无终端


我的建议是尽量避免抄袭。

根据IBM ILE RPGLE语言参考(SC09-2508-08)

包含在/COPY或/INCLUDE指令中的任何语句都是 考虑固定语法计算。任何自由格式的声明都是副本 成员必须由/FREE和/END-FREE指令分隔

另请注意:

指定时,自由形式计算块将结束 /无终端


我的建议是尽量避免抄袭。

是的,多余的/免费的不会有什么坏处,但是缺少的/自由的意愿。是的,多余的/免费的不会有坏处,但是缺少的/自由的意愿。