This function returns attribute information for a given attribute member or dimension.
ESS_FUNC_M EssOtlGetAttributeInfo (hOutline, hAttribute, pAttributeInfo);
| ESS_HOUTLINE_T | hOutline; |
| ESS_HMEMBER_T | hAttribute; |
| ESS_PATTRIBUTEINFO_T | pAttributeInfo; |
| hOutline | Handle to the outline |
| hAttribue | Handle to the attribute member or dimension |
| pAttributeInfo | Attribute information |
void ESS_GetAttributeInfo()
{
ESS_PATTRIBUTEINFO_T pAttributeInfo = ESS_NULL;
ESS_STS_T sts = ESS_STS_NOERR;
ESS_OBJDEF_T Object;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
ESS_HOUTLINE_T hOutline;
ESS_PPHMEMBER_T phMember;
ESS_PPMBRINFO_T phMemberInfo;
ESS_MBRNAME_T mbrName;
ESS_HMEMBER_T hMember;
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, "100-10", &hmember);
printf("EssOtlFindMember() sts: %ld\n",sts);
sts = EssOtlGetAttributeInfo(hOutline, hMember, &pAttributeInfo);
if (sts == ESS_STS_NOERR && pAttributeInfo)
{
printf("\n------Attribute Information------\n");
printf("Member name: %s\n", pAttributeInfo->MbrName);
printf("Dim name: %s\n", pAttributeInfo->DimName);
switch(pAttributeInfo->Attribute.usDataType)
{
case (ESS_ATTRMBRDT_STRING):
printf("Attribute data type: Text\n");
if(pAttributeInfo->Attribute.value.strData)
printf("Attribute value: %s\n",pAttributeInfo->Attribute.value.strData);
break;
case (ESS_ATTRMBRDT_BOOL):
printf("Attribute data type: Boolean\n");
printf("Attribute value: %d\n",pAttributeInfo->Attribute.value.bData);
break;
case (ESS_ATTRMBRDT_DOUBLE):
printf("Attribute data type: Numeric\n");
printf("Attribute value: %f\n",pAttributeInfo->Attribute.value.dblData);
break;
case (ESS_ATTRMBRDT_DATETIME):
printf("Attribute data type: Date\n");
printf("Attribute value: %s\n",ctime(&pAttributeInfo->Attribute.value.dtData));
break;
case (ESS_ATTRMBRDT_NONE):
printf("Attribute data type: None\n");
break;
default:
printf("Attribute data type: \n");
break;
}
}
}
EssCheckAttributes()
EssFreeStructure()
EssGetAssociatedAttributesInfo()
EssGetAttributeInfo()
EssGetAttributeSpecifications()
EssOtlAssociateAttributeDimension()
EssOtlAssociateAttributeMember()
EssOtlDisassociateAttributeDimension()
EssOtlDisassociateAttributeMember()
EssOtlFindAttributeMembers()
EssOtlFreeStructure()
EssOtlGetAssociatedAttributes()
EssOtlGetAttributeSpecifications()
EssOtlQueryAttributes()
EssOtlSetAttributeSpecifications()