EssCalcWithRuntimeSubVars

指定したランタイム代替変数(キー/値ペアの文字列として指定)を使用して計算スクリプトを実行します。計算を開始することも、計算スクリプトの確認のみを行い、エラーがあれば戻すこともできます。

構文

            ESS_FUNC_M EssCalcWithRuntimeSubVars (
            hCtx
            , 
            CalcScript
            , 
            RtSV
            , 
            Calculate
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

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

CalcScript

ESS_STR_T

単一文字列としての計算スクリプト。

計算スクリプトの文字列は64KBを超えることはできません。

RtSV

ESS_STR_T

ランタイム代替変数のキー/値ペアを指定する文字列。文字列は一重引用符で囲み、キー/値ペアはセミコロンで区切る必要があります。このランタイム代替変数文字列の例では、4つのランタイム代替変数の名前と値が指定されています(たとえば、"a"という名前のランタイム代替変数の値は100です):

                  'a=100;b=@CHILDREN("100");c="Actual"->"Final";d="New York";'
               

Calculate

ESS_BOOL_T

計算スクリプトの計算を制御します。TRUEの場合は、計算スクリプトが実行され、呼出しは非同期になります。

備考

戻り値

なし。

アクセス

この関数を呼び出すには、アクティブ・データベースに対する計算権限(ESS_PRIV_CALC)が必要です。

         ESS_FUNC_M
ESS_CalcWithRuntimeSubVars(ESS_HCTX_T    hCtx)
{
   ESS_FUNC_M        sts = ESS_STS_NOERR;
   ESS_STR_T        Script;
   ESS_STR_T        ParamString = "mySales=700;myCOGS=100;";
   ESS_PROCSTATE_T  pState; 
   
   Script = "SET RUNTIMESUBVARS {salesNum =400; mySales=300; myRTVar=@CHILDREN(\"100\"); kmdsdmclms=@TODATE(\"DD/MM/YY\",\"10/11/12\"); myCOGS=50;};FIX (@INTERSECT(&myRTVar, \"100-10\")) Sales = &mySales; COGS=&myCOGS; ENDFIX;";
   
   sts = EssCalcWithRuntimeSubVars(hCtx, Script, ParamString, ESS_TRUE);

   if (!sts)
      printf ("\r\nAPI EssCalcWithParam executed successfully...\r\n\r\n");
}
      

関連トピック