EssOtlGetOriginalMember

共有または拡張共有メンバーの元のメンバー名が戻されます。共有メンバーでない場合は、戻り値はNULLです。この関数は完全に修飾された元のメンバー名が戻されます。

構文

            ESS_FUNC_M EssOtlGetOriginalMember (
            hOutline, hMember, ppOriMember
            );
         
パラメータデータ型説明

hOutline

ESS_HOUTLINE_T

アウトラインのコンテキスト・ハンドル(入力)。

hMember

ESS_HMEMBER_T

メンバー名(入力)。

ppOriMember

ESS_PSTR_T

元のメンバー名(出力)。

備考

戻り値

正常終了の場合は0が戻され、それ以外はエラーが戻されます。

Sample Basic共有メンバー100-10で戻される「元のメンバー」は[100].[100-20]であるとします。

         ESS_FUNC_M ESS_GetOrigMember()
{
 
 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_HMEMBER_T   hMember = ESS_NULL, ChildMember = ESS_NULL;
 ESS_STR_T    OriMember;
 
 
 
 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);
 
// sts = EssOtlOpenOutlineQuery (hCtx, &Object, &hOutline);
 
 if (!sts)
 {
  sts = EssOtlFindMember(hOutline, "Diet", &hMember);
 }
 
 //Get member handle for shared member "100-10"
 if (!sts && hMember)
 {
  sts = EssOtlGetChild(hOutline, hMember, &ChildMember);
 }
 

  if (!sts && ChildMember)
  {
   sts = EssOtlGetOriginalMember (hOutline, ChildMember, &OriMember);
   printf("Original member for shared member \"100-10\" is: %s", OriMember);
  }
 
 return sts;
}
      

関連トピック

  • EssOtlSetOriginalMember