Automatisches Ableiten von Varianten

Der Varianteneditor verfügt über einen Automatismus, mit dem sich automatisch Ableitungen vorhandener Variantendateien erstellen lassen. Dies können sowohl Varianten mit konstanten Ausprägungen als auch Varianten mit variieerenden Ausprägungen sein. Darüber hinaus ist beim automatischen Ableiten möglich, vorhandene Artikelstämme zu verwenden sowie die Bauteilartkennung und damit auch die Klassifizierung einen VAA- bzw. PAA_Datei zu ändern.

Der Automatismus setzt im Wesentlichen Folgendes voraus:

Wie Sie im Einzelnen vorgehen und wie die Dateien aufgebaut sein müssen, erfahren Sie in den folgenden Abschnitten:


Automatisches Ableiten von Varianten mit konstanten Ausprägungen

Aufruf und Ablauf

Für den Automatismus wird der Aufrufparameter autoderive wie folgt verwendet:

VariantenEditor.exe /autoderive pfad\zur\attributzuordnung.csv pfad\zu\kundenliste.csv [pfad\zur\werkstoff_blacklist.txt]

Benötigt werden für den Aufruf außerdem die folgenden Dateien:

Für jede Zeile der Datei kundenliste.csv wird eine Variantendatei abgeleitet. Dabei werden die Attribute der abgeleiteten Variante gemäß den Einträgen in der Datei attributzuordnung.csv belegt, die aus Einträgen der folgenden Art besteht:

HELiOS Attributname; Spaltenname

Der HELiOS Attributname bezeichnet ein Attribut der Variante, der Spaltenname eine Spalte der Datei kundenliste.csv.

Zum Ergebnis der Variantenableitung gehören

Optional kann beim Kommandozeilenaufruf mit dem Parameter autoderive eine Datei werkstoff_blacklist.txt angegeben werden, die eine Liste von HEL_IDs enthält, die zu Werkstoffen gehören. Da Werkstoff ein so genanntes User Type Object (UTO) ist, kann es sein, dass es durch ein Sub-Attribut spezifiziert ist, das ggf. nicht eindeutig ist. Ein Beispiel wäre die Werkstoffnummer (MATERIAL::WN). In so einem Fall wird die Datei werkstoff_blacklist.txt verwendet, die eine Liste mit HELiOS Werkstoff-Ids enthält. Bei der Ableitung wird dann nur derjenige Werkstoff gewählt, der nicht in der Blacklist auftaucht. Falls ein Werkstoff trotz der Blacklist nicht eindeutig zu bestimmen ist, wird keine Variante abgeleitet.

Ein Beispiel:

Die Werkstoffnummer 1.0308 ist nicht eindeutig. Die HELiOS Werkstoffliste enthält zu dieser Werkstoffnummer folgende Einträge:

Eine Blacklist könnte hier beispielsweise wie folgt aussehen:

ZM1_1I
ZM1_3K
ZM1_40
ZM1_3I
ZM1_3L
ZM1_3J
ZM1_30

Dann würde nur der Werkstoff mit der ID ZM1_3H verwendet, da er nicht in der Liste steht.

Die Attributzuordnungs-Datei

Die Datei attributzuordnung.csv legt im Wesentlichen fest, welche Spalte der Datei kundenliste.csv welchem Attribut einer abgeleiteten Variante zuzuordnen ist. Zusätzlich kann die Datei noch weitere Parameter enthalten, die den Ablauf der Variantenableitung steuern. Diese werden über Attribute beschrieben, die mit dem Präfix VAREDIT_ beginnen.

Attribut Erklärung

Die Zeilen in der Attributzuordnungs-Datei werden gleich behandelt. Das bedeutet, dass der Wert, der einem Attribut folgt, zunächst als Verweis in die Datei kundenliste.csv verstanden wird. Soll dies nicht so sein, so ist dem Wert das Zeichen voranzustellen, das durch VAREDIT_VERBATIM_MARKER festgelegt wurde. Eine Beispiel-Datei könnte so aussehen:

VAREDIT_VERBATIM_MARKER;#

VAREDIT_BASE_VAA;HiCAD-VAA

VAREDIT_DERIVED_VAA;Bauteil

VAREDIT_OVERWRITE_EXISTING_VAA;#1

VAREDIT_LANGUAGE_CODE;#1031

VAREDIT_BASE_DIR;#D:\hicad\PlantParts

VAREDIT_DERIVED_DIR;#D:\temp\derived

VAREDIT_STOP_ON_UTO_ERROR;#1

VAREDIT_LST_FILE_NAME;#AutoDerived

VAREDIT_OUTPUT_FORMAT;#SYLK

MATERIAL::WN;Werkstoffnummer

BESTELLVERMERK;#Elbow-<WINKEL>°-<D_AUSSEN>x<WANDDICKE>

Beachten Sie:

Ein Beispiel

1. Schritt: Erstellen einer erweiterten Kundenliste und Umwandlung in eine CSV-Datei

Benötigt wird hier die Kundenliste mit einer zusätzlichen Spalte, in der die Namen der HiCAD VAA-Dateien stehen.

Diese erweiterte Liste können Sie mit dem Aufrufparameter autovaa auch automatisch erstellen!

ISD_Kundenliste_1.xlsx

ISD_Kundenliste_1.csv

Auftragsnummer;Bauteil;Baugruppe;Auftragsbezeichnung;Norm EN;DIN-Norm (alt);Beschreibung;Werkstoffnummer;HiCAD-VAA
W3-ISD-01;BT0011;BG-W3;Rohrbogen, 90° Typ 3D;EN 10253-2;DIN 2605;Bauart B;1.0308;EN10253-2-B-3D_ELBOW
W3-ISD-01;BT0015;BG-W3;Rohrbogen, 90° Typ 3D;EN 10253-2;DIN 2605;Bauart B;1.0308;EN10253-2-B-3D_ELBOW
W3-ISD-01;BT0026;BG-W3;Rohrbogen, 90° Typ 3D;EN 10253-2;DIN 2605;Bauart B;1.0308;EN10253-2-B-3D_ELBOW
W3-ISD-01;BT0027;BG-W3;Rohrbogen, 90° Typ 3D;EN 10253-4;DIN 2605;Bauart A;1.0308;EN10253-4-A-3D_ELBOW
W3-ISD-01;BT0028;BG-W3;Rohrbogen, 90° Typ 3D;EN 10253-4;DIN 2605;Bauart A;1.0308;EN10253-4-A-3D_ELBOW
W3-ISD-01;BT0039;BG-W3;Rohrbogen, 90° Typ 3D;EN 10253-4;DIN 2605;Bauart A;1.0308;EN10253-4-A-3D_ELBOW
W3-ISD-01;BT0040;BG-W3;Rohrbogen, 90° Typ 3D;EN 10253-4;DIN 2605;Bauart A;1.0308;EN10253-4-A-3D_ELBOW

2. Schritt: Erstellen der Attributzuordnungs-Datei: ISD_attributzuordnung.csv

VAREDIT_VERBATIM_MARKER;#
VAREDIT_BASE_VAA;HiCAD-VAA
VAREDIT_DERIVED_VAA;Bauteil
VAREDIT_OVERWRITE_EXISTING_VAA;#1
VAREDIT_LANGUAGE_CODE;#1031
VAREDIT_BASE_DIR;#D:\hicad\PlantParts
VAREDIT_DERIVED_DIR;#D:\temp\derived
VAREDIT_STOP_ON_UTO_ERROR;#1
VAREDIT_LST_FILE_NAME;#AutoDerived
VAREDIT_OUTPUT_FORMAT;#SYLK
MATERIAL::WN;Werkstoffnummer
BESTELLVERMERK;#Elbow-<WINKEL>°-<D_AUSSEN>x<WANDDICKE>

3. Schritt: Erstellen einer Blacklist für die Werkstoff: ISD_werkstoff_blacklist.txt

ZM1_1I
ZM1_3K
ZM1_40
ZM1_3I
ZM1_3L
ZM1_3J
ZM1_30

4. Schritt: Aufruf des Varianteneditors:

Per Kommandozeilenaufruf wird nun der Varianteneditor im HiCAD exe-Verzeichnis gestartet.

VariantenEditor.exe /autoderive d:\temp\ISD_attributzuordnung.csv D:\temp\ISD_kundenliste_1.csv d:\temp\ISD_werkstoff_blacklist.txt

Der Varianteneditor wird gestartet und die Varianten werden im angegebenen Verzeichnis erzeugt (hier: D:\temp\derived).

Das Ergebnis:

AutoDerived.lst
BT0011.VAA
BT0015.VAA
BT0026.VAA
BT0027.VAA
BT0028.VAA
BT0039.VAA
BT0040.VAA

4. Schritt: Start des Tools DBPlantDataImport und Öffnen der Datei AutoDerived.lst

Um die abgeleiteten Varianten in die Datenbank einzutragen, kopieren Sie zunächst die LST- und die VAA-Dateien in das HiCAD PlantParts-Verzeichnis. Dann starten Sie das Tool DBPlantDataImport im HiCAD exe-Verzeichnis, wählen die Datei AutoDerived.LST aus und starten den Import.

Artikelstamm zu BT0011.VAA

Verwendung vorhandener Artikelstämme

Falls zur Ableitung Anlagenbau-Varianten mit bestehenden HELiOS-Artikelstämmen verwendet werden sollen, lassen sich auch die KopfIDs direkt in der Datei Kundenliste.csv hinterlegen.

Dazu stehen die neuen Pseudo-Attribute

zur Verfügung.

Ein Beispiel:

Die folgende Tabelle beschreibt zwei VAAs mit jeweils drei Ausprägungen und eine PAA. Bei jedem Eintrag wird zunächst geprüft ob es eine zugehörige VAA-Datei gibt. Wenn diese nicht existiert, wird angenommen dass es sich um eine PAA-Datei handelt. Die Ausprägungen der VAAs werden hier durch ihre Typ-ID (HELiOS-Attribut: HEL_TYPNAME) identifiziert. Zu jeder Ausprägung ist eine Kopf-ID für den allgemeinen Typ und für die Ausprägung selbst hinterlegt.

VAA-Name

Derived

Typ_ID

Customer_GENERAL_ID

Customer_SUB_ID

Rohr

Rohr_abgeleitet

001

B0YHQHXIS0LVFL00003J7M

B0YHQHXIS0LVFL00003J7P

Rohr

Rohr_abgeleitet

002

B0YHQHXIS0LVFL00003J7M

B0YHQHXIS0LVFL00003J7Q

Rohr

Rohr_abgeleitet

003

B0YHQHXIS0LVFL00003J7M

B0YHQHXIS0LVFL00003J7R

Bogen

Bogen_abgeleitet

001

B0YHQHXIS0LVFL00003J7N

B0YHQHXIS0LVFL00003J7S

Bogen

Bogen_abgeleitet

002

B0YHQHXIS0LVFL00003J7N

B0YHQHXIS0LVFL00003J7T

Bogen

Bogen_abgeleitet

003

B0YHQHXIS0LVFL00003J7N

B0YHQHXIS0LVFL00003J7U

In der Attributzuordnungsdatei attributzuordnung.csv können diese Daten wie folgt auf die VAA-Attribute abgebildet werden:

VAREDIT_VERBATIM_MARKER;#;

VAREDIT_BASE_VAA;VAAName;

VAREDIT_DERIVED_VAA;Derived;

VAREDIT_OVERWRITE_EXISTING_VAA;#1;

VAREDIT_LANGUAGE_CODE;#1031;

VAREDIT_BASE_DIR;#Pfad\zu\PlantParts;

VAREDIT_DERIVED_DIR;#Pfad\fuer\abgeleitete\VAAs;

VAREDIT_STOP_ON_UTO_ERROR;#0;

VAREDIT_LST_FILE_NAME;#AutoDerived;

VAREDIT_OUTPUT_FORMAT;#SYLK;

VAREDIT_CLUSTERING_KEY;VAAName

VAREDIT_SUBTYPE_KEY;HEL_TYPNAME

HEL_TYPNAME;Typ_ID

VAREDIT_SUB_ID;Customer_SUB_ID

VAREDIT_GENERAL_ID;Customer_GENERAL_ID

VAREDIT_MOVE_ON_SUCCESS;#1

Die Pseudo-Attribute VAREDIT_SUB_ID und VAREDIT_GENERAL_ID sorgen dafür, dass die Kopf-IDs aus der kundenliste.csv in die VAAs übernommen werden.

Das Pseudoattribut VAREDIT_MOVE_ON_SUCCESS sorgt dafür, dass bei einer erfolgreichen Erstellung aller Dateien diese von DERIVED_DIR nach BASE_DIR verschoben werden. Für bereits in BASE_DIR vorhandene Dateien wird ein Backup durch Anhängen der Dateiendung .bak erzeugt.

Um die so präparierten VAA-Dateien an HELiOS zu übertragen, muss das Tool DBPlantDataImport.exe mit dem Parameter /X aufgerufen werden. Dadurch ist es möglich, vorhandene Artikelstämme Anlagenbau-konform anzupassen.

DBPlantDataImport.exe erlaubt das Entfernen von bereits übertragenen Varianten. Wenn DBPlant-DataImport.exe mit den Parameter /X aufgerufen wurden, so wird lediglich der Dokumentstamm entfernt. Die Artikelstämme bleiben unangetastet.

Ändern der Bauteilartkennung

Beim automatische Ableiten von Varianten lässt sich auch die Bauteilartkennung und damit letztendlich die Klassifizierung einer VAA- und einer PAA-Datei ändern.

Die Attributzuordnungsdatei (attributzuordnung,csv) unterstützt dazu Pseudo-Attribut:

VAREDIT_KEEP_DB_IDS

Hat dieses Attribut den Wert 1, so werden beim automatischen Ableiten die bisherigen HELiOS-Kennungen beibehalten. Es findet also kein eigentliches Ableiten statt. Aus HELiOS-Sicht bezieht sich die entstehende VAA- bzw. PAA-Datei auf dieselben Teile. Dies ist zur Anpassung bestehender VAAs bzw. PAAs hilfreich, insbesondere in Kombination mit VAREDIT_MOVE_ON_SUCCESS.

Des Weiteren ist es möglich, das Attribut ARTSCHLUESSEL auf eine Spalte der Datei kundenliste.csv abzubilden. In dieser Spalte muss dann in der Form AAAAA_BBBBBBB die Bauteilartkennung der VAA- bzw. PAA-Datei enthalten sein, wobei AAAAA die Kodierung der Branche gemäß anbtlken_top.dat und BBBBBBB die Kennung gemäß anbtlken.dat ist.

Sollte versehentlich nicht das richtige Format vorhanden sein, so wird in der Ausgabe-Spalte die Meldung

Klassifizierung nicht im Format AAAAA_BBBBBBB, mit A = Branche und B = Kennung.

ausgegeben.


Automatisches Ableiten von Varianten mit variierenden Ausprägungen

Bei der automatischen Ableitung ist es auch möglich, die Ausprägungen zu modifizieren. Aufruf und Ablauf des Ableitens erfolgen dabei im Wesentlichen analog zum automatischen Ableiten von Varianten mit konstanter Ausprägung. Allerdings stehen für variierende Ausprägungen zusätzliche Attribute zur Verfügung:

Ein Beispiel:

Die CSV-Datei mit der VAA-Zuordnung soll wie folgt aussehen:

Die abgeleiteten VAA-Dateien sollen den Dateinamen aus der Spalte Bauteil erhalten. Allerdings kommt hier jede Bezeichnung zweimal vor. Der Ableit-Automatismus ist in der Lage, solche Zeilen zu gruppieren und als separate Ausprägungen einer Variante zu behandeln. Dazu muss spezifiziert werden, welche Attribute zur Gruppierung herangezogen werden sollen.

In diesem Beispiel wäre

VAREDIT_CLUSTERING_KEY;Bauteil

eine sinnvolle Belegung.

Eine andere Möglicheit wäre

VAREDIT_CLUSTERING_KEY;HiCAD-VAA.

Wenn Sie für jede Nennweite eine eigene Ableitung vornehmen wollten, so könnten Sie das Attribut mit

VAREDIT_CLUSTERING_KEY;Bauteil;Nennweite

belegen. Natürlich wäre in diesem Fall eine zusätzliche Spalte mit eindeutigen Namen für die abgeleiteten VAA-Dateien notwendig, da die Spalte Bauteil diese nicht mehr bereitstellt.

Falls also nach dem Gruppieren zu einer VAA-Datei mehrere Ausprägungen vorhanden sind, dann werden die Attribute der vorhandenen Ausprägungen mit den Werten aus der Tabelle überschrieben. Dazu müssen Sie festlegen, welche Ausprägung aus der Quell-VAA konkret zu einer Ausprägungs-Zeile der CSV-Datei gehört. Diese Zuordnung erfolgt über das Attribut VAREDIT_SUBTYPE_KEY. Diesem Attribut kann als Wert eine Reihe von HELiOS-Attributen zugeordnet werden, die die zu vergleichenden Spalten festlegen. Anders als beim Attribut VAREDIT_CLUSTERING_KEY werden also nicht Spalten-Namen der CSV-Datei verwendet.

In diesem Beispiel wäre

VAREDIT_SUBTYPE_KEY;NENNWEITE

eine sinnvolle Belegung.

Damit die Zuordnung zur richtigen Tabellenspalte klappt, ist der Attributzuordnungsdatei zusätzlich

NENNWEITE;Nennweite

hinzuzufügen.

Die gesamte Attributzuordnungsdatei für dieses Beispiel sieht also wie folgt aus:

VAREDIT_VERBATIM_MARKER;#

VAREDIT_BASE_VAA;HiCAD-VAA

VAREDIT_DERIVED_VAA;Bauteil

VAREDIT_OVERWRITE_EXISTING_VAA;#1

VAREDIT_LANGUAGE_CODE;#1031

VAREDIT_BASE_DIR;#D:\hicad\PlantParts

VAREDIT_DERIVED_DIR;#D:\temp\derived

VAREDIT_STOP_ON_UTO_ERROR;#1

VAREDIT_LST_FILE_NAME;#AutoDerived

VAREDIT_OUTPUT_FORMAT;#SYLK

VAREDIT_CLUSTERING_KEY;Bauteil

VAREDIT_SUBTYPE_KEY;NENNWEITE

MATERIAL::WN;Werkstoffnummer

BESTELLVERMERK;#Elbow-<WINKEL>°-<D_AUSSEN>x<WANDDICKE>

NENNWEITE;Nennweite

Das Ergebnis der Ableitung mit dieser Attributzuordnungsdatei ist eine SLK-Datei mit dem Namen der ursprünglichen CSV-Datei, erweitert um autoderive. Der Inhalt dieser SLK-Datei stellt sich wie folgt dar:

Diese Datei ist so sortiert, dass Zeilen, die zu einer Variante gehören, untereinander stehen. Es wurde eine zusätzliche Spalte mit einer Statusmeldung hinzugefügt.

Die Statusmeldung besteht aus drei Teilen:

  1. Am Anfang steht in Klammern eine laufende Nummer, die Ausprägungen einer Variante gruppiert.
  2. Danach folgt eine Meldung, die sich auf die Variante in Gänze bezieht.
  3. Schließlich folgt in eckigen Klammern eine Meldung, die sich auf die Ausprägung bezieht.

Zu den Fehlermeldungen, die Ihnen im Zusammenhang mit Ausprägungen begegnen können, gehören

Bedeutung: In der Variante gibt es keine zum VAREDIT_SUBTYPE_KEY passende Ausprägung.

Bedeutung: Der VAREDIT_SUBTYPE_KEY ist nicht eindeutig.

Bedeutung: Bei einer vorhergehenden Ausprägung ist ein Fehler aufgetreten und die Verarbeitung der Variante wurde abgebrochen.

Wenn eine Ableitung nicht aus einzelnen Ausprägungen besteht, so wird die Quell-VAA mit all ihren Ausprägungen abgeleitet. In diesem Fall werden nur konstante Attribute modifiziert. In der Ergebnis-Tabelle erkennen Sie eine solche Ableitung daran, dass keine auf eine Ausprägung bezogene Meldung vorkommt, also die Statusmeldung keine eckigen Klammern enthält.

Wenn eine Ableitung Ausprägungen enthält, so werden nur diese in die abgeleitete VAA-Datei übernommen. Im obigen Beispiel bestehen also fast alle Ableitungen aus nur zwei Ausprägungen. Es gibt nur zwei Ausnahmen, nämlich die Ableitung, die Aufgrund der nicht zuzuordnenden Ausprägung nicht erstellt wurde und die vollständige Ableitung.

Die BenutzeroberflächeNeue Variante ableitenEinstellungen