Einführung
In diesem Tutorial werden mehrere Möglichkeiten zum Generieren fokussierter Berechnungsskripte in Oracle EPM Cloud Planning gezeigt, um nur bearbeitete Daten anstatt des gesamten Dateneintragsformulars zu berechnen.
Hintergrund
Mit dem Groovy EPM-Objektmodell können Sie bestimmen, welche Zellen in einem Dateneingaberaster bearbeitet wurden. Anschließend können Sie eine fokussierte Essbase-Berechnung generieren, um nur die Elemente zu berechnen, die von Ihrer Dateneingabe betroffen sind.
In diesem Tutorial arbeiten Sie mit einem Dashboard für die Produktvolumenanalyse. Das Top-Formular "Produktvolumen" erfasst das Volumen für verschiedene Produkte in monatlichen Perioden. Im unteren Formular "Produktumsatz" wird der Umsatz für die verschiedenen Produkte angezeigt. Wenn Sie das Top-Formular bearbeiten, soll der Umsatz nur für die bearbeiteten Produkte im unteren Formular berechnet werden.

Dieses Tutorial besteht aus drei Teilen und umfasst drei verschiedene Möglichkeiten, die bearbeiteten Produkte zu berechnen:
- Generieren und Ausführen eines fokussierten Berechnungsskripts
- Erstellen eines Groovy-Skripts, das einen vorhandenen Berechnungsjob ausführt
- Generieren und Ausführen eines fokussierten Berechnungsskripts, dann Rückkehr zum Groovy-Skript zur weiteren Auswertung
Voraussetzungen
Für praktische Tutorials zu Cloud EPM müssen Sie möglicherweise einen Snapshot in Ihre Cloud EPM Enterprise Service-Instanz importieren. Bevor Sie einen Tutorial-Snapshot importieren können, müssen Sie eine andere Cloud EPM Enterprise Service-Instanz anfordern oder Ihre aktuelle Anwendung und Ihren aktuellen Geschäftsprozess entfernen. Der Tutorial-Snapshot wird weder über Ihre vorhandene Anwendung oder Ihren vorhandenen Geschäftsprozess importiert, noch wird er die Anwendung oder den Geschäftsprozess, mit dem Sie derzeit arbeiten, automatisch ersetzen oder wiederherstellen.
Bevor Sie mit diesem Tutorial beginnen, müssen Sie:
- Haben Sie Serviceadministratorzugriff auf eine Cloud EPM Enterprise Service-Instanz.
- Laden Sie diesen Snapshot hoch, und importieren Sie ihn in Ihre Planning-Instanz. Wenn Sie das Snapshot zuvor für ein anderes Groovy-Tutorial hochgeladen haben, können Sie den gleichen Snapshot weiterhin verwenden.
Hinweis:
Wenn beim Importieren des Snapshots Migrationsfehler auftreten, führen Sie die Migration erneut aus, ausgenommen die HSS-Shared Services-Komponente sowie die Artefakte der Sicherheits- und Benutzervoreinstellungen in der Core-Komponente. Weitere Informationen zum Hochladen und Importieren von Snapshots finden Sie in der Dokumentation Migration für Oracle Enterprise Performance Management Cloud verwalten.Tipp:
Die Skripte, die Sie für dieses Tutorial benötigen, sind in jedem Abschnitt als Textdateien verknüpft.Planungsumgebung einrichten
Benutzervariablen in Planning festlegen
Zunächst legen Sie die erforderlichen Benutzervariablen für die Arbeit mit dem Dashboard "Produktvolumenanalyse" fest.
- Klicken Sie auf der Homepage auf Extras, Benutzervoreinstellungen.
- Wählen Sie das Register Benutzervariablen aus.
- Geben Sie die folgenden Variablendefinitionen ein:
- Klicken Sie auf Speichern. Klicken Sie in der Bestätigungsmeldung auf OK, und kehren Sie zur Homepage zurück.

| Benutzervariable | Mitglied |
|---|---|
| Auswertungswährung | USD |
| Währung | USD |
| Entity | Umsatz US |
| Scenario | OEP_Plan |
| Version | OEP_Working |
Variablen für Runtime Prompts in Planning importieren
Als Nächstes importieren Sie Berechnungsvariablen in den Cube OEP_FS, um die Runtime Prompts (RTPs) zu unterstützen, die später in diesem Tutorial verwendet werden.
- Klicken Sie mit der rechten Maustaste auf den Link für HP4_OEP_FS_Variables.xml, und speichern Sie die Datei auf dem lokalen Laufwerk.
- Klicken Sie oben links auf
Navigator, und navigieren Sie zu Regeln (unter "Erstellen und verwalten"), um Calculation Manager zu öffnen. Blenden Sie in der Systemansicht EPM Cloud > HP4 ein. Klicken Sie mit der rechten Maustaste auf OEP_FS, und wählen Sie Importieren aus. - Navigieren Sie unter "Dateiimportdetails", und wählen Sie HP4_OEP_FS_Variables.xml von Ihrem lokalen Laufwerk aus.
- Treffen Sie unter "Standortdetails" die folgende Auswahl:
- Anwendungstyp: EPM Cloud
- Anwendung: HP4
- Cube: OEP_FS
- Wählen Sie unter "Importoptionen" die Option Vorhandene Objekte überschreiben aus.

- Klicken Sie auf Importieren. Prüfen Sie die Importergebnisse (sie können entweder "Aktualisiert" oder "Eingefügt" lauten), und klicken Sie auf OK.

- Klicken Sie auf Abbrechen, um das Dialogfeld "Importieren" zu schließen.
Generieren eines fokussierten Berechnungsskripts für bearbeitete Produkte
In diesem Abschnitt implementieren Sie ein Groovy-Skript in Planning, um den Produktumsatz für bearbeitete Produkte zu berechnen.
Groovy-Skript erstellen
- Erstellen Sie in Calculation Manager eine Regel mit dem Namen Groovy-Produktumsatz berechnen im Plantyp OEP_FS.
- Ändern Sie im Regeleditor die Designeroption in Skript bearbeiten, und setzen Sie den Skripttyp auf Groovy-Skript.
- Kopieren Sie dieses Skript und fügen Sie es in den Editor ein:
- Klicken Sie in der Symbolleiste auf
(Speichern), um das Skript zu speichern, und klicken Sie dann auf
(Validieren und bereitstellen), um das Skript zu validieren und bereitzustellen. Klicken Sie auf OK, wenn Sie dazu aufgefordert werden. Lassen Sie das Fenster {\b Calculation Manager} geöffnet.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Generate the calc script to calculate revenue for the products whose volume was edited String calcScript = """ Fix(${cscParams(operation.grid.pov, editedMembers)}) "OFS_Calculated" ( "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price"; ) EndFix;"""
println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
return calcScript.toString()
![]()
Definieren Sie ein Set, um eindeutige bearbeitete Elemente zu erfassen.
Erfassen Sie bearbeitete Elemente.
Prüfen Sie, ob Mitglieder bearbeitet wurden. Wenn keine bearbeitet wurden, ist keine weitere Verarbeitung erforderlich. Daher kehren Sie vom Skript zurück.
Generieren Sie ein Berechnungsskript, um den Produktumsatz für bearbeitete Zellen zu berechnen, indem Sie die POV-Elemente und bearbeiteten Elemente korrigieren.
Hinweis:
DiecscParams()-API ist ein Utility, das einen Zeichenfolgenwert zurückgibt, bei dem jedes der angegebenen Elemente vereinfacht, in Anführungszeichen gesetzt und durch ein Komma getrennt ist. Die von dieser Methode zurückgegebene Zeichenfolge kann als Parameter in einen Essbase-Berechnungsskriptbefehl integriert werden.
Geben Sie eine Meldung aus, die den Benutzer angibt, der die Regel ausgeführt hat, und das generierte Berechnungsskript.
Geben Sie das Berechnungsskript zurück, das dann ausgeführt wird.
Regel zu einer Planungsmaske hinzufügen
In diesem Abschnitt fügen Sie Ihre Groovy-Skriptregel zum Formular "Produktvolumen" hinzu, das nach dem Speichern ausgeführt werden soll.
- Wählen Sie das Fenster "Planung", und klicken Sie oben links auf
Navigator, und navigieren Sie zu Formulare (unter "Erstellen und verwalten"). Wählen Sie das Formular Product Volume aus. - Bearbeiten Sie das Formular. Fügen Sie die Regel Groovy: Produktumsatz berechnen hinzu, und setzen Sie sie auf Nach Speichern ausführen. Speichern Sie das Formular, und schließen Sie das Fenster "Formularmanager".

Fokussierte Berechnungsregel testen
In diesem Abschnitt testen Sie Ihre Groovy-Regel, indem Sie Daten im Dashboard "Produktvolumenanalyse" bearbeiten.
- Klicken Sie auf der Homepage auf Dashboards. Öffnen Sie das Dashboard Produkt-Volume-Analyse.
- Bearbeiten Sie für Envoy Standard Notebook das Produkt-Volume für Januar. Bearbeiten Sie für Ultra Notebook 13 in das Produkt-Volume für den März. Das Formular speichern (nicht das Dashboard).
- Klicken Sie auf OK, um die Informationsmeldung zu schließen. Die Änderungen werden im Formular Produktumsatz übernommen.
- Schließen Sie das Dashboard. Navigieren Sie zu Jobs (unter "Anwendung"), und wählen Sie den Job Groovy - Produktumsatz berechnen aus.
- Die Logmeldung für den abgeschlossenen Job identifiziert den Benutzer, der die Regel ausgeführt hat, und das generierte Berechnungsskript. Nachdem Sie die Jobdetails angezeigt haben, schließen Sie das Fenster, und kehren Sie zur Homepage zurück.



Berechnungsjob mit einem Groovy-Skript ausführen
In diesem Abschnitt erstellen Sie zwei Groovy-Skripte: eines, um den Produktumsatz für bearbeitete Elemente in einem Formular zu berechnen, und ein zweites, um einen Berechnungsjob auszuführen, der die erste Berechnung ausführt. Das zweite Skript wird an das Formular angehängt und beim Speichern von Daten ausgeführt. Das erste Skript verwendet RTPs, um bearbeitete Elemente zu erfassen, die vom zweiten Skript an dieses übergeben wurden. Durch das Auslagern der Berechnung in eine eigenständige Regel, die von einer anderen Regel aufgerufen wird, kann Code effizient verwaltet, getestet und wiederverwendet werden.
Groovy-Skript für fokussierte Berechnungen mit Runtime Prompts erstellen
- Wählen Sie das Fenster "Calculation Manager", und erstellen Sie eine Regel namens Groovy Calculation Product Revenue RTPs im Plantyp OEP_FS.
- Ändern Sie im Regeleditor die Designeroption in Skript bearbeiten, und setzen Sie den Skripttyp auf Groovy-Skript.
- Kopieren Sie dieses Skript und fügen Sie es in den Editor ein:
- Klicken Sie auf der Symbolleiste auf
(Speichern), um das Skript zu speichern. - Klicken Sie auf
(Validieren und bereitstellen). Geben Sie für den RTP "Bearbeitete Elemente" den Wert Accessorieszu Validierungszwecken ein, und klicken Sie auf OK. - Klicken Sie auf OK, wenn Sie dazu aufgefordert werden.

/*RTPS: {editedMembers}*/
String calcScript = """Fix($rtps.editedMembers)
"OFS_Calculated"
(
"OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price";
)
ENDFIX"""
println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
return calcScript
Definieren Sie einen Runtime Prompt, um die bearbeiteten Elemente in der ersten Zeile zu akzeptieren.
Generieren Sie ein Berechnungsskript, um den Produktumsatz für bearbeitete Zellen zu berechnen, indem Sie die bearbeiteten Elemente korrigieren.
Geben Sie eine Meldung aus, die den Benutzer angibt, der die Regel ausgeführt hat, und das generierte Berechnungsskript.
Geben Sie das Berechnungsskript zurück, das dann ausgeführt wird.
Hinweis:
In diesem Schritt wird die Regel nicht ausgeführt. Sie müssen jedoch gültige Elemente eingeben, damit der Validierungsprozess erfolgreich verläuft.Groovy-Regel zum Ausführen eines Berechnungsjobs erstellen
Jetzt erstellen Sie die zweite Groovy-Regel, die einen Berechnungsjob ausführt, der Variablen an die Groovy-Regel "Produktumsatz berechnen" übergibt und diese ausführt.
- Erstellen Sie in Calculation Manager eine Regel mit dem Namen Groovy Calculation Product Revenue by Calling Execute Job im Plantyp OEP_FS.
- Ändern Sie im Regeleditor die Designeroption in Skript bearbeiten, und setzen Sie den Skripttyp auf Groovy-Skript.
- Kopieren Sie dieses Skript und fügen Sie es in den Editor ein:
- Klicken Sie in der Symbolleiste auf
(Speichern), um das Skript zu speichern, und klicken Sie dann auf
(Validieren und bereitstellen), um das Skript zu validieren und bereitzustellen. Klicken Sie auf OK, wenn Sie dazu aufgefordert werden. Lassen Sie das Fenster {\b Calculation Manager} geöffnet.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Execute the job that calculates the product revenues JobFactory jf = operation.application.jobFactory
List<DataGrid.HeaderCell> povMemberCells = operation.grid.pov.findAll{ DataGrid.HeaderCell it -> it.dimName != "Plan Element" }
Job job = executeJob(jf.job("Groovy Calculate Product Revenue RTPs", "Rules", ["editedMembers" : cscParams(povMemberCells, editedMembers)]))
![]()
Definieren Sie ein Set, um eindeutige bearbeitete Elemente zu erfassen.
Erfassen Sie bearbeitete Elemente.
Prüfen Sie, ob Mitglieder bearbeitet wurden. Wenn keine bearbeitet wurden, ist keine weitere Verarbeitung erforderlich. Daher kehren Sie vom Skript zurück.
Holen Sie sich die Job Factory.
Ruft eine Liste der POV-Elementheaderzellen für andere Dimensionen als das Planelement ab, weil das Skript einen Elementblock für ein Planelement-Dimensionselement aufweist.
Führen Sie die Regel Groovy Calculation Product Revenue RTPs aus, indem Sie den POV und die bearbeiteten Elemente als Werte für den Runtime Prompt editedMembers übergeben.
Regel zu einer Planungsmaske hinzufügen
In diesem Abschnitt fügen Sie Ihre Groovy-Skriptregel zum Formular "Produktvolumen" hinzu, das nach dem Speichern ausgeführt werden soll.
- Wählen Sie das Fenster "Planung", und klicken Sie oben links auf
Navigator, und navigieren Sie zu Formulare (unter "Erstellen und verwalten"). Wählen Sie das Formular Product Volume aus. - Bearbeiten Sie das Formular. Entfernen Sie die Regel Groovy - Produktumsatz berechnen aus den ausgewählten Regeln. Fügen Sie die Regel Groovy: Produktumsatz durch Aufruf des Ausführungsjobs berechnen hinzu, und setzen Sie sie auf Nach Speichern ausführen. Speichern Sie das Formular, und schließen Sie das Fenster "Formularmanager".


Groovy-Regel testen, um einen Berechnungsjob aufzurufen
In diesem Abschnitt testen Sie Ihre Groovy-Regel, indem Sie Daten im Dashboard "Produktvolumenanalyse" bearbeiten.
- Klicken Sie auf der Homepage auf Dashboards. Öffnen Sie das Dashboard Produkt-Volume-Analyse.
- Bearbeiten Sie für Envoy Standard Notebook das Produkt-Volume für Januar. Bearbeiten Sie für Ultra Notebook 13 in das Produkt-Volume für den März. Das Formular speichern (nicht das Dashboard).
- Klicken Sie auf OK, um die Informationsmeldung zu schließen. Die Änderungen werden im Formular Produktumsatz übernommen.
- Schließen Sie das Dashboard. Navigieren Sie zu Jobs (unter "Anwendung"), und wählen Sie den Job Groovy - Produktumsatz durch Aufruf des Ausführungsjobs berechnen aus.
- In den Jobdetails wird die Regel Groovy RTPs für Produktumsatz berechnen als untergeordneter Job aufgeführt. Klicken Sie auf den untergeordneten Job.
- In den Details des untergeordneten Jobs wird die Liste der Elemente angezeigt, die an das Skript für den Prompt "Bearbeitete Elemente" übergeben wurden. Die Logmeldung für den abgeschlossenen Job identifiziert den Benutzer, der die Regel ausgeführt hat, und das generierte Berechnungsskript. Nachdem Sie die Jobdetails angezeigt haben, schließen Sie das Fenster, und kehren Sie zur Homepage zurück.





Inline-Berechnungsskript für bearbeitete Daten mit weiterer Groovy-Verarbeitung generieren
Das EPM-Objektmodell bietet eine Möglichkeit, ein Berechnungsskript inline auszuführen und dann zur weiteren Auswertung zum Groovy-Skript zurückzukehren. In diesem Abschnitt untersuchen Sie dieses Berechnungsskript und die Groovy-Integration, indem Sie ein Groovy-Skript implementieren, um den Produktumsatz für bearbeitete Produkte zu berechnen und zu zählen, wie viele Zellen berechnet wurden.
Groovy-Skript erstellen
- Wählen Sie das Fenster "Calculation Manager", und erstellen Sie eine Regel namens Groovy Execute Calc Script im Plantyp OEP_FS.
- Ändern Sie im Regeleditor die Designeroption in Skript bearbeiten, und setzen Sie den Skripttyp auf Groovy-Skript.
- Kopieren Sie dieses Skript und fügen Sie es in den Editor ein:
- Klicken Sie in der Symbolleiste auf
(Speichern), um das Skript zu speichern, und klicken Sie dann auf
(Validieren und bereitstellen), um das Skript zu validieren und bereitzustellen. Klicken Sie auf OK, wenn Sie dazu aufgefordert werden. Schließen Sie Calculation Manager.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Generate the calc script to calculate revenue for the products whose volumes were edited and to count and return the number of cells calculated String calcScript = """ VAR numCellsCalculated = 0; Fix(${cscParams(operation.grid.pov, editedMembers)})
"OFS_Calculated" ( "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price"; numCellsCalculated = numCellsCalculated + 1; ) EndFix; Fix(${cscParams(operation.grid.pov, editedMembers)}) "OFS_Calculated" ( @RETURN(@HspNumToString(numCellsCalculated), ERROR); ) EndFix; """ Cube cube = operation.application.getCube("OEP_FS")
try { cube.executeCalcScript(calcScript)
} catch(CalcScriptException e) { println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
println("Total number of cells calculated: $e.atReturnMessage")
}
Definieren Sie ein Set, um eindeutige bearbeitete Elemente zu erfassen.
Erfassen Sie bearbeitete Elemente.
Prüfen Sie, ob Mitglieder bearbeitet wurden. Wenn keine bearbeitet wurden, ist keine weitere Verarbeitung erforderlich. Daher kehren Sie vom Skript zurück.
Generieren Sie ein Berechnungsskript, um den Produktumsatz für bearbeitete Zellen zu berechnen, indem Sie die POV-Elemente und bearbeiteten Elemente korrigieren. Das Berechnungsskript gibt auch eine Anzahl von Zellen zurück, die über den Befehl @RETURN berechnet wurden.
Ruft den Cube OEP_FS ab.
Führen Sie das Berechnungsskript für den Cube aus.
Geben Sie eine Meldung aus, die den Benutzer angibt, der die Regel ausgeführt hat, und das generierte Berechnungsskript.
Gibt die Gesamtanzahl der vom Berechnungsskript zurückgegebenen Zellen aus.
Regel zu einer Planungsmaske hinzufügen
In diesem Abschnitt fügen Sie Ihre Groovy-Skriptregel zum Formular "Produktvolumen" hinzu, das nach dem Speichern ausgeführt werden soll.
- Klicken Sie oben links auf
Navigator, und navigieren Sie zu Formulare (unter "Erstellen und verwalten"). Wählen Sie das Formular Product Volume aus. - Das Formular bearbeiten. Entfernen Sie die Regel Groovy: Produktumsatz durch Aufruf des Ausführungsjobs berechnen aus den ausgewählten Geschäftsregeln. Fügen Sie die Regel Groovy Execute Calc Script hinzu, und setzen Sie sie auf Run After Save. Speichern Sie das Formular, und schließen Sie das Fenster "Formularmanager".


Groovy-Regel testen, um ein Berechnungsskript auszuführen
In diesem Abschnitt testen Sie Ihre Groovy-Regel, indem Sie Daten im Dashboard "Produktvolumenanalyse" bearbeiten.
- Klicken Sie auf der Homepage auf Dashboards. Öffnen Sie das Product Volume Analysis-Dashboard.
- Bearbeiten Sie für Envoy Standard Notebook das Produkt-Volume für Januar. Bearbeiten Sie für Ultra Notebook 13 in das Produkt-Volume für den März. Das Formular speichern (nicht das Dashboard).
- Klicken Sie auf OK, um die Informationsmeldung zu schließen. Die Änderungen werden im Formular Produktumsatz übernommen.
- Schließen Sie das Dashboard. Navigieren Sie zu Jobs, und wählen Sie den Job Groovy Execute Calc Script aus.
- Die Logmeldung für den abgeschlossenen Job identifiziert den Benutzer, der die Regel und das generierte Berechnungsskript ausgeführt hat, sowie die Anzahl der berechneten Zellen.





Verwandte Links
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem Oracle University, um verfügbare Schulungsressourcen anzuzeigen.
Die Produktdokumentation finden Sie im Oracle Help Center.
Geänderte Daten mithilfe von Groovy berechnen
G45939-01
2025. Oktober