|
MMCF利用者起動型ジョブ内で複数の$MMCFJEPと$MMCFJOBEを使用している
場合にタイミングによりファイル競合が発生しジョブが異常終了することがあります。
・1つのジョブ内で複数の$MMCFJEPが実行された時の警告メッセージ
MMCSUP SJE1001 ** JOB ENTRY ALREADY
MODE=B PJN=ジョブID SNO=Bnnnn
・ファイル競合が発生した時のエラーメッセージ
MMCSUP SML0002 *** ファイル I/O エラー ***
EFN=MMCF.FSG SFN=ジョブID____Bnnnn STAT=OPENS RCODE=OPENS ~
MMCDCF DRC0302 *** FAPファイル I/O エラー ***
PCODE=ジョブID____Bnnnn ~
~
MMCSUP JTM0003 *** サブファイル I/O エラー ***
EFN=MMCF.FSG SFN=ジョブID____Bnnnn MODE=READ ~
STPM30 JOBE01 ABNORMALLY TERMINATED CODE=0256
MMCF利用者起動型ジョブでは、JCLの始めに$MMCFJEP文を実行し、
JCLの終わりに利用者起動型ジョブエンド文($MMCFJOBE文)を実行することを
想定しております。
$JOB ~ ;
$MMCFJEP ; ・・・・ MMCF内の管理番号(SNO)を取得する
~
$MMCFMAIL ~ ;
~
$MMCFMAIL ~ ;
~
$MMCFJOBE ; ・・・・ SNO毎に1ジョブ内のファイルを有効にする
$JOBEND ;
|
1つのジョブ内で$MMCFJEPと$MMCFJOBEを複数回使用した場合でも、 MMCF内
の管理番号(SNO)を採番し直すことは行っていない為、1ジョブ=1SNOとなり
ます。
$JOB ~ ;
$MMCFJEP ; ・・・・ 1回目はSNOを取得する
$MMCFMAIL ~ ;
$MMCFJOBE ; ・・・・ SNO毎に1ジョブ内のファイルを通知する
~
$MMCFJEP ; ・・・・ 2回目は1回目と同じSNOになる
$MMCFMAIL ~ ;
$MMCFJOBE ; ・・・・ 1回目と同じSNOでファイルを再度通知する
$JOBEND ;
|
同じSNOで繰り返しジョブの終了通知が発行されることで、終了通知を受け付ける
MMCF常駐ジョブの負荷状況によっては、制御ファイルの競合が起きる可能性が
あります。
競合が発生した際には、転送状況を確認し、転送されていないファイル
の送信要求を改めて行ってください。
複数の$MMCFMAILを記述する場合は、JCLの先頭に$MMCFJEPを1回、最後に
$MMCFJOBEを1回記述し、その間に複数のMMCFMAILを実行するようにし、
1ジョブ内に複数の$MMCFJEPと$MMCFJOBEを記述しないようにして下さい。
この場合、MMCFに投入した転送ファイルが有効になるのは、
$MMCFJOBEが正常終了したタイミングになります。
本件は制限事項とさせていただきます。
|