Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: Onkel_Inder am 04.03.04 - 15:47:42
-
Hallösche,
bastel jetzt schon seit Stunden an einer Vorlagen-Datei,
um Daten aus einer WK4-Datei in Notes zu importieren
Also die Datei sieht wie folgt aus:
Name: WKSCOL A
Gruppe: WKSCOL B
...
FORMULASTART
FIELD Vorname := @Trim(@Right(Name;","));
FIELD Name:=@Trim(@Left(Name;","));
FIELD Autor:="IMPORT";
FIELD modified:=@Now;
FORMULAEND
Der Import funktioniert auch super, nur habe ich einige Namen, z.B. für Räume, die ohne Komma auskommen
Bsp.:
Name Gruppe
Jansen, Peter Person
Raum 3 Raum
Dafür bekomme ich dann weder Vor noch Nachname importiert.
Ich habe das schon mit etlichen Formeln versucht
u. a.
FIELD Vorname := @Trim(@Right(Name;","));
@If (@Trim(@Left(Name;",")) =""; Name = Name+",";"");
FIELD Name:=@Trim(@Left(Name;","));
egal was ich mache, habe auch schon Leerzeichen (" " satt "") genommen
wenn ich Name := Name schreibe kann ich gar nichts importieren
(Fehlermeldung := Darf nur am Anfang eines Ausdrucks stehen)
Ich bin am verzweifeln, das kann doch nicht so schwer sein oder?
Bitte helft mir *g*
Danke Gruß
da Onkel
-
Hi,
versuch doch mal mit @Contains zu prüfen, ob nen "," vorhanden ist.
@If(@Contains(Name; ",");
@Do(
@SetField("Vorname"; @Trim(@Right(Name;","));
@SetField("Name"; @Trim(@Left(Name;",")));
@SetField("Name"; Name))
-
Deine ursprüngliche Formel (hinter Formulastart) ist soweit schon richtig. Du musst nur entscheiden, wann Du Name und Vorname füllst - nämlich dann, wenn kein Komma in der Spalte Name vorhanden ist.
Driri's Hinweis ist insofern schon richtig, nur solltest Du FIELD statt @SetField in diesem Kontext verwenden - und keine temporären Variablen verwenden, die identisch zu Deinen Feldnamen sind (statt "Name" z.B. "name_" oder "tmpName"):
FIELD Vorname := @If (@Contains (tmpName, ", "); ...
HTH,
Bernhard
-
Ihr seit G E N I A L :D
aber wem sag ich das... ;D
So schaut sie nun aus die Formel, und es funzt wie gewünscht.
FORMULASTART
tmpName := Name
FIELD Vorname := @If(@Contains (tmpName; ",");@Trim(@Right(Name;","));"");
FIELD Name := @If(@Contains (tmpName; ",");@Trim(@Left(Name;","));@Trim(Name));
FIELD Autor:="IMPORT";
FIELD modified:=@Now;
FORMULAEND
VIELEN DANK
da Onkel
-
Da ist jetzt aber auch die Freude meinerseits - einerseits, dass der Tipp geholfen hat, andererseits und vor allem, dass Du die komplette Lösung auch gleich noch veröffentlich hast. Möge dies auch für andere irgendwann einmal hilfreich sein ;-)
Ciao,
Bernhard (auch Onkel, aber kein Inder ;D )
-
Es gibt sie noch, die COL-Dateienschreiber :D
Danke für das vorbildliche Posten hier!
Andreas
-
Was ich ehrlich gesagt noch nie kapiert habe weshalb man für den Import COL Dateien verwenden soll...
Ich bin zu meinen Anfangszeiten von Notes (1999) daran verzweifelt und seit dem importiere ich nur noch über WK4 Dateien was supereasy ist und problemlos funktioniert.
Gruss
Martin
-
Das hängt ein bisschen davon ab, woher die Daten kommen.
Ich hatte - wohl auch etwa 99 oder kurz davor - den Fall, dass ich Daten aus einer Buchhaltungs-Applikation übernehmen sollte. Und das jede Nacht. Auf der Gegenseite war "nur" ein ASCII-Export verfügbar. Dafür hat es sich dann schon gelohnt, eine .col-Datei zu machen, wobei, wenn ich mich richtig erinnere, war auch das eine Ueberganslösung, am Schluss hab ich das dann per Script direkt eingelesen, das aber auch unter anderem deshalb, weil der OS/2-Server, auf dem das Script lief, unter Codepage 437 lief, während der Export auf einer Windoof-Maschine mit 1251 gefahren wurde. Netter Nebeneffeckt: Umlaute und ähnliches ware natürlich nicht am gleichen Ort, sprich, man musste dann auch noch eine Zeichensatzumsetzung dazu haben.
-
Danke für die Infos - habe ich das jetzt richtig verstanden das man nur mit COL Dateien den Import automatisieren kann und mit WK4 nicht und das darin der Vorteil besteht?
Gruss
Martin
-
.COL-File sind zwar ein "uraltes" Relikt, aber wegen der verwendbaren @functions ggf. wirklich ein echter Billigmacher. Mitte der Neunziger habe ich damit sackweise Daten aus Fremdapplikationen übernommen. By the way: Damals war R3 aktuell und damit nix mit LS, was ich heute wohl für solche Stunts hernehmen würde ;-)
Ciao,
Bernhard
-
Martin:
Nein, auch mit WKx-Dateien lässt sich ein Import automatisieren, aber die Fremdapplikation hat das nicht hergegeben, sprich, man hätte noch eine weitere Dritt- oder fast besser Viertapplikation hernehmen müssen, um die ASCII-Datei in eine WKx zu konvertieren und dann zu importieren. Wie Bernhard eben gesagt hat, die .COL sind praktisch, weil man dabei auf den Import schon Einfluss nehmen kann. Wenn es dann komplizierter wird, wird man dann auf LS umsteigen und die Sache selber einlesen und wandeln - so wie ich das ja am Schluss auch gemacht hatte (damit war dann auch die .COL Datei obsolet, aber für den Prototyp war sie sehr nützlich, weil rasch zusammengebaut)
-
Super - Danke für die Infos, irgendwie bin ich auf dem Schlauch gestanden. Eigentlich ist die Sache aber klar - bei meiner Methode müssen die Ursprungsdaten ja schon in einer festgelegten Form vorliegen. Bei COL Dateien ist man ja da nicht bzw. kaum gebunden...
Gruss
Martin
-
Das ist genauso. DotCol bietet eine einfache Methode der Programmierung. In meinem Fall ist dann noch dazu gekommen, dass alles andere eine zusätzliche Konversion erfordert hätte, aber das ist natürlich situativ zu beurteilen.