Associates an attribute dimension with a standard or base dimension.
Syntax
| Parameter | Data Type | Description |
|---|---|---|
hOutline; | ESS_HOUTLINE_T | Handle to the outline |
hStandardDimension; | ESS_HMEMBER_T | Handle to the standard or base dimension |
hAttributeDimension; | ESS_HMEMBER_T | Handle to the attribute dimension |
Notes
The attribute dimension must be sparse.
The standard or base dimension must be sparse.
You must associate an attribute dimension with a standard or base dimension.
You can associate more than one attribute dimension with a base dimension.
You cannot associate an attribute dimension with more than one base dimension.
Example
void ESS_OtlAssociateAttributeDimension()
{
ESS_STS_T sts = ESS_STS_NOERR;
ESS_HOUTLINE_T hOutline;
ESS_HMEMBER_T hBaseMbr;
ESS_HMEMBER_T hAttrMbr;
ESS_OBJDEF_T Object;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
ESS_PROCSTATE_T pState;
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
strcpy(szAppName, "Sample");
strcpy(szDbName, "Basic");
strcpy(szFileName, "Basic");
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE, ESS_TRUE, &hOutline);
printf("EssOtlOpenOutline() sts: %ld\n",sts);
sts = EssOtlFindMember(hOutline, "Product", &hBaseMbr);
printf("EssOtlFindMember() sts: %ld\n",sts);
sts = EssOtlFindMember(hOutline, "Color", &hAttrMbr);
printf("EssOtlFindMember() sts: %ld\n",sts);
sts = EssOtlAssociateAttributeDimension(hOutline,hBaseMbr,hAttrMbr);
printf("EssOtlAssociateAttributeDimension() sts: %ld\n",sts);
sts = EssOtlWriteOutline(hOutline, &Object);
printf("EssOtlWriteOutline() sts: %ld\n",sts);
sts = EssOtlRestructure(hCtx, ESS_DOR_ALLDATA);
printf("EssOtlRestructure() sts: %ld\n",sts);
if (!sts)
{
sts = EssGetProcessState (hCtx, &pState);
while (!sts || (pState.State != ESS_STATE_DONE))
sts = EssGetProcessState (hCtx, &pState);
}
sts = EssOtlCloseOutline(hOutline);
printf("EssOtlCloseOutline() sts: %ld\n",sts);
}See Also