EssEndIncrementalBuildDim

構築次元の四捨五入を完了します: アウトラインを確認し、エラーがなければ、アウトラインを書いて閉じ、再構築します。アウトラインにエラーがある場合、"szTmpOtlFile"で指定されたアウトライン・ファイルにアウトラインを書いて、アウトラインを閉じます。EASアウトライン・エディタなどのアウトライン編集ツールを使用して、アウトラインに問題がないか確認できます。

構文

            ESS_FUNC_M EssEndIncrementalBuildDim (
            hCtx, restructOption, szTmpOtlFile, ErrorName, bOverwrite
            )

         
パラメータデータ型説明

hCtx

ESS_HCTX_T

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

restructOption

ESS_SHORT_T

再構築オプション。有効な値:

  • ESS_DOR_ALLDATA

    すべてのデータを保持します

  • ESS_DOR_NODATA

    すべてのデータを破棄します

  • ESS_DOR_LOWDATA

    レベル0のすべてのデータを保持します

  • ESS_DOR_INDATA

    すべての入力データを保持します

szTmpOtlFile

ESS_STR_T

一時アウトライン・ファイル名。

ErrorName

ESS_STR_T

クライアントでのエラー出力ファイルの名前。

bOverwrite

ESS_BOOL_T

ブール。値:

  • ESS_TRUE - 既存のエラー・ファイルを上書きします。

  • ESS_FALSE - 上書きしません。既存のエラー・ファイルに追加します。

戻り値

正常終了の場合は0が戻され、失敗した場合はエラー・コードが戻されます。

         ESS_FUNC_M
ESS_IncBuildDim( ESS_HCTX_T hCtx)
{
	ESS_STS_T     sts = 0;
	ESS_OBJDEF_T  RulesObj;
	ESS_OBJDEF_T  DataObj;
	ESS_STR_T     ErrorName;
	ESS_APPNAME_T appname;
	ESS_DBNAME_T  dbname;

   memset(&RulesObj,0,sizeof(ESS_OBJDEF_T));
   memset(&DataObj,0,sizeof(ESS_OBJDEF_T));
   strcpy(appname, "sample");
   strcpy(dbname,"basic");

   RulesObj.hCtx     = hCtx;
   RulesObj.FileName = "genref"; 
   RulesObj.AppName  = appname;
   RulesObj.DbName   = dbname;
   RulesObj.ObjType  = ESS_OBJTYPE_RULES;  
   
   DataObj.hCtx      = hCtx;
   DataObj.FileName  = "genref";
   DataObj.AppName   = appname;
   DataObj.DbName    = dbname;
   DataObj.ObjType   = ESS_OBJTYPE_TEXT;    
    
   ErrorName         = "builddim.err";
   
   sts = EssBeginIncrementalBuildDim(hCtx);

   if (!sts)
      sts = EssIncrementalBuildDim(hCtx,&RulesObj,&DataObj,NULL,ErrorName,true,ESS_INCDIMBUILD_BUILD,NULL);
   if (!sts)
      sts = EssIncrementalBuildDim(hCtx,&RulesObj,&DataOb,NULL,ErrorName,true,ESS_INCDIMBUILD_VERIFY,NULL);
   if (!sts)
      sts = EssIncrementalBuildDim(hCtx,&RulesObj,&DataOb,NULL,ErrorName,true,ESS_INCDIMBUILD_SAVEOTL,"tmpotl");


   sts = EssBeginStreamBuildDim(hCtx, &RulesObj,ESS_INCDIMBUILD_BUILD,"tmpotl");
   if (!sts)
      sts = EssSendString(hCtx, "600	600-20	600-20-20\n");
   if (!sts)
      sts = EssSendString(hCtx, "600	600-20	600-20-30\n");
   if (!sts)
      sts = EssSendString(hCtx, "600	600-40	600-40-20\n");
   sts = EssEndStreamBuildDim(hCtx,ErrorName,false);


   sts = EssEndIncrementalBuildDim(hCtx,ESS_DOR_ALLDATA,"tmpotl",ErrorName,false);
   return sts;
}

      

関連トピック