Как удалить сообщения DFSORT из SYSOUT
Есть несколько сообщений от DFSORT, который внутренне используется программой COBOL, которая имеет несколько операций сортировки. Я хотел бы удалить эти сообщения DFSORT и сохранить только те из программы COBOL.
2 ответа
У вас есть три варианта.
Используйте параметр OUTDD(ddname) Enterprise COBOL для изменения DDName, используемого для вывода DISPLAY.
Используйте DFSPARM, как вы обнаружили, чтобы изменить использование DDName SORT для своих сообщений, когда он вызывается (вызывается) из программы (как при использовании глаголов SORT или MERGE в COBOL).
Используйте специальный регистр SORT-MESSAGE.
Если ваш SORT был автономным, вы также можете изменить файл сообщений SORT с помощью OPTION Control Statement, OPTION MSGDDN=ddname
, DFSPARM - это способ предоставления опции OPTION для вызванного SORT/MERGE.
У вас также есть языковая среда, которая может использовать SYSOUT во время выполнения модуля для сообщений из языковой среды (ошибки времени выполнения, аварийные завершения, запрошенная информация). Существует опция времени выполнения MSGFILE(ddname), чтобы LE использовал другое ddname.
Самое простое решение вашей проблемы - использовать опцию компилятора OUTDD (ddname). Тогда вам не нужно беспокоиться о DFSORT (или SyncSORT на другом сайте) или о языковой среде.
Вы можете подавить все сообщения DFSORT с опцией MSGPRT. Вы можете обрабатывать несколько вызовов DFSORT по-разному, указав DFSPARM DD с FREE=CLOSE для каждого вызова.
Сообщения DFSORT программы COBOL (с использованием внутренней сортировки) можно перенаправить, указав имя ddname MSGDDN на этапе выполнения программы в JCL. например
//DFSOUTDD DD DISP=SHR,DSN=XXX.DFSOUT //DFSPARM DD * MSGDDN=DFSOUTDD /*