![]() Chapter Contents |
![]() Previous |
![]() Next |
| QUEUE_RECV |
| Syntax | |
| QUEUE_RECV Example 1 | |
| QUEUE_RECV Example 2 |
Syntax |
| CALL QUEUE_RECV(queueId, rc <, parm1,...,parmn>); |
| Where... | Is type... | And represents... |
|---|---|---|
| queueId | N | queue identifier |
| rc | N | return code |
| parm1,...parmn | N or C | parameters in which to receive the message surfaced by the query; consists of 0 or more numerics or characters |
If an error or a warning condition is encountered during the receive, a non-zero return code is returned in the rc parameter. Use the SYSMSG() function to print the message that is associated with the non-zero rc.
If an unexpected message is received, QUEUE_RECV can be called with no receive parameters in order to throw away the message. A truncation warning is returned, but the message will have successfully been thrown away.
| QUEUE_RECV Example 1 |
This example queries on a fetch queue, and based on the msgtype that is returned, receives the message into the appropriate variables.
call queue_query(queueId, etype, msgtype,
attachFlag, rc);
if (etype = "DELIVERY") then do;
/**********************************/
/* will have some meaning to user */
/**********************************/
if (msgtype = 1) then do;
name = '';
age = 0;
race = '';
/*******************************/
/* receive 3 parameters */
/*******************************/
call queue_recv(queueId, rc, name,
age, race);
end;
else if (msgtype = 5) then do;
/*******************************/
/* receive 1 parameter */
/*******************************/
task = 0;
call queue_recv(queueId, rc, task);
end;
else do;
/**********************************/
/* unknown message type; throw out*/
/* message by forcing truncation */
/**********************************/
call queue_recv(queueId, rc);
end;
end;
| QUEUE_RECV Example 2 |
This example throws the message away by forcing truncation.
call queue_recv(queueId, rc);
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.