2.10.2 - Exemplo 2
Exemplo2:
Agora vamos supor que sem querer e sem prestar muita atenção durante o copia e cola o JOB00000 ficou assim
//JOB00000 JOB 'EXECUTA HELLO WORLD'
// NOTIFY=&SYSUID
//JOBLIB DD DSNAME=USER.BUGA.CARGAS,DISP=SHR
//EXECUTA EXEC PGM=HELLO000
//
Após a submissão foi detectado um ERRO de JCL, mas onde ? Segue a listagem emitida para esse job:
JESMSGLG
18.32.58 JOB05879 ---- WEDNESDAY, MARCH 12, 2014 ----
18.32.58 JOB05879 IRR010I USERID BUGA001 IS ASSIGNED TO THIS JOB.
------ JES2 JOB STATISTICS ------
4 CARDS READ
17 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
JESJCL
1 //JOB00000 JOB 'EXECUTA HELLO WORLD'
2 // NOTIFY=&SYSUID
3 //JOBLIB DD DSNAME=USER.BUGA.CARGAS,DISP=SHR
4 //EXECUTA EXEC PGM=HELLO000
JESYSMSG
STMT NO. MESSAGE
2 IEFC605I UNIDENTIFIED OPERATION FIELD
Agora ficou fácil, o erro esta na linha 2 conforme informado no file JESYSMSG que de acordo com o file JESJCL contem
2 // NOTIFY=&SYSUID
ué, mas não vejo erro nessa linha... aqui é o pulo do gato, a linha com erro é a anterior !
//JOB00000 JOB 'EXECUTA HELLO WORLD'
ué, mas também não vejo erro nessa linha !
Procure melhor !
Bom deixa eu explicar, para ter uma linha como a 2 sem nada escrito como nome ou ele é um componente de algo similar a um cartao SYSIN DD * (in-stream) ou é uma continuação da linha anterior, ficou mais claro ?!?
Para ser continuacao da linha anterior essa deve terminar com uma virgula e não com espaço, colocando a virgula no local correto ficamos :
//JOB00000 JOB 'EXECUTA HELLO WORLD',
// NOTIFY=&SYSUID
//JOBLIB DD DSNAME=USER.BUGA.CARGAS,DISP=SHR
//EXECUTA EXEC PGM=HELLO000
//
que "roda" sem problemas !
Last updated