RPG as400标题打印2x?

时间:2012-03-08 01:40:32

标签: ibm-midrange rpg

标题在报告的开头和结尾打印。我认为我的LR错了。有什么帮助吗?

ft1prlc    if   e             disk
fqsysprt   o    f  132        printer
d heading1        c                   'Salary Report'
d heading2        c                   'SSN      Last Name    Salary'
c                   read      t1prlc                                 lr
c                   dow       *inlr=*off
c                   except    printline
c                   read      t1prlc                                 lr
c                   enddo
oqsysprt   H                           2
O                                              Heading1
O          h                           2
O                                              Heading2 
oqsysprt   e            printline      2

2 个答案:

答案 0 :(得分:1)

对于RPG,记录类型“H”和“D”之间没有任何真正的区别。两者都处理相同。要了解为什么要获得两次标题行,您需要了解RPG逻辑循环。简而言之,逻辑循环从打印标题&在进行任何c-spec计算之前的细节线。然后它打印任何标题&每次通过逻辑循环后的细节线。所以我们有:

  1. 打印标题和详细信息
  2. 检查* INLR。如果* ON,则结束。
  3. 执行详细计算
  4. 返回第1步
  5. 为防止这种情况发生,您的F-spec应指定溢出指示符。那么你的O-specs应该使用相同的溢出指示器来调节。

答案 1 :(得分:0)

欢迎来到RPG!

您是否看到在特定条件下如何设置例外打印?仅当EXCEPT操作指定PRINTLINE时才会打印详细信息。如果你有另一个例外,PRINTLINE2,那么PRINTLINE就不会打印。

什么是调整你的标题线? 提示:'H'行以指标为条件,而不是像PRINTLINE这样的名称。