EssSetFilter

フィルタを作成または置換し、フィルタのコンテンツの設定を開始します。

構文

            ESS_FUNC_M  EssSetFilter (
            hCtx, AppName, DbName, FilterName, Active, Access
            ); 
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

APIコンテキスト・ハンドル。

AppName

ESS_STR_T

アプリケーション名。

DbName

ESS_STR_T

データベース名。

FilterName

ESS_STR_T

フィルタ名。フィルタ名の制限を参照してください。

Active

ESS_BOOL_T

フィルタのアクティブ・フラグ。TRUEの場合はフィルタがアクティブに設定され、TRUEでない場合は非アクティブに設定されます。

Access

ESS_ACCESS_T

デフォルトのフィルタ・アクセス・レベル。

備考

戻り値

なし。

アクセス

この関数を使用するには、呼出し元が、指定したデータベースに対してデータベース・デザイン権限(ESS_PRIV_DBDESIGN)を持っている必要があります。

         ESS_FUNC_M 
ESS_SetFilter (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;
   
    /***** Set Filter *****/
    sts = EssSetFilter(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);
}
      

関連トピック