мейнфрейм - НАБОР ДАННЫХ SHECICS.ZEUSBANK.TXNOFFLD NOT FOUND

У меня есть последовательный набор данных в виде этого

0000000520161103152815SHE0009 P1234561234567898765411112222        120AA

Последние 2 байта (позиции 71 и 72) являются отдельными CH либо AA, AB, BA, либо пустыми. Я пытаюсь отсортировать этот ввод и создать отчет по разделам AA, AB, BA и игнорировать запись, в которой нет AA, AB или BA. Каждая строка каждого раздела показывает имя кассира (SHE0009 выше, позиция 23) и платеж (120 выше, 11 байт до AA, позиция 60). В последней строке каждого раздела суммируются все платежи из этого раздела.

введите здесь описание изображения

Вот мой код

 //SHE0008 JOB                                                          
 //SORTSTEP EXEC PGM=SORT                                               
 //SYSOUT   DD SYSOUT=*                                                 
 //SYSPRINT DD SYSOUT=*                                                 
 //SORTIN   DD DSN='SHECISC.ZEUSBANK.TXNOFFLD',DISP=SHR                 
 //SORTOUT  DD DSN=SHE0008.TESTT,                                       
 //          DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(10,5),RLSE)            
 //SYSIN  DD *                                                          
   SORT FIELDS=(71,1,CH,A,72,1,CH.A)                                    
   INREC BUILD=(71,1,72,1,23,8,60,11,BI,TO=ZD,LENGTH=11)                
   OUTFIL REMOVECC,                                                     
          SECTIONS=(1,1,2,1                                             
          HEADER3=(1:C'PAYMENTS BY TELLER',/,X,/,                       
                   1:C'TRANSFER TYPE:    ',1,1,2,1,/,X,/,               
                   1:C'TELLER',10:C'PAYMENT',/,                         
                   1:C'------',10:C'-------'),                          
          TRAILER3=(X,/,                                                
     1:C'BRANCH TOTAL: ',16:TOT=(11,11,BI,EDIT=(SIIIITTT),SIGNS=(,-)))),
          TRAILER1=(X,/,1:C'GRAND TOTAL: ',TOT=(11,11,BI,               
                         EDIT=(SIIIITTT),SIGNS=(,-))),                  
         OUTREC=(1:7,4,CH,LENGTH=7,10:11,4,BI,EDIT=(SIIIITTT),          
                         SIGNS=(,-))                                    
 /*                                                                     

Я получаю сообщение об ошибке SORTIN - DATA SET SHECISC.ZEUSBANK.TXNOFFLD NOT FOUNDI - STEP WAS NOT EXECUTED. Может ли кто-нибудь понять, почему мой набор данных не может быть найден, и, если возможно, это код, который дает желаемый результат. Спасибо.


person Tri Nguyen    schedule 19.11.2017    source источник


Ответы (2)


Имя файла SHECICS.ZEUSBANK.TXNOFFLD, которое вы написали SHECISC.ZEUSBANK.TXNOFFLD.

Вы неправильно написали первую часть «SHECICS», что может быть проблемой.

person Giorgio    schedule 19.11.2017
comment
О, это помогает. Большое спасибо. - person Tri Nguyen; 19.11.2017

Попробуйте удалить кавычки вокруг имени набора данных.

то есть изменить

//SORTIN   DD DSN='SHECISC.ZEUSBANK.TXNOFFLD',DISP=SHR

to

//SORTIN   DD DSN=SHECISC.ZEUSBANK.TXNOFFLD,DISP=SHR

Рассуждение: -

Если кавычки ограничивают имя набора данных в операторе JCL DD, обработка JCL не может выполнить проверку синтаксиса оператора, и SMS отклоняет ввод на основе анализа имени набора данных. SMS не позволяет каталогизировать имя, потому что цитируемые наборы данных не могут управляться через SMS.

SMS является системным управляемым хранилищем, хотя я считаю, что результат был бы таким же во времена, предшествующие SMS. Если я правильно помню, у меня также была нечетная лента, созданная с помощью DSN=' ' (количество пробелов), которая могла бы обмануть немало людей, если бы они попытались прочитать ленту, т.е. кавычки позволили вам использовать соответствующие имена наборов данных.

Следующее может представлять интерес: -

Имена наборов данных< /а>

Наборы символов — Таблица 2. Специальные символы, используемые в синтаксисе

person MikeT    schedule 19.11.2017
comment
Я пробовал в любом случае, с кавычками и без, набор данных все еще не найден. Но если я найду его в разделе 3.4, он все еще там. - person Tri Nguyen; 19.11.2017
comment
Когда я перешел на DD SYSOUT=* DD DSN=SHECISC.ZEUSBANK.TXNOFFLD,DISP=(MOD,CATLG). Там написано DEFINE - RESOURCE NOT PROTECTED and ALLOCATION FAILED DUE TO DATA FACILITY SYSTEM. Как я могу это исправить? - person Tri Nguyen; 19.11.2017
comment
Лучший способ исправить это — подумать о том, что вы пропустили, когда вставляли два сообщения. то есть ICH408I и IEF344I. Научившись использовать их, вы устраните 99 % всех проблем, с которыми вы столкнетесь, используя так называемую RTFM. Во-первых, вы должны найти This error occurs when RACF® detects an unauthorized attempt to define a RACF-protected resource. Действие системы, которое более красноречиво, так что посмотрите на него. etc (Обратите внимание, что это предназначено, чтобы помочь вам, пожалуйста, рассматривайте это как таковое) - person MikeT; 20.11.2017