9.109 GET_MESSAGE_DESC
メッセージ・ファイルのメッセージ番号に関連付けられた記述を取得します。
通常、戻されたメッセージの詳細は、RDMLファンクションにより処理または印刷されます。
各製品の対応
LANSA/AD |
使用可 |
Visual LANSA for Windows |
使用可 |
Visual LANSA for Linux |
使用可 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
メッセージ番号 |
1 |
7 |
||
2 |
A |
必須 |
メッセージ・ファイル |
1 |
10 |
||
3 |
A |
任意 |
メッセージ・ファイル・ライブラリ |
1 |
10 |
||
4 |
A |
任意 |
メッセージ代替値 |
1 |
132 |
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
メッセージ記述 |
1 |
132 |
例
サブルーチンを実行してエラー/例外レポートを印刷します。サブルーチンにエラー・メッセージ番号を渡します。
DEFINE FIELD(#ERRTXT) TYPE(*CHAR) LENGTH(132)
LABEL('Error :')
DEFINE FIELD(#TEXT) TYPE(*CHAR) LENGTH(132)
DEFINE FIELD(#MSGID) TYPE(*CHAR) LENGTH(7)
DEFINE FIELD(#MSGT) TYPE(*CHAR) LENGTH(132)
DEF_LINE NAME(#NAME) FIELDS(#CUSTNO #ADDRESS1 #ADDRESS2 #ZIPCODE)
DEF_LINE NAME(#ERROR) FIELDS(#ERRTXT) IDENTIFY(*LABEL)
' ' Some processing ' '
' ' ' '
INSERT FIELDS(#NAME) TO_FILE(NAMES) VAL_ERROR(*NEXT)
IF_STATUS IS_NOT(*OKAY)
PRINT LINE(#NAME)
CHANGE FIELD(#TEXT) TO('xxxxxxx')
EXECUTE SUBROUTINE(ERRPRT) WITH_PARMS(ERR0003 #TEXT)
ENDIF
' ' More processing ' '
' ' ' '
SUBROUTINE NAME(ERRPRT) PARMS(#MSGID)
USE BUILTIN(GET_MESSAGE_DESC) WITH_ARGS(#MSGID #ERRFILE
'''*LIBL''' #TEXT) TO_GET(#MSGT)
PRINT LINE(#ERROR)
ENDROUTINE