Difference between revisions of "Receive Data Queue (QRCVDTAQ)"
From MidrangeWiki
m |
m (Added parms to fixed form prorotype) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:API]] | ||
[[Category:RPG_Prototypes]] | [[Category:RPG_Prototypes]] | ||
− | + | [[Category:Data Queue]] | |
− | Receives an entry from a [[Data Queue]]. | + | == Summary == |
+ | Receives an entry from a [[:Category:Data Queue|Data Queue]]. | ||
+ | |||
+ | For more information on this API, visit [https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apis/qrcvdtaq.htm Receive Data Queue (QRCVDTAQ) API] (right-click to open link in a new tab). | ||
+ | |||
+ | == Prototype for the QRCVDTAQ API == | ||
<pre> | <pre> | ||
DQRCVDTAQ PR EXTPGM('QRCVDTAQ') | DQRCVDTAQ PR EXTPGM('QRCVDTAQ') | ||
− | D | + | D pDQName 10A const |
− | D | + | D pDQLibr 10A const |
− | D | + | D pDQLen 5P 0 |
− | D | + | D pDQData 32767A options(*varsize) |
− | D | + | D pDQWait 5P 0 const |
+ | * Optional parm group 1 | ||
+ | D pKeyOrd 2A const options(*nopass) | ||
+ | D pKeyLen 3P 0 const options(*nopass) | ||
+ | D pKeyData 256A const options(*nopass:*varsize) | ||
+ | D pSndLen 3P 0 const options(*nopass) | ||
+ | D pSndInf 44A const options(*nopass:*varsize) | ||
+ | * Optional parm group 2 | ||
+ | D pRemove 10A const options(*nopass); | ||
+ | D pBsize 5P 0 const options(*nopass); | ||
+ | D pErrCode likeds(ApiErrC) options(*nopass:*varsize); | ||
</pre> | </pre> | ||
+ | |||
+ | An RPG/LE fully free-form alternative: | ||
+ | <pre> | ||
+ | //============================================================================== | ||
+ | // IBM API to Receive an entry from a Data Queue | ||
+ | // https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apis/qrcvdtaq.htm | ||
+ | //============================================================================== | ||
+ | dcl-pr IBMAPI_RecvFromDtaQ extpgm('QRCVDTAQ'); | ||
+ | DtaQName char(10) const; | ||
+ | DtaQLib char(10) const; | ||
+ | DtaQBufLen packed(5:0); | ||
+ | DtaQBuffer char(65535) options(*varsize); | ||
+ | DtaQWait packed(5:0) const; | ||
+ | // optional parm group 1 | ||
+ | DtaQKeyOrd char(2) const options(*nopass); | ||
+ | DtaQKeyLen packed(3:0) const options(*nopass); | ||
+ | DtaQKeyData char(256) const options(*nopass:*varsize); | ||
+ | DtaQSndLen packed(3:0) const options(*nopass); | ||
+ | DtaQSndInf char(44) const options(*nopass:*varsize); | ||
+ | // optional parm group 2 | ||
+ | DtaQRemove char(10) const options(*nopass); | ||
+ | DtaQBsize packed(5:0) const options(*nopass); | ||
+ | DtaQErrC likeds(ApiErrC) options(*nopass:*varsize); | ||
+ | end-pr; | ||
+ | </pre> | ||
+ | |||
+ | == References == | ||
+ | * [[API Error Code Structure (ApiErrC)]] |
Latest revision as of 14:12, 21 August 2020
Summary
Receives an entry from a Data Queue.
For more information on this API, visit Receive Data Queue (QRCVDTAQ) API (right-click to open link in a new tab).
Prototype for the QRCVDTAQ API
DQRCVDTAQ PR EXTPGM('QRCVDTAQ') D pDQName 10A const D pDQLibr 10A const D pDQLen 5P 0 D pDQData 32767A options(*varsize) D pDQWait 5P 0 const * Optional parm group 1 D pKeyOrd 2A const options(*nopass) D pKeyLen 3P 0 const options(*nopass) D pKeyData 256A const options(*nopass:*varsize) D pSndLen 3P 0 const options(*nopass) D pSndInf 44A const options(*nopass:*varsize) * Optional parm group 2 D pRemove 10A const options(*nopass); D pBsize 5P 0 const options(*nopass); D pErrCode likeds(ApiErrC) options(*nopass:*varsize);
An RPG/LE fully free-form alternative:
//============================================================================== // IBM API to Receive an entry from a Data Queue // https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apis/qrcvdtaq.htm //============================================================================== dcl-pr IBMAPI_RecvFromDtaQ extpgm('QRCVDTAQ'); DtaQName char(10) const; DtaQLib char(10) const; DtaQBufLen packed(5:0); DtaQBuffer char(65535) options(*varsize); DtaQWait packed(5:0) const; // optional parm group 1 DtaQKeyOrd char(2) const options(*nopass); DtaQKeyLen packed(3:0) const options(*nopass); DtaQKeyData char(256) const options(*nopass:*varsize); DtaQSndLen packed(3:0) const options(*nopass); DtaQSndInf char(44) const options(*nopass:*varsize); // optional parm group 2 DtaQRemove char(10) const options(*nopass); DtaQBsize packed(5:0) const options(*nopass); DtaQErrC likeds(ApiErrC) options(*nopass:*varsize); end-pr;