强大的打印功能

始终免费的 IBM i 功能

过去几年中,客户一直在集中精力将其 IBM i 打印转变为 “无纸化” 流程。然而,某些时候旧式的硬拷贝仍然必不可少。本文将介绍多年来用于管理或增强已经内置于操作系统中的假脱机文件(报告)的一些功能,了解如何在不购买任何外来软件或实用工具的前提下,从纸张和预先打印的表格方面节约资金。

Eduardo Delgado, 顾问, IBM

Eduardo Delgado 担任 IBM 系统工程师已有 14 年的时间,他是加利福尼亚州 Santa Monica 办公室的一名 AS/400 和 iSeries 专家。他为 IBM 客户提供支持,也为 IBM 市场营销代表提供技术支持。自 1994 年以来,他一直以自由顾问的身份为依靠 AS/400 和 iSeries 平台运转其业务的客户提供支持。他协助 IT 人员进行系统操作与管理,并为硬件和软件升级提供规划和安装支持。



2012 年 6 月 21 日

自从 1988 年全面启动 IBM® AS/400® 平台以来,IBM 始终在缓慢而又坚定地增强操作系统的打印特性。许多此类增强的推出都较为缓慢(举例来说,IBM 在 7.1 版本中才提供了将假脱机文件转为 PDF 的免费方法),因此许多软件供应商都通过自己的产品填补空缺,使用户能够将报告转为 PDF 文件或者电子表格,从而允许用户使用特殊表单。在这种混乱的情况下,许多标准 IBM i5/OS® 功能逐渐被人淡忘。本文将介绍在不额外购买其他产品的前提下能够节约资金、帮助管理 IBM i 系统中报告的一些特性。

IBM i 中的打印技术的商标

尽管 IBM i 平台已有二十余年的历史,但其打印技术基础尚未发生变化。

早期属性和限制

20 世纪 80 年代,与 AS/400 系统连接的最常见打印机类型就是同轴电缆,或者由 Client Access Express 等模拟器程序驱动的 PC 打印机。这种连接类型最大的优点在于:一旦连接完成,操作系统即可自动配置打印机描述,创建对应的输出队列 (OUTQ)。许多承担主要工作的打印机都是通过这种方式连接的。如果用户希望将任何内容以图形化的方式显示在纸面上,例如表格、徽标或者签名,则可以购买 IBM 的 Advanced Function Print Utility 许可,将输出发送到安装了 Intelligent Printer Data Stream (IPDS) 特性的打印机。

需要打印的报告被指定为假脱机文件,这些文件会将保留在 OUTQ 中,等待最终打印。如果 OUTQ 未连接到打印编写器,假脱机文件就会无限期地保留在这个位置。在 Version 5 Release 4 (V5R4) 之前,一直无法在不购买外来实用工具或者编写复杂程序的前提下备份 OUTQ 的内容。

每个假脱机文件都包含大量字符,以确定文本在纸上的显示方式。这些属性是创建打印机文件时指定的,每个假脱机文件都以一个打印文件作为依据。图 1图 2 显示了 CHGSPLFA 命令的结果,该命令允许更改已经创建的假脱机文件的属性。

图 1. 更改假脱机文件属性
显示用于更改假脱机文件属性的窗口的图片

点击查看大图

图 1. 更改假脱机文件属性

显示用于更改假脱机文件属性的窗口的图片

最常用的属性是 OUTQ 名称(用于将报告路由到另外一台打印机)、页面范围、表格类型以及在报告打印之后在 OUTQ 中保存一份报告副本的能力。然而,还有其他许多有用的属性可供利用。

图 2. 更改假脱机文件属性:其他属性
显示用于更改其他假脱机文件属性的窗口的图片

点击查看大图

图 2. 更改假脱机文件属性:其他属性

显示用于更改其他假脱机文件属性的窗口的图片

多年来的增强

多年来,最新技术和网络打印的发展为 AS/400 输出带来了强大的替代方案。IBM、HP 和其他制造商推出了单张纸打印机,这种打印机速度快、质量高,同时还支持图形。大多数此类打印机在开发时都以 PC 输出为目标,但也可以接收 AS/400 系统的数据流。重点在于,假脱机文件属性可以利用打印机硬件本身的功能。

尽管并无自动配置选项,但 IBM 提供了有关如何连接到来自多家厂商的多种打印机的信息。请参见 参考资料 部分的 IBM 文档连接,了解如何将这些网络打印机定义为 LAN 连接设备或通过远程 OUTQ 连接的设备。


IBM i 标准提供的假脱机文件特性

这一节将讨论多年来一直作为假脱机文件属性一部分、但往往被 IBM iSeries® 客户所忽视的重要打印特性。您可以利用 Change Spool File Attributes (CHGSPLFA) 命令,以交互式的方式更改这些属性(可以轻而易举地从一个假脱机文件列表中进行选择),也可以使用图形化的 IBM i Navigator,从突出显示的假脱机文件中选择 Properties

通常情况下会使用 Override with Printer File (OVRPRTF) 命令在创建假脱机文件之前 指定属性,或者使用 Change Printer File (CHGPRTF) 命令对打印文件进行永久更改。如果在 IBM 提供的文件上使用,CHGPRTF 命令可能较为危险,即便是在 version 6 release 1 中,这也是一条对用户最不友好的命令。使用 OVRPRTF 允许您在 IBM i 作业的执行过程中临时更改属性。在报告创建之后,假脱机文件的许多属性都无法再进行更改,这也是再次证实了使用 OVRPRTF 进行更改这项技术的重要性。

双面打印

尽管无纸化办公极为盛行,但有些时候硬拷贝仍然必不可少。如果您使用的打印机能够在纸张双面打印,那么 IBM i 可以利用这种功能,从而将纸张消耗量减半。可以通过以下方法之一来激活此特性:

  • 使用以下命令:
     OVRPRTF  FILE(print_file_name)  DUPLEX(*YES)
  • 图 3 中的 Print on both sides 参数更改为 *YES
    图 3. 更改 Print on both sides 参数以启用双面打印
    显示如何更改 Print on both sides 参数以启用双面打印的图片

    点击查看大图

    图 3. 更改 Print on both sides 参数以启用双面打印

    显示如何更改 Print on both sides 参数以启用双面打印的图片
  • 如果使用 IBM i Navigator,那么可以导航到 Basic Operations/Printer Output,更改特定报告的属性。Layout 选项卡包含这些选项,如 图 4 所示。
    图 4. 通过 IBM i Navigator 更改假脱机文件属性
    显示如何通过 IBM i Navigator 更改假脱机文件属性的图片

该属性最大的优点在于,如果将它设置为 *YES,但是打印机不支持双面打印功能,则会忽略该设置,页面会照常按单页打印。您不必担心打印出来的报告中仅仅存在奇数页。

在纸张的每一面上打印多页

另外一个非常有趣但或许有些令人误解的属性是 Pages per side 或者 MULTIUP 参数,看起来像是它们允许减页,允许在纸张的一面上打印两页甚至是四页。这项特性仅适用于安装了 IPDS 特性的打印机。即便可以使用这种类型的打印机,最好在正常工作之前先进行测试。某些报告在压缩之后效果不是很好。可以通过以下方法之一来激活此特性:

  • 指定以下命令:
     OVRPRTF  FILE(print_file_name)  MULTIUP(2 or 4)
  • Pages per side 参数更改为 2 或者 4
  • 如果使用了 IBM i Navigator,那么可以导航到 Basic Operations/Printer Output,更改特定报告的属性(请参见 图 4)。

快速处理和脏页形成了叠加

有些第三方软件供应商提供了自己的软件,允许 IBM i 用户创建嵌入在报告每一页中的表格。这是降低购买用于发票、信头和其他静态图像等预先打印表格成本的一种常见方法。这些产品或许非常便捷,但基本上都是收费的。如果以成本节约为重,那么可以寻找一种仅使用 System i Access for Windows® 和 IBM i 来创建静态表格的方法,或者叠加 方法(参考资料 部分提供了包含更多信息的链接)。

简而言之,其流程如下:

  1. 通过 IBM i Access for Windows 为您的 PC 安装 AFP 打印驱动程序。
  2. 利用任何文本处理程序,创建一个描述表格的单页文档。
  3. 使用 AFP 驱动程序打印一份该文档,将输出指向扩展名为 .oly 的文件。
  4. 在用作最终表格叠加来源的 IBM i 机器上创建一个物理文件。
  5. 将 .oly 文件传输到物理文件。
  6. 使用 CRTOVL 命令创建一个叠加对象。
  7. 创建或者覆盖一个打印机文件,指定 *AFPDS 类型,以及正面叠加 (FRONTOVL) 值,使之与您创建的名称匹配。根据文本的版式,您可能还需要覆盖默认页面大小和字体特征。

尽管这项技术允许在不使用其他任何软件的前提下创建叠加,但是也存在一些缺陷。您可以使用 IBM i Navigator 预览假脱机文件及混合文本和叠加,但真实效果只在实际打印文档时才能看到。在 IPDS 打印机或者 HP LaserJet 等整合了打印机作业语言并且可以使用 Host Print Transform 配置的打印机上,叠加文档的效果非常出色。其他打印机可能无法达到同样的出色效果。由于叠加是静态的,因此可能有必要重新调整报告的文本,使之保持在叠加线或者叠加框之内。简而言之,应该做好进行多次测试、反复出错的心理准备。

通过这种技术使用叠加要求假脱机文件使用 *AFPDS 数据类型,因此在创建假脱机文件之后无法再更改叠加。如果需要为偶数页使用独立的叠加,可以利用另外一个类似的参数 (BACKOVL)。使用叠加可以节约预先打印的表格,但是,只在创建每一页中都需要使用叠加的假脱机文件时,这种做法才是有意义的。

为报告设置过期日期

自最初问世以来,IBM i 清理实用工具就允许您以便捷的方式指定在系统中保留作业日志报告的天数。(如果您还没有查看过此类信息,可以输入 Go Cleanup 命令来查看这类信息。)从 V5R4 起,您可以为其他假脱机文件指定过期日期。新增的重要属性参数包括 EXPDATEDAYS。这些属性根据安装策略,确定一个假脱机文件被视为过期并且可以安全删除的日期。在下一次执行 CL 命令 DLTEXPSPLF 时,会删除超过过期日期的假脱机文件。

图 5 展示了如何将一个假脱机文件设置为在特定日期过期(本例中是 2011 年 12 月 31 日)。请注意,日期不得早于当前日期 — 不允许回溯到以前的日期。

图 5. 设置文件过期日期
展示如何将一个文件设置为在给定日期过期的图片

作为一种更灵活的替代方法,您可以指定假脱机文件在过期之前可以保留的天数。在 图 6 所示的例子中,您必须将 EXPDATE 值设置为 *DAYS,并在 DAYS 参数中输入天数。

图 6. 指定文件在过期之前可以保留的天数
展示如何指定文件在过期之前可以保留的天数的图片

通过在 OVRPRTF 命令中指定天数,即可告知系统从报告创建之时起,将报告保留多长时间。如果在更改现有假脱机文件时输入该值,则指定的是从更改之时起将报告保留多长时间。

要在 IBM i Navigator 中更改这些参数(在报告创建之后),可以显示假脱机文件的参数,随后单击 Origin/Expiration 选项卡,如 图 7 所示。

图 7. 在 IBM i Navigator 中操作过期设置
展示如何在 IBM i Navigator 中操作过期设置的图片

无论如何设置过期日期,在运行 DLTEXPSPLF 命令之前不会删除任何报告。您可以手动运行此命令,也可以将它作为某个批处理程序的一部分运行。运行命令的用户配置文件必须具有假脱机文件控制 (*SPLCTL) 特权,必须具备删除其他用户创建的文件的权限。DLTEXPSPLF 命令将删除一个或多个辅助存储池中超过过期日期的所有假脱机文件。使某个文件免于被删除的惟一方法就是将 EXPDATE 设置为 *NONE(默认设置)。运行 DLTEXPSPLF 命令时,它将生成一条消息,指示已删除的假脱机文件的总数。

DLTEXPSPLF 是主动清理假脱机文件的一种有用工具。然而,如果您需要清理数以千计的没有过期日期的假脱机文件,那么最好请一位 CL 程序员设置一个例程,收集所有假脱机文件标识属性,并使用已保存的信息更改 EXPDATE


将假脱机文件转移到站点外的存储或远程 IBM i 服务器

这一节介绍将假脱机文件移到本地 IBM i 服务器以外的技术。这些特性的工作与假脱机文件本身的属性无关。

将 OUTQ 的内容保存到磁带或者保存文件

在 IBM 宣布 V5R4 将包含利用磁带保存和恢复 OUTQ 内容的方法时,AS/400 和 iSeries 社区一片欢呼。这是一项众望所归的功能,许多组织都在线维护着一些重要的历史报告,而此类报告一旦意外丢失,就无法轻松重建,这项功能缓解了他们的压力。灾难恢复规划中的一个常见难题是,如果系统发生灾难性的磁盘故障,则有可能损失所有输出队列中的全部假脱机文件,而灾难恢复规划必须考虑到这种情况。为了解决这样的问题,许多组织都必须购买实用程序或者编写例程,将报告中的文本复制到数据文件之中。

好消息是,这项特性的实现非常容易。Save Library (SAVLIB) 和 Save Object (SAVOBJ) 命令中嵌入了一个新参数,这个参数称为 SPLFDTA (Spool File Data),可以将它设置为 *NONE 或者 *ALL图 8 给出了一个示例。

图 8. SAVLIB 命令中的 Save Spool File Data 属性
显示 SAVLIB 命令中 Save Spool File Data 属性的图片

如果您正在保存 OUTQ,SPLFDTA 的值是 *NONE,则不会备份 OUTQ 中的任何假脱机文件。如果将 SPLFDTA 设置为 *ALL,则会保存 OUTQ 中遇到的所有假脱机文件。

请注意,如果您正在执行完整的系统保存,或者使用 GO SAVE 菜单中的第 20 个到第 23 个选项,则需要滚动浏览设置,指定保存假脱机文件。图 9 提供了一个示例,展示了完整系统保存中的这个过程(第 21 个选项)。请注意,默认值一直是 *NONE

图 9. 第 21 个保存选项的设置
展示第 21 个保存选项的设置的图片

图 10 展示了屏幕的下半部分。

图 10. 第 21 个保存选项的设置(屏幕的下半部分)
展示第 21 个保存选项的设置的图片

将假脱机文件保存到磁带或者保存文件时,IBM i 会跟踪其惟一标识符,确保可在系统上恢复报告的重复副本。您可以在 Restore Library (RSTLIB) 和 Restore Object (RSTOBJ) 命令中看到这个功能。这些命令还包含一个 SPLFDTA 参数,但在本例中,该参数的值只能是 *NONE 或者 *NEW(请参见 图 11)。

图 11. RSTLIB 命令中的 Restoring Spool File 参数
展示 RSTLIB 命令中的 Restoring Spool File 参数的图片

如果将该值设置为 *NONE,则不会将任何假脱机文件恢复到 OUTQ。然而,如果该值为 *NEW,那么系统会将保存介质中的报告标识符与系统中假脱机文件的标识符进行对比,仅恢复服务器中未出现的假脱机文件。当然,如果您正在将包含 OUTQ 的库恢复到另外一台服务器,那么所有假脱机文件都将得到恢复。

这个过程是存档仍然有价值或者在法律上仍然需要保留的旧报告的一种有用方法。如果将假脱机文件保存到虚拟磁带或者保存文件中,则可以使用 FTP 将它们发送到 Windows Server® 机器,以此作为另外一种存档方法。

使用远程 OUTQ 将报告发送到另外一台 IBM i 服务器

在上一节中,您看到了将报告分载到外部介质的技术。然而,在某些时候,您可能需要将报告传输到另外一个 IBM i 系统,以便在那个系统中打印报告。如果远程系统具有专用的标签、支票打印机或者仍然支持同轴设备,则可能会出现这种需求。

如果 IBM i 服务器位于包含其他 IBM i 服务器的网络之中,那么将假脱机文件从原始系统发送到其他系统就非常容易。要点是在您的系统上设置一个远程 OUTQ,将其指向远程服务器的地址和有效 OUTQ。IBM 具体地描述了这种技术:参考资料 中提供了一个链接。

在远程 OUTQ 处于活动状态时,会将其中的所有假脱机文件都发送到远程站点。保留副本的惟一方法就是将 Save 参数设置为 *YES。这会在本地系统的 OUTQ 中保留一份副本。远程服务器会查看报告的送达情况,但报告不再拥有原始的创建日期和时间戳。此时会发送一条有用的操作消息 (TCP3602),向目标服务器发出警告,表示入站假脱机文件已经发送。


结束语

本文介绍的特性均为 IBM i 操作系统中存在已久的特性,可以利用这些特性来节约纸张、表格和磁盘空间方面的成本。尽管其中有些特性实现起来比其他特性难度更大,但它们都具有两项共同特点:(1) 它们是免费包含在 IBM i 服务器之中的;(2) 由于所有这些特性都内置于 IBM i 操作系统之中(IBM i Access 提供相关帮助),因此拥有有效的 IBM 软件支持的组织可以通过 Supportline 协助来使之发挥作用。立即动手尝试吧!

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=IBM i
ArticleID=819702
ArticleTitle=强大的打印功能
publish-date=06212012