DSNTIAR と DSNTIAC

SQL 戻りコードを文字列メッセージに変換します。

構文

CALL 'DSNTIAR' USING comm-area 
                     error-message 
                     error-rec-length

または、CICS アプリケーションの場合:

CALL 'DSNTIAC' USING comm-area 
                     error-message 
                     error-rec-length

パラメータ

comm-area プログラムの COMMAREA (通常は SQLCA)。ランタイム時に、DSNTIAR/DSNTIAC が文字列メッセージを生成する元となるコードが、SQLCASQL 構造体の SQLCODE フィールドに含まれている必要があります。
error-message エラー・メッセージの出力を格納するために使用される、サイズが error-rec-length のレコードの配列。error-message は次の 2 つのコンポーネントで構成されます。

error-length

2 番目の要素である error-text の長さを示す、240 以上の整数を含みます。

error-text

メッセージのテキストを含みます。通常、このメッセージは複数のストリングの配列として定義されます。このとき、各ストリングは長さが error-rec-length であり、error-length が 240 と error-rec-length * n のうち、いずれか大きいほうになるように、n 回出現します。

error-rec-length 71 ~ 241 の範囲の整数で、出力メッセージの論理レコード長を示します。error-message の長さが error-rec-length で定義された長さを超える場合、そのメッセージは複数の論理レコードに分かれて保存されます。

戻りコード

次の表に、DSNTIAR または DSNTIAC ユーティリティを呼び出した場合の戻りコードを示します。

コード 説明
0 実行に成功しました。
4 指定されたメッセージ領域に適合するサイズを超えるデータが使用可能です。
8

エラー・レコードの長さが許容範囲 (72 ≦ error-rec-length ≦ 240) を逸脱しています。

12 メッセージ領域の大きさが足りませんでした。メッセージの長さが 240 以上でした。
16 メッセージ・ルーチンのエラーです。

01 ERROR-MESSAGE. 
     02 ERROR-LENGTH PIC S9(4) COMP VALUE +288. 
     02 ERROR-TEXT PIC X(72) OCCURS 4 TIMES. 
 77 ERROR-REC-LENGTH PIC S9(9) COMP VALUE +72.
    ... 
     CALL 'DSNTIAR' USING SQLCA ERROR-MESSAGE ERROR-REC-LENGTH