8.97 GET_MESSAGE_DESC

メッセージ・ファイルのメッセージ番号に関連付けられた記述を取得します。

通常、戻されたメッセージの詳細は、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