【问题标题】:Dynamic FORMS for printing AFP用于打印 AFP 的动态表格
【发布时间】:2013-08-05 15:33:28
【问题描述】:

我正在尝试将 AFP 打印到 sysout,但 JCL 不知道(也不知道)FORMS 参数。我目前的解决方案是创建动态 JCL 并将其旋转到 INTRDR,但这是一个弱解决方案,因为该作业将不受我们的调度程序的控制......因此,异常结束或其他问题将在夜间被忽视运营商。

我开始设计一种通过 COBOL 程序打印 AFP 的方法。我使用 BPXWDYN 动态创建 SYSOUT DD,这允许我根据需要设置 FORMS 参数。但下一步是将 AFP 转储到该 DD。

我以为我可以从我的 COBOL 程序中动态调用 IEBGENER,但这会拉取 S0C4。

我可以在 COBOL 程序中将 AFP 记录从一个 DD 移动到另一个,但这将我限制为一个 LRECL...而且我在整个系统中对 AFP 有许多不同的 LRECL 定义,并且 COBOL 必须 在编译时知道 LRECL。

有什么想法吗?是否可以动态调用 IEBGENER 而得不到 S0C4?还有什么我没有想到的想法吗?

提前谢谢...

【问题讨论】:

    标签: cobol mainframe jcl


    【解决方案1】:

    你有没有想过写一个小的汇编程序?您可以在 BPXWDYN 调用中指定 LRECL,而 DCB 不需要指定 LRECL;它将在 OPEN 时从 DCB 参数中获取。模拟 IEBGENER 的程序非常简单。

    或者,查看使用 FIELDS=COPY 参数调用 SORT。 SORT 也不需要 LRECL。或者写一个 REXX 脚本。

    有很多方法可以做到这一点;你只需要看看 COBOL 框外。

    【讨论】:

    • a) 我们卑微的应用程序程序员只能在我的商店里使用 COBOL 应用程序,并且 b) 我的汇编器太生锈了,我需要几个月才能恢复速度。 REXX 在生产中被禁止使用。 SORT 不会写入动态 FORMS= 参数。但我明白你在说什么......调用 SORT 而不是 IEBGENER。这可能行得通!
    • 附注我的整个应用程序很快就会迁移到 Unix,所以这将是一段不愉快的回忆 :-)
    • 汇编就像骑自行车。它会很快回来。 :)
    • 你忘记了一部分......就像骑没有座位的自行车! :-)
    • S0C4 在 SORT 中。最后,我想我可以单独使用 SORT 将任何 AFP 数据集复制到 LRECL 30000 并使用它。我的 AFP 文件都没有比这更大的,这应该可以满足 COBOL 的需求。我的整个系统很快就会迁移到 Unix,所以我现在不想增加太多的复杂性。
    【解决方案2】:

    您的问题不是很清楚,但我想知道您是否应该考虑使用名为 APKACIF 的 ACIF 实用程序而不是 IEBGENR。该实用程序将合并您的数据并将 AFP FORMDEF、PAGEDEF 对象解析为数据集或打印流。

    【讨论】:

    • ACIF 用于将 AFP 流划分为资源、索引和数据。它不是用来打印的。即便如此,您的解决方案也没有解决问题:用于打印的动态 FORMS= 参数。让我知道不清楚的地方,我会尝试解决它以增加清晰度。
    • 其实ACIF可以用来打印,我们经常用它来传送AFP到网络浏览器。只是一个不同的“打印机”设备。您提到的那些“资源”恰好是与打印流相关的 formdef/pagedef 和 OGL。我发现不清楚的是您要达到的目的。 ACIF 可能很不合适,但不清楚您的目标是什么。照原样,您似乎从其他人那里得到了合适的答案。我不确定我是否可以添加任何内容。
    • 我不同意(你不能添加任何东西)。我很想听到更多关于使用 ACIF 进行打印的信息。 doone 到底是做什么的,它的用途是什么?
    • IBM 有一个安装在 Web 浏览器中的产品。您可以在 google 上搜索 IBM AFP Viewer Plug-In。这是讨论同一主题的链接:pic.dhe.ibm.com/infocenter/zos/v1r12/…
    • 我们使用 APKACIF 实用程序将 AFP 文档转换为打印流,将资源捕获在输出数据集中。然后,我们以二进制模式将文档通过 FTP 传输到工作站(或服务器),在该工作站(或服务器)中,在 Web 浏览器中安装了插件的用户可以提取文档并查看它们,就好像它们是打印在纸上一样。 APKACIF 还提供索引服务,以便您可以选择特定的文档进行查看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 1970-01-01
    相关资源
    最近更新 更多