ABAP
メッセージクラス/ MESSAGEキーワード
サーチ…
前書き
MESSAGEステートメントは、ユーザーにショートメッセージを表示するためにプログラムフローを中断させるために使用されます。メッセージの内容は、プログラムのコード、プログラムのテキストシンボル、またはSE91定義された独立したメッセージクラスで定義することがSE91ます。
備考
&を使用して渡されるパラメーターを含む、メッセージの最大長は72文字です。
メッセージクラスの定義
PROGRAM zprogram MESSAGE-ID sabapdemos.
システム定義のメッセージは、メッセージクラスに格納することができます。 MESSAGE-IDトークンは、プログラム全体のメッセージクラスsabapdemosを定義します。これを使用しない場合は、各MESSAGE呼び出しでメッセージクラスを指定する必要があります。
定義済みテキストシンボルによるメッセージ
PROGRAM zprogram MESSAGE-ID za.
...
MESSAGE i000 WITH TEXT-i00.
メッセージには、テキストシンボルi00に格納されているテキストがユーザに表示されます。メッセージタイプはi( i000 )であるため、ユーザがダイアログボックスを終了すると、 MESSAGEコールの時点からプログラムフローが継続されます。
テキストはメッセージクラスzaから来ていませんが、 MESSAGE-ID指定する必要があります。
事前定義されたメッセージクラスのないメッセージ
PROGRAM zprogram.
...
MESSAGE i050(sabapdemos).
プログラム全体のメッセージクラスを定義することは不便かもしれません。そのため、メッセージが出てくるメッセージクラスをMESSAGEステートメント自体で定義することは可能です。この例では、メッセージクラスsabapdemosからメッセージ050が表示されます。
動的メッセージング
DATA: msgid TYPE sy-msgid VALUE 'SABAPDEMOS',
msgty TYPE sy-msgty VALUE 'I',
msgno TYPE sy-msgno VALUE '050'.
MESSAGE ID mid TYPE mtype NUMBER num.
上記のMESSAGE呼び出しは、 MESSAGE i050(sapdemos).呼び出しと同義MESSAGE i050(sapdemos). 。
メッセージへのパラメータの受け渡し
メッセージに&記号を使用して、パラメータを渡すことができます。
順序付けられたパラメータ
メッセージ777 of class sabapdemos :
Message with type &1 &2 in event &3
3つのパラメータでこのメッセージを呼び出すと、次のパラメータを使用してメッセージが返されます。
MESSAGE i050(sabapdemos) WITH 'E' '010' 'START-OF-SELECTION`.
このメッセージはMessage with type E 010 in event START-OF-SELECTIONとして表示されます。 &記号の横にある数字は、パラメーターが表示される順序を示します。
順序付けられていないパラメータ
メッセージ888 of class sabapdemos :
& & & &
このメッセージの呼び出しは似ています:
MESSAGE i050(sabapdemos) WITH 'param1' 'param2' 'param3' 'param4'.
これにより、 param1 param2 param3 param4が出力されます。