IBM Z Japan - Group home

#077【z/OS V2R4変更点】 TSO/Eエラー・メッセージ IKJ56621I (無効なコマンド名)出力時の「戻りコード」

  

従来、TSO/E 「コマンド名」の構文には下記のような規則が適用され、構文規則に反する「無効なコマンド」を実行した際は、エラー・メッセージ IKJ56621Iが出力されます。
・「8文字」以内であること
・最初の文字は、「英字」、または、「特殊文字」($、#、@)であること
・それ以外の文字は、「英数字」であること
(エラー・メッセージ)  IKJ56621I INVALID COMMAND NAME SYNTAX

【機能変更点(z/OS V2R4 TSO/E)】
■z/OS V2R4では、構文規則に反する「無効なコマンド」(「8文字」を超える、または「無効な文字」を含む)を実行した場合、エラー・メッセージ IKJ56621I出力時の「戻りコード」が、次のように変更されました。
(z/OS V2R3まで)    「戻りコード: 0」 ※既に設定済の「戻りコード」に影響を与えません
(z/OS V2R4以降)    「戻りコード: 12」
※対象コマンドが見つからない場合の挙動(「戻りコード: 12」)は、z/OS V2R3、V2R4、V2R5とも同様
IKJ56500I COMMAND xxxxxxxx NOT FOUND

【考慮事項】
■z/OS V2R4以降では、「無効なコマンド」を実行した際の「戻りコード」が、「0」から「12」へ変更するため、例えば次のようなTSO/Eコマンド実行時の「戻りコード」に依存した処理では、影響を受ける可能性があります。
①TSO/E CLIST経由でコマンド実行した際の「&LASTCC」変数、「&MAXCC」変数
②TMPバッチ・ジョブ経由でコマンド実行した際の「Condition Code」(ジョブ・ステップ)
※TSO/E REXXの「RC」変数は、当変更の影響を受けません

■TMPバッチ・ジョブ経由でコマンド実行した際の「Condition Code」(ジョブ・ステップ)は、実行された最終コマンドの結果に依存するため、「無効なコマンド」の実行タイミングによっては、必ずしも当変更の影響を受けるとは限りません。
※「無効なコマンド」が最後に実行されている場合、z/OS V2R4以降では「Condition Code」(ジョブ・ステップ)が「12」へ変更

【挙動変化の発生(例)】(単一コマンドの実行結果)

【事例情報①】
■「SYSTSIN」内で何らかの無効なコマンドを記述した場合、以前からメッセージ IKJ56621Iが出力されます。
※z/OS V2R4以降では、メッセージ IKJ56621Iに対して「RC=12」が返るので、下記の例は「COND CODE 0012」にてステップ終了

【事例情報②】
■「SYSTSIN」内で「MAXCC=0」という無効なコマンドを記述した場合、以前からメッセージ IKJ56621Iが出力されます。
※z/OS V2R4以降では、「SYSTSIN」の記述内容に応じて、z/OS V2R3までとは異なる「COND CODE」でステップ終了する可能性あり
①「RC=0」で終了するコマンドと組み合わせた場合

②「RC=8」で終了するコマンドと組み合わせた場合

【事例情報③】
■何らかの理由で先頭カラムにて「//*」を記述している場合、「SYSTSIN」の形式に応じて処理結果が異なります。
(インストリーム)「//*」はJCLの一部とみなされ、TSO/Eは処理しません ⇒ z/OS V2R4 TSO/Eの機能変更に影響を受けない
(データセット) 「//*」は無効なコマンドとみなされ、以前からメッセージ IKJ56621Iが出力されます ⇒ z/OS V2R4以降では、該当ステップが「COND CODE 0012」となる可能性あり

 
以上