自1988年IBM®AS /400®平台问世以来,IBM一直在缓慢但肯定地将增强功能引入操作系统的打印功能。 这些增强功能中的许多增强功能都来得很慢(例如,仅在7.1版中,IBM才提供了将假脱机文件转换为PDF的免费方法),因此许多软件供应商已经在允许用户将报告转换为PDF文件或电子表格,并使用特殊形式。 许多标准的IBM i5 /OS®功能已经在改组中丢失了。 本文讨论了一些功能,这些功能可以节省金钱并帮助管理IBM i系统上的报告,而无需在其他产品上花费额外的钱。
IBM i中打印技术的商标
尽管IBM i平台已有20多年的历史了,但其打印基础并未改变。
早期属性和局限性
在1980年代,连接到AS / 400系统的最常见打印机类型是通过双轴(twinax)电缆直接连接的,或者是由诸如Client Access Express之类的仿真程序驱动的PC打印机。 关于这种连接的最酷的事情是,一旦建立连接,操作系统就可以自动配置打印机描述并创建相应的输出队列(OUTQ)。 通过这种方式连接了许多主力的“ greenbar”打印机。 如果用户希望任何图形形式出现在纸上,例如表格,徽标或签名,则他或她可以许可IBM的Advanced Function Print Utility,并将输出发送到安装了Intelligent Printer Data Stream(IPDS)功能的打印机。
用于打印的报告被指定为假脱机文件,并且这些文件保存在OUTQ中以等待最终打印。 如果未将OUTQ链接到打印编写器,则假脱机文件将无限期地保留在那里。 直到版本5发行版本4(V5R4)为止,没有简单的方法来备份OUTQ的内容而不必购买外部工具或编写精致的程序。
每个后台打印文件都充满了许多特征,这些特征决定了文本在页面上的显示方式。 这些属性是在创建打印机文件时指定的,每个假脱机文件均基于打印文件。 图1和图2显示了CHGSPLFA
命令的结果,该命令使您可以更改已创建的假脱机文件中的属性。
图1.更改假脱机文件属性
最常见的属性是OUTQ名称(将报告路由到其他打印机),页面范围,表单类型以及在打印报告后将报告副本保存在OUTQ中的功能。 但是,还有许多其他有用的属性。
图2.更改假脱机文件属性:其他属性
多年来的改进
多年来,激光技术和网络打印的进步为AS / 400输出提供了强大的替代方案。 IBM,HP和其他制造商推出了快速,高质量,支持图形的单页打印机。 这些打印机大多数都是考虑到PC输出而开发的,但是也可以从AS / 400系统接收数据流。 关键是假脱机文件属性可以利用打印机硬件本身的功能。
尽管没有自动配置选项,但是IBM提供了有关如何连接来自不同供应商的大量打印机的大量信息。 请参阅相关信息的链接,IBM文档上如何定义这些网络打印机的LAN连接的设备或通过远程OUTQ的方式。
假脱机文件功能在IBM i中是标准的
本部分讨论了有趣的打印功能,这些功能多年来一直是假脱机文件属性的一部分,并且可能已被IBMiSeries®客户忽略。 您可以使用更改假脱机文件属性( CHGSPLFA
)命令(从假脱机文件的列表中轻松选择)命令,或使用图形化的IBM i Navigator从突出显示的假脱机文件中选择属性 ,以交互方式更改这些属性。
通常,您可以在创建假脱机文件之前指定属性,方法是使用“用打印机文件覆盖”( OVRPRTF
)命令或使用“更改打印机文件”( CHGPRTF
)命令对打印文件进行永久更改。 如果在IBM提供的打印文件上使用CHGPRTF
命令可能会很危险,即使在版本6发行版1中,它也是最不友好的命令。 使用OVRPRTF
可使您在IBM i作业的整个生命周期内临时更改属性。 创建报告后,无法更改假脱机文件的许多属性,这是使用OVRPRTF
进行更改是一项重要技术的另一个原因。
双面打印
尽管无纸化是一种时尚,但仍有一些时候您无法避免硬拷贝。 如果您使用的打印机能够在纸张的两面进行打印,那么IBM i可以使用它,从而有可能将纸张使用量减少一半。 您可以通过以下方式之一激活此功能:
- 使用以下命令:
OVRPRTF FILE(print_file_name) DUPLEX(*YES)
- 将图3所示的
Print on both sides
参数更改为*YES
图3.更改双面打印参数以启用双面打印
- 如果使用IBM i Navigator,请导航至基本操作/打印机输出并更改特定报告的属性。 Layout选项卡具有选项, 如图4所示。
图4.通过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 forWindows®和IBM i(请参阅参考资料获得更多信息的链接)。
简而言之,过程如下:
- 从IBM i Access Windows版将AFP打印驱动程序安装到PC上。
- 使用任何文本处理器,创建一个描述表单的单页文档。
- 使用AFP驱动程序打印文档的副本,并将输出定向到扩展名为.oly的文件。
- 在IBM i机器上创建一个物理文件,该文件将用作最终表单覆盖的源。
- 将.oly文件传输到物理文件。
- 使用
CRTOVL
命令创建一个叠加层对象。 - 创建或覆盖打印机文件,该文件指定
*AFPDS
类型和与您创建的名称相匹配的前覆盖(FRONTOVL
)值。 根据文本的布局,您可能还需要覆盖默认的页面大小和字体特征。
尽管此技术允许您在不使用任何其他软件的情况下创建覆盖图,但是仍存在一些缺点。 您可以使用IBM i Navigator预览带有组合文本和覆盖图的假脱机文件,但是布丁中的证明是实际文档的打印时间。 叠加文档在IPDS打印机或诸如HP LaserJet打印机之类的打印机中具有打印机作业语言并且可以通过主机打印转换进行配置,看起来很棒。 其他打印机可能不那么合作。 由于覆盖层是静态的,因此可能有必要将报表的文本重新放置在适合覆盖层的行或框中的位置。 简而言之,请为此处的大量尝试和错误做好准备。
因为以这种技术使用覆盖物需要假脱机文件具有*AFPDS
数据类型,所以在创建假脱机文件后不能更改覆盖。 如果需要用于偶数页的单独覆盖,则有一个类似的参数( BACKOVL
)。 因此,使用覆盖可以节省预打印表格,但是仅当您在每个页面上都需要覆盖的情况下创建后台打印文件时,它们才有意义。
设置报告的到期日期
从早期开始,IBM i cleanup实用程序使指定工作日报告保留在系统上的日子变得很容易。 (如果您没有看到此信息,请输入命令Go Cleanup
进行检出。)从V5R4开始,还可以为其他后台打印文件指定到期日期。 添加的关键属性参数是EXPDATE
和DAYS
。 这些属性确定假脱机文件被视为过期的日期,并且可以根据安装策略安全地删除它们。 下一次执行CL命令DLTEXPSPLF
时,已过期的假脱机文件将被删除。
图5显示了如何将后台打印文件设置为在特定日期(在此示例中为2011年12月31日)到期。 请注意,该日期不得早于当前日期-不允许倒退时间。
图5.按日期设置文件过期
作为一种更灵活的选择,您可以指定假脱机文件在到期之前可以保留的天数。 在图6所示的示例中,必须将EXPDATE
值设置为*DAYS
并在DAYS
参数中输入DAYS
数。
图6.指定文件过期前的保留天数
通过在OVRPRTF
命令中指定天数,您将告诉系统从创建报表起将报表保留多少天。 如果通过更改现有的后台打印文件输入值,那么您将指定从那一刻起保留报告的天数。
要在IBM i Navigator中更改这些参数(在创建报告之后),显示假脱机文件的属性,然后单击Origin / Expiration选项卡, 如图7所示。
图7.在IBM i Navigator中操作到期设置
无论您如何设置到期日期,在您运行DLTEXPSPLF
命令之前都不会删除任何报告。 您可以手动或作为批处理程序的一部分运行此命令。 运行该命令的用户配置文件必须具有假脱机控制( *SPLCTL
)特殊权限,才能删除其他用户创建的文件。 DLTEXPSPLF
命令删除一个或所有辅助存储池中所有已过期的假脱机文件。 要免除文件的唯一方法是将EXPDATE
设置为*NONE
(默认值)。 当DLTEXPSPLF
命令运行时,它将生成一条消息,指示已删除的假脱机文件总数。
DLTEXPSPLF
是主动清除假脱机文件的有用工具。 但是,如果您要清理成千上万没有到期日期的现有假脱机文件,则让CL程序员设置例程将有助于收集所有假脱机文件标识属性,并使用保存的信息来更改EXPDATE
,这会有所EXPDATE
。
将假脱机文件移动到非现场存储或远程IBM i服务器
本部分提供了将假脱机文件移出本地IBM i服务器的技术。 无论假脱机文件本身的属性如何,这些功能都起作用。
将OUTQ的内容保存到磁带或保存文件
当IBM宣布V5R4将包括将OUTQ的内容保存和恢复到磁带上的方法时,AS / 400和iSeries社区集体欢呼。 这项添加工作早就应该进行了,这使那些在线维护重要历史报告的组织感到宽慰,如果这些历史报告被意外丢失,就很难轻易地重新创建。 如果系统发生灾难性的磁盘丢失,必须在所有输出队列中包括可能丢失所有假脱机文件的规定,这在灾难恢复计划中变得很头疼。 为了解决该问题,许多组织不得不购买实用程序或编写例程,以将报告中的文本复制到数据文件中。
好消息是此功能的实现非常简单。 新参数已嵌入“保存库”( SAVLIB
)和“保存对象”( SAVOBJ
)命令中。 该参数称为SPLFDTA
(假脱机文件数据),可以将其设置为*NONE
或*ALL
。 图8提供了一个示例。
图8.作为SAVLIB命令一部分的“保存假脱机文件数据”属性
如果要保存OUTQ,而SPLFDTA
值为*NONE
,则不会备份该OUTQ中的假脱机文件。 但是,如果将SPLFDTA
设置为*ALL
,则将保存该OUTQ中遇到的每个假脱机文件。
请注意,如果要执行完整的系统保存,或使用GO SAVE菜单中的选项20到23,则需要滚动浏览设置以指定应保存假脱机文件。 图9提供了此过程如何查找完整系统保存的示例(选项21)。 请注意,默认值始终为*NONE
。
图9.保存选项21设置
图10显示了屏幕的下半部分。
图10.保存选项21设置(屏幕的下半部分)
将假脱机文件保存到磁带或保存文件时,IBM i会跟踪其唯一标识符,以确保可以在系统上还原报告的重复副本。 您可以在“还原库( RSTLIB
)”和“还原对象( RSTOBJ
)”命令中看到此功能。 这些命令还包含一个名为SPLFDTA
的参数,但是在这种情况下,值只能为*NONE
或*NEW
(请参见图11 )。
图11. RSTLIB命令中的Restoreing Spool File参数
如果该值设置为*NONE
,则不会将任何后台打印文件还原到OUTQ。 但是,如果值为*NEW
,则系统会将保存介质上的报告的标识符与系统上的假脱机文件进行比较,并且仅还原服务器上不存在的假脱机文件。 不用说,如果要将包含OUTQ的库还原到其他服务器,则将还原所有假脱机文件。
此过程是归档仍然具有价值或法律相关性的旧报告的有用方法。 如果假脱机文件已保存到虚拟磁带或保存文件,则可以使用FTP作为另一种归档方法将它们发送到WindowsServer®计算机。
使用远程OUTQ将报告发送到另一台IBM i服务器
在上一节中,您了解了一种将报告卸载到外部介质的技术。 但是,有时您可能需要将报告传输到另一个IBM i系统,以便可以将其打印在那里。 如果远程系统具有用于标签,支票的专用打印机,或者仍然支持twinax设备,则这可能会起作用。
如果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帮助以使其正常工作。 试试看!
翻译自: https://www.ibm.com/developerworks/ibmi/library/i-powerprinting/index.html