仅针对特定设置使用另一个打印文件覆盖外部打印文件

Overriding external print files with another print file for only specific settings

我们正在将旧的 O-spec RPG 程序转换为使用外部打印机文件。作为一家公司,我们有一些标准程序和程序,允许用户在 运行 程序时通过电子邮件发送或打印特定的假脱机文件,并设置双面打印、份数等。这些程序执行各种覆盖在生成的假脱机文件上更改 OUTQ、份数等。我们还将打印机文件覆盖为我们定义的标准打印文件,如下所示:

OVRPRTF FILE(MYOUTPUT) TOFILE(PRTF132);

这对旧的 O 规范非常有效。然而,现在我们正在过渡到外部打印机文件,我们 运行 遇到了假脱机文件生成的问题。很难描述具体问题,因为输出文件一团糟。线路相互覆盖,路由数据没有按预期更改等。我已经使用 TOFILE 将其追踪到批发覆盖,因为我可以 运行 像这样覆盖:

OVRPRTF FILE(MYOUTPUT) LPI(8) CPI(13.3) OUTQ(MYOUTQ);

当我这样做时,一切都打印出来了。

最终,我希望能够仅使用 PRTF132 覆盖文件中的特定覆盖,例如 LPI、CPI 和 OUTQ 值。类似于以下内容:

OVRPRTF FILE(MYOUTPUT) FROMFILE(PRTF132) LPI CPI OUTQ;

我知道这不是真正的语法。我试过搜索文档和谷歌搜索,但一无所获。这是可能的还是我需要推出另一个解决方案?

the output file is just a mess. Lines are overwriting each other...

您是在行打印的开头使用 SPACEB() 还是 SPACEA()?如果不是,写多了怎么解释

Ultimately, I would like the ability to use only specific overrides from the PRTF132...

我建议你

  1. 使用 API QDFRPRTA 检索打印机文件属性。在此处查看文档:Retrieve Printer File Attributes (QDFRPRTA) API
  2. 使用检索到的属性执行 OVRPRTF FILE(MYOUTPUT) LPI(&LPI) CPI(&CPI) OUTQ(&MYOUTQ)

请 post 提供您的 PRTF 的源代码,以便我查看并在我的系统上进行测试。