In meinem Beitrag âErfahrungsbericht: EPM AUTOMATEâ im Jahr 2018 hatte ich Verwendung von diesem Werkzeug schon einmal besprochen. Hierin hatte ich beschrieben, dass es fĂŒr alle EPM Cloud Produkte verwendet werden kann. In diesem Beitrag beschreibe ich wie Prozesse fĂŒr die EPM Cloud mit diesem Tool automatisiert werden können. Es ist ein Beispiel, wie es in der Praxis funktioniert.
Automatisierung
Software Anwendungen sollten ohne (viele) manuelle Eingriffe laufen. Anwendungen sind da, um Daten zu verarbeiten, also in der einfachsten Form: Eingabe, Logik hinzufĂŒgen und Ausgabe. Weil die Welt sich stĂ€ndig verĂ€ndert, sollten sie sich am Besten selbst automatisch anpassen. Wenn es neue Elemente gibt (Kunden, Produkte, etc.) dann sollten diese automatisch hinzugefĂŒgt werden oder zumindest sollte der manuelle Aufwand minimal sein. Wenn es dann einmal einen Fehler gibt, sollten dieses einfach zu finden und beheben sein.
Zur Automatisierung werden of Skripte eingesetzt. Die Skriptsprache EPMAUTOMATE ist ein Programm in welchem Kommandos an die EPM Cloud gegeben werden können. Sie wird durch Batch, PowerShell oder anderem aufgerufen. Dieses geschieht durch den Aufruf von epmautomate <kommando> […]
Das Errorhandling, Logdatei Pflege, Loops und âschedulingâ sowie oft komplexe und viele Aufgaben findet lokal in den Skripten statt.
Aufbau fĂŒr Automatisierung
EPM Automate benötigt eine lokale Installation und hat damit auch eine Ordnerstruktur. Es ist ratsam nicht in diese Ordner von EPM Automate zu arbeiten. Die Software bekommt regelmĂ€ssig Updates und man weiss ja nie, was dort dann passiert. Der Standard Ordner ist âEPM Automateâ.
Praktisch ist eine separate Ordnerstruktur zu haben, und darin separate Ordner fĂŒr Skripte, Logdateien und Dateien mit Bewegungsdaten zu machen. Ich verwende gern âEPM_Automateâ (mit Unterstrich).

Abbildung 1: Vorschlag fĂŒr Ordnerstruktur.
Modular
Weil Skripte andere Skripte aufrufen können, kann Modular gearbeitet werden. So kann man ein Skript zum Login erstellen und ein anderes zum Export der Daten, anstatt in einem Skript alles unterzubringen, also wo zuerst der Login stattfindet und danach der Export. Wenn sich dann der Login wegen einen oder anderen Grund Àndert, muss man im modularen Aufbau nur ein Skript anpassen (testen und dokumentieren), in dem anderen fast alle. Modular arbeiten ist in vielen FÀllen also weniger Aufwand in der Pflege und lohnt sich um so mehr, je grösser die Anzahl Skripte ist.

Abbildung 2: Schaubild modularer und generischer Aufbau.
Parameter beim Start mitgeben
Skripte sollten mit variable parameter gestartet werden. So hat man in der Regel immer mindestens eine Test und eine Produktionsumgebung. Unter der Verwendung von Verbindungsparametern beim Aufruf der Skripte kann der Inhalt des Skripte gleich bleiben und Ă€ndert sich nur die Verbindungsparameter. In Abbildung 3 sind im oberen Teil die Aufrufe fĂŒr die Testumgebung und darunter die Produktionsumgebung. Die Variablen werden in dem eigentlichen Skript verarbeitet.

Abbildung 3: Modularer Aufbau bei Skripte â oben batch files fĂŒr Test und Produktion, unten Loginskript mit Variablen.
Emailfunktion
Interessant ist die Email FunktionalitÀt aus der EPM Cloud heraus. Diese kann eingesetzt werden um Logdateien zu sichern oder wenn Prozesse auf einen Fehler stossen, diesen dann an die jeweilige Email-Gruppe senden. Hierbei können auch Beilagen mitgeschickt werden. Nachfolgend ist ein Beispiel.
%EPMAUTOMATEPATH% sendMail %ID% „Email von der EPM-Umgebung %ENVIRONMENT% %DOMAIN% “ Body=“Email von der %ENVIRONMENT%%DOMAIN% wo gerade gearbeitet wird. Beigefuegt eine Exportdatei. “ Attachments=All_Lev0_Export.zip
Processing…
Retrieving status…
sendMail completed successfully


Abbildung 4: Ein (kleiner) Teil aus meiner Emailbox mit der Nachricht.

Abbildung 5: Die Nachricht mit dem Anhang.
Aufrufen von Jobs
EPM Automate kann auch Jobs aufrufen und ausfĂŒhren. Diese können selbstverstĂ€ndlich auch mit Parameter eingegeben werden. Hierunten ein Beispiel von einem Datenbank refresh.

Abbildung 6: Ein Job zum Refresh der Datenbank
%EPMAUTOMATEPATH% refreshCube Refresh_DB
Processing…
Retrieving status…
refreshCube completed successfully
Details: Refresh Complete.
Nur im EPMAUTOMATE
In der EPM Cloud gibt es FunktionalitĂ€t, die nur mit dem EPM Automate ausgefĂŒhrt werden kann. Oft, weil dieses die gesamte Umgebung betrifft, und nicht ausgefĂŒhrt werden kann, wenn man in der Cloudumgebung angemeldet ist. Dieses sind die folgenden Funktionen:
- resetService
Dieses startet die Cloudumgebung neu. Dieses kann notwendig sein, wenn es grössere Probleme gibt oder wenn ein Snapshot zurĂŒckgesichert wurde.
- Recreate
Mit dem Recreate wird ein Snapshot zurĂŒck auf die Umgebung gebracht.
- renameSnapshot
Mit dem Rename Snapshot kann man die Snapshot Datei umbenennen. Hiermit wird sie nicht in dem tĂ€glichen Prozess ĂŒberschrieben.
- downloadFile/uploadFile
Download oder upload von Dateien grösser als 2 Gb.
- Replay
Dieses spielt die ReplayFile, eine Datei die alle AktivitÀten in einer Zeitperiode aufzeichnet, wieder ab. Dieses kann verwendet werden, um Last zu erzeugen, als ob Benutzer auf dem System arbeiten.
- sendMail
Sendet Emails, eventuell mit AnhÀnge.
Fazit
Mit EPM Automate können viele Prozesse automatisiert werden, und damit das manuelle Eingreifen stark reduziert werden. Durch gutes Einrichten der Prozesse kann man die Anwendungen in der EPM Cloud mit minimalem Aufwand betreiben. Ich hoffe, mit den Beispielen einen Einblick gegeben zu haben, wie dieses in der Praxis funktioniert.
Ihr Philip Hulsebosch