我正在尝试将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?还有其他想法吗?
提前致谢...
答案 0 :(得分:3)
您是否考虑过编写一个小型汇编程序?您可以在BPXWDYN调用中指定LRECL,并且DCB不需要指定LRECL;它会在OPEN时从DCB参数中获取。模拟IEBGENER的程序非常简单。
或者,查看使用FIELDS = COPY参数调用SORT。 SORT也不需要LRECL。或者写一个REXX脚本。
有很多方法可以做到这一点;你只需要看看COBOL盒子外面。
答案 1 :(得分:0)
你的问题不是很清楚,但我想知道你是否应该考虑使用名为APKACIF而不是IEBGENR的ACIF实用程序。该实用程序将合并您的数据并将AFP FORMDEF,PAGEDEF对象解析为数据集或打印流。