Financial Consolidation and Closeのフォームに年次累計(YTD)データを入力して表示するには、次のいずれかの方法を使用できます:
FCCS_YTDメンバーにデータを直接入力するためのGroovyルールを作成するには:
Calculation Managerに「PreFormLoad」という名前のオンデマンド・ルールを追加します。
オンデマンド・ルールのスクリプト・タイプを「Groovyスクリプト」に変更します。
PreFormLoadルールに次のコードを追加します:
operation.grid.dataCellIterator("FCCS_YTD").each { DataCell cell -> if (!cell.crossDimCell("FCCS_YTD_Input") && cell.isReadOnly())cell.forceEditable=true}PreFormLoadルールを保存して検証します。
次のように、PreFormLoadルールにデフォルトの実行時プロンプト値を指定します:
連結: Entity Input
通貨: Entity Currency
エンティティ: FCCS_Global Assumptions
期間: Jul
シナリオ: Actual
年: FY19
PreFormLoadルールの6つの実行時プロンプトすべてに対して、「非表示」オプションおよび「オーバーライド値として使用」オプションを選択します。
PreFormLoadルールを保存、検証およびデプロイします。
Calculation Managerに「PreFormSave」という名前のオンデマンド・ルールを追加します。
オンデマンド・ルールのスクリプト・タイプを「Groovyスクリプト」に変更します。
PreFormSaveルールに次のコードを追加します:
def app = operation.application
Cube cube = operation.cube
Member ytdInputMember =
app.getDimension(DimensionType.VERSION).getMember("FCCS_YTD_Input")
Collection<DataCell> pendingYtdCells =
operation.grid.dataCellIterator("FCCS_YTD").findAll {DataCell ytd -> if (ytd.edited) {
def ytdInput = ytd.crossDimCell(ytdInputMember.name)
ytdInput?.formattedValue = ytd.formattedValue
ytd.setEdited(false)
return ytdInput == null
}
}
if (pendingYtdCells) {
DataGridBuilder builder = cube.dataGridBuilder("MM/DD/YYYY")
Set<String> allDimNames = set(app.getDimensions(cube)*.name)
List<String> rowDimNames = set((allDimNames -
operation.grid.pov*.dimName) - [ytdInputMember.dimension.name]) as List
builder.addPov(operation.grid.pov.findAll({it.dimName !=
ytdInputMember.dimension.name})*.uniqueMbrName as String[])
builder.addColumn(ytdInputMember.name)
pendingYtdCells.each {DataCell cell ->
builder.addRow(rowDimNames.collect
{cell.getMemberName(it, MemberNameType.UNIQUE_NAME)},
[cell.formattedValue])}
DataGridBuilder.Status status = new DataGridBuilder.Status()
builder.build(status).withCloseable {grid -> cube.saveGrid(grid)}
}
Set<String> set(Collection<String> names) {
Set<String> set = new TreeSet<>(String.CASE_INSENSITIVE_ORDER)
set.addAll(names)
return set
}
PreFormSaveルールを保存して検証します。
次のように、PreFormSaveルールにデフォルトの実行時プロンプト値を指定します:
連結: Entity Input
通貨: Entity Currency
エンティティ: FCCS_Global Assumptions
期間: Jul
シナリオ: Actual
年: FY19
PreFormSaveルールの6つの実行時プロンプトすべてに対して、「非表示」オプションおよび「オーバーライド値として使用」オプションを選択します。
PreFormSaveルールを保存、検証およびデプロイします。
次のように、行に「FCCS_Periodic」と「FCCS_YTD」がある「YTD_Test_1」という名前のフォームを追加します:
YTDフォームのサンプル

「ビジネス・ルール」タブをクリックし、「Consol - Rule - PreFormSave」と「Consol - Rule - PreFormLoad」を右側に移動します。「Consol - Rule - PreFormSave」ルールに対して「保存前に実行」を選択し、「Consol - Run - PreFormLoad」ルールに対して「ロード後に実行」を選択します。画面は次のように表示されます:
ビジネス・ルールのサンプル

保存して「終了」をクリックします。
ノート: これらのステップにより、「Actual / FY19 Jul FCCS_Global Assumptions」データが「変更」としてマークされます。プロセス単位が開始され、ロックが解除された状態になっていることを確認します。これはこのプロトタイプにのみ適用されます。実際の実装には、これらの制限はありません。
「YTD_Test_1 form」を開き、次のようにFCCS_YTDに値を追加します:
YTD値のサンプル

フォームを保存します。FCCS_Periodicには、次のような対応する期別価額が移入されます:
移入されたYTDフォームのサンプル
