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] [-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]
-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 Scripting) 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 Ein-/ Ausgabebeschreibung.

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.