次元内の特定の世代の名前を取得します。
構文
ESS_FUNC_M EssOtlGetGenName ( hOutline, pszDimension, usGen, ppszName );
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
pszDimension |
ESS_STR_T |
対象の世代を含む次元の名前。 |
usGen |
ESS_USHORT_T |
名前を取得する世代の番号。次元は世代1です。 |
ppszName |
ESS_PSTR_T |
世代名が戻されるバッファ。APIによって割り当てられます。 |
備考
世代名はメンバー名と同じルールに従い、メンバー名全体で一意性が必要です。他の世代、レベル、メンバー名、または別名と重複できません。重複した名前を追加しようとすると、エラーが発生します。
世代名は自動的には付与されません。この関数で名前を戻すには、名前を割り当てておく必要があります。名前はEssOtlSetGenNameで割り当てられます
戻りバッファを解放するには、EssFree()を呼び出します。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次のいずれかの値が戻されます:
OTLAPI_NO_GENLEVELNAME
OTLAPI_ERR_NOTADIM
OTLAPI_ ERR_GENLEVELNAMEMBR
例
#include <essapi.h> #include <essotl.h> ESS_STS_T sts = 0; ESS_HOUTLINE_T hOutline; ESS_OBJDEF_T Object; ESS_APPNAME_T szAppName; ESS_DBNAME_T szDbName; ESS_OBJNAME_T szFileName; ESS_STR_T Dimension; ESS_USHORT_T GenNum; ESS_STR_T GenName; 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); /************ Get Gen Name ***************/ Dimension = "Year"; GenNum = 3; if (!sts) { sts = EssOtlGetGenName(hOutline, Dimension, GenNum, &GenName); } if (!sts && GenName) { printf("Gen Name: %s\n",GenName); EssFree(hInst, GenName); }
関連トピック