MQeFieldsGetBoolean, MQeFieldsGetByte, MQeFieldsGetShort, MQeFieldsGetInt, MQeFieldsGetLong, MQeFieldsGetDouble, MQeFieldsGetFloat

Description
Extracts typed data from the MQeFields object as a single 1, 2, 4, or 8-byte integer, float or double.

Syntax
#include <hmq.h>
#include <hmqHelper.h> 
MQEINT32 MQeFieldsGetBoolean( MQEHSESS hSess, 
					MQEHFIELDS hFlds, MQECHAR * pName, 
              MQEBYTE * pBoolean, MQEINT32 * pCompCode, 
              MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetByte( MQEHSESS hSess, 
										MQEHFIELDS hFlds, MQECHAR * pName, 
             						MQEBYTE * pByte, 
										MQEINT32 * pCompCode, 
             						MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetShort( MQEHSESS hSess, 
										MQEHFIELDS hFlds, MQECHAR * pName, 
             						MQEINT16 * pShort, 
										MQEINT32 * pCompCode, 
              					MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetInt( MQEHSESS hSess, 
									MQEHFIELDS hFlds, MQECHAR * pName, 
             					MQEINT32 * pInt, 
									MQEINT32 * pCompCode, 
             					MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetLong( MQEHSESS hSess, 
									MQEHFIELDS hFlds, MQECHAR * pName, 
             					MQEINT64 * pLong, MQEINT32 * pCompCode, 
             					MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetFloat( MQEHSESS hSess, 
										MQEHFIELDS hFlds, MQECHAR * pName, 
              					MQEBYTE * pFloat, 
										MQEINT32 * pCompCode, 
              					MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetDouble( MQEHSESS hSess, 
										MQEHFIELDS hFlds, MQECHAR * pName, 
              					MQEBYTE * pDouble, 
										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.

MQEBYTE * pBoolean - output
The returned boolean value.

MQEBYTE * pByte - output
The returned byte value.

MQEINT16 * pShort - output
The returned short value.

MQEINT32 * pInt - output
The returned 4 byte integer value.

MQEINT64 * pLong - output
The returned 8 byte integer value.

MQEFLOAT * pFloat - output
The returned double value.

MQEDOUBLE * pDouble - output
Returned float value.

MQEINT32 * pCompCode - output
MQECC_OK, MQECC_WARNING or MQECC_ERROR.

MQEINT32 * pReason - output

Return Value

MQEINT32
Returns '0' on success or '-1' on failure.

Example
#include <hmq.h>
#include <hmqHelper.h>
static MQECHAR const * FieldsType = 
			"com.ibm.mqe.MQeFields";
MQEHSESS  hSess;
MQEINT32  compcode;
MQEINT32  reason;
MQEHFIELDS hFlds;
MQEBYTE  booleanVal;
MQEBYTE  byteVal;
MQEINT16  int16Val;
MQEINT32  int32Val;
MQEINT64  int64Val;
MQFLOAT  floatVal;
MQDOUBLE  doubleVal;
MQEINT32  rc;
 
hSess  = MQeInitialize("MyAppsName", 
								&compcode, &reason);
hFlds  = MQeFieldsAlloc( hSess, FieldsType, 
									&compcode, &reason);
 
byteVal  = 1;
rc    = MQeFieldsPut( hSess, hFlds, "bool",  
								MQE_TYPE_BYTE, &booleanVal, 1, 
             				&compcode, &reason); 
byteVal  = 0x45;
rc    = MQeFieldsPut( hSess, hFlds, "b",  
								MQE_TYPE_BYTE, &byteVal, 1, 
             				&compcode, &reason); 
int16Val  = 32000;
rc    = MQeFieldsPut( hSess, hFlds, "sh", 
								MQE_TYPE_SHORT, 
								&int16Val, 1, 
            				&compcode, &reason); 
int32Val  = 2000000000;            
rc    = MQeFieldsPut( hSess, hFlds, "int", 
								MQE_TYPE_INT, 
								&int32Val, 1, 
            				&compcode, &reason); 
int64Val.hi = 265;
int64Val.lo = 2000000000;
rc    = MQeFieldsPut( hSess, hFlds, "lg", 
								MQE_TYPE_LONG, 
								&int64Val, 1, 
            				&compcode, &reason); 
floatVal  = 2.55;
rc    = MQeFieldsPut( hSess, hFlds, "f",  
								MQE_TYPE_FLOAT, 
								&floatVal, 1, 
            				&compcode, &reason); 
doubleVal = 2.3413453231e-63;
rc    = MQeFieldsPut( hSess, hFlds, "d",  
								MQE_TYPE_DOUBLE, 
								&doubleVal, 1, 
            				&compcode, &reason); 
 
booleanVal = 0;
byteVal  = 0;
int16Val  = 0;
int32Val  = 0;
int64Val.lo  = 0;
int64Val.hi  = 0;
floatVal = 0.0;
aDouble = 0.0;
 
/* Get the data */
MQeFieldsGetBoolean ( hSess, hFlds, "bool", 
								&booleanVal, 
								&compcode, 
								&reason);
MQeFieldsGetByte ( hSess, hFlds, "b", 
							&byteVal, 
							&compcode, 
							&reason);
MQeFieldsGetShort ( hSess, hFlds, "sh" , 
							&int16Val, 
							&compcode, 
							&reason);
MQeFieldsGetInt  ( hSess, hFlds, "int", 
							&int32Val , 
							&compcode, 
							&reason);
MQeFieldsGetLong ( hSess, hFlds, "lg", 
						&int64Val , 
						&compcode, 
						&reason);
MQeFieldsGetFloat ( hSess, hFlds, "f", 
							&floatVal , 
							&compcode, 
							&reason);
MQeFieldsGetDouble( hSess, hFlds, "d", 
							&doubleVal , 
							&compcode, 
							&reason);

See Also


© IBM Corporation 2002. All Rights Reserved