$SirMsg: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (misc formatting)
(Added the optional %arg1, %arg2, %arg3 substitutions for %C in the message)
Line 7: Line 7:


==Syntax==
==Syntax==
<p class="syntax"><span class="term">%msg</span> = $SirMsg (<span class="term">line_num</span>)
<p class="syntax"><span class="term">%msg</span> = $SirMsg (<span class="term">line_num, %arg1, %arg2, %arg3</span>)
</p>
</p>


Line 19: Line 19:
<p>
<p>
If there is no current <var>$SirMsg</var> procedure or the requested line number is invalid (negative or greater than the number of lines in the <var>$SirMsg</var> procedure), <var>$SirMsg</var> returns a null string.</p></td></tr>
If there is no current <var>$SirMsg</var> procedure or the requested line number is invalid (negative or greater than the number of lines in the <var>$SirMsg</var> procedure), <var>$SirMsg</var> returns a null string.</p></td></tr>
<tr><th nowrap>%arg1</th>
<td>An optional substitution argument that will replace the first %C, if one is present, in the message.  This argument may also be a literal.</td></tr>
<tr><th nowrap>%arg2</th>
<td>An optional substitution argument that will replace the second %C, if one is present, in the message.  This argument may also be a literal.</td></tr>
<tr><th nowrap>%arg3</th>
<td>An optional substitution argument that will replace the third %C, if one is present, in the message.  This argument may also be a literal.</td></tr>
</table>
</table>



Revision as of 16:25, 8 August 2017

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.

Syntax

%msg = $SirMsg (line_num, %arg1, %arg2, %arg3)

Syntax terms

%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 %C, if one is present, in the message. This argument may also be a literal.
%arg2 An optional substitution argument that will replace the second %C, if one is present, in the message. This argument may also be a literal.
%arg3 An optional substitution argument that will replace the third %C, if one is present, in the message. This argument may also be a literal.

Usage notes

  • $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.

Examples

Suppose the current $SirMsg procedure as set by $SirMsgP contains these lines:

MSG0001 Invalid PF key. MSG0002 Record not found. MSG0003 Invalid data in input field.

The following statement would print: MSG0002 Record not found.

Print $SirMsg(2)

The following statement would print a null string:

Print $SirMsg(4)