用于打印AFP的动态FORMS

时间:2013-08-05 15:33:28

标签: cobol mainframe jcl

我正在尝试将AFP打印到sysout,但JCL不知道(并且无法知道)FORMS参数。我目前的解决方案是创建动态JCL并将其旋转到INTRDR,但这是一个弱解决方案,因为作业不会受到我们的调度程序的控制......因此,夜间不会注意到异常终止或其他问题运算符。

我开始编写一种通过COBOL程序打印AFP的方法。我使用BPXWDYN动态创建SYSOUT DD,这允许我设置我想要的FORMS参数。但下一步是将AFP倾销到那个DD。

我以为我可以从我的COBOL程序中动态调用IEBGENER,但这会产生一个S0C4。

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

有什么想法?是否可以动态调用IEBGENER而不是获取S0C4?还有其他想法吗?

提前致谢...

2 个答案:

答案 0 :(得分:3)

您是否考虑过编写一个小型汇编程序?您可以在BPXWDYN调用中指定LRECL,并且DCB不需要指定LRECL;它会在OPEN时从DCB参数中获取。模拟IEBGENER的程序非常简单。

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

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

答案 1 :(得分:0)

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