Difference between revisions of "Receive Data Queue (QRCVDTAQ)"

From MidrangeWiki
Jump to: navigation, search
m
m (Added parms to fixed form prorotype)
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
[[Category:API]]
 
[[Category:RPG_Prototypes]]
 
[[Category:RPG_Prototypes]]
 
[[Category:Data Queue]]
 
[[Category:Data Queue]]
=Receive Data Queue Entry=
+
== Summary ==
 
Receives an entry from a [[:Category:Data Queue|Data Queue]].
 
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 prDQName                      10A  const                     
+
D pDQName                      10A  const                     
D prDQLibr                      10A  const                     
+
D pDQLibr                      10A  const                     
D prDQLen                        5P 0                           
+
D pDQLen                        5P 0                           
D prDQData                  32767A  options(*varsize)         
+
D pDQData                    32767A  options(*varsize)         
D prDQWait                       5P 0 const                    
+
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;

References