Excel Datei einlesen
Es besteht die Möglichkeit eine Excel Datei (*.XLS) mit einer Stammdatenliste in das System einzulesen. Eine bestehende Excel Datei muss um den Funktionsteil und falls noch nicht vorhanden um den Spaltenköpfe erweitert werden.
Vor dem Einlesen muss ein Mandant im System erfasst werden.
Aufbau der Excel Datei
Es besteht die Möglichkeit eine Excel Datei mit einer Stammdatenliste in das System einzulesen. Der Aufbau der Excel Datei ist wie folgt :
Zeile | Beschreibung | Beispiele |
---|---|---|
1. | Spaltenköpfe, Kurzbeschreibung der Spalten. Hat keine Funktion ist nur zur Erklärung der Liste | |
2. | Funktionsteil, hier können beliebig InstantView® Befehl verwendet werden. Auf dem Stack liegt beim Aufruf der Wert der aktuellen Position. Dieser kann mit "PutValue" in ein Feld geschrieben oder anders verarbeitet werden. Soll die Spalte nicht bearbeitet werden und ist nicht die letzte Spalte, so muss "NoOperation" eingetragen werden. Wenn Sie die Spalte einfach freilassen, bricht die Bearbeitung nach der vorhergehende Spalte ab.
Wenn nach der Bearbeitung der String "break" auf dem Stack liegt, wird die Bearbeitung der Zeile abgebrochen und die nächste Zeile eingelesen. Mit dieser Funktion kann man zum Beispiel das doppelte einlesen von Stammdaten verhindern. In dem man prüft ob die Daten schon vorhanden sind und wenn Ja "break" auf den Stack legt |
NoOperation
Dup "%s = uniqueID" FindFirst(CX_ITEM) if { Drop "break" } else { PutValue(EditWin, uniqueID) } |
Beispiel für eine Firmenadressliste mit Ansprechpartnern :
Wenn der Firmenname bereits vorhanden ist, wird nur der Ansprechpartner angelegt.
Firma | Kunden-Nr. | m/w | Titel | Name | Vorname | Abteilung | Funktion | Anschrift | Land | PLZ | Ort | sichern | WWW | Sprache | Telefon | Fax | Anprechprartner speichern | |
Var(existPartner) Dup "%s = name" FindFirst(CX_CORPORATION) Dup -> existPartner ifnot PutValue(, name) else Drop | NoOperation | "Frau" = if 1 else 0 -> contactSex | -> contactTitle | -> contactName | -> contactFirstName | -> contactDept | -> contactFunction | existPartner ifnot PutValue(, street) else Drop | existPartner ifnot PutValue(, countryWithCode) else Drop | existPartner ifnot PutValue(, zipCode) else Drop | existPartner ifnot PutValue(, city) else Drop | Drop existPartner ifnot { SaveObject } else { existPartner -> partner } | existPartner ifnot PutWww else Drop | NoOperation | existPartner ifnot { Dup PutDeskPhone } -> contactPhone | existPartner ifnot { Dup PutFax } -> contactFax | existPartner ifnot { Dup PutMail } -> contactMail | partner CreateContact |
Fritz Müller GmbH | Herr | Hermanns | Hans | Geschäftsleitung | Schloss Hinterhof 13 | DE | 42399 | Beichlingen | NoOperation | http://www.fritzmueller.net | deutsch | 03175-16986-0 | 03175-16986-9 | Hans.Hermanns@fritzmueller.net | NoOperation |
Aufruf der Funktion "LoadObject"
In jedem Erfassungsfenster von Stammdaten kann diese Funktion über das Monitorfenster aufgerufen werden. Folgende Variablen können vor dem Aufruf definiert werden :
Name | Beschreibung |
---|---|
manualFile | Ist diese Variable nicht gesetzt so wird versucht eine Standard Excel Datei zu öffnen. Sie sollten in diese Variable den Pfad für Ihre Excel Datei laden, z.B. "C:\\TEMP\\Kunden.xls" -> manualFile |
executeEmptyCells | Definiert ob der Funktionsteil für leere Zellen aufgerufen werden soll oder nicht. Default: FALSE |
infoControlWin | Zeigt in der Kopfzeile des Hauptfensters die aktuelle Zeile, Spalte und Funktionsteil an. Dies sollte nur zur Fehlersuche aktiviert werden. |
Beispiel :
- Es befinden sich die Daten in der Excel Datei "c:\temp\test.xls".
- Rufen Sie den Menüpunkt "Partner//Firmen" auf und starten mit ALT + rechte Maustaste auf dem "Schließen"-Button das Monitorfenster.
- Geben Sie folgende vier Zeilen in das Fenster ein und starten mit Strg + Enter die Befehlsfolge
"c:\\temp\\test.xls" -> manualFile
TRUE -> executeEmptyCells
TRUE -> infoControlWin
LoadObject
- Die Daten werden eingelesen und die neuen Firmen im Listenfenster angezeigt