アクティブ・データベース・アウトライン内の、タグ付き通貨パーティション次元のすべてのメンバーについてのレート情報が含まれている構造体のリストを取得します。
構文
ESS_FUNC_M EssGetCurrencyRateInfo (
hCtx, pCount, ppRateInfo
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
pCount |
ESS_PLONG_T |
レート情報構造体のカウントを受け取る変数のアドレス。 |
ppRateInfo |
ESS_RATEINFO_T |
割り当てられた通貨レート情報構造体の配列を受け取るポインタのアドレス。 |
備考
ppRateInfoに対して割り当てられたメモリーは、EssFreeを使用して解放する必要があります。
この関数は、関連通貨データベースが指定されている標準のデータベースに対して呼び出せます。
戻り値
正常終了の場合、構造体のカウントがpCountに、割り当てられた通貨レート情報構造体の配列がppRateInfoに戻されます。
アクセス
この関数を使用するには、呼出し元がデータベースに対して少なくとも読取りアクセス権(ESS_PRIV_READ)を持っていて、EssSetActiveを使用してそのデータベースをアクティブなデータベースとして選択している必要があります。
例
ESS_FUNC_M
ESS_GetCrRate (ESS_HCTX_T hCtx,
ESS_HINST_T hInst
)
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_LONG_T count, i, j;
ESS_PRATEINFO_T pRateInfoList = NULL;
ESS_CHAR_T rateStr[(2 + ESS_MBRNAMELEN) * ESS_CRDB_MAXDIMNUM];
sts = EssGetCurrencyRateInfo (hCtx, &count, &pRateInfoList);
if (!sts)
{
if (count)
{
for (i = 0; i < count; i++)
{
rateStr[0] = '\0';
for (j = 0; j < ESS_CRDB_MAXDIMNUM; j++)
{
if (pRateInfoList[i].RateMbr[j][0])
{
if (rateStr[0])
strcat(rateStr, "->");
strcat(rateStr, pRateInfoList[i].RateMbr[j]);
}
}
if (!rateStr[0])
strcpy(rateStr, "(LOCAL)");
if (i == 0)
{
/* 1st is always DB rate */
printf ("database [%s] : %s\r\n", pRateInfoList[i].MbrName, rateStr);
}
else
{
printf ("Partition [%s] : %s\r\n", pRateInfoList[i].MbrName, rateStr);
}
}
}
}
if (pRateInfoList)
EssFree (hInst, pRateInfoList);
return (sts);
}
関連トピック