注意: 9.1 組み込み関数の規則 利用オプション |
メッセージ・ファイルのメッセージ番号に関連付けられた記述を取得します。
通常、戻されたメッセージの詳細は、RDMLファンクションにより処理または印刷されます。
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | メッセージ番号 | 1 | 7 | ||
2 | A | 必須 | メッセージ・ファイル | 1 | 10 | ||
3 | A | 任意 | メッセージ・ファイル・ライブラリ | 1 | 10 | ||
4 | A | 任意 | メッセージ代替値 複数の代替値を使用できます。サブストリング値を組み合わせる場合は、メッセージ定義に合わせます。 例えば、「&2でファンクション&1 が失敗しました」というメッセージで、代替値*CHAR7および*CHAR10が指定されている場合、2番目の値は8桁目から開始する必要があります。 | 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