EssListVariables() lists substitution variables at the server, application, and database levels, according to the input criteria.
Syntax
ESS_FUNC_M EssListVariables (hCtx, pCriteria, pNumVars, ppVarList);
| Parameter | Data Type | Description |
|---|---|---|
hCtx | ESS_HCTX_T | Context handle to the API. |
pCriteria | ESS_VARIABLE_T | The pointer to the structure containing the description of the substitution variables being listed.
|
pNumVars | ESS_PULONG_T | The pointer to an unsigned long value indicating the number of variables being returned in the ppVarList parameter. |
ppVarList | ESS_VARIABLE_T | The pointer to an array of substitution variable structures. It is the responsibility of the caller to free this array by calling EssFree. |
Return Value
If successful, returns zero.
Example
/*
** ESS_ListVariables() lists the substitution variables using
** the API EssListVariables.
*/
ESS_FUNC_M
ESS_ListVariables (ESS_HCTX_T hCtx)
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_PVARIABLE_T pVariables;
ESS_ULONG_T ulCount, i;
ESS_VARIABLE_T Variable;
printf("\n *****************************************");
printf("\n **** An example of using EssListVariables");
printf("\n *****************************************");
/*****************************************************************/
/* List Variables at the level of the Server/App/Db */
/* Variables under that specific server will be listed */
/* Variables under that specific server/ App will be listed */
/* Variables under that specific server/ App /DB will be listed */
/*****************************************************************/
strcpy(Variable.VarName, ""); // ignored by EssListVariables
strcpy(Variable.Server, "local");
strcpy(Variable.AppName, "Sample");
strcpy(Variable.DbName, "Basic");
sts = EssListVariables(hCtx, &Variable, &ulCount, &pVariables);
if (sts == ESS_STS_NOERR)
{
printf("\n--- Number of Substitution Variables at the Server, App and Db
level is: %ld\n", ulCount);
for (i = 0; i < ulCount; i++)
{
printf("Variable name : %s\n", pVariables[i].VarName);
printf("Server name : %s\n", pVariables[i].Server);
printf("Application name : %s\n", pVariables[i].AppName);
printf("Database name : %s\n", pVariables[i].DbName);
printf("Variable value : %s\n\n", pVariables[i].VarValue);
}
}
/****************************************************************/
/* Variables under that specific Server will be listed */
/* Variables under that specific Server/App will be listed */
/****************************************************************/
if (sts == ESS_STS_NOERR)
{
strcpy(Variable.VarName, ""); // ignored by EssListVariables
strcpy(Variable.Server, "local");
strcpy(Variable.AppName, "Sample");
strcpy(Variable.DbName, "");
sts = EssListVariables(hCtx, &Variable, &ulCount, &pVariables);
if (sts == ESS_STS_NOERR)
{
printf("\n--- Number of Substitution Variables at the Server and App
level is: %ld\n", ulCount);
for (i = 0; i < ulCount; i++)
{
printf("Variable name : %s\n", pVariables[i].VarName);
printf("Server name : %s\n", pVariables[i].Server);
printf("Application name : %s\n", pVariables[i].AppName);
printf("Database name : %s\n", pVariables[i].DbName);
printf("Variable value : %s\n\n", pVariables[i].VarValue);
}
}
}
/***************************************************************/
/* List Variables at the level of the Server */
/***************************************************************/
if (sts == ESS_STS_NOERR)
{
strcpy(Variable.VarName, ""); // ignored by EssListVariables
strcpy(Variable.Server, "local");
strcpy(Variable.AppName, "");
strcpy(Variable.DbName, "");
if (sts == ESS_STS_NOERR)
sts = EssListVariables(hCtx, &Variable, &ulCount, &pVariables);
if (sts == ESS_STS_NOERR)
{
printf("\n--- Number of Substitution Variables at the Server level is:
%ld\n", ulCount);
for (i = 0; i < ulCount; i++)
{
printf("Variable name : %s\n", pVariables[i].VarName);
printf("Server name : %s\n", pVariables[i].Server);
printf("Application name : %s\n", pVariables[i].AppName);
printf("Database name : %s\n", pVariables[i].DbName);
printf("Variable value : %s\n\n", pVariables[i].VarValue);
}
}
}
if (sts == ESS_STS_NOERR)
printf("\n --> No Errors in EssListVariables\n\n\n");
else
printf("\n --> Error in EssListVariables number: %d\n\n\n", sts);
return (sts);
} /* end ESS_ListVariables */Output
***************************************** **** An example of using EssListVariables ***************************************** --- Number of Substitution Variables at the Server, App and Db level is: 3 Variable name : QuarterName Server name : local Application name : Sample Database name : Basic Variable value : Qtr2 Variable name : MarketName Server name : local Application name : Sample Database name : Variable value : East Variable name : MarketName Server name : local Application name : Database name : Variable value : Market --- Number of Substitution Variables at the Server and App level is: 2 Variable name : MarketName Server name : local Application name : Sample Database name : Variable value : East Variable name : MarketName Server name : local Application name : Database name : Variable value : Market --- Number of Substitution Variables at the Server level is: 1 Variable name : MarketName Server name : local Application name : Database name : Variable value : Market --> No Errors in EssListVariables
See Also