■  JES2とJES3の違いについて


1)JES3では、ジョブのスタート前にデータセットの割り振りを行い、 割り振れない場合は「CANCEL DSP(=JCL ERROR)」 となり、ジョブの実行を行いません。

2)JES2では、ジョブのスタート後にデータセットの割り振りを行うので、 ジョブの実行途中でデータセットが割り振れない場合は 「CANCEL DSP(JCL ERROR)」ではなく、 「JOB FAILED」することになります。(実行途中にジョブが終了)

<実行サンプル>(AFILEが存在しない時)
//job JOB MSGCLASS=A,CLASS=A,MSGLEVEL=1
//STEP1 EXEC PGM=IEFBR14
//SYSUT DD DUMMY
/*
//STEP2 EXEC PGM=IEFBR14
//SYSUT2 DD DSN=AFILE,DISP=SHR
/*
 実行すると
<JES2実行結果> 
hh.mm.ss JOB0nnnn \HASP165 job ENDED AT JESxx - JCL ERROR CN(INTERNAL)
***←Notifyです
 
hh.mm.ss JOBnnnn ---- THURSDAY,  21 OCT 2001 ----
hh.mm.ss JOBnnnn  IRR010I  USERID job  IS ASSIGNED TO THIS JOB.
hh.mm.ss JOBnnnn  ICH70001I job LAST ACCESS AT hh:mm:ss ON THURSDAY, OCTOBER 21, 2001
hh.mm.ss JOBnnnn  \HASP373 job STARTED - INIT A000 - CLASS A - SYS SYa
hh.mm.ss JOBnnnn  IEF403I job - STARTED - TIME=hh.mm.ss
hh.mm.ss JOBnnnn  IEF453I job - JOB FAILED - JCL ERROR - TIME=hh.mm.ss
hh.mm.ss JOBnnnn  \HASP395 job ENDED
中略
job STEP1 - STEP WAS EXECUTED - COND CODE 0000←STEP1は実行する
job STEP2 SYSUT2 - DATA SET NOT FOUND
job STEP2 - STEP WAS NOT EXECUTED.
 
<JES3実行結果> 
IAT6108 JOB job (JOBnnnn) FAILED BY INTERPRETER  CN(INTERNAL)
***←Notifyです
  
IAT6140 JOB ORIGIN FROM GROUP=ANYLOCAL, DSP=IR , DEVICE=INTRDR  , 0000
hh:mm:ss IAT4401  LOCATE FOR STEP=STEP2    DD=SYSUT2   DSN=AFILE
hh:mm:ss IAT4404 DATASET NOT FOUND ON MAIN PROCESSOR SYSa
hh:mm:ss IAT4801 JOB job (JOBnnnn) EXPRESS CANCELED BY INTERPRETER DSP

3)区切りステートメントにコメントを書く場合には注意が必要です。ここを見て下さい。


BEFORE PAGE

TOP PAGE