EssOtlAddMember() adds a member to the outline and sets the member's attributes.
ESS_FUNC_M EssOtlAddMember (hOutline, pMemberInfo, hParent, hPrevSibling, phMember);
| ESS_HOUTLINE_T | hOutline; |
| ESS_PMBRINFO_T | pMemberInfo; |
| ESS_HMEMBER_T | hParent; |
| ESS_HMEMBER_T | hPrevSibling; |
| ESS_PHMEMBER_T | phMember; |
| hOutline | Outline context handle. |
| pMemberInfo | Member information structure defining the member and its attributes. |
| hParent | Handle of parent. This field is used only if the hPrevSibling field is ESS_NULL. |
| hPrevSibling | Handle of previous sibling. |
| phMember | Handle of new member returned from the API. |
Returns 0 if successful; otherwise one of the following:
OTLAPI_BAD_CONSOL
OTLAPI_BAD_MBRNAME
OTLAPI_ERR_ADDNAMEUSED
OTLAPI_ERR_BADSHARE
OTLAPI_ERR_BADSKIP
OTLAPI_ERR_BADSTORAGE
OTLAPI_ERR_BADSTORAGECATEGORY
OTLAPI_ERR_BADTIMEBAL
OTLAPI_ERR_CURTOOMANYDIMS
OTLAPI_ERR_ILLEGALBOOLEAN
OTLAPI_ERR_ILLEGALCURRENCY
OTLAPI_ERR_ILLEGALDATE
OTLAPI_ERR_ILLEGALNUMERIC
OTLAPI_ERR_ILLEGALTAG
OTLAPI_ERR_LEAFLABEL
OTLAPI_ERR_NOSHAREPROTO
OTLAPI_ERR_NOTIMEDIM
Notes
| Field | Setting |
| usConsolidation | ESS_UCALC_NOOP |
| fTwoPass | ESS_FALSE |
| fExpense | ESS_FALSE |
| usConversion | ESS_CONV_NONE |
| usTimeBalance | ESS_TIMEBAL_NONE |
| usSkip | ESS_SKIP_NONE |
| usShare | ESS_SHARE_DYNCALCNOSTORE |
| usStorage | ESS_DIMTYPE_SPARSE |
| usCategory | ESS_CAT_ATTRIBUTE |
| usStorageCategory | ESS_STORECAT_ATTRIBUTE |
| Attribute.usDataType | For an attribute dimension or zero-level (leaf node) attribute member,
set one of the following data types:
ESS_ATTRMBRDT_BOOL ESS_ATTRMBRDT_DATETIME ESS_ATTRMBRDT_DOUBLE ESS_ATTRMBRDT_STRING You may instead set a zero-level (leaf node) attribute member to ESS_ATTRMBRDT_AUTO. You may set attribute members that are not zero level to ESS_ATTRMBRDT_NONE or ESS_ATTRMBR_AUTO. |
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = 0;
ESS_OBJDEF_T Object;
ESS_HOUTLINE_T hOutline;
ESS_MBRINFO_T MbrInfo;
ESS_HMEMBER_T hMemberProfit;
ESS_HMEMBER_T hNewMember;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
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);
if (!sts)
{
sts = EssOtlFindMember(hOutline, "Profit",
&hMemberProfit);
}
if (!sts && hMemberProfit)
{
memset(&MbrInfo, '\0', sizeof(MbrInfo));
strcpy(MbrInfo.szMember, "Inventory");
sts = EssOtlAddMember(hOutline, &MbrInfo,
ESS_NULL, hMemberProfit, &hNewMember);
}
EssOtlAddDimension()
EssOtlDeleteMember()
EssOtlDeleteDimension()
EssOtlSetMemberInfo()
EssOtlFindMember()