====== Import ====== Die speedyPDM-Import Anwendung ermöglicht es Artikeldaten in speedyPDM zu importieren. Als Importquelle dient dabei typischerweise eine Importdatei im CSV, XLS, XLSX oder XML-Format. Die Import Anwendung kann hierbei z.B. für einen Erstimport von Artikeldaten verwendet werden oder im Zusammenspiel mit der Spooler Anwendung kontinuierlich Artikeldaten importieren bzw. aktualisieren. \\ Die Import Anwendung wird per Befehlszeile gesteuert. ===== Lieferumfang ===== ^Datei^Beschreibung^ |bin64\dwImport7.exe|Import Programm 64-Bit | ===== Verwendung ===== dwImport.exe -i ImportFile [-t ImportType] [-a ArchPath] [-e ErrorPath] [-l LogPath] [-u Username] [-p Password] [-o Option] [-s Setting] [-d] [-z] [-q] ^Argument ^ Beschreibung ^ |-i ImportFile | Dateiname der zu importierenden Datei. | |-t ImportType | Name der Importbeschreibung.\\ [optional] | |-a ArchivePath | Archivverzeichnis. Im Archivverzeichnis werden alle fehlerfrei importierten Dateien abgelegt. Standardmäßig wird das Administrativ definierte Verzeichnis verwendet.\\ [optional] | |-e ErrorPath | Fehlerverzeichnis. Im Fehlerverzeichnis werden alle fehlerhaft importierten Dateien abgelegt. Standardmäßig wird das Administrativ definierte Verzeichnis verwendet.\\ [optional] | |-l LogPath | Protokollverzeichnis. Im Protokollverzeichnis wird das Importprotokoll abgelegt. Standardmäßig wird das Administrativ definierte Verzeichnis verwendet.\\ [optional] | |-u Username | Benutzername unter dem der Import stattfinden soll. Standardmäßig wird der Import als „Service“ ausgeführt und dabei der Benutzer „admin“ verwendet.\\ [optional] | |-p Password | Anmeldekennwort für den angegebenen Benutzer.\\ [optional] | |-o Option | Zusätzliche Optionen für den Import. Das Argument kann mehrfach verwendet werden.\\ Schlüsselbegriff=Schlüsselwert\\ [optional] | |-s Setting | Zum Setzen/Überschreiben einer Einstellung. Das Argument kann mehrfach verwendet werden.\\ Schlüsselbegriff=Schlüsselwert\\ [optional] | |-d | delete import files if successful. [optional] | |-z | zip multiple import files to archive/error. [optional] | |-q | Quiet mode. Keine Ausgaben in der Konsole. [optional] | ==== Optionen ==== ^Option^Beschreibung^ |findsamefiles | a) Bei Importbeschreibungen für ein Dokument (z.B. CSV Datei enthält eine Zeile) werden alle gleichbenannten Dateien wie die Importdatei ebenfalls dem neuen Artikel hinzugefügt. \\ b) Bei Importbeschreibungen für mehrere Dokumente (z.B. CSV Datei enthält mehrere Zeilen) und einen Dateinamen pro Zeile haben werden alle Dateien, die gleichbenannt sind mit dem Dateinamen des jeweiligen Dokuments ebenfalls dem Artikel hinzugefügt. | |document.status | Dokument-Status, der hergestellt wird nachdem das Dokument importiert wurde. \\ 4 := Einchecken \\ 8 := Freigeben | |document.release.comment | Kommentartext für Dokumente, für die eine neue Freigabe im Zuge des Imports erstellt wird. | |document.files.replace | Bei bereits vorhandenen Dokumenten werden alle Dateien ersetzt. | ==== Scripting ==== Der Importprozess kann zusätzlich durch ein externes Script unterstützt bzw. gesteuert werden. Beim Laden der Importdatei wird eine gleichbenannte Scriptdatei (.vbs oder .js) ebenfalls geladen. \\ Folgende Ereignisroutinen werden aufgerufen: OnImportDocument(timing, dictionary) ^ Parameter ^ Type ^ Description ^ | timing | EventTimingEnum | kBefore:=1 \\ kAfter:=2 | | dictionary | Dictionary - Object | Scripting.Dictionary aus der Scripting Runtime Library | (Details zu Scripting Funktionen siehe auch [[speedy:30_modules:script|]]) Muss ein Dokument durch den Importprozess neu angelegt werden wird die Ereignisroutine vor dem Erstellen des Dokuments aufgerufen (timing=kBefore). Hierbei enthält das Dictionary alle Eigenschaften, die aus der Importbeschreibung gelesen wurden. Wird das Dictionary geändert oder ergänzt, um die Erstellung des Dokuments zu beeinflussen, muss die Ereignisroutine **true** zurückgeben. \\ Nachdem das Dokumenterstellt oder aktualisiert wurde wird die Ereignisroutine aufgerufen (timing=kAfter). Das Dictionary enthält nun alle Eigenschaften des Dokuments. Änderungen des Dictionaries haben keinen Einfluss mehr auf das erstellte Dokument. Müssen noch Änderungen an den Dokument-Eigenschaften erfolgen kann dies direkt auf der Datenbank erfolgen. Ein entsprechender Verweis auf die Datenbankobjekte (session.database, vault.database) findet sich im Dictionary. \\ ===== Importdatei ===== Die Importdatei kann bzw. muss bestimmte Felder enthalten. Je nach Art des zu importierenden Objektes unterscheiden sich die Felder. \\ Das erste Feld der Importdatei definiert welcher Objekttyp im weiteren Verlauf importiert wird: ^Feldname beginnt mit^Objekttyp^ | dm_ | Dokument | | doc_ | ::: | | bom_ | Stückliste | | bhead_ | ::: | | bpos_ | ::: | | bomh. | ::: | | bomp. | ::: | | ctnr_ | Ordner | ==== Dokument-Import ==== Um ein Dokument per Importdatei zu erstellten muss mindestens ein Dokument-Typ angegeben werden. \\ Soll ein Dokument aktualisiert werden muss eine Dokument-Nummer angegeben werden. Existiert diese Dokument noch nicht wird es erstellt, wenn ebenfalls ein Dokument-Typ definiert wurde. \\ In Multi-Vault-Umgebungen muss zusätzlich noch der Vault definiert werden. \\ Ist die Ablage des neuen Dokuments in einem bestimmten Ordner gewünscht muss der Ablage-Ordner ebenfalls definiert werden. Erfolgt diese Angabe nicht werden neue Dokumente direkt im Vault erstellt. ^Feldname^Beschreibung^ |dm_docno | Dokumentnummer des anzulegenden oder des zu aktualisierenden Dokuments. [optional] | |dm_title | Dokument-Titel [optional] | |dm_file | Dateiname einer zu importierenden Dokument-Datei. \\ Liegt die Datei im gleichen Verzeichnis wie die Importdatei muss kein Pfad angegeben werden. [optional] | |dtype_dtid | ID des Dokument-Typs. | |dtype_name | Name des Dokument-Typs. | |dm_doctype | ::: | |vault_vid | ID des Vault. [optional] | |vault_name | Name des Vault. [optional] | |dm_vault | ::: | |ctnr_parent_id | ID des Ablage Ordners. [optional] | |ctnr_parent | Vollständiger Name des Ablage Ordners. [optional] | |dm_parent | ::: | |ctnr_parent_name | ::: | |ctnr_name | Name des Ablage Ordners. [optional] | ==== Stücklisten-Import ==== ^Feldname^Beschreibung^ |bom_assembly | Dokument-Nummer der Baugruppe. | |bom_docno | Dokument-Nummer der Position. | |dm_docno | ::: | ==== Ordner-Import ==== ^Feldname^Beschreibung^ |ctnr_fullname | | |ctnr_name | | |ctype_ctid | | |ctype_name | | |dm_ctype | | |vault_vid | | |dm_vault | | |vault_name | | ===== Administration ===== ==== Importbeschreibung ==== Eine Importbeschreibung beschreibt die zu importierenden Felder/Spalten der Importdatei und weist diese den speedy-Eigenschaften zu. \\ Siehe auch [[speedy:40_admin:io]]. ==== Konfigurationsparameter ==== ^Schlüssel^Beschreibung^ |session.import.csvreplacement | Mapping von zu ersetzenden Zeichen beim Import aus CSV-Dateien. | |session.import.document.status | Dokument-Status, der nach erstellen eines neuen Dokuments eingestellt wird: \\ - 4 := Einchecken \\ - 8 := Freigegeben | |session.import.document.release.comment| Kommentar der bei der Freigabe eines Dokuments innerhalb des Imports vergeben wird, wenn ein Dokument freigegeben werden muss. | |session.import.document.files.replace| Definiert, ob Dateien eines bereits vorhandenen Dokuments ersetzt werden oder neue Dateien angehängt werden. | |session.import.filefilter | Gleichnamige Dateien, die dem Filter entsprechen werden nicht importiert. | |session.import.ocrfile | Dateiendung für eine Textdatei, die z.B. den erkannten Text eines OCR Prozesses enthält. Dieser Text wird für die Volltextindizierung verwendet. | |session.path.error| Pfad zur Ablage von von fehlerhaft importierten Dateien. | |session.path.archive| Pfad zur Ablage von korrekt importierten Dateien. | |session.path.log| Protokollverzeichnis. |