2007 Oct 30 3:58 AM
HI GURUS.
Is there anyone there who can explain how to use the MESSAGE STATEMENT and kindly give me some sample code.
thank you very much,
gerald
2007 Oct 30 4:00 AM
Hi,
Go to se93.
create a message class.
Create a new message (001)
eg: & is a number.
Save it.
IN the program(se38) raise the message like this
v_value = '10000'.
message i001 with v_value.
Cheers,
Simha.
2007 Oct 30 4:01 AM
Hi,
Check this out -
MESSAGE
Variants:
MESSAGE xnnn.
MESSAGE ID id TYPE mtype NUMBER n.
MESSAGE xnnn(mid).
Effect
Sends a message. Messages are stored in the table T100, are processed using transaction SE91 and can be created by forward navigation.
The ABAP runtime environment handles messages according to the type declared in the MESSAGE statement and the context in which the message was sent. The following message types exist:
A - Abend
: Transaction terminated
E - Error
: Error message
I - Info
: Information
S - Status
: Status message
W - Warning
: Correction possible
X - Exit
: Transaction terminated with short dump
Messages are mainly used to handle user input on screens. The following table shows the behavior of each message type in each context. An explanation of the numbers used is included at the end of the table:
A E I S W X
-
PAI Module 1 2 3 4 5 6
PAI Module for POH 1 7 3 4 7
6
PAI Module for POV 1 7 3 4 7
6
-
AT SELECTION-SCREEN ... 1 8 3 4 9 6
AT SELECTION-SCREEN for POH 1 7 3 4 7 6
AT SELECTION-SCREEN for POV 1 7 3 4 7 6
AT SELECTION-SCREEN ON EXIT 1 7 3 4 7 6
-
AT LINE-SELECTION 1 10 3 4 10 6
AT PFn 1 10 3 4 10 6
AT USER-COMMAND 1 10 3 4 10 6
-
INITIALIZATION 1 11 3 4 11 6
START-OF-SELECTION 1 11 3 4 11 6
GET 1 11 3 4 11 6
END-OF-SELECTION 1 11 3 4 11 6
-
TOP-OF-PAGE 1 11 3 4 11 6
END-OF-PAGE 1 11 3 4 11 6
TOP-OF-PAGE DURING ... 1 10 3 4 10 6
-
LOAD-OF-PROGRAM 1 1 4 4 4 6
-
PBO Module 1 1 4 4 4 6
AT SELECTION-SCREEN OUTPUT 1 1 4 4 4 6
-
Procedure: see
Messages
-
1. The message appears in a dialog box and the program terminates. When the user has confirmed the message, control returns to the next- highest area. All the internal sessions are deleted from the stack.
2. The message appears in the status line. Then PAI terminates and the system returns to the current screen. All the screen fields combined using FIELD or CHAIN are now ready for input. The user must enter new values. The system triggers the PAI event again, with the new values.
3. The message appears in a dialog box. Once the user has confirmed the message, the program continues immediately after the MESSAGE statement.
4. The message appears in the status line of the next screen. The program continues immediately after the message statement.
5. The message appears in the status line. Then the system continues as in 2, except that the user can quit the message using ENTER without having to enter new values. The system continues handling the PAI event from immediately after the message statement.
6. No message is displayed and a runtime error, MESSAGE_TYPE_X, is triggered. The short dump text contains the message identification.
7. The program terminates with a runtime error DYNPRO_MSG_IN_HELP. While F1 and F4 are processed, the system cannot send error messages or warnings.
8. The message appears in the status line. Then the system stops selection screen processing and returns to the selection screen itself. The screen fields specified in the additions to the AT SELECTION-SCREEN statement are now ready for input. The user must enter new values. The system then starts processing the selection screen again with the new values.
9. The message appears in the status line. Then the system continues as in 8, except the the user can quit the message using ENTER, without having to enter new values. The system continues handling the PAI event from immediately after the message statement.
10. The message appears in the status line and the processing block terminates. The list level is displayed as before.
11. The message appears in the status line and the processing block terminates. The system then returns to the program call.
12. For a demonstration of messages in different contexts, see Example Programs for Messages.
Variant 1
MESSAGE xnnn.
Extras:
... WITH f1 ... f4
... RAISING exception
... INTO f
Effect
Outputs the message nnn from the message class i with the type x. You can specify the message class i using the MESSAGE-ID addition to the REPORT statement, PROGRAM, or another introductory program statement.
Example
MESSAGE I001.
You can specify a different message class in parentheses after the error number, for example MESSAGE I001(SU).
When executing the statement, the following system variables are set:
SY-MSGID (message class)
SY-MSGTY (message type)
SY-MSGNO (message number)
Addition 1
... WITH f1 ... f4
Effect
Inserts the contents of a field fi in the message instead of in the placeholder &i. If unnumbered variables (&) are used in a message text, these are replaced consecutively by the fields f1 to f4.
To aid compilation, only numbered variables (&1 to &4) are to be used in future if several fields are involved.
If a "&" is supposed to appear in the message at runtime, you must enter &&.
In the long text of a message, the symbol &Vi& is replaced by the field contents of fi.
After WITH, you can specify 1 to 4 fields.
Note
You can output up to 50 characters per field. If the field contains more characters, these are ignored.
Example
MESSAGE E0004 WITH 'Hugo'.
Note
When executing the statement, the contents of the fields f1 to f4 are assigned to the system fields SY-MSGV1, SY-MSGV2, SY-MSGV3 and SY-MSGV4.
Addition 2
... RAISING exception
Effect
Only possible within a function module or a method (see FUNCTION, METHOD):
Triggers the exception exception.
If the program calling the function module or method handles the exception itself, control returns immediately to that program (see CALL FUNCTION and CALL METHOD). Only then are the current values passed from the procedure to the EXPORTING-, CHANGING- (und RETURNING) parameters of the function module or method, if they are specified as pass-by- reference. However, the calling program can refer to the system field values (see above).
If the calling program does not handle the exception itself, the message is output (see RAISE).
You cannot use this addition in conjunction with the ... INTO cf addition.
Example
MESSAGE E001 RAISING NOT_FOUND.
Addition 3
... INTO f
Effect
Instead of displaying the message, the system places the message text in the field f. The message type is not evaluated.
You cannot use this addition in conjunction with the ...RAISING exception addition. The system sets the following system variables: SY-MSGID (message class), SY-MSGTY (message type), SY-MSGNO (message number) and SY-MSGV1, SY-MSGV2, SY-MSGV3, SY-MSGV4 (parameters).
Example
DATA msgtext(72).
...
MESSAGE E004 WITH 'Hugo' INTO msgtext.
Variant 2
MESSAGE ID id TYPE mtype NUMBER n.
Effect
As for variant 1, where you can set the following message components dnyamically:
ID
Message class
TYPE
Message type
NUMBER
Message number
You can also use all the other additions as with the basic form.
Example
MESSAGE ID 'SU' TYPE 'E' NUMBER '004' WITH 'Hugo'.
Outputs the message with the number 004 and MESSAGE-ID SU (see above) as an E (Error) message and replaces the first variable (&) with 'Hugo'.
Example
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
Constructs the message dynamically from the contents of the system fields SY-MSGID, SY-MSGTY, SY-MSGNR , SY-MSGV1 , SY-MSGV2,SY-MSGV3,and SY-MSGV4. These may, for example, be set by an exception after CALL FUNCTION or CALL TRANSACTION ... USING.
Variant 3
MESSAGE xnnn(mid).
Effect
As in variant 2.
Example
MESSAGE X004(SU) WITH 'Hugo'.
Note
Non-Catchable Exceptions:
MESSAGE_TYPE_UNKNOWN: message type unknown
MESSAGE_TYPE_X: Triggers termination with a short dump
ashish
2007 Oct 30 4:05 AM
Hi,
see this link
http://help.sap.com/saphelp_nw04/helpdata/en/d1/801b3e454211d189710000e8322d00/content.htm
rgds,
bharat.
2007 Oct 30 4:07 AM
hi,
goto thw transaction SE91 , creste ur own msg class & messages...
there r 6 kinds of msgs..
<b>A (Abend) - Termination
E (Error) - Error
I (Info) - Information
S (Status) - Status message
W (Warning) - Warning
X (Exit) - Termination with short dump</b>
then in ur program, use like this
<b>Syntax : MESSAGE TYPE_NUM (MSG_CLASS)</b>
EX :
<b>MESSAGE I000(ZMSG_CLASS).</b>
here I - msg type,
000 - msg number
(ZMSG_CLASS) - MSG CLASS NAME.
With Rgds,
S.Barani
2007 Oct 30 4:08 AM
there are 5 message type are available in SAP
I - Information message - popup window will open and shows message
E- Error message - error message in status bar
W - Warning message - message on status bar
S - Suceess message - message on status bar
A - Abort - it will go out of the current screen and it will be at sap initial screen.
Different Variants are :
1. MESSAGE xnnn.
2. MESSAGE ID id TYPE mtype NUMBER n.
3. MESSAGE xnnn(mid).
4. MESSAGE msg TYPE mtype.
Example:
IF sy-subrc <> 0.
MESSAGE A001(00) WITH 'Program is ending'. <b>" A001 where A represents Abort Message</b>
ENDIF.
or
IF sy-subrc <> 0.
MESSAGE 'File not found.' TYPE 'E'. " <b>'E' Represents Error Message</b>
ENDIF.
Reward me if useful........
Harimanjesh AN
2007 Oct 30 4:31 AM
hi,,,,,,
SE91 -> T.code for creating a message class
goto SE91->give name -> select attributes -> give message numbers like 000, 001, 002,...... -> u can hard code ur message or give & & & & [ dynamic messages]-> save.
and u can use ur message in ur reports in two ways.
statistically u can declare it in REPORT statement as
REPORT SURESH MESSAGE-ID ALURI.
.........................
..................
...........
message E000 with 'no field should be empty'.
...................
or like this
message E000(zaluri) with ' no field should be empty'.
....................
...................
or single messages u can give like this as
message 'hi suresh ' type 'I'.
generally messages are of following types
E -> error message.
I-> information message [status message]
A -> abend message
S -> success message
W -> warning message
if helpful reward some points.
with regards,
Suresh Aluri.