SET RUNTIMESUBVARS

SET RUNTIMESUBVARS計算コマンドは、Essbase計算スクリプトで使用されるランタイム代替変数を宣言します。

計算スクリプトで使用されるすべてのランタイム代替変数は、名前とデフォルト値を使用して、SET RUNTIMESUBVARSコマンドで宣言する必要があります。ランタイム代替変数のデータ型とデータ入力制限の説明を含めることができます。これは、<RTSV_HINT>rtsv_description</RTSV_HINT>タグ内の文字列です。各ランタイム代替変数宣言は、セミコロンで終了する必要があります。

構文

SET RUNTIMESUBVARS
 {
   runtime_substitution_variable [= value] [<RTSV_HINT>rtsv_description</RTSV_HINT>];
 };

パラメータ

runtime_substitution_variable

ランタイム代替変数の名前

value

名前付きランタイム代替変数のデフォルト値。この値は、文字列、定数、メンバー名、またはメンバーの組合せとして表すことができます。

SET RUNTIMESUBVARSコマンドで指定したデフォルト値は、実行時に上書きできます。Essbaseで実行される計算スクリプトでのランタイム代替変数の使用を参照してください。

<RTSV_HINT>rtsv_description</RTSV_HINT>

名前付きランタイム代替変数のデータ型とデータ入力制限(100以下の整数など)を説明する文字列。ランタイム代替変数を含む計算スクリプトを実行する場合、<RTSV_HINT>タグは次のとおりです。

  • Essbaseで計算スクリプトを実行する場合はオプション

  • Smart Viewで計算スクリプトを実行する場合は必須

IEssIterator.getCalcFileRunTimeSubVarsまたはIEssIterator.getCalcRunTimeSubVarsの各Java APIメソッド、またはEssGetRuntimeSubVars C APIは、ランタイム代替変数宣言で指定したすべての情報(名前、値、説明)を取得します。<RTSV_HINT>文字列を使用して、実行時に値を入力するようにユーザーに促し、計算スクリプトに値を渡す前に入力データを検証できます。

ノート

  • SET RUNTIMESUBVARSのランタイム代替変数宣言にデフォルト値が含まれていない場合、計算スクリプトの検証時にエラーが発生します。検証エラーを回避する目的と、計算スクリプトの実行時は、予期される値を提供するためにデフォルト値を指定することをお薦めします。ただし、デフォルト値を指定しない場合でも、MaxL文をwith runtimesubvars文法で使用する実行計算を使用するランタイムでは、値を指定できます。

  • SET RUNTIMESUBVARSでランタイム代替変数を指定しても、計算スクリプトでランタイム代替変数を使用しない場合、Essbaseはランタイム代替変数宣言を無視します。

  • 複数のランタイム代替変数の名前が同じで値が異なる場合、ランタイム代替変数の最初のインスタンスの値のみが使用されます。他のすべての後続の値は無視されます。

  • 計算スクリプトで使用されるランタイム代替変数をログに記録するには、ENABLERTSVLOGGING構成設定をTRUEに設定します。

次の例では、3つのランタイム代替変数が名前とデフォルト値で定義されています。たとえば、myMarketという名前のランタイム代替変数の値は"New York"です。

SET RUNTIMESUBVARS
{
   myMarket = "New York";
   salesNum = 100;
   pointD = "Actual"->"Final";
};

次の例では、ランタイム代替変数にデフォルト値とrtsv_descriptionが含まれています。EssGetRuntimeSubVars APIを実装して、ランタイム代替変数に関するすべての情報(名前、値、説明)を取得できます。<RTSV_HINT>文字列を使用して、実行時に値を入力するようにユーザーに促し、計算スクリプトに値を渡す前に入力データを検証できます。

SET RUNTIMESUBVARS
{
   myMarket "New York" <RTSV_HINT>myMarket: Input the value as a string, such as "New York"</RTSV_HINT>;
   salesNum 10 <RTSV_HINT>salesNum: Input the value as an integer, such as 100</RTSV_HINT>;
   pointD "Actual"->"Final" <RTSV_HINT>pointD: Input the value as a member name or a member combination, such as "Actual"->"Final"</RTSV_HINT>;
};

次の例は、<RTSV_HINT>タグ内で、Smart Viewでランタイム代替変数を使用して計算スクリプトを実行するためのXMLスタイル・タグの使用を示しています。

SET RUNTIMESUBVARS
{
   sbx = POV <RTSV_HINT>
      <svLaunch>
      <description>Sandbox to merge</description>
      <allowMissing>false</allowMissing>
      <type>member</type>
      <dimension>Sandbox</dimension>
      <choice>single</choice>
      </svLaunch>
   </RTSV_HINT>;
};