Receive Data Queue (QRCVDTAQ)

From MidrangeWiki
Jump to: navigation, search

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