GENERAL DESCRIPTION |
Invoking GET^XML with XMCHAN="SERVER" (or any other
appropriate channel) sets up the variables available to servers (that channel)
invoked during normal delivery.
Note that before XMREC is executed, XMZ must be defined; XMER and XMRG are
defined by executing XMREC. XMPOS can be changed by the user if appropriate.
==========================================================================
Execute variable XMREC to read a line of the message. XMER and XMRG are
returned.
XMER This variable returns the execution status of XMREC. XMER<0, if there
is no more message text to read. The value of XMER will be zero (0), if XMRG
is being returned. XMRG, in that case, will have as its value the text of the
next line of the message. (Note: which may be null, i.e. a blank line; you
cannot test it for being done!)
XMRG The value of XMRG will be the next line of message text. XMRG will
always be defined, though it will be null when XMER<0.
XMPOS This variable contains the current position of the text returned in the
variable XMGR. It is initialized if it is undefined and should be killed by
the server when it is finished "Reading" the message.
Prototype Message Body Reader
S XMCHAN="SERVER" GET^XML
N A,TEXT ; N MIRROR
S A=0
A ;
X XMREC ; Receive a line
I $D(XMER) G Q:XMER<0 ; Check for end of message
S A=A+1 ; Increment local line count
S TEXT(A)=XMRG ; Set local array
; S MIRROR(XMPOS)=XMRG ; MIRROR will have the same subscripts
; as the original message
G A ; Go back for another line
VARIABLES: XMZ Input The internal number of the message to
be processed.
XMPOS Input The number of the last line read (or
null).
XMPOS Output The number of the "next" line in the
message; if no further lines, XMPOS=""
XMER Output 0 unless no lines greater than XMPOS,
then -1
XMRG Output line XMPOS of message XMZ
|