DFSORT有几条消息,它们由COBOL程序内部使用,具有多个排序操作。我想删除那些DFSORT消息并仅保留来自COBOL程序的消息。
答案 0 :(得分:2)
您有三种选择。
使用OUTDD(ddname)Enterprise COBOL编译器选项更改用于DISPLAY输出的DDName。
使用您发现的DFSPARM,在程序中调用(调用)消息时更改其消息的DDName SORT用法(如在COBOL中使用SORT或MERGE谓词时)。
使用SORT-MESSAGE特殊寄存器。
如果您的SORT是独立的,您还可以使用OPTION控制语句OPTION MSGDDN=ddname
更改SORT消息文件。 DFSPARM是允许为调用的SORT / MERGE提供OPTION的方法。
对于来自语言环境的消息(运行时错误,异常终止,请求的信息),您还可以在运行单元中使用SYSOUT语言环境。有一个MSGFILE(ddname)运行时选项可以让LE使用不同的ddname。
解决您问题的最简单方法是使用OUTDD(ddname)编译器选项。然后,您不必担心DFSORT(或其他站点的SyncSORT)或语言环境。
您可以使用MSGPRT选项禁止所有DFSORT消息。您可以通过为每次调用指定一个FREE = CLOSE的DFSPARM DD来区别对待DFSORT的多个调用。
答案 1 :(得分:0)
可以通过在JCL中的程序的exec步骤中指定ddname MSGDDN来重定向COBOL progrom(使用内部排序)的DFSORT消息。 e.g。
//DFSOUTDD DD DISP=SHR,DSN=XXX.DFSOUT //DFSPARM DD * MSGDDN=DFSOUTDD /*