EssCreateFilter

Description

EssCreateFilter() creates a new filter and starts setting its contents.

Syntax

ESS_FUNC_M  EssCreateFilter (hCtx, AppName, DbName, FilterName, Active, Access); 
ESS_HCTX_ThCtx
ESS_STR_TAppName
ESS_STR_TDbName
ESS_STR_TFilterName
ESS_BOOL_TActive
ESS_ACCESS_TAccess

Parameters

hCtxEssbase API context handle
AppNameApplication name
DbNameDatabase name
FilterNameFilter name, up to 30 characters long
ActiveFilter active flag. If TRUE, the filter is set active, otherwise it is set inactive.
AccessThe default filter access level

Return Value

None.

Notes

Access

This function requires the caller to have database designer permission (ESS_PRIV_DBDESIGN) for the specified database.

Example

ESS_FUNC_M 
ESS_CreateFilter (ESS_HCTX_T  hCtx)
{
   ESS_FUNC_M       sts = ESS_STS_NOERR;
   ESS_STR_T       AppName;   
   ESS_STR_T       DbName;
   ESS_STR_T       FilterName;
   ESS_BOOL_T      Active;
   ESS_ACCESS_T    Access, AccessAry[3];
   ESS_STR_T       RowString[3];
   ESS_USHORT_T    ind;
   
   AppName    = "Sample";
   DbName     = "Basic";
   FilterName = "NewFilter";
   Active     = ESS_TRUE;
   
    /***** Create Filter *****/
    sts = EssCreateFilter(hCtx, AppName, DbName,
          FilterName, Active, Access);
   if(!sts)
   {
      RowString[0] = "@IDESCENDANTS(Scenario)";
      RowString[1] = "@IDESCENDANTS(Product)";   
      RowString[2] = "Qtr1, @IDESCENDANTS(\"Colas\")";
   
      AccessAry[0] = ESS_ACCESS_READ;    
      AccessAry[1] = ESS_ACCESS_NONE;       
      AccessAry[2] = ESS_ACCESS_WRITE;       
      /***** Set Filter Rows *****/
           
      for(ind = 0; ind < 3; ind++)
      {
         sts = EssSetFilterRow(hCtx, RowString[ind], 
                    AccessAry[ind]);  
         if(sts)
            printf("Cannot set Filter row %s\r\n", 
                    RowString[ind]);
      }     
         sts = EssSetFilterRow(hCtx,
               "",ESS_ACCESS_NONE);
   }  
   return (sts);
}

See Also

EssGetFilter()
EssListFilters()
EssSetFilterRow()
EssSetFilter()