129.10 Schnittstellendatei (XML-Format, Art 7, EPLAN)
Dieses Format für die Übergabedatei wird benutzt, wenn die INI-Einstellung "SL-Art = 7" in Sektion [PDV129] aktiviert ist.
Hinweis:
Es handelt sich hier nicht um eine Standardschnittstelle zu EPLAN.
Für die Schnittstellendateien gelten folgende Vereinbarungen:
  • Für die Teilestämme muss das Verzeichnis und der Dateiname der Schnittstellendatei(en) angegeben werden.
    Beim Dateinamen sind auch Platzhalter zulässig. Mit der Angabe „Verzeichnis\*.*“ werden z.B. alle Schnittstellendateien aus dem Verzeichnis ausgewertet. Mit dem Menü VORBELEGUNG kann die Eingabe vorbelegt werden.
  • Für die Stücklisten muss das Verzeichnis und der Dateiname der Schnittstellendatei(en) angegeben werden.
    Beim Dateinamen sind auch Platzhalter zulässig. Mit der Angabe „Verzeichnis\*.*“ werden z.B. alle Schnittstellendateien aus dem Verzeichnis ausgewertet. Mit dem Menü VORBELEGUNG kann die Eingabe vorbelegt werden.
  • Es werden immer zuerst die Teilestammdaten und danach die Stücklisten übernommen. Ist beim Teilestamm keine Datei angegeben werden sofort die Stücklisten übernommen. Im Pollmodus wird bei fehlender Teilestammdatei ebenfalls sofort nach Stücklistendateien „gesucht“, falls die Übergabedatei für den Teilestamm nicht gefunden wird.
  • Als Schnittstellendateien werden XML-Dateien erwartet (Format UTF-16).
  • Die Mengenangaben müssen einen Punkt oder ein Komma als Dezimaltrenner besitzen.
  • Die Bereitstellung neuer Daten bei aktivem PDV129 erfolgt über die einstellbaren Abfragezeiten für das Pollen. Solange die Übergabedatei geöffnet ist, darf das CAD-System nicht übergeben.
  • Im Echtlauf wird die jeweilige Übergabedatei immer gelöscht.
  • Folgende INI-Einstellungen werden bei dieser Schnittstelle ausgewertet:
  • „Auswahl“ zum Start mit Auswahldialog für Schnittstellenart
  • „StartPoll“ zum Start im Echtlauf und Pollmodus
  • „EndeZeitPoll“ zum Beenden des Programms im Pollmodus zur konfigurierten Uhrzeit
  • „DruDelPollAnz“: Im Pollmodus Druckausgabefenster regelmäßig "leeren".
  • „DruKanalMailn“: Bei Fehlern das Druckprotokoll per E-Mail verschicken
  • „VBteilSLart2“: Teilenummer Vorbelegungssätze
  • Sektion [CADSL7]: Konfiguration aller Felder
  • Sektion [CADSL7-STL]: frei konfigurierbare Felder für Stückliste
Nach erfolgter Übernahme wird im Echtlauf die Übergabedatei gelöscht. Solange die Übergabedatei geöffnet ist, darf das CAD-System nicht übergeben.
Teilestamm
  • Die Datei(en) aus dem angegebenen Verzeichnis werden übernommen.
  • Anhand der EPLAN-Nummer wird geprüft, ob es zu dieser Nummer schon Stammdaten gibt.
  • infra:NET sucht sich den Pfad mit dem höchsten Index und liest darüber im Teilestamm.
    Die EPLAN-Nummer steht in infra:NET im Anwenderfeld 4 (Feld 94 in Datei 6).
    Um zu prüfen, ob bereits ein Teilestamm mit dieser Nummer existiert und die Übernahme dann abzuweisen, muss in infra:NET ein zusätzlicher eindeutiger Pfad auf Datei 6 mit den Feldern 94 + 3 individuell verwaltet werden.
    Momentan wäre das der Pfad 4. infra:NET sucht sich den Pfad mit dem höchsten Index und liest darüber im Teilestamm.
    Hinweis: Die EPLAN-Teilenummer im Anwenderfeld 4 (Feld 94 in Datei 6) ist im Standard 30 Zeichen lang und eine Überprüfung erfolgt auch nur in dieser Länge!
  • Falls die EPLAN-Nummer bereits in einem Teilestamm vorhanden ist, erfolgt keine Übernahme der Daten und somit keine Datenänderung in infra:NET.
  • Falls die EPLAN-Nummer noch nicht im Teilestamm vorhanden ist, wird der Teilestamm mit einer generierten Teilenummer aus einem Nummernkreis geschrieben:
    Aufbau Nummernkreisparameter:
    Position 1: NK129SL7
    Position 9: Muster für Teilenummer mit Platzhalter # für laufende Nummer
    Position 50: Nächste freie laufende Nummer, max. so lang wie Platzhalter (linksbündig)
    z.B. Muster T############## und nächste freie Nummer ist 4711. Dann entsteht die Teilenummer T00000000004711. Es werden also führende Nullen vergeben.
    Sollte schon eine Teilenummer mit der vorgegebenen Nummer existieren, werden maximal 100 Versuche mit den nächsthöheren Nummern vorgenommen bevor abgebrochen wird.
  • Bei dem neuen Teilestamm können als "Grundvorbelegung“ spezielle Vorbelegungssätze verwendet werden, ansonsten gelten die "normalen" Vorbelegungssätze für den Teilestamm. Dazu wird ein regulärer Teilestamm verwendet. Die Teilenummer, z.B. "M129-VBELEG“, kann über die INI-Einstellungen "VBteilSLart2“ in Sektion [PDV129] konfiguriert werden Der Status dieses Teilestamms sollte inaktiv sein. Der Teilestamm darf sonst nirgends benutzt werden, da für die Vorbelegung die Sätze aus Datei 6, 27, 28 und 104 ohne jede Feldprüfung verwendet werden. Z.B. werden Bestände nicht auf 0 geprüft.
  • Das Teil wird als Nicht-LPCV-Teil angelegt.
  • Alle Übergabefelder müssen laut Sektion [CADSL7] konfiguriert sein.
  • Die Mengeneinheit wird auch als Einkaufs- und Verkaufsmengeneinheit übernommen.
  • Der Teilestatus wird aus der Schnittstelle übernommen, sofern dies in Sektion [CADSL7] konfiguriert ist.
  • Es werden automatisch immer die Lager zu den Lagerangaben aus dem Vorbelegungssatz angelegt.
    Zusätzlich werden noch maximal drei Lager laut INI-Einstellung Lager1, Lager2 und Lager3 in Sektion [CADSL7] angelegt.
  • Felder, die "leer" übergeben werden, werden auch so übernommen. Es stehen dann nur Leerzeichen im Feld.
  • Über den infra-Protokolltreiber (SDBFILE) können auch Teilestammdaten zurück an EPLAN übergeben werden
    Dies ist erforderlich, um die infra-Teilenummer (die bei der Übernahme aus EPLAN über einen Nummernkreis vergeben wird) bzw. Änderungen bei EPLAN bekannt zu machen. Bei Bedarf bitte die Installation anfordern (INI-Datei für den Protokolltreiber, Eintrag in SibDB.INI und Konfiguration Verzeichnis mit Dateiname).
    Das Löschen von Teilestämmen wird nicht übergeben und der Teilestatus wird ungeprüft übergeben. Es sollte eigentlich nur Leerzeichen für aktiv oder „P“ für ein Pseudoteil oder „L“ für prüfbare (abgekündigte) Teile auftreten.
Aufbau der Schnittstellendatei für den Teilestamm
Die Übernahme aller Felder muss in Sektion [CADSL7] konfiguriert sein, siehe dortige Beschreibung.
Im Standard wird folgende Konfiguration ausgeliefert, die zu dem in der nachfolgenden Tabelle beschriebenem Aufbau passt.
INDEX-01=1;           propertyIndex 1 ist EPLAN-Nummer für Datei 6, Feld 94
INDEX-02=4;           propertyIndex 2 ist Teilenummer (für infra egal)
INDEX-03=2;           propertyIndex 3 ist Bezeichnung für Datei 6, Feld 4
INDEX-05=3;           propertyIndex 5 ist Mengeneinheit für Datei 6, Feld 13
INDEX-04=0,6,6;       propertyIndex 4 ist Hersteller
INDEX-06=0,6,23,DD;   propertyIndex 6 ist Preiseinheit
INDEX-07=0,6,22,DD;   propertyIndex 7 ist Verrechnungspreis
INDEX-08=0,28,3,DD;   propertyIndex 8 ist Verkaufspreis
INDEX-09=0,6,18,DD;   propertyIndex 9 ist Beschaffungszeit
INDEX-10=0,6,1;       propertyIndex 10 ist Teilestatus
INDEX-11=0,6,47;      propertyIndex 11 ist Anwenderfeld 1 für Beanspruchung
INDEX-12=0,6,10;      propertyIndex 12 ist Teileart
INDEX-13=0,6,58;      propertyIndex 13 ist Ersatzteil-Kennzeichen
INDEX-14=0,6,24,DD;   propertyIndex 14 ist Nettogewicht
 
Beschreibung
Index Übergabe
Bezeichnung EPLAN
Tabelle
EPLAN
Tabelle infra
Feld infra
Feldformat
EPLAN-Nr od. Herstellernummer
1
partnr
tblPart
6
94
C30
Teilenummer infra
2
erpnr
tblPart
6
3
C15
Bezeichnung 1
3
description1
tblPart
6
4
C30
Hersteller
4
manufacturer
tblPart
6
6
C20
Mengeneinheit
5
quantityunit
tblPart
6
13
C2
Preiseinheit
6
priceunit
tblPart
6
23
N4
EK-Preis
7
purchaseprice1
tblPart
6
22
N7.3
VK-Preis
8
salesprice1
tblPart
28
3
N7.3
Beschaffungszeit
9
val
tblFreeProperty
6
18
N4.2
Teilestatus
10
stress
tblPart
6
1
C1
Beanspruchung
11
usage
tblPart
6
47
C25
Teileart
12
Piecetype
tblPart
6
10
C1
Ersatzteil-Kennzeichen
13
spare
tblPart
6
58
C1
Gewicht
14
weight
tblPart
6
24
N5.3
Beispiel:
<xml version="1.0" encoding="utf-16" >
<Parts>
  <Part>
    <Properties>
      <PartProperty PropertyIndex="1">partnr</PartProperty>
      <PartPartProperty propertyIndex="2">erpnr</PartProperty>
      <PartProperty propertyIndex="3">descripton1</PartProperty>
      <PartProperty propertyIndex="4">manufacturer</PartProperty>
      <PartProperty propertyIndex="5">quantityunit</PartProperty>
      <PartProperty propertyIndex="6">priceunit</PartProperty>
      <PartProperty propertyIndex="7">purchaseprice1</PartProperty>
      <PartProperty propertyIndex="8">salesprice1</PartProperty>
      <PartProperty propertyIndex="9">val</PartProperty>
      <PartProperty propertyIndex="10">stress</PartProperty>
      <PartProperty propertyIndex="11">usage</PartProperty>
      <PartProperty propertyIndex="12">piecetype</PartProperty>
      <PartProperty propertyIndex="13">spare</PartProperty>
      <PartProperty propertyIndex="14">weight</PartProperty>
    <Properties>
  </Part>
  </Part>
   
  <Part>
<Parts>
Stückliste
  • Die Datei(en) aus dem angegebenen Verzeichnis werden übernommen.
    Je Stückliste wird eine Datei übergeben.
  • Für die Ownerteilestammsätze und die Memberteilestämme wird nicht geprüft, ob eine EPLAN-Nummer im Anwenderfeld 4 steht (ab Version 7.9a ohne Prüfung).
  • Bestehende Baukästen werden vor der Neuanlage gelöscht.
  • Positionsnummern werden bei der Übernahme generiert (kennt EPLAN nicht)
  • Texte werden nicht übergeben
  • Zum Zeitpunkt der Stücklistenübergabe müssen alle verwendeten Teilestämme bereits in infra:NET existieren.
    Falls ein Teilestammsatz zum Baukasten oder zur Komponente fehlt, wird dies im Protokoll vermerkt und der Baukasten wird nicht übernommen.
    Achtung, im Probelauf wird ggf. ein fehlendes Teil reklamiert, das per Satzart ITEM dann erst im Echtlauf angelegt wird.
  • Nach der Übernahme der Stückliste erfolgt eine Summenbildung zur Ermittlung des Nettogewichts für die Baugruppe. Im Teilestamm Owner wird das Nettogewicht (Bruttogewicht bleibt unverändert) eingetragen. Das aktuelle Nettogewicht wird immer überschreiben.
  • Die Übergabe von Texten ist nicht möglich.
  • Übergabefelder können teilweise über Sektion [CADSL7-STL] konfiguriert werden.
  • Felder, die "leer" übergeben werden, werden auch so übernommen. Es stehen dann nur Leerzeichen im Feld.
Aufbau der Schnittstellendatei für die Stückliste
Die Übernahme aller Felder muss in Sektion [CADSL7-STL] konfiguriert sein, siehe dortige Beschreibung.
Im Standard wird folgende Konfiguration ausgeliefert:
ExternalMainName = 16;
Übernahme ExternalMainName in Feld 16 der Stückliste (Anwenderfeld 1)
Length = 19,DD;
Übernahme Length in Feld 19 der Stückliste (Laenge)
DeviceName = 17;
Übernahme DeviceName in Feld 17 der Stückliste (Anwenderfeld 2)
Beschreibung
Bezeichnung EPLAN
Tabelle infra
Feld infra
Feldformat
Nr
 
Keine
Keines
Keines
Externer Hauptname
ExternalMainName (Projekt)
007
016 (Anwenderfeld 1)
C25
Externer Gruppenname
ExternalGroupName
007
003 (Owner)
C15
ERP Nr.
ErpNumber
007
007 (Member)
C15
EPLAN Artikel Nr
PartNumber
Wird nicht übernommen, es wird nur geprüft, ob im Member dieselbe Nummer steht (ab V7.9a ohne Prüfung)
006
094
C30
Anzahl
Amount
007
008 (Menge)
N7.3
Länge
Length
007
019
N7.3
BMK
(Bezug zum Schaltplan)
007
017 (Anwenderfeld 2)
C15
Status
 
Keine
Keines
Keines
Relevanz
 
Keine
Keines
Keines
Beispiel für eine Datei:
<?xml version="1.0" encoding="utf-16"?>
<Bom>
  <ExternalMainName value="ERP.20003">
    <ExternalGroupName value="0110022">
      <Part PartNumber="EPLAN-0001" ErpNumber="1910001" Amount="1.234" Length="5.2" DeviceName="=EB3+ET1-A0">
        <OtherProperties>
          <property EplanPropertyDescriptor="22143" UserPropertyName="Status" PropertyType="PartReference" EplanPropertyValue="Re_1" />
          <property EplanPropertyDescriptor="22144" UserPropertyName="Usage" PropertyType="PartReference" EplanPropertyValue="E" />
          <property EplanPropertyDescriptor="2000" UserPropertyName="ID" PropertyType="Function" EplanPropertyValue="17.43863.0" />
        </OtherProperties>
      </Part>
      <Group amount="1" />
      <Part PartNumber="PLAN-00021" ErpNumber="1910002" Amount="2" Length="0" DeviceName="=EB3+ET1-A1">
        <OtherProperties>
          <property EplanPropertyDescriptor="22143" UserPropertyName="Status" PropertyType="PartReference" EplanPropertyValue="Re_1" />
          <property EplanPropertyDescriptor="22144" UserPropertyName="Usage" PropertyType="PartReference" EplanPropertyValue="E" />
          <property EplanPropertyDescriptor="2000" UserPropertyName="ID" PropertyType="Function" EplanPropertyValue="17.880.0" />
        </OtherProperties>
      </Part>
      <Group amount="1" />
    </ExternalGroupName>
  </ExternalMainName>
</Bom>