Line of current $SirMsgP procedure
Note: Many $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $SirMsg function.
The $SirMsg function is used to retrieve a line from the current $SirMsg procedure as set by $SirMsgP.
%msg = $SirMsg (line_num [,%arg1][,%arg2][,%arg3])
|%msg||A string set to the contents of line_num in the current $SirMsg procedure.|
|line-num||The number of the line within the current $SirMsg procedure to be returned. A zero returns the name of the current $SirMsg procedure.
If there is no current $SirMsg procedure or the requested line number is invalid (negative or greater than the number of lines in the $SirMsg procedure), $SirMsg returns a null string.
|%arg1||An optional substitution argument that will replace the first occurrence of the literal |
|%arg2||An optional substitution argument that will replace the second |
|%arg3||An optional substitution argument that will replace the third |
- $SirMsgP and $SirMsg allow a programmer to use a Model 204 procedure as a message repository. Each line of the procedure corresponds to a message that can be requested by line number with $SirMsg. The advantages of using $SirMsg are:
- No server space is wasted holding infrequently used error messages.
- The virtual storage holding the messages can be shared among users.
- It simplifies sharing common messages among procedures in a subsystem or online.
Suppose the current $SirMsg procedure as set by $SirMsgP contains these lines:
MSG0001: Invalid PF key. MSG0002: Processing record number=%C in file=%C. MSG0003: Invalid data in input field.
If this Print statement is in a For loop against file
HISTORY, on record number 355:
The output is:
MSG0002: Processing record number=355 in file=HISTORY
The following statement prints a null string: