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

From MidrangeWiki
Jump to: navigation, search
(Prototype for the QRCVDTAQ API)
m (Added parms to fixed form prorotype)
 
Line 10: Line 10:
 
<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 (by [[User:DaveLClarkI|Dave Clark]]):
+
An RPG/LE fully free-form alternative:
 
<pre>
 
<pre>
 
//==============================================================================
 
//==============================================================================

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