Defines a range table.
ade_id
ade_rtdefrange(
char* tabname,
char* description,
struct resbuf* range_defn);
Returns a range table ID or ADE_NULLID.
| tabname | Range table name; can be up to 31 characters long. Must be unique, contain no spaces, and start with an alphanumeric character. |
| description | Range table description. |
| range_defn | Range table definition. |
A range table allows you to alter properties of queried entities conditionally. It contains a set of property alteration values from which a single value is selected depending on conditions obtaining in the queried entity to be altered.
The range_defn argument is a range table definition, a list of range expressions. Each range expression includes (1) a condition and (2) a property alteration value to return if the condition is true. This information is expressed as a list of three elements: a range table operator and a comparison value (which together make up the condition), and the return value. You must state each value explicitly. You cannot substitute an expression.
See Using a Range Table for more information.
The following sample creates a resbuf containing the range expression values representing the table defenition. ade_rtdefrange() is called with all required parameters, the returned rangeTableId is checked for ADE_NULLID and an appropriate message is displayed. Then it releases the resbuf, as required.
char* pszrRangeTblName = "Range_ChgColor";
char* pszrRangeTblDesc = "Change all except red to yellow";
struct resbuf* pRangeTblDef = acutBuildList(
RTLB,
RTLB,
RTSTR, "=",
RTSTR, "1",
RTSTR, "1",
RTLE,
RTLB,
RTSTR, "OTHERWISE",
RTSTR, "",
RTSTR, "2",
RTLE,
RTLE, 0);
ade_id rangeTableId = ade_rtdefrange(pszrRangeTblName, pszrRangeTblDesc, pRangeTblDef);
if (rangeTableId != ADE_NULLID) {
acutPrintf(
"\nThe range table %s has been created."
,pszrRangeTblName);
}
else {
acutPrintf(
"\nNo range table has been created.");
}
acutRelRb(pRangeTblDef);


