3

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

4

2 回答 2

2

你有三个选择。

使用 OUTDD(ddname) Enterprise COBOL 编译器选项更改用于 DISPLAY 输出的 DDName。

如您所见,使用 DFSPARM 来更改 DDName SORT 在从程序调用(调用)时用于其消息(如在 COBOL 中使用 SORT 或 MERGE 动词时)。

使用 SORT-MESSAGE 专用寄存器。

如果您的 SORT 是独立的,您还可以使用 OPTION 控制语句更改 SORT 消息文件,OPTION MSGDDN=ddname. DFSPARM 是允许为调用的 SORT/MERGE 提供 OPTION 的方法。

您还有可以在运行单元期间使用 SYSOUT 的语言环境,用于接收来自语言环境的消息(运行时错误、异常终止、请求的信息)。有一个 MSGFILE(ddname) 运行时选项可以让 LE 使用不同的 ddname。

解决问题的最简单方法是使用 OUTDD(ddname) 编译器选项。然后您不必担心 DFSORT(或不同站点的 SyncSORT)或语言环境。

您可以使用 MSGPRT 选项抑制所有 DFSORT 消息。您可以通过为每次调用指定带有 FREE=CLOSE 的 DFSPARM DD 来区别对待 DFSORT 的多次调用。

于 2015-04-08T17:29:44.343 回答
0

COBOL 程序(使用内部排序)的 DFSORT 消息可以通过在 JCL 程序的 exec 步骤中指定 ddname MSGDDN 来重定向。例如

    //DFSOUTDD DD DISP=SHR,DSN=XXX.DFSOUT
    //DFSPARM DD *
      MSGDDN=DFSOUTDD
    /*

于 2015-04-08T08:39:06.850 回答