Ends the dimension build process.
This of function must be called after EssBeginStreamBuildDim(). After calling EssBeginStreamBuildDim(), call EssSendString() to send source records to the Essbase server.
Syntax
ESS_FUNC_M EssEndStreamBuildDim (hCtx, ErrorFileName, ErFileOverWrite)
| Parameter | Data Type | Description |
|---|---|---|
hCtx | ESS_HCTX_T | Essbase API context handle. |
ErrorFileName | ESS_STR_T | Name of error output file on client. |
ErFileOverWrite | ESS_BOOL_T | Indicates overwrite or append error message to the error file. |
Return Value
Returns zero if successful; error code if unsuccessful.
Example
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;
}
See Also