SET RUNTIMESUBVARS
計算スクリプトで使用されるランタイム代替変数を宣言します。
計算スクリプトで使用されるすべてのランタイム代替変数は、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のランタイム代替変数宣言にデフォルト値が含まれていない場合、計算スクリプトの検証時にエラーが発生します。 Oracleでは、検証エラーを回避するためにデフォルト値を指定し、計算スクリプトの実行時に予期される値を指定することをお薦めします。 ただし、デフォルト値を指定しない場合でも、with runtimesubvars文法でexecute calculation MaxL文を使用して実行時に値を指定できます。
-
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>;
};
次の例は、Smart Viewでランタイム代替変数を使用して計算スクリプトを実行するための、<RTSV_HINT>
タグ内の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>;
};