MQeFieldsPutShortArray, MQeFieldsPutIntArray, MQeFieldsPutLongArray, MQeFieldsPutFloatArray, MQeFieldsPutDoubleArray

Description
Puts an array of MQEINT16, MQEINT32, MQEINT64, MQEFLOAT, MQEDOUBLE, or MQEHFIELDS as an encoded array into an MQeFields object. The array elements are inserted in order as encoded fields followed by the array length. Returns the total number of fields put into the MQeFields object.

Syntax
#include <hmq.h> 
#include <hmqHelper.h> 
MQEINT32 MQeFieldsPutShortArray( MQEHSESS hSess, 
						MQEHFIELDS hFlds, 
                 MQECHAR * pName, MQEINT16 * pData, 
                 MQEINT32 n, MQEINT32 * pCompCode, 
                 MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsPutIntArray( MQEHSESS hSess, 
						MQEHFIELDS hFlds, 
                	MQECHAR * pName, MQEINT32 * pData, 
                	MQEINT32 n, MQEINT32 * 
                	pCompCode, MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsPutLongArray( MQEHSESS hSess, 
						MQEHFIELDS hFlds, 
                	MQECHAR * pName, MQEINT64 * pData, 
               	MQEINT32 n, MQEINT32 * 
               	pCompCode, MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsPutFloatArray( MQEHSESS hSess, 
						MQEHFIELDS hFlds, 
                 MQECHAR * pName, MQEFLOAT * pData, 
                 MQEINT32 n, MQEINT32 * pCompCode, 
                 MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsPutDoubleArray( MQEHSESS hSess, 
						MQEHFIELDS hFlds, 
                 MQECHAR * pName, MQEDOUBLE * pData, 
                 MQEINT32 n, MQEINT32 * pCompCode, 
                 MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsPutFieldsArray( MQEHSESS hSess, 
						MQEHFIELDS hFlds, 
                 MQECHAR * pName, MQEHFIELDS * pData, 
                 MQEINT32 n, MQEINT32 * pCompCode, 
                 MQEINT32 * pReason)

Parameters

MQEHSESS hSess - input
The session handle, returned by MQeInitialize.

MQEHFIELDS hFlds - input
A handle to an MQeFields object.

MQECHAR * pName - input
A null terminated string containing the name of the field. A null or a zero length string is invalid.

MQEINT16 * pData - input
An input array.

MQEINT32 * pData - input
An input array.

MQEINT64 * pData - input
An input array.

MQEFLOAT * pData - input
An input array.

MQEDOUBLE * pData - input
An input array.

MQEHFIELDS * pData - input
An input array.

MQEINT32 n - input
The number of elements to put.

MQEINT32 * pCompCode - output
MQECC_OK, MQECC_WARNING or MQECC_ERROR.

MQEINT32 * pReason - output
If the returned *pCompCode equals MQECC_ERROR, *pReason may have any of the following values:

MQE_EXCEPT_INVALID_HANDLE

MQE_EXCEPT_INVALID_ARGUMENT

MQE_EXCEPT_ALLOCATION_FAILED

Return Value

MQEINT32
  • On success, returns the number of fields successfully put.
  • On failure, returns a count of the number of fields processed including the failing field.
  • If an error occurs prior to any fields being processed, '-1' is returned.

Example
#include <hmq.h>
#include <hmqHelper.h>
static MQECHAR const * FieldsType = 
			"com.ibm.mqe.MQeFields";
MQEHSESS  hSess;
MQEINT32  compcode;
MQEINT32  reason;
MQEHFIELDS hFlds;
MQEINT16  shorts[2];
MQEINT32  ints[3];
MQEINT64  longs[2];
MQEINT32  rc;
 
hSess  = MQeInitialize("MyAppsName", 
								&compcode, &reason);
hFlds  = MQeFieldsAlloc( hSess, FieldsType, 
								&compcode, &reason);
shorts[0]= 32000;
shorts[1]= 32020;
rc    = MQeFieldsPutShortArray( hSess, hFlds, 
											"boo", 2, [0], 
                 					&compcode, 
											&reason); 
ints[0] = 2000100000;
ints[1] = 2000020000;
ints[2] = 2000003000;
rc    = MQeFieldsPutIntArray( hSess, hFlds, 
											"foo", 3, [0], 
                						&compcode, 
											&reason); 
longs[0].hi = 265;
longs[0].lo = 2000000000;
longs[1].hi = 2000000000;
longs[1].lo = 255;
rc    = MQeFieldsPutLongArray( hSess, hFlds, 
											"poo", 2, [0], 
                 					&compcode, 
											&reason); 
 
memset(shorts, 0, sizeof(shorts);
memset(ints , 0, sizeof(ints);
memset(longs , 0, sizeof(longs);
 
/* Get individual data element */
MQeFieldsGetShort( hSess, hFlds, 
							"boo:0" , [0] , 
							&compcode, 
							&reason);
MQeFieldsGetShort( hSess, hFlds, 
							"boo:1" , [1] , 
							&compcode, &reason);
MQeFieldsGetInt ( hSess, hFlds, 
							"foo:0" , [0], 
							&compcode, &reason);
MQeFieldsGetInt ( hSess, hFlds, 
							"foo:1" , [1], 
							&compcode, &reason);
MQeFieldsGetInt ( hSess, hFlds, 
							"foo:2" , [2], 
							&compcode, &reason);
MQeFieldsGetLong ( hSess, hFlds, 
							"poo:0" , [0], 
							&compcode, &reason);
MQeFieldsGetLong ( hSess, hFlds, 
							"poo:1" , [1], 
							&compcode, &reason);

See Also


© IBM Corporation 2002. All Rights Reserved