如何从SYSOUT中删除DFSORT消息

时间:2015-04-07 20:40:05

标签: sorting cobol mainframe dfsort

DFSORT有几条消息,它们由COBOL程序内部使用,具有多个排序操作。我想删除那些DFSORT消息并仅保留来自COBOL程序的消息。

2 个答案:

答案 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
    /*