Hallo,

Gibt es eine Möglichkeit einen CKE Feldinhalt teilweise zu ersetzen?

Ich möchte aus v1 Inhalt "5-899@" in v2 den Wert "5-899L" bekommen, also wenn das Zeichen "@" in der Feldvariable vorliegt, möchte ich in einem andren Feld daraus ein anderes Zeichen machen, es ersetzen, den Rest des Feldinhalts aber übernehmen. Das nächste Mal kann in v1 5-111@ stehen und dann soll das in 5-111L umgewandelt werden.

Eine Möglichkeit von solchen STRING Funktionen habe ich nicht gefunden, deshalb frage ich einfach mal...

VG Rainer Gunstmann
Gefragt in Frage von (1.5k Punkte)
0 Punkte

2 Antworten

Für solche Anwendungen wäre mit einigen Verrenkungen die regex-Funktion die Lösung. Die funktioniert aber nicht innerhalb eines CKE, kann aber CKE-Felder/-Variablen aus einem anderen Karteieintrag befüllen. Sie müssten also mit dem Zwischenschritt eines Karteieintrags arbeiten, da regex über das x-Kommando nur Karteieinträge auslesen kann (einzelne CKE-Felder gehen nicht, wenn ich es richtig verstehe). 

Sie könnten also z.B. aus dem Karteieintrag N mit dem Inhalt    5-899@   den Zahlenteil  so auslesen: 

$[regex (\d-\d+) x N 1 _ inf NN NNNN NNNN _ K 0]$       ergibt     5-899

$[regex  \d-\d{3}([\w\W]) x N 1 _ inf NN NNNN NNNN _ K 0]$        ergibt     @

Mit den regex-Ergebnissen könnten Sie dann CKE-Variablen befüllen und dort weiter auswerten. 

Inspirationen zum (durchaus nicht unkomplizierten) Thema regex finden Sie in diesen Threads:

https://forum.tomedo.de/index.php/72967/regex-hintergrundinformationen-gewunscht?show=72967#q72967

https://forum.tomedo.de/index.php/71020/if-kommando-zum-text-kopieren-gelost-karteieintrage-auslesen-mit-hilfe-des-kommandos-und-regex?show=71020#q71020

https://forum.tomedo.de/index.php/73146/ratselhaftes-verhalten-bei-regex-kommando?show=73146#q73146

Beantwortet von (4.1k Punkte)
0 Punkte
Moin Herr Gunstmann,

Wozu brauchen Sie das? Können vielleicht Sie ein konkretes Beispiel geben?

Bekanntlich führen viele Wege nach Rom. Der Vorschlag von Herrn Baumann das über Regel zu lösen, ist verdammt komplex und man kann sich daran die Zähne ausbeißen. Das Kommando hat er gleich mitgeliefert womit sich diese Arbeit schon erledigt hat.

Ihr Beispiel sieht aber so aus, als wenn man das Problem innerhalb eines CKE lösen kann, indem stumme Variablefelder verwendet werden, die Sie anschließend in verschiedenen zusammengesetzten Textfeldern zusammenfügen.
Beantwortet von (33.1k Punkte)
0 Punkte
Erstmal vielen Dank für die Mühe, dass Sie alle mir helfen in Tomedo Fuß zu fasen!

Es geht hier darum, dass ich ein Master CKE habe, indem OPS Codes für unsere Eingriffe quasi als Standard abrufbar sind. Wir haben neben dem Haupteingriff oftmals auch Simultneingriffe, sodass eine OP mit bis zu vier OPS Codes in diesem CKE abgebildet wird.

Die Schwierigkeit liegt darin, dass manche OPS Codes eine Seitenbezeichnung erfordern, andere bei dem gleichen Eingriff nicht.

Unsere Idee war, das die OPS Codes mit einem OPS-Code-unmöglichen Zeichen versehen werden, in diesem Beispiel "@", und dass dann eine Formel im CKE in Abhängikeit eines links/rechts Feldes beim Vorhandensein dieses "@" ein "L" oder "R" ersetzt und wenn nicht, dann nicht. Nur das Feld mit der ggf. Ersetzung wird dann im weiteren verwendet.

Alternativ könntesn wir jeden Eingriff doppelt für links und rechts anlegen, dass wollten wir vermeiden.

Und ja, der regex Befehl ist schon recht kompliziert....

Sie können grundsätzlich via OPS die Prozeduren suchen und verschlüsseln. Da vergeben Sie die Seite, Uhrzeit und Schnitt-Naht Zeit. 

Allerdings muss man dafür relativ viel Herumklicken und den passend OPS Schlüssel findet man auch nicht immer auf Anhieb. 

Ich habe mir deshalb auch ein CKE erstellt und kann dort mit 2-3 Klicks für jeden Eingriff meines Fachgebiets den OPS Code erzeugen. Danach startet eine Aktionskette, die den OPS Code automatisch in die via OPS Maske eingibt.

 Vielleicht hilft Ihnen das weiter. 

Entscheidend ist die Vorbefüllung, die auf das Ergebnis im CKE verweist.

16,877 Beiträge
24,811 Antworten
43,924 Kommentare
14,542 Nutzer