Common Messaging Interface Call Routines |
Transports supported: | MQSeries, MQSeries-C, MSMQ, Rendezvous, Rendezvous-CM |
Syntax | |
Arguments | |
Example |
Syntax |
CALL PARSEMESSAGE(qid, cursor, rc, map, data); |
Numeric, input
Specifies the handle of an open queue that is obtained from a previous OPENQUEUE function call.
Numeric, input or output
Sets the cursor to zero in order to parse from the beginning. Upon return, the cursor is positioned at the next data location, according to the specified map.
Numeric, output
Provides the return code from the CALL routine. If an error occurs, then the return code is nonzero. You can use the SAS function SYSMSG() in order to obtain a textual description of the return code.
Character, input
Specifies the map data descriptor that is defined by a previous SETMAP function call.
Character or numeric, output
Identifies the data to be parsed from the internal receive buffer.
Example |
The following example parses a message:
length msg $ 200; length qid rc attchflg 8 event $ 10; length msgtype 8 corrid $ 48 map $ 80; length employee $ 20 id 8; rc=0; map='employeerecord'; /* data descriptor defined in repository... ie., "char,,20;double" */ cursor=0; call parsemessage(qid, cursor, rc, map, employee, id); if rc ^= 0 then do; put 'PARSEMESSAGE: failed'; msg = sysmsg(); put msg; end; else do; put 'PARSEMESSAGE: succeeded'; put 'employee = ' employee; put 'id = ' id; end;
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.