Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/abort_e.htm]
現在地:

...

7.1.2 ABORT の使用例

ファンクションを打ち切って単純なテキストを表示する

...

ファンクションを打ち切って多言語テキストを表示する

打ち切りをトラップする


Anchor
MSGTXT
MSGTXT
ファンクションを打ち切って単純なテキストを表示する

Anchor
ABORT_EX1
ABORT_EX1
ファンクションを打ち切って単純なテキストを表示する
以下のコマンドは、ファンクションを打ち切ってエラー・メッセージを表示します。
ABORT      MSGTXT('Unable to locate system definition record')   
Anchor
ABORT_EX2
ABORT_EX2
ファンクションを打ち切って動的に構築されるテキストを表示する
以下のサブルーチンは、ABORT コマンドによって表示されるエラー・メッセージを動的に構築します。
SUBROUTINE NAME(ABORT) PARMS((#MSGTXT1 *RECEIVED) (#MSGTXT2 *RECEIVED) (#MSGTXT3 *RECEIVED)) DEFINE     FIELD(#MSGTXT1) TYPE(*CHAR) LENGTH(40) DECIMALS(0) DEFINE     FIELD(#MSGTXT2) REFFLD(#MSGTXT1) DEFINE     FIELD(#MSGTXT3) REFFLD(#MSGTXT1) DEFINE     FIELD(#MSGDTA) TYPE(*CHAR) LENGTH(132) DECIMALS(0) USE        BUILTIN(BCONCAT) WITH_ARGS(#MSGTXT1 #MSGTXT2 #MSGTXT3) TO_GET(#MSGDTA) ABORT      MSGID(DCM9899) MSGF(DC@M01) MSGDTA(#MSGDTA) ENDROUTINE    
これは、以下のような致命的エラー状況で使用できます。
EXECUTE    SUBROUTINE(ABORT) WITH_PARMS('Employee' #EMPNO 'not found')   
または、以下のような状況でも使用できます。
EXECUTE    SUBROUTINE(ABORT) WITH_PARMS(#DEPTMENT 'is invalid' *BLANKS)   
Anchor
ABORT_EX3
ABORT_EX3
ファンクションを打ち切って変数を置換したメッセージを表示する
打ち切りメッセージの文言をメッセージ・ファイルで定義し、詳細を致命的エラーの発生時に変数として置換することもできます。例えば、MYMSGF というメッセージ・ファイルが作成され、ID が MSG0001 のメッセージ定義がこのファイルに追加されているとします。一次レベルのメッセージ・テキストは、'社員 &1 &2 &3 の給与額 &4 が高すぎるため、この税額計算操作に該当しません。'です。また、メッセージ・データ・フィールド形式は以下のように定義されています。

...