Es gibt im Alltag eines in-STEP BLUE Systemverantwortlichen (ich bleibe hier bei der männlichen Form, da ich über meine Erfahrung schreibe) viele Situationen, in denen das Anwenderverhalten oder die Anwenderanforderungen das System oder die Administration vor Herausforderungen stellen. Anhand von drei Beispielen aus meinem Alltag möchte ich hier Probleme und Lösungsansätze vorstellen.
Allen gemein ist die Anwendung von RegEx. Die Verwendung von RegEx ist seit Version 6.5 von in-STEP BLUE möglich. Dabei wird der Dialog „Formel eingeben“ im Rahmen einer Zustandsaktion „Eigenschaften setzen“ konfiguriert. Die Verwendung ist nicht ganz selbsterklärend, wenn man in der Welt der Programmierung nicht gerade zu Hause ist. Um RegEx zu nutzen, muss man sich zum Glück keinen teuren Wälzer kaufen, sondern kann sich hervorragend mit dem Internet helfen. RegEx, genauer „Regular Expression“, hilft, eine Zeichenkette in einer Formel (vereinfacht) darzustellen [1]. Neben Implementierungen in Programmiersprachen verarbeiten auch viele Texteditoren reguläre Ausdrücke in der Funktion „Suchen und Ersetzen“. Ein einfacher Anwendungsfall von regulären Ausdrücken sind Wildcards. [2]. Bei den folgenden drei Use Cases werden RegEx Zeichenketten genutzt, um Eingaben in in-STEP BLUE zu verbessern.
Für die unterschiedlichen Anwendungsfälle helfen unterschiedliche Seiten, aber vielleicht sind einfache Ausdrücke auch mit etwas Übung schnell selbst gebaut. Tutorials helfen sicher immer [3]-[6].
Bevor ich nun endlich zu meinen Use Cases komme, möchte ich hier noch auf eine notwendige und hilfreiche Seite verweisen, mit der man den selbst gebauten (oder aus dem Internet gemopsten) Ausdruck testen kann: regex101:
Fall 1: Zuviel kopiert, geschickt geschnitten
Für die Anlage eines besonderen Produkts in in-STEP BLUE wird bei uns (VOITH) eine Materialnummer aus SAP benötigt. Allerdings nicht die komplette Nummer, sondern nur die ersten 10 Zeichen. Die User kopieren daher entweder die ersten 10 Zeichen (9 Ziffern und ein Punkt nach der dritten Ziffer) aus SAP oder den gesamten Ausdruck, um diesen nach dem Einfügen in in-STEP BLUE auf die richtige Länge zu kürzen. Aber was passiert, wenn vergessen wird, den Eintrag auf die 10 Zeichen zu kürzen? Dann könnte doch in-STEP BLUE den Eintrag auf die gewünschte, notwendige Länge verkürzen. Nur wie richtet man das ein?
Ein einfacher Trick hilft schon weiter: Bei der Rückgabe des Produktes (Zustandsaktion) wird der Eigenschaftswert „Materialnummer“ über „Eigenschaften setzen“ mit sich selbst über Formel ersetzt, dabei kürzt ein RegEx-Ausdruck bei Bedarf den Wert:
Ob es funktioniert, überprüft man dann per regex101:
Aktuell habe ich einen Sonderfall damit noch nicht abgedeckt: Der User tippt von Hand den Wert ab und vergisst den Punkt nach der 3. Stelle, der aber unbedingt eingetragen werden muss. Für diesen Fall habe ich folgende Formel gebaut (ich bin ganz stolz, denn das ist mein erster komplett selbst gebauter Ausdruck nach Studium der Tutorials):
Fall 2: Falsches Zeichen = kein Projekt. Muss nicht sein!
Ein berechtigter User legt mit Hilfe eines Formulars ein Projekt in in-STEP BLUE an. Der Taskmanager bricht jedoch ab, wenn bestimmte Sonderzeichen im geplanten Projektnamen erscheinen. Das Projekt wird dann nicht erstellt. Lösung: Trotz fehlerhafter Eingabe sind diese Zeichen durch „_“ zu ersetzen.
Dieser Ausdruck sieht mir noch recht umständlich aus, das geht bestimmt auch leichter? Und auch das Ergebnis überprüfe ich mit regex101:
Klappt doch super! Und wenn man jetzt auch noch keine Umlaute im Namen erlauben möchte, können diese auch ausgeschlossen werden.
Fall 3: Speichere nur das Jahr. Na klar!
Ein Anwender möchte, dass in-STEP BLUE bei der Erstellung eines Produkts nur das Jahr der Erstellung als alphanumerischen Wert speichert.
Hierzu wird bei der Anlage des Produkts im Rahmen einer initialen Startaktion über eine Formel die interne Datums-Eigenschaft „CreationDate“ in die Alphanumerische Eigenschaft „Jahr“ geschrieben. Da in-STEP BLUE den Wert aber als „TT.MM.JJJJ hh:mm:ss“ schreibt, muss dieser Ausdruck wieder als RegEx formuliert werden und $3 (also der dritte Block = JJJJ) bleibt stehen. Bei mir sieht der Ausdruck dann am Ende so aus:
Auch hier teste ich lieber, ob es funktioniert mit regex101:
Fazit
In diesen drei Beispielen konnte ich zeigen, wie nützlich die RegEx Erweiterung von in-STEP BLUE ist. Bei den ersten beiden Fällen helfe ich Anwendern, Fehler zu vermeiden und schaffe so mehr Akzeptanz. Mit dem dritten Beispiel habe ich direkt eine Anwenderanforderung umsetzen können. Mit Sicherheit ist das nur die berühmte Spitze des Eisbergs an Möglichkeiten. Können Sie auch von spannenden Use Cases dazu berichten? Über entsprechende Kommentare unten würde ich mich sehr freuen.
Quellen:
[1] https://tipps.computerbild.de/software/systemsoftware/regex-was-ist-das-das-sollten-sie-wissen-798941.html
[2] Regulärer Ausdruck – Wikipedia
[3] Reguläre Ausdrücke (RegEx) – Kurzübersicht | AutoHotkey (ahkde.github.io)
[4] Reguläre Ausdrücke – danielfett.de