DL/Iステータス・コード

本付録では、DL/Iステータス・コードの内容と対応方法について説明します。

DL/I呼び出しの処理結果はPCBステータス・コード・フィールドのコード値で確認できます。アプリケーション・プログラムの作成者は、ステータス・コード・フィールドを参照し、処理結果の原因や対応方法をチェックしてください。

  • AB

    原因

    I/O領域が必要な関数呼び出しでI/O領域がパラメータとして指定されていません。

    対応方法

    関数呼び出しに適切な正しいデータ領域を指定します。

  • AD

    原因

    関数呼び出しに不適切なPCBをパラメータとして指定しました。

    1. システム・サービス呼び出しで、IO-PCBを使用しませんでした。

    2. メッセージGU呼び出しまたはGN呼び出しで、IO-PCBではなくALT-PCBが使用されました。

    3. BMP JCLでIN=trancodeを定義をせずにメッセージGU呼び出しがIO-PCBに使用されました。

    対応方法

    該当の関数呼び出しに適切なPCBであるかどうかを確認します。

  • AZ

    原因

    1. PURG呼び出しをSPAG送信に使用した場合です。

    2. ISRT呼び出し時に、ALT-PCBの宛先が会話型トランザクションであるにもかかわらず、最初のメッセージ・セグメントがSPAでない場合です。

    対応方法

    PURG、ISRT呼び出しを正しく使用してください。

  • A2

    原因

    CHNG呼び出しが正しく使用されていません。

    1. ALT-PCBでない場合にCHNG呼び出しが使用されました。

    2. ALT-PCBまたは変更できないPCBに対して、CHNG呼び出しが使用されました。

    3. メッセージ・セグメントの送信が完了していないPCBに対して、CHNG呼び出しが使用されました。

    対応方法

    1. CHNG呼び出しは、変更可能なALT-PCBを使用します。

    2. ISRT呼び出しでメッセージ・セグメントを送信した後、宛先を変更する場合は、メッセージをパージしてからCHNG呼び出しで宛先を変更します。

  • A3

    原因

    宛先を設定されていない変更可能な代替PCBに対してISRTまたはPURG呼び出しが発行されました。PURG呼び出しは、1つのI/O領域のパラメータとして処理します。

    対応方法

    CHNG呼び出しで指定した宛先で使用されるPCBに対してISRTまたはPURG呼び出しを発行します。

  • A4

    原因

    CHNG呼び出しで指定した宛先へのアクセス権限がありません。

    対応方法

    CHNG呼び出しで指定した宛先が正しいかどうかを確認し、宛先への権限をチェックします。

  • A5

    原因

    メッセージISRT呼び出しで正しくないパラメータ・リストが使用されました。出力メッセージの最初のセグメントでないのに、4番目のパラメータ(MOD名)が指定されました。

    対応方法

    メッセージの最初のセグメントでない場合は、4番目のパラメータを指定しないでください。

  • A6

    原因

    メッセージISRT呼び出しまたはPURG呼び出しで送信したメッセージ・セグメントのサイズが、TRANSACTマクロのSEGSIZE定義より大きい場合です。

    対応方法

    送信メッセージ・セグメントのサイズは、TRANSACTマクロのSEGSIZEを超えないように設定します。

  • QC

    原因

    入力キューに該当のプログラムに関するメッセージが存在しない場合、GU呼び出しを使用しました。

    対応方法

    このコードは、アプリケーション・プログラムが終了する際、ステータス情報を通知するために出力されます。

  • QD

    原因

    GN呼び出しを使用しましたが、そのメッセージにセグメントが存在しない場合です。

    対応方法

    セグメントがないため、アプリケーション・プログラムでメッセージを適切に処理してください。

  • QE

    原因

    メッセージGU呼び出しを使用せずに、メッセージGN呼び出しを使用した場合です。

    対応方法

    メッセージGN呼び出しを使用する前に、メッセージGU呼び出しを使用してください。

  • QH

    原因

    出力論理端末の名前、またはトランザクション・コードがIMSに登録されていません。メッセージISRT呼び出しまたはPURG呼び出しで送信したメッセージ・セグメントの長さが5バイト未満です。

    対応方法

    論理端末の名前とトランザクション・コードを確認します。

  • XA

    原因

    発信元の端末に応答した後、別のプログラムにSPAを送信した場合です。

    対応方法

    アプリケーション・プログラムを修正します。

  • XB

    原因

    別のプログラムにSPA送信した後、発信元の端末に出力メッセージを送信した場合です。

    対応方法

    アプリケーション・プログラムを修正します。

  • X2

    原因

    ALT-PCBの宛先が会話型トランザクションであるにもかかわらず、最初のISRT呼び出しがSPAに送信されなかった場合です。

    対応方法

    SPAをISRTした後、メッセージをISRTしてください。

  • X3

    原因

    SPAの先頭の6バイト・フィールドが変更されたため、SPAメッセージとして定義されません。

    対応方法

    最初に取得したSPAの先頭の6バイトは変更しないでください。

  • X4

    原因

    会話処理が定義されていないトランザクションでSPAを送信しました。

    対応方法

    SPAでないデータ・メッセージのみISRT呼出しを行います。

  • X5

    原因

    ISRT呼び出しを使用してSPAを2回以上送信しようとしました。

    対応方法

    1つのメッセージに1つのSPAを送信します。

  • X6

    原因

    ISRT呼び出しを使用してSPAを送信するための無効なトランザクション・コードです。

    対応方法

    IMSシステムに登録されている会話型トランザクション・コードで宛先を指定します。