Notepad ++などのテキスト・エディタでルールを作成できます。ルール・ファイルは、マルチバイト文字セット(MBCS)対応のASCIIフォーマットを使用するか、Little Endianバイト・オーダーによってUnicodeフォーマットにエンコードされたファイルを使用して作成できます。ルール・ファイルでは、Visual Basic Scriptの関数とFinancial Managementの関数を使用します。デフォルトでは、ルール・ファイルにはRLEファイル拡張子が使用されます。
Financial Managementのルールのすべてのタイプを任意の順序でルール・ファイルに含めることができます。表33に、各ルーチンを定義するための基本的な構文を示します。
表33. ルール・ルーチン
ルール・ルーチン | 構文 |
---|---|
Sub Calculate | |
Sub Translate | |
Sub Allocate | |
Sub Input | |
Sub NoInput | |
Sub Consolidate | |
Sub Dynamic | |
Sub Transactions | |
Sub EquityPickup | Sub EquityPickUp() 'ここに、エクイティ・ピックアップ・ルールを入力します。 End Sub |
Sub OnDemand | Sub OnDemand_<ruleName> 'ここに、オンデマンド・ルールを入力します。 End Sub |
次のセクションでは、資本ピックアップ・ルールのサンプル・セクションを示します。エクイティ・ピックアップを計算するために、アプリケーション管理者は、Sub EquityPickUpという名前のルール・ファイルに新しいセクションを作成する必要があり、ここで、EPUの計算が定義されます。セクションを実行するときのデフォルトの視点は次のとおりです。
現在のシナリオ、年および期間
エンティティ: 処理されるペアの所有者
値: エンティティ通貨
Sub EquityPickUp() Owner = Hs.Entity.Member Owned = Hs.Entity.Owned OwnerDefaultCurrency = HS.Entity.DefCurrency("") lPown = Hs.GetCell("E#" & Owned & ".I#" & Owner & ".V#[None].A#[Shares%Owned].C1#[None].C2#[None].C3#[None].C4#[None]") Hs.Clear "A#IncomeFromSubsidiary.I#" & Owned Hs.Exp "A#IncomeFromSubsidiary.I#" & Owned & " = E#" & Owned & ".V#" & OwnerDefaultCurrency & ".A#NetIncome.I#[ICP Top] *" & lPown End Sub
データ・フォームからオンデマンド・ルールを実行するために、管理者は、Sub OnDemandという名前のルール・ファイルに新しいセクションを作成する必要があり、ここで、オンデマンド・ルールが定義されます。
Sub OnDemand_Calculation HS.Exp "A#CogsTP=15424" HS.Exp "A#Admex=32452" End Sub
Sub Calculate (他にはなし)で使用できるすべてのHS関数はオンデマンド・ルールでも使用できることに注意してください。Sub Calculateとは異なり、以前にIsCalculatedデータ・ポイントに書き込まれたデータは、オンデマンド・ルールの実行時にクリアされないことにも注意してください。