我正在编写一组程序来创建,编写和编译一组SQLRPGLE程序。我的程序开头的很多代码都在我的每个程序中重复,所以我把它放到参考源中是有意义的...它大致是形式
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 ......是吗?或者我在这里错过了一些更微妙的东西?
干杯
答案 0 :(得分:4)
我认为您的程序未编译的原因仅基于您提问中提供的示例,因为您的H和D规格与您的自由格式计算规格混合在一起。订单对RPG很重要,你不能搞砸。如果您复制的代码需要D和H规格,那么您有两个选择:
答案 1 :(得分:2)
我认为你可以,但为什么不添加/free
和/end-free
,以防将来出现混乱或问题?
答案 2 :(得分:2)
根据IBM ILE RPGLE语言参考(SC09-2508-08)
/ COPY或/ INCLUDE指令包含的任何语句都是 考虑固定语法计算。 / COPY中的任何自由格式语句 会员必须通过 / FREE和 / END-FREE 指令进行分隔。
另请注意:
自由格式计算块在您指定时结束 / END-FREE。
我的建议是尽可能避免/复印本。