EssVerifyRulesFile

指定したルール・ファイルの構文を確認します。

構文

            ESS_FUNC_M  EssVerifyRulesFile (
            hCtx, ruleFileName, pNmColumns, ppColumnErrors
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

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

ruleFileName

ESS_STR_T

確認するルール・ファイル名。

pNmColumns

ESS_PULONG_T

ルール・ファイルの列の数へのポインタ。

ppColumnErrors

ESS_ULONG_T

見つかったエラーの配列へのポインタ。

備考

戻り値

正常終了の場合、ルール・ファイル内の列数がpNmColumnsに、見つかったエラーの配列がppColumnErrorsに戻されます。

アクセス

この関数を使用するのに、特別な権限は必要ありません。

         {
   ESS_STS_T      sts = ESS_STS_NOERR;
   ESS_ULONG_T    numColumns = 0, i;
   ESS_PULONG_T   pColumnErrors = NULL;

   sts = EssVerifyRulesFile(hCtx, "rule_file", &numColumns, &pColumnErrors);
   if(!sts) 
   {
      if(numColumns && pColumnErrors) 
      {
         printf("NumColumns: %d\n", numColumns);
         for(i=0; i<numColumns; i++) 
         {
            printf("Column[%d]:\n", i+1);
            if( pColumnErrors[i] == 0 )
               printf("     No error\n");
            else 
            {
               if( pColumnErrors[i] & DAT_VERIFY_INVALIDMBR )
                  printf("     There is an unknown member (or no member) in the field name.\n");
               if( pColumnErrors[i] & DAT_VERIFY_INVALIDHDR )
                  printf("     There is an unknown member in the header.\n");
               if( pColumnErrors[i] & DAT_VERIFY_SAMENAME )
                  printf("     This field has the same field name as another field.\n");
               if( pColumnErrors[i] & DAT_VERIFY_DIMUSED )
                  printf("     The dimension name is used in another field name or in the header.\n");
               if( pColumnErrors[i] & DAT_VERIFY_MBRUSED )
                  printf("     A member name used as part of a combination in this field is used as a single 
                                  member name in another field.\n");
               if( pColumnErrors[i] & DAT_VERIFY_DIMINCROSSDIM )
                  printf("     A dimension name is used in a cross-dimensional reference in the field name.\n");
               if( pColumnErrors[i] & DAT_VERIFY_DATAFIELD )
                  printf("     Only one field can have the Data Field attribute.\n");
               if( pColumnErrors[i] & DAT_VERIFY_SIGNFLIPDIM )
                  printf("     The dimension used for Sign Flip checking is not in the associated outline.\n");
               if( pColumnErrors[i] & DAT_VERIFY_DUPINHEADER )
                  printf("     This field name is also defined in the header definition.\n");
               if( pColumnErrors[i] & DAT_VERIFY_DATEANDDATA )
                  printf("     A field may be designated a Data Field or a Date Field, but not both.\n");
               if( pColumnErrors[i] & DAT_VERIFY_DATEFIELDNAME )
                  printf("     The field name of a date field must be the name of a date dimension.\n");
               if( pColumnErrors[i] & DAT_VERIFY_DATEFORMAT )
                  printf("     There is an unrecognized date format for this date column.\n");
            }
         }
         EssFree(hInst, pColumnErrors);
      }
   }
}
      

関連トピック