Um Daten für "Jahr kumuliert" (YTD) in einem Financial Consolidation and Close-Formular einzugeben und anzuzeigen, können Sie eine der folgenden Methoden verwenden:
So erstellen Sie Groovy-Regeln zum direkten Eingeben von Daten in das FCCS_YTD-Element:
Fügen Sie in Calculation Manager eine On-Demand-Regel namens "PreFormLoad" hinzu.
Ändern Sie den Skripttyp der On-Demand-Regel in "Groovy-Skript".
Fügen Sie der Regel "PreFormLoad" den folgenden Code hinzu:
operation.grid.dataCellIterator("FCCS_YTD").each { DataCell cell -> if (!cell.crossDimCell("FCCS_YTD_Input") && cell.isReadOnly())cell.forceEditable=true}
Speichern und validieren Sie die Regel "PreFormLoad".
Geben Sie folgendermaßen Standardwerte für den Runtime-Prompt für die Regel "PreFormLoad" an:
Konsolidierung: "Entity Input"
Währung: "Entity Currency"
Entity: "FCCS_Global Assumptions"
Periode: "Jul"
Szenario: "Actual"
Jahre "FY19"
Aktivieren Sie die Optionen Ist ausgeblendet und Als Überschreibungswert verwenden für alle sechs Runtime-Prompts für die Regel "PreFormLoad".
Speichern unf validieren Sie die Regel "PreFormLoad", und stellen Sie sie bereit.
Fügen Sie in Calculation Manager eine On-Demand-Regel namens "PreFormSave" hinzu.
Ändern Sie den Skripttyp der On-Demand-Regel in "Groovy-Skript".
Fügen Sie der Regel "PreFormSave" den folgenden Code hinzu:
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 }
Speichern und validieren Sie die Regel "PreFormSave".
Geben Sie folgendermaßen Standardwerte für den Runtime-Prompt für die Regel "PreFormSave" an:
Konsolidierung: "Entity Input"
Währung: "Entity Currency"
Entity: "FCCS_Global Assumptions"
Periode: "Jul"
Szenario: "Actual"
Jahre "FY19"
Aktivieren Sie die Optionen Ist ausgeblendet und Als Überschreibungswert verwenden für alle sechs Runtime-Prompts für die Regel "PreFormSave".
Speichern und validieren Sie die Regel "PreFormSave", und stellen Sie sie bereit.
Fügen Sie folgendermaßen ein Formular namens "YTD_Test_1" mit "FCCS_Periodic" und "FCCS_YTD" in den Zeilen hinzu:
Beispielformular für "Jahr kumuliert"
Klicken Sie auf die Registerkarte Geschäftsregeln, und verschieben Sie "Consol – Rule – PreFormSave" und "Consol – Rule – PreFormLoad" auf die rechte Seite. Aktivieren Sie die Option Vor dem Speichern ausführen für die Regel "Consol – Rule – PreFormSave", und aktivieren Sie die Option Nach dem Laden ausführen für die Regel "Consol – Run – PreFormLoad". Das Fenster sollte folgendermaßen aussehen:
Beispielgeschäftsregeln
Speichern Sie, und klicken Sie auf Fertigstellen.
Hinweis: Durch diese Schritte werden die Daten "Actual"/ "FY19" "Jul" "FCCS_Global Assumptions" als geändert markiert. Stellen Sie sicher, dass die Prozesseinheit gestartet ist und ihr Status "Entsperrt" lautet. Dies gilt nur für diesen Prototyp. In der tatsächlichen Implementierung sind diese Einschränkungen nicht vorhanden.
Öffnen Sie das Formular "YTD_Test_1 form", und fügen Sie FCCS_YTD folgendermaßen Werte hinzu:
Beispielwerte für "Jahr kumuliert"
Speichern Sie das Formular. FCCS_Periodic wird folgendermaßen mit den entsprechenden periodischen Werten aufgefüllt:
Beispiel für das aufgefüllte Formular für "Jahr kumuliert"