Our 3D CAD supplier models have been moved to 3Dfindit.com, the new visual search engine for 3D CAD, CAE & BIM models.
You can log in there with your existing account of this site.
The content remains free of charge.
Sie können beliebige Informationen aus Drittsystemen nach PARTsolutions mit ERP-Kopplung (in die Linkdatenbank) übertragen.
Bei PARTsolutions mit ERP-Kopplung gibt es drei grundsätzliche Anforderungen bezüglich Datenübernahme und Kopplungen.
PARTident, welcher bislang die Aufgabe der
zyklischen Datenaktualisierung übernahm, wird mit
PARTsolutions V9.02 durch das Skript nightupdate.vbb
ersetzt.
Die Identifikation des jeweils korrekten Datensatzes erfolgt über die Materialstamm-Nr. bzw. die ERP_PDM_NUMBER.
Ist ein Datensatz eindeutig zugeordnet, können Informationen aus beliebig viele Informationen aus ERP-Spalten in die Linkdatenbank übertragen werden.
Die folgende Abbildung zeigt das Beispiel einer Aktualisierung der Spalten Artikelpreis und Lagerbestand.
Die Lizenz "CSN2005*PSDEV*PIDENT" muss vorhanden sein.
Änderungen im ERP-System werden zyklisch (z.B. täglich, aber auch mehrmals täglich, meist in der Nacht) seitens des ERP-Systems in Form einer CSV-Datei exportiert. Die CSV-Datei enthält nur die während eines Zyklus' geänderten Datensätze.
Es wird mittels "Geplante Aufgaben" ein Job definiert (entsprechend des Export-Zyklus' seitens des ERP-Systems).
Hierbei
wird das Skript nightupdate.vbb
aufgerufen;
entweder mit oder ohne zusätzliche Angabe der
Konfigurationdatei:
Ohne explizite Angabe der Konfigurationsdatei:
"%cadenas%\bin\x86\32\cscripthost.exe" "%cadenas_setup%\scripts\erp\nightupdate.vbb"
Das
Skript verwendet die nightupdate.cfg
aus
$CADENAS_SETUP
.
Mit zusätzlicher Angabe einer Konfigurationsdatei. Dies kann sinnvoll sein, wenn mit verschieden aufgebauten CSV-Dateien gearbeitet wird.
"%cadenas%\bin\x86\32\wscripthost.exe" "%cadenas_setup%\scripts\erp \nightupdate.vbb" "nightupdate.cfg"
Das Skript
liegt unter $CADENAS_SETUP\scripts\erp\nightupdate.vbb
.
Die
Konfigurationsdatei liegt unter $CADENAS_SETUP\nightupdate.cfg
.
In der
Konfigurationsdatei nightupdate.cfg
werden
spezifische Anpassungen vorgenommen.
Die geänderten Datensätze des Drittsystems werden entsprechend der Vorgaben in die LinkDB geschrieben.
Spezifizieren Sie den Benutzernamen.
user=sa
Das PLM/ERP-System exportiert eine CSV-Datei.
Spezifizieren Sie den Speicherort dieser auszuwertenden Datei.
Der Platzhalter <date> wird mit dem aktuellen Datum automatisch ersetzt.
inputcsv=C:\temp\input_<date>.csv
Es kann die gewünschte Anfangszeile angegeben werden (1 für die erste, 2 für die zweite, 3 für die dritte, …).
startline=1
Es kann mit festen Spaltenbreiten oder auch mit einem bestimmten Trennzeichen gearbeitet werden:
Geben Sie optional ein Texterkennungszeichen an.
Wenn " als Texterkennungszeichen benutzt werden soll, dann müssen Sie ein Escape-Zeichen wie z.B. Backslash voranstellen.
QUOTE=\"
Bestimmte Zeilen für Übernahme ausschließen
Alle Zeilen werden übernommen.
ProcessLine=1
Bei sehr großen CSV-Dateien und/oder vielen nicht zu benutzenden Zeilen, können Sie Zeilen von der Übernahme ausschließen.
Soll eine Zeile, welche in Spalte 3 den Wert "STEEL" aufweist, ignoriert werden, geben Sie folgendes an:
ProcessLine=row.cells.item(2).value<>"STEEL"
Sollen nur Zeilen, welche in Spalte 3 den Wert "STEEL" aufweisen, übernommen werden, geben Sie folgendes an:
ProcessLine=row.cells.item(2).value="STEEL"
Sie können auch mehrere Bedingungen aneinanderfügen.
(Jeder logische Operator (AND,OR,XOR,…kann verwendet werden.)
Sollen nur Zeilen, welche in Spalte 3 den Wert "STEEL" oder "GOLD" aufweisen, übernommen werden, geben Sie folgendes an:
ProcessLine=row.cells.item(2).value="STEEL" OR row.cells.item(2).value="GOLD"
In Linkdatenbank fehlende Datensätze ohne Verknüpfung in ERPTABLE anlegen
Vorteil: Bei einem späteren Aufruf stehen die Metadaten sofort zur Verfügung.
Nachteil: Es werden evtl. viele unnötige Datensätze angelegt.
createEmptyERPdataSetIfUnknown=1
Bestimmte Spalten vom Update ausnehmen, sofern der CSV-Wert leer ist
Listen Sie die betreffenden Spalten kommasepariert auf.
DontOverwriteValueIfEmpty=ACTIVE_STATE,MAT_NAME
logfile=C:\Dokumente und Einstellungen\Administrator\Desktop\log\test_<date><time>.log
In der Ausgabedatei wird <date> durch das reale Datum im Format DD_MM_YYYY ersetzt.
In der Ausgabedatei wird <time> durch die reale Zeit im Format HH-mm-SS ersetzt.
1: nur Error-Nachrichten werden ausgegeben
2: Trace- und Error-Nachrichten werden ausgegeben
3: Trace- und Error-Nachrichten werden ausgegeben und zusätzlich in eine Log-Datei geschrieben
logprio=3
E-Mail mit Statusmeldung senden bei OK
SendStatusMailOnOk=1
E-Mail mit Statusmeldung senden bei Error
SendStatusMailOnError=1
Log-Datei als Anhang der E-Mail senden
appendLogFileToStatusMails=1
Einstellungen im Block [ERPTABLE-IDENTIFY-COLUMNS]
Hier werden die Spalten, welche zur Identifikation der Zeile in der LinkDB benötigt werden, eingetragen. Falls keine passende Zeile gefunden wird und createEmptyERPdataSetIfUnknown = 1, wird eine neue Zeile angelegt.
Die Default-Einstellung greift, wenn auf Seiten von PARTsolutions die eindeutige Nummer in der Spalte ERP_PDM_NUMBER zu finden ist und im Drittsystem die zugehörige Information in der ersten Spalte der CSV-Datei steht.
[ERPTABLE-IDENTIFY-COLUMNS] ERP_PDM_NUMBER=row.cells.item(0).value
In diesem Beispiel steht auf Seiten von PARTsolutions die eindeutige Nummer in der Spalte "SAP_MAT_NR". Im Drittsystem steht die zugehörige Information in der zweiten Spalte der CSV-Datei.
SAP_MAT_NR=row.cells.item(1).value
Zur Identifikation der Zeile in der LinkDB werden mehrere CSV-Spalten benötigt.
Es sollen beim Wert der ersten CSV-Spalte die führenden Nullen entfernt werden, dann ein Unterstrich eingefügt werden und dann der Wert aus Spalte 2 angehängt werden.
ERP_PDM_NUMBER=""&row.cells.item(0).value & "_" & row.cells.item(1).value
Ausschnitt aus CSV-Datei von Spalte 1 und Spalte 2:
0000014245 001
Mit folgendem Wert wird in der LinkDB die passende Zeile gesucht.
14245_001
Zur Identifikation der Zeile in der LinkDB werden mehrere CSV- bzw. LinkDB-Spalten benötigt.
ERP_PDM_NUMBER=row.cells.item(0).value ERP_VERSION=row.cells.item(1).value
Einstellungen im Block [ERPTABLE-UPDATE-COLUMNS]
In diesem Block werden alle Spalten deklariert, bei denen ein Update erfolgen soll.
[ERPTABLE-UPDATE-COLUMNS] ERP_PDM_NUMBER=row.cells.item(0).value MAT_NAME=row.cells.item(1).value DESCRIPTION=row.cells.item(2).value
Soll in einer bestimmten Spalte ein Wert ersetzt werden, verwenden Sie folgenden Ausdruck:
[ERPTABLE-UPDATE-COLUMNS] MAT_NAME=replace(row.cells.item(0).value,”Stahl”,”8.8”)