Depending on the seamless/non-seamless and conversational/non-conversational style of the client, at session start your rules can read or write up to three message segments. The rules can use MAP tables or the
$GETENVCOMMAREA and
$SETENVCOMMAREA tools. The message segments are the SPA, the session parameter string segment, and the data segment. Every client sends the data segment to the session.
MAP tables are a convenient means of accessing the message segments that are passed to the session and returned by it. Use the System Interpreted Table
@SESSION to obtain and manipulate the pointers to the message segments.
where n is the segment number 0, 1, or 2. Segment 0 corresponds to the SPA, and is valid only for conversational style clients. The lengths of these message segments are in @SESSION.SEG
nINLENGTH and @SESSION.SEG
nOUTLENGTH.
MAP tables support FORALL, GET, and REPLACE statements. All MAP tables are parameterized by a memory address that you use to position your MAP table access to any location within the message segment.
$GETENVCOMMAREA returns all the message segment as a syntax V string, including the
llzz or
llzzzz components. The maximum length of the returned string is 31K. To avoid local variable storage overflow, consider increasing the values of the session parameters EXECLOCALSIZE and EXECSTACKSIZE. Setting each of these to 128K is usually more than sufficient.
TIBCO Object Service Broker Shareable Tools about the tools and System Interpreted Tables.