式および関数

「値/式」フィールドで式を使用して、次の操作を実行できます:

  • 単純な計算式を実行します。

  • CURVALパラメータを使用して、ロジック勘定科目演算子の値を指定します。CURVALパラメータは、論理関数内で使用するように式内でも使用できますが、式ではCURVALをパイプで囲む必要があります。たとえば、CURVAL式には、|Account|という表記法を使用した勘定科目の指定、およびエンティティ、カテゴリ、期間および勘定科目のPOV詳細を使用した値の指定が含まれます。

関数ではJython構文を使用してif/elseで単純なロジックを使用できます。Jythonコマンドは関数で使用でき、式より複雑になる場合があります。

Exp

式の演算子を使用して、「値/式」フィールドで定義されているカスタム論理式を実行します。論理式では、変数またはIf文を使用できず、論理関数と比べてより単純です。|CURVAL|を除いて、式は組込みパラメータを持ちません。式の場合、値をRESULTに割り当てる必要はありません。

式の実行速度は論理関数より高速です。データ管理 参照関数は、論理関数内と同様に式内でも使用できます。カスタム式を記述するには、「値/式」フィールドをダブルクリックして、式エディタを開きます。

|CURVAL| + |810| + |238|

前述の関数は、データ管理参照関数を使用して、論理勘定科目の値に2つのソース勘定科目を加算します。CURVALパラメータは、論理関数内で使用するように式内でも使用できますが、式ではCURVALをパイプで囲む必要があることに注意してください。

(|CURVAL| + |000,10,09/30/01,810|) * 100

前述の関数は、データ管理参照関数を使用して、ソース勘定科目(810)と、指定されたセンターからのソース勘定科目、データ管理カテゴリおよびデータ管理期間をロジック勘定科目の値に追加し、結果の合計に100を掛けます。

関数

関数演算子を使用して、「値/式」フィールドで定義されているカスタム論理関数を実行します。

関数を記述するには、「ロジック・アイテム」行で「演算子」ドロップダウン・リストから「関数」を選択し、編集アイコンをクリックして編集ウィンドウを開きます。論理関数は通常、条件マッピングおよび複数のソース勘定科目を使用する他の複雑な操作に使用します。論理関数では、変数、if/elif/else文、数値関数およびその他のJython構造体を含むJythonコマンドを使用できます。

論理関数では、事前定義関数のパラメータを使用でき、新たに作成されたロジック勘定科目について値が更新されるようRESULT変数に値を割り当てる必要もあります。次の関数パラメータを論理関数で使用でき、これらに"|"表記を使用する必要はありません:

表4-22 関数演算子と説明

関数演算子 説明
CURVAL ロジック勘定科目操作のソース値
StrLocation アクティブな場所の名前
StrCenter ロジック勘定科目エンティティ
StrCatKey アクティブなカテゴリ・キー(名前ではない)。このパラメータを使用するには、データベースでカテゴリ・キーを参照する必要があります。
StrPerKey アクティブな期間
Entity、Category、Period、Account| 参照表記が論理関数で使用できます。これは、論理式で指定される表記法と同じです。
スキップ "Skip"がキーワードRESULTに割り当てられる場合、ロジック勘定科目は作成されません。

関数パラメータは、大文字、小文字、または大文字と小文字を組み合せて定義できます。ただし、キーワードRESULTは大文字で指定する必要があります。

関数の戻り値の割当て

論理関数の結果は、キーワードRESULTに割り当てる必要があります。RESULTキーワードに戻り値が割り当てられていない場合、論理エンジンにより結果の値が自動的にゼロに設定されます。これによって、計算はスキップされ、ロジック勘定科目は作成されません。

次の関数は、ロジック勘定科目計算がゼロより大きい値を戻す場合、ロジック勘定科目計算の結果を(CURVALパラメータを使用して)ロジック勘定科目(RESULT)に割り当てます。最初の条件が満たされない場合、キーワード"Skip"により、ロジック勘定科目は作成されません。

if CURVAL > 0:
   RESULT = CURVAL
else:
    RESULT = "Skip"

注:

論理関数にJythonの表記法とインデントを使用する必要があります。

次の関数は、"10"がアクティブなデータ管理カテゴリ・キーの場合のみ、ロジック勘定科目計算の結果をロジック勘定科目に割り当てます。

if StrCatKey == "10":
    RESULT = CURVAL
else:
    RESULT="Skip"

次の関数は、条件の勘定科目エンティティが"000"の場合のみ、ロジック勘定科目計算の結果をロジック勘定科目に割り当てます。

if StrCenter == "000":
    RESULT = CURVAL * 100
else:
    RESULT="Skip"

次の関数は、現在のデータ管理期間が"Dec 2013"である場合に、データ管理参照関数を使用して、ソース勘定科目(810)をロジック勘定科目の値に追加します。

if StrPerKey == "12/31/2013":
    RESULT = CURVAL + |810|
else:
    RESULT="Skip"

次の関数は、アクティブなロケーションが"Texas"である場合に、データ管理参照関数を使用して、別のエンティティ、データ管理カテゴリおよびデータ管理期間からの別のソース勘定科目をロジック勘定科目の値に追加します。

If StrLocation == "Texas":
    RESULT = CURVAL + |000,10,09/30/13,810|
else:
    RESULT="Skip"