Technical information

Programming - Asset Management
101
RMS Enterprise - NetLinx Programmer’s Guide
Asset Control Methods Registration Functions (Cont.)
RmsAssetControlMethod
ArgumentEnumEx
Description: This function is used to add an asset control method argument to an asset control method registration that is
currently in queue and has not yet been submitted to the RMS server.
The asset control method argument being added is of type: ENUMERATION.
This EXTENDED function support enumeration values provided as a multi-dimensional array.
Arguments: see method signature below
Returns: 1 if call was successful; 0 if call was unsuccessful
Syntax:
DEFINE_FUNCTION CHAR RmsAssetControlMethodArgumentEnumEx(CHAR assetClientKey[],
CHAR methodKey[],
INTEGER argumentOrdinal,
CHAR argumentName[],
CHAR argumentDescription[],
CHAR argumentDefaultValue[],
CHAR argumentEnumerationValues[][])
{
STACK_VAR CHAR rmsEnumValues[RMS_MAX_CMD_LEN];
INTEGER index;
// ensure an asset client key has been provided
IF(assetClientKey == '')
{
SEND_STRING 0, '>>>> RMS API ERROR <RmsAssetControlMethodArgumentEnumEx> :: missing asset client
key';
RETURN FALSE;
}
// ensure a control method key has been provided
IF(methodKey == '')
{
SEND_STRING 0, '>>>> RMS API ERROR <RmsAssetControlMethodArgumentEnumEx> :: missing control
method key';
RETURN FALSE;
}
// ensure a control method argument has been provided
IF(argumentName
== '')
{
SEND_STRING 0, '>>>> RMS API ERROR <RmsAssetControlMethodArgumentEnumEx> :: missing control
method argument name';
RETURN FALSE;
}
// convert array of enumeration values into pipe separated string
FOR(index = 1; index <= LENGTH_ARRAY(argumentEnumerationValues); index++)
{
rmsEnumValues = "rmsEnumValues,argumentEnumerationValues[index],'|'";
}
IF(LENGTH_STRING(rmsEnumValues))
SET_LENGTH_STRING(rmsEnumValues,LENGTH_STRING(rmsEnumValues)-1)
// Add pipe parsing and call up
RmsAssetControlMethodArgumentEnum(assetClientKey,
methodKey,
argumentOrdinal,
argumentName,
argumentDescription,
argumentDefaultValue,
rmsEnumValues)
RETURN TRUE;
}