in-STEP BLUE inTEAM: RegEx Umbenennungen

by | 27.09.2021 | in-STEP BLUE anwenden

Zugegeben, am Anfang hatte ich doch einige Berührungsängste, bevor ich mich so richtig an RegEx herangetraut habe. Aber wenn man dann erst einmal losgelegt und das Prinzip verstanden hat, kommt man mit den Tutorials und dem langsam wachsenden eigenen Wissen gut weiter. Und man glaubt gar nicht, wo sich überall der Einsatz innerhalb von in-STEP BLUE anbietet. In diesem Beitrag möchte ich zwei weitere Anwendungsfälle beschreiben und die Lösung mit RegEx-Unterstützung zeigen. Wer meinen ersten Beitrag zum Thema RegEx übersehen haben sollte, findet ihn hier.

Fall 1: „Doppelt docx ist nix“!

Lange ruhte ein Anwenderwunsch, denn mit den bekannten Bordmitteln von in-STEP BLUE gab es ein Problem. Das Ziel: Der Original-Dateiname soll gespeichert werden, um bei Bedarf wieder verwendet werden zu können. Problem: in-STEP BLUE speichert den kompletten Dateinamen inklusive Endung in einer definierten, alphanumerischen Eigenschaft. Wird nun diese Eigenschaft reaktiviert, sieht der Dateiname… aber schauen Sie doch selbst:

Zuerst speichere ich den Dateinamen durch einen Zustandsübergang direkt mit Anlage der Datei (wird der Startzustand erreicht, wird der Übergang ausgelöst) in der benutzerdefinierten, alphanumerischen Eigenschaft „OriginalProductName“ und setze die boolesche Eigenschaft „SaveOriginalProductName“ gleich wahr (damit ich nur das erste Mal den Originalnamen speichere, wenn die Option noch auf „False“ steht).

RegEx Umbenennungen - Eigenschaften in in-STEP BLUE

Zur Wiederherstellung des Namens definieren wir einen Übergang, bei dem der Produktname aus der Eigenschaft „OriginalProductName“ gebildet werden soll:

RegEx Umbenennungen - Aktion in in-STEP BLUE

Und wie sieht das „im echten“ Leben aus? Eine Abfolge in Bildern:

RegEx Umbenennungen - Eigenschaften von Dateien in in-STEP BLUE

Mal eben F2 gedrückt und den Namen angepasst:

RegEx Umbenennungen - Namen anpassen in in-STEP BLUE

Und dann festgestellt, dass man doch lieber den Originaldateinamen hätte:

RegEx Umbenennungen - Standardname wiederherstellen

Und das Resultat:

RegEx Umbenennungen - Resultat in in-STEP BLUE

…die Dateiendung wird von in-STEP BLUE automatisch vergeben und nicht erkannt, dass die Endung schon in der Eigenschaft gespeichert wurde.

Daraus ergibt sich die Anforderung: RegEx muss den gespeicherten Dateinamen von rechts her bis zum ersten Punkt (inkl. Punkt) kürzen. Um eine Lösungsidee auszuprobieren, rufe ich wieder meine Testseite im Internet auf:

RegEx Umbenennungen - Test RegEx

Das sieht doch gut aus, den ersten Punkt lässt RegEx stehen, der letzte Punkt inklusive Endung wird entfernt. Schnell in in-STEP BLUE eingebaut:

RegEx Umbenennungen - Produktrevision in in-STEP BLUE

…und getestet:

RegEx Umbenennungen - Eigenschaften in in-STEP BLUE

…klappt!

Jetzt kann diese Eigenschaft entweder zum Wiederherstellen benutzt werden oder als Formelteil zur Umbenennung der Datei nach einem bestimmten Schema.

Fall 2: Komma und Lücke muss weg, hat im Namen kein Zweck!

Ein Dateiname soll als Namensteil ein oder mehrere Elemente einer alphanumerischen Eigenschaft mit Multiselect bekommen. In meinem Beispiel soll ein Datenblatt am Namensende noch ein Sprachkürzel bekommen, zur Unterscheidung, weil in der Regel einmal eine deutsche Version und einmal eine englische Version angelegt werden und einem Kunden zur Verfügung gestellt werden sollen. Was aber, wenn der Kunde beide Sprachen in einer Datei wünscht?

Im ersten Schritt benötigen wir den ersten Trick, denn bei der Dateinamen-Formel sind keine alphanumerischen Felder mit der Kardinalität 1+ erlaubt. Mit einer Formel kopiere ich deshalb zuerst die selektierten Werte aus dem Feld in ein neues alphanumerisches Feld mit der Kardinalität 1, hier „Gewaehlte_Sprache“ genannt:

RegEx Umbenennungen - Eigenschaften in in-STEP BLUE

Das sieht dann beispielhaft so aus:

RegEx Umbenennungen - Sprache ändern

Diesen Teil könnte man nun schon als Puzzleteil für die Namensformel verwenden. Allerdings sehen Komma und Lücke nicht so schön aus. RegEx kann auch hier wieder helfen:

RegEx Umbenennungen - RegEx Test 2

Das sieht so doch gleich viel besser aus! Dieser Ausdruck wird nun wieder in in-STEP BLUE eingebaut:

RegEx Umbenennungen - Ersetzung in in-STEP BLUE

Und dann noch in die Formel eingebaut für die Dateibenennung:

RegEx Umbenennungen - Namen kopieren in in-STEP BLUE

Also mir macht es mittlerweile richtig Spaß, Problemstellungen mit RegEx zu lösen. Ich hoffe, dass ich Ihnen mit diesem Beitrag ein wenig Inspiration zum Lösen Ihrer Anforderungen geben konnte. Und ich gehe jetzt auf die Suche nach neuen Herausforderungen rund um RegEx.