EssGetCurrencyRateInfo

アクティブ・データベース・アウトライン内の、タグ付き通貨パーティション次元のすべてのメンバーについてのレート情報が含まれている構造体のリストを取得します。

構文

            ESS_FUNC_M EssGetCurrencyRateInfo (
            hCtx, pCount, ppRateInfo
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

APIコンテキスト・ハンドル。

pCount

ESS_PLONG_T

レート情報構造体のカウントを受け取る変数のアドレス。

ppRateInfo

ESS_RATEINFO_T

割り当てられた通貨レート情報構造体の配列を受け取るポインタのアドレス。

備考

戻り値

正常終了の場合、構造体のカウントが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);
}
      

関連トピック