Page History
9.95 GET_MESSAGE
| Note | ||
|---|---|---|
| ||
RDMLファンクションのプログラム待ち行列から、この次のメッセージの詳細を取得します。
...
メッセージは、オペレーティング・システム・コマンド、組み込み関数、無効なI/O要求および/またはMESSAGE、VALUECHECKなどのRDMLコマンドによってプログラム・メッセージ待ち行列に入れられている可能性があります。
移植性に関する考慮事項 | この組み込み関数がLANSAスーパーサーバーで実行される場合は、メッセージ・ファイルとメッセージID番号を取得しません。後述の例の注を参照してください。 |
...
DEFINE FIELD(#ERRTXT) TYPE(*CHAR) LENGTH(100)
LABEL('Error :')
DEF_LINE NAME(#NAME) FIELDS(#CUSTNO #ADDRESS1
#ADDRESS2 #ZIPCODE)
DEF_LINE NAME(#ERROR) FIELDS(#ERRTXT) IDENTIFY(*LABEL)
INSERT FIELDS(#NAME) TO_FILE(NAMES) VAL_ERROR(*NEXT)
IF_STATUS IS_NOT(*OKAY)
PRINT LINE(#NAME)
USE BUILTIN(GET_MESSAGE) TO_GET(#RETCODE #ERRTXT)
DOWHILE COND('#RETCODE = OK')
PRINT LINE(#ERROR)
USE BUILTIN(GET_MESSAGE)
TO_GET(#RETCODE #ERRTXT)
ENDWHILE
ENDIF
| Note | ||||
|---|---|---|---|---|
| 注意:||||
同じプログラムをIBM iで実行した場合とLANSAスーパーサーバー・モードで実行した場合では異なるメッセージが作成されます。 IBM iでこのBIFを使用して取得したメッセージは以下のように表示されます。 Message text: Record to be updated has been changed by another job/user (IBM iに対して) LANSAスーパーサーバー・モードで実行した場合は以下のように表示されます。 Message text: Record to be updated has been changed by another job/user これは設計検討事項ですが、技術的に複雑なため短期的には変更されることはありません。 |