メッセージ エレメントの定義
メッセージ エレメントは、フォーミュラ エレメントと密接に関連しています。メッセージ エレメントを十分に理解するためには、フォーミュラのトピックを読んだ後にこのトピックを読んでください。
このトピックでは、メッセージ エレメントの定義方法について説明します。
注: メッセージ エレメントはシステム データの中に用意されているため、メッセージ エレメントを定義する特定のオンライン ページはありません。
フォーミュラでメッセージ エレメントを参照することにより、バッチ処理で出力されるエラー メッセージを管理できます。メッセージ エレメントによって、エラー メッセージ テーブル PS_GP_MESSAGES にエラー メッセージを書き込むプログラムが呼び出されます。また、その後で支給をエラーにすることもできます。
PS_GP_MESSAGES テーブルのフィールドの多くは、自動的にロードされます。その他のフィールドは、バッチ処理の際にデータがロードされます。これらのフィールド値をフォーミュラの構成要素として使用すると、バッチ処理中に独自のメッセージやエラーの条件を作成できます。
自動的にロードされないフィールドに値をロードするために、以下の構成要素やプロセスが用意されています。
ポインタのフィールド フォーマットを持つ、5 つのシステム エレメント (MSG_BIND1_PTR から MSG_BIND5_PTR)。
これらのポインタは、エラー メッセージで使用するパラメータを指し示します。
10 進数のフィールド フォーマットを持つ、5 つのシステム エレメント (MSG_BIND1_NM_IND から MSG_BIND5_NM_IND)。
MSG_BINDx_NM_IND の値が 0 の場合、MSG_BINDx_PTR エレメントが指し示すエレメント名が受給者メッセージのページに表示されます。それ以外の場合は、MSG_BINDx_PTR エレメントが指し示すエレメント値が表示されます。
メッセージ番号とメッセージ セット番号のための、10 進数のシステム エレメント (MSG_NBR および MSG_SET_NBR)。
計算をエラーにする、10 進数のシステム エレメント (MSG_PAYMENT_ERR)。
このシステム エレメントの値が 0 以外の場合、その計算はエラーになります。
エラー メッセージ エレメント タイプ。
このエレメント タイプを持つエレメントは、GP_PIN_NM テーブル内で 1 つだけ (MSG_PIN) です。フィールド フォーマットは 10 進数です。[再計算] チェック ボックスをオフにする必要があります。この入力タイプは、フィールド ベース定義ページのエレメント 1 およびエレメント 2 でのみ使用できます。バッチ処理中にこのメッセージ (フォーミュラ) エレメントが表示された場合は、指定されたメッセージ ID とパラメータに対応した PS_GP_MESSAGES テーブルの行が挿入されます。エラーがない場合は、MSG_PIN エレメントの値は 0 です。エラーが発生した場合は、MSG_PIN エレメントの値は 1 になります。このエレメント タイプを使用する主な理由は、ユーザー エラーを呼び出す必要があることをバッチ処理で認識できるようにすることです。バッチ処理では、その値は参照されません。
エラー メッセージに関連する全てのシステム エレメントは、空白またはゼロにリセットされます。
注: フォーミュラ エレメントを使用する場合にのみ、ユーザー独自のエラー メッセージを作成できます。
例
次の表は、フォーミュラ エレメントの設定の例 (フォーミュラ定義の一部) です。
連番 |
関数 |
エレメント 1 |
演算子 |
エレメント 2 |
割当先エレメント |
---|---|---|---|---|---|
1 |
If |
XXXXX |
= |
YYYYY |
|
2 |
Then (エラーの場合) |
|
|
17005 |
MSG_SET_NBR |
|
|
|
|
1015 |
MSG_NBR |
3 |
|
|
|
ELEMENT_A (エレメント番号を使用) |
MSG_BIND1_PTR (エレメント番号を使用) |
4 |
|
|
|
ELEMENT_B (エレメント番号を使用) |
MSG_BIND2_PTR (エレメント番号を使用) |
5 |
|
|
|
1 |
MSG_BIND1_NM_IND |
6 |
|
|
|
1 |
MSG_PAYMENT_ERR |
7 |
If |
MESS_AGE |
= |
0 |
|
8 |
. . . |
|
|
|
|
次の表は、上の表で記述したフォーミュラの説明です。
連番 |
説明 |
---|---|
1 |
フォーミュラの標準の式です。 |
2, 3 |
エラー メッセージ番号をシステム エレメント MSG_NBR と MSG_SET_NBR に割り当てます。 |
3 |
ELEMENT_A (エラーになっているエレメント) のエレメント番号を MSG_BIND1_PTR のポインタ値に割り当てます。 |
4 |
ELEMENT_B (エラーになっているエレメント) のエレメント番号を MSG_BIND2_PTR のポインタ値に割り当てます。 |
5 |
値 1 を MSG_BIND1_NM_IND に割り当て、ELEMENT_A にエレメント番号が含まれていることを示します。MSG_BIND2_NM_IND には値が割り当てられていないため、エレメント値として表示されます。 |
6 |
値 1 をエレメント MSG_PAYment_ERR に割り当て、支給ステータスをエラーにします。 |
7 |
MSG_PIN エレメントを使って、このエレメント タイプの変換プログラムを呼び出します。 |
注: システムでは、各インジケータを確認してその数値がエレメント番号かどうかを判断します。これによりフォーミュラ メッセージ プログラムでは、その値をそのままにするか、エレメントの値を取得するのかが認識されます。値をそのままにすると、エレメント名がオンライン メッセージのページに表示されることになります。