レポート・オブジェクトをEssbaseデータベースのデータ・セルにリンクします。
構文
ESS_FUNC_M EssLROAddObject (
hCtx, memCount, pMemComb, usOption,
pLRODesc
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
memCount |
ESS_ULONG_T |
pMemCombで指定したメンバー数。 |
pMemComb |
ESS_PVOID_T |
リンクされるデータ・セルを定義するメンバー名の配列。 |
usOption |
ESS_USHORT_T |
オブジェクトの保管先を指定するオプション。次のいずれかの値を使用します:
|
pLRODesc |
ESS_LRODESC_API_T |
オブジェクト記述構造体へのポインタ。 |
備考
リンク・オブジェクトは、次のいずれかのタイプです:
Word文書、Excelスプレッドシートまたはビットマップ・イメージなどのフラット・ファイル。
最大599文字のテキストが含まれるセル・ノート。
URLへのリンク。
その他のEssbaseデータベースへのリンク(リンク・パーティション機能)。
オブジェクトをサーバーに保管しないことを選択した場合(usOption)は、アプリケーションがそのオブジェクトのすべてのファイル管理タスクを担当します(つまり、オブジェクトはEssbaseデータベースに保管されないため、他のプログラムが担当する必要があります)。
セル・ノートは、常にサーバーに保管されるため、usOptionパラメータは無視されます。
URLリンク・オブジェクトでのusOptionパラメータは、常にESS_NOSTORE_OBJECT_APIである必要があります。
EssLROAddObjectは、現在ログインしているユーザー名をオブジェクトの"created by"ユーザー名として使用し、pLRODescオブジェクト記述構造体で指定されたユーザー名は無視します。
戻り値
正常終了の場合は、ESS_STS_NOERRが戻されます。それ以外の場合、エラー・コードが戻されます。
アクセス
この関数を呼び出すには、アクティブなデータベースに対して書込み権限(ESS_PRIV_WRITE)を持っている必要があります。
例
ESS_STS_T ESS_LROAddObject (ESS_HCTX_T hCtx, ESS_HINST_T hInst)
{
ESS_STS_T sts = ESS_STS_NOERR;
ESS_PMBRNAME_NONUNI_T pMemComb = NULL;
ESS_LRODESC_API_T lroDesc;
ESS_USHORT_T usOption = 0;
ESS_ULONG_T memCount;
memset (&lroDesc, 0 , sizeof(ESS_LRODESC_API_T));
lroDesc.usObjType = 0; /* Creating a cell note */
strcpy(lroDesc.lro.note, "The profit for Colas in the East based on actuals");
usOption = ESS_NOSTORE_OBJECT_API;
strcpy(lroDesc.userName, "user1");
memCount = 5;
sts = EssAlloc(hInst, memCount*sizeof(ESS_MBRNAME_NONUNI_T),
(ESS_PPVOID_T)&pMemComb);
if (sts)
{
printf("could not allocate memory\n");
return sts;
}
memset(pMemComb, 0, memCount*sizeof(ESS_MBRNAME_NONUNI_T));
strcpy( pMemComb[0], "Profit");
strcpy( pMemComb[1], "East");
strcpy( pMemComb[2], "Actual");
strcpy( pMemComb[3], "Colas");
strcpy( pMemComb[4], "Year");
sts = EssLROAddObject( hCtx, memCount, pMemComb, usOption, &lroDesc);
if (sts)
{
printf( "Could not attach LRO\n");
}
EssFree(hInst, pMemComb);
return sts;
}
関連トピック