ibm-midrange - 您可以使用 RPG 将附加行附加到打印机文件吗?
问题描述
有没有办法在打印机文件的末尾附加额外的行?我用来创建打印机文件的大多数技术(RPG O 规范,写入外部定义的文件)导致每个程序只有一个输出文件。我想在一个程序或过程中写一些行,然后让另一个程序或过程打开文件并写额外的行。
具体的用例是有一个“订单标题”,这对于多个报表是相同的,下面的行项目数据是报表特定的。我想我可以将这一切保存在一个大型程序中,报告变体位于单独的 RPG 子例程中,但我喜欢从多个不同程序调用通用标题的模块化,并且将来可能还会添加其他报告。
系统的体系结构可能会阻止这种类型的技术,因为我不清楚如何保持文件打开并传递它,或者打开已经放入出队列的关闭文件。我过去使用过 CPYSPLF,虽然我可能可以使用它来读取之前写入的内容,但创建文件、关闭它、将其复制到 QTEMP、读取它、然后将其重新写入另一个文件似乎毫无意义,并且然后删除第一个打印机文件。也许还有其他一些我没有想到的方式。
解决方案
是的,这当然是可行的...
Modern Way
利用LIKEFILE
关键字将打开的打印机文件作为参数传递。见https://www.itjungle.com/2012/03/21/fhg032112-story01/
老派方式
创建一个发出OVRPRTF FILE(PRNTFILE) SCHEDULE(*FILEEND) SHARE(*YES)
然后调用PGM1和PGM2的CL程序;PGM1 需要让 PRTF 保持打开状态,所以不要在 PGM1 中设置 *LR。
这是一篇文章: https ://www.itjungle.com/2011/05/11/fhg051111-story02/
推荐阅读
- javascript - 使用 babel-node 和 babel 7 构建 nuxtjs
- gpu - 我可以将辅助 gpu 添加到裸机服务器吗
- swift - 向 UIBarButtonItem 动态添加动作 Swift 4
- php - PHP 代码执行,但没有任何内容插入数据库
- c# - 使用 FTP 服务器上目录中的文件名填充 ComboBox
- c# - 使用 MVVM 切换视图的最佳方式
- mysql - mysql drop 分区不起作用
- php - 如何通过 php 将这些数据从 mysql 插入到我的网页中?
- pandas - 绘图时如何在matplotlib中自定义x轴
- javascript - JSTree上下文菜单不显示