プライマリ・コンテンツに移動
Pro*C/C++プログラマーズ・ガイド
12c リリース1(12.1)
B71397-03
目次へ移動
目次
索引へ移動
索引

前
次

フォームへの値の返却について

ユーザー・イグジットでは、SQL*Formsに制御が戻るとき、成功したか、失敗したかまたは致命的エラーが発生したかのいずれの状態かを示すコードも必ず戻します。このリターン・コードはSQL*Formsによって定義される整数定数です(次の項を参照)。この3種類の結果はの意味は次のとおりです。

結果 意味

成功

ユーザー・イグジットでエラーが発生しませんでした。コール元の逆戻りリターン・コード・スイッチが設定されていなければ、SQL*Formsは成功ラベルまたは次のステップに進みます。

失敗

ユーザー・イグジットで、フィールド内の無効値などのエラーが検出されました。このイグジットによって渡された任意指定のメッセージが、SQL*Forms画面下部のメッセージ行およびエラー表示画面に表示されます。SQL*Formsは行に影響を与えないSQL文に対するときと同様に応答します。

致命的エラー

ユーザー・イグジットで、SQL文中の実行エラーなど、それ以上処理を続行できない条件が検出されました。イグジットによって渡されたオプションのエラー・メッセージが、SQL*Formsのエラー表示画面に表示されます。SQL*FormsはSQL文内の致命的エラーに対するときと同様に応答します。ユーザー・イグジットでフィールドの値が変更された後で、失敗または致命的エラーのコードが戻された場合、SQL*Formsはこの変更を廃棄しません。また、逆戻りリターン・コード・スイッチが設定されていて、成功コードが戻されたときにも、SQL*Formsは変更を廃棄しません。

IAP定数

リターン・コードとして使用する3つの記号定数がSQL*Formsによって定義されます。ホスト言語に応じて、これらの定数には文字IAPまたはSQLという接頭辞が付きます。たとえばIAPSUCC、IAPFAIL、IAPFTLなどと定義されます。

WHENEVERの使用について

イグジット内でWHENEVER文を指定すると、不当なデータ型の変換(SQLERROR)、フォーム・フィールドにPUTされた値の切捨て(SQLWARNING)および行を戻さない問合せ(NOT FOUND)を検出できます。