Files
CreoMigrate/doc/spezifikation.md
T

34 KiB

Spezifikationsdokument Migrationstool

Formularfelder

Allgemeine Hinweise:

  1. Für jedes der nachfolgend aufgelisteten Feldnamen (z.B. "Teilenummer") soll ein Label-Widget in der 1. Spalte "Feld" der GUI erstellt werden. Labeltext ist jeweils der Feldname (nachfolgende Unter-Überschriften). Ausnahme ist das Feld "Baugruppennummer", bei dem das Label und ein Entry-Feld oberhalb des Treeviews liegen.
  2. Die eingetragenen Feldwerte sollen in einer json-Datei gespeichert werden. Wird eine Teilenummer geöffnet/bearbeitet, für die bereits eine json-Datei exisitert, müssen die Felder mit den Werten aus dieser json-Datei befüllt werden. Nur beim erstmaligen Öffnen/Bearbeiten einer Teilenummer dürfen Felder geleert oder auf den Defaultwert umgestellt werden. Art und Umfang dieser initialen Feldanpassungen wird in den nachfolgenden Feldspezifikationen näher beschrieben.
  3. Defaultwert bedeutet, dass beim Bearbeiten einer neuen Teilenummer, die noch keine json-Datei besitzt, ein bestimmter, voreingestellter Wert eingetragen / vorausgewählt ist
  4. Read only bedeutet nachfolgend, dass ein User keine Feldänderungen durchführen kann, d.h:
    • In Entry-Feldern können keine Zeichen eingetragen werden
    • In ComboBoxen können keine Werte aus der Dropdownliste ausgewählt werden
    • In RadioButtons kann der jeweils andere Button nicht aktiviert werden
    • Bei CheckButtons kann kein Haken gesetzt / entfernt werden
    • Beim Klick auf einen Button erfolgt keine Aktion
  5. In ComboBoxen dürfen in keinen Fällen eigene Eintragungen vorgenommen werden

Baugruppennummer

Widget-Typ: Entry
Zulässiger Datentyp: Integer
Read only: Nein
Position: Oberhalb des Treeviews und unterhalb des zugehörigen Labels

Im Feld "Baugruppennummer" wird die SIVAS-Teilenummer der Baugruppe / des bearbeiteten Halbzeugs eingetragen, das zusammen mit den Stücklistenpositionen migriert werden soll.

Funktionsweise
Nach der Eingabe der Baugruppennummer und anschließendes Drücken der Enter-Taste soll die Stückliste der Teilenummer über das Sivas2json-Programm generiert und daraus die Stücklistenstruktur als Treeview zur Baugruppennummer erstellt werden.

Wird im Entry-Feld eine Teilenummer eingetragen, die über keine Stückliste verfügt, ist im Treeview nur diese Nummer enthalten / auswählbar.

Migration

Spaltenname Impfdatei: Feld wird nicht in Impfdatei berücksichtigt

Teilenummer

Spalte 2: SIVAS-Werte

Widget-Typ: Entry
Zulässiger Datentyp: Integer
Zeichenbegrenzung: 9
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Teilenummer

Aufgaben beim Einlesen des Feldes aus "from_siv.csv":

  1. Teilenummerprüfung
    Erfüllt eine Teilenummer nicht die Anforderungen hinsichtlich Datentyp und Zeichbegrenzung soll eine ERROR-Messagebox erscheinen
  • Soll die Fehlermeldung bereits beim Laden des Treeviews erscheinen?
  • Soll die Teilenummer im Treeview speziell eingefärbt werden und die Fehlermeldung beim Versuch, die Teilenummer über den Treeview zu öffnen, erscheinen?

Wenn die Teilenummerprüfung keinen Fehler generiert, soll Wert "Teilenummer" aus "from_siv.csv" in Entry-Feld eingetragen werden

Migration

Spaltenname Impfdatei: Teilenummer

Datenbank

Spalte 3: Überschriebene Werte

Widget:
Typ: RadioButton
Werte: Schulung, Produktiv
Defaultwert: Produktiv
Buttonpositionen: übereinander (Produktiv oben, Schulung unten)
Read only: Nein

Die Optionswerte legen das Zielverzeichnis (Spalte "New Path" in Impfdatei) fest, aus dem RuleDesigner die CAD-Modelle zur Datensatzerstellung einliest.

Migration

Spaltenname Impfdatei: Wird zur Definierung des Wertes der Spalte "New Path" benötigt, besitzt aber keine eigene Spalte

Die Pfadfestlegung in der Spalte ist unter Tätigkeiten Impfdateierstellung beschrieben.

PDM-Kategorie

Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Read only: Ja
Defaultwert: Leer, da Kategoriefestlegung nicht automatisch erfolgen kann

Im Dropdownfeld "PDM-Kategorie" sollen die Werte der Sektion "Kategorien" aus der Datei Allgemein.cfg auswählbar sein.

Aus Allgemein.cfg muss noch Wert "Normteil" und "NichtSivas" entfernt werden

Migration

Spaltenname Impfdatei: KategorieNE

Neuaufbau

Widget-Typ: CheckButton
Defaultwert: False (Haken nicht gesetzt)

Button wird immer dann aktiviert, wenn Teil in Solid Edge neu aufgebaut werden soll.

Read only und Wert (Haken gesetzt / nicht gesetzt):

IF PDM-Kategorie != "Einzelteil" OR "Kaufteil":
    Read only = True
    Haken gesetzt = False
ELSE:
    Read only = False

Migration

Spaltenname Impfdatei: Wird für Definierung des des Wertes der Spalte "Path" benötigt, besitzt aber keine eigene Spalte

Die Pfadfestlegung in der Spalte ist unter Tätigkeiten Impfdateierstellung beschrieben.

Halbzeugbearbeitung

Widget-Typ: CheckButton
Defaultwert: False (Haken nicht gesetzt)

Button wird immer dann aktiviert, wenn ein Einzelteil aus einem Halbzeug gefertigt wird.

Read only und Wert (Haken gesetzt / nicht gesetzt):

IF PDM-Kategorie != "Einzelteil":
    Read only = True
    Haken gesetzt = False
ELSE:
    Read only = False

Ja, machen wir, wenn mit vernünftigem Aufwand realisierbar Man könnte sich überlegen evtl. doch zusätzlich ein Entry-Feld für die Halbzeugnummer einzubauen -> Wenn Haken bei "Aus Halbzeug" gesetzt ist, wird geschaut, ob das Halbzeug in RD vorhanden ist -> wenn ja, wird die Artikelnummer in das Entryfeld eingetragen. Indem das Feld nicht schreibgeschützt wird, könnte man dem User dabei weiterhin die Möglichkeit geben, den Text ggf. zu entfernen und später händisch in RD ein passendes Halbzeug hinzuzufügen, z.B. wenn bearbeitetes Halbzeug vor Halbzeug selbst migriert wird. Falls diese Variante gewählt wird, muss die Impfdatei um weitere Spalten ergänzt werden und das Mapping der CheckButton-Werte beachtet werden.

Migration

Spaltenname Impfdatei: HalbzeugInternAngabe + Wird für Definierung des Spaltewertes "Path" benötigt, besitzt aber keine eigene Spalte

HalbzeugBearbeitung muss auf "Ja" gesetzt werden

Die Pfadfestlegung in der Spalte ist unter Tätigkeiten Impfdateierstellung beschrieben.

Lebenszyklusstatus

Spalte

Widget:
Typ: RadioButton
Werte: Prototyp, Serie
Defaultwert: Keiner
Buttonpositionen: übereinander (oben "Prototyp", unten "Serie")
Read only: Nein

Migration

Spaltenname Impfdatei: Serien-Status

Zusätzliche Informationen

Widget:
Typ: Entry
Einschränkungen: max. 400 Zeichen
Read only: Nein

Fallabhängiger Defaultwert:

  • Falls mehrere der nachfolgenden Fälle gleichzeitig zutreffen, sollen die jeweiligen Texte miteinander verkettet werden. Was soll passieren, wenn zusammengesetzter Text > 400 Zeichen hat (Evtl. Kombo-Textblöcke festlegen)? Config ergänzen für Textblöcke

    IF Version == Kleinbuchstabe:
        Text = ACHTUNG Index in Sivas mit Kleinbuchstaben. Nach Freigabe der Teilenummer den großen Index in SIVAS löschen und auf kleinen verlinken. Sobald die Revision höher als '{"Version"}' ist kann Information gelöscht werden.
    
    ELSE IF Trümmer == True OR "Rüstcode" == None:
        Text = ACHTUNG Trümmerbaugruppe. Nach einer Revision oder Bagatelländerung muss der Rüstcode in der Stücklisten bei allen Stücklistenpositionen manuell in "TR - Trümmerteile" geändert werden.
    
    ELSE IF Teilenummer in Blacklist:
        Text = ACHTUNG BG mit Beistellungen. Es wird keine Stückliste übergeben. Diese muss bei einer Änderung händisch angelegt und archiviert werden. Hierfür die Verantwortlichen für den Teilestamm informieren.
    
    ELSE IF Werkstoffdiskrepanz == True:
        Text = ACHTUNG Materialdiskrepanz. SIVAS-Material und/oder Zeichnungsmaterial / geliefertes Material unterschiedlich. Muss abgeklärt werden. Näheres siehe JIRA.
    
    ELSE:
        Text = ""
    

Migration

Spaltenname Impfdatei: ZusaetzlicheInformationen

Textblöcke erst bei Erstellung der Migrationsliste in ZusaetzlicheInformationen einfügen. In Entry-Feld wird nur eingetragen, was zusätzlich zu Textblöcken definiert wird.

Muss auf unzulässige Zeichen geprüft werden

3D-Modell

Spalte 2: SIVAS-Werte

Widgets:
Typ: ComboBox
Read only: Ja

Werte:
In der ComboBox sollen alle Dateien angezeigt werden, die im Dateinamen die aktuelle Teilenummer aufweisen und in bestimmten, vordefinierten Verzeichnissen abgelegt sind.

Vordefinierte Verzeichnisse:

\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\01_Rohdatenpool

Per Config soll der User zudem eigene Verzeichnisse definieren können, die bei der Suche mitberücksichtigt werden.

Wenn Vorlagendatei gilt, soll in ComboBox Pfad eingetragen werden

Schreibschutz, wenn Schweissbaugruppe oder Baugruppe oder wenn Einzelteilvorlagen gezogen werden

Spalte 3: Überschriebene Werte

Widgets:
Typ: Button
Text: Durchsuchen...
Position Rechts neben Combobox

Sofern die gewünschte Datei nicht unter den Dateien der ComboBox enthalten ist, soll der User auf den Button "Durchsuchen" klicken können, um über ein Popup-Fenster (tkinter.filedialog.askopenfile()) die gewünschte Solid Edge-Datei auswählen zu können. Der Dateipfad soll dann in die ComboBox eingetragen und später ausgelesen werden.

Fallabhängiger Schreibschutz

IF PDM-Kategorie == "Einzelteil" OR "Kaufteil":
    IF Aus Halbzeug == True OR "Neuaufbau" == True:
        Read only = True
    ELSE:
        Read only = False
ELSE:
    Read only = False

Beispiel, wie es aussehen könnte:

Modellsuche

Migration

Spaltennamen Impfdatei:
Das Feld "3D-Modell" besitzt keine direkte Spalte in der Impfdatei, wird jedoch fallabhängig für die Spalten "Path" und "Filename" benötigt (siehe Tätigkeiten Impfdateierstellung)

Bezeichnung 1

Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Bezeichnung1

Aufgaben beim Einlesen des Feldes aus "from_siv.csv":

  • Das Kürzel "kpl" (klein- oder großgeschrieben) in einer der nachfolgenden Varianten (oder bestehend aus der Kombination dieser Varianten) soll aus der Bezeichnung entfernt werden:

    • Leerzeichen vor (und ggf. nach) "kpl", z.B. " kpl " ; " kpl"
    • Satzzeichen nach (und ggf. vor) "kpl", z.B. "kpl." ; ", KPL." ; " kpl,"

    Befindest sich das Kürzel nicht am Bezeichnungsende, muss es durch ein Leerzeichen ersetzt werden, z.B.
    WEICHE S 22,5° -R- KPL. MIT SEILZUGSCHALTUNG ---wird zu---> WEICHE S 22,5° -R- MIT SEILZUGSCHALTUNG

  • Prüfung, ob Bezeichnungslänge > 50 Zeichen

Nach Abarbeitung der obigen Aufgaben soll der Wert in das Entry-Feld eingetragen werden

Spalte 3: Überschriebene Werte

Widget Typ: Entry
Einschränkungen: max. 50 Zeichen
Read only: Nein

Aufgaben vor/während der Befüllung des Feldes:

  1. Längenprüfung

    Wenn die Bezeichnung in der Spalte "SIVAS-Werte" > 50 Zeichen aufweist (siehe "Aufgaben beim Einlesen des Feldes aus "from_siv.csv" oben), soll im Entry ein roter Platzhalter-Text erscheinen, bis User in das Entryfeld klickt und Text eingibt:

    test

    Hinweis:
    GIF dient nur zur kurzen Veranschaulichung und wurde (mit abgewandeltem Text) durch Code aus folgender Antwort erstellt -> muss ggf. angepasst werden, da in Antwort kein ttk verwendet!

Migration

Spaltenname Impfdatei: Bezeichnung2

Wurde trotz zu langer Bezeichnung keine kürzere Bezeichnung eingegeben muss beim Klick auf Button "Migrieren" eine Fehlermeldung erscheinen, die die Migration verhindert (siehe auch Tätigkeiten vor Erstellung der Impfdatei)

Bei (Schweiss-)Baugruppen muss die Spalte "Bezeichnung4" in der Impfdatei mit "- BG" befüllt werden (siehe Tätigkeiten Impfdateierstellung)

Bezeichnung 2

Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Bezeichnung2

In diesem Feld soll informativ der Spaltenwert "Bezeichnung2" aus "from_siv.csv" eingetragen werden. Das Feld erfüllt ansonsten keine weiteren Funktionen und wir nicht in der Impfdatei berücksichtigt.

Migration

Spaltenname Impfdatei: Nicht in Impfdatei enthalten

Beschaffungsart

Widget:
Typ: RadioButton
Werte: Eigenbau, Kaufteil
Buttonpositionen: Nebeneinander (1x in Spalte "SIVAS-Werte", 1x in Spalte "Überschriebene Werte)
Read only: Nein

Daten:
Spaltenname in "from_siv.csv": Beschaffungsart

Fallabhängiger Defaultwert:
Als Text des Buttons in der Spalte "SIVAS-Werte", wird der Spaltenwert "Beschaffungsart" aus "from_siv.csv" eingetragen. Der Text des Buttons in der Spalte "Überschriebene Werte" weist dann folglich den anderen Wert auf.

Beispiel:

  • Beschaffungsart laut Sivas = Eigenbau:

    Beschaffungsart1

  • Beschaffungsart laut Sivas = Kaufteil:

    Beschaffungsart2

Migration

Spaltenname Impfdatei: Beschaffungsart

Beim Klick auf den Button "Migrieren" muss die festgelegte Beschaffungsart geprüft werden, siehe Tätigkeiten vor Erstellung der Impfdatei

Mengeneinheit

Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Mengeneinheit

Aufgaben beim Einlesen des Wertes aus "from_siv.csv":

  1. Es muss der Wert ab " - " entfernt werden. Beispiel:
    "Stck - Stück" ---wird zu---> "Stck"

  2. Nach Entfernung muss das Kürzel in das Entry-Feld eingetragen werden

Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Read only: Ja
Defaultwert: Keiner (leer)

Auswählbare Dropdownwerte:

IF Rüstcode == "SRC Standard Rüstcode" OR "Trümmerbaugruppe":
    Dropdownwerte = "Stck"
ELSE IF Rüstcode == "HZS Halbzeuge Sägeteile":
    IF PDM-Kategorie == "Einzelteil" OR "Kaufteil":
        Dropdownwerte = alle Werte der Sektion "EinheitAusw" aus Allgemein.cfg
    ELSE IF PDM-Kategorie == "Schweissbaugruppe":
        Dropdownwerte = "m"

Migration

Spaltenname Impfdatei: Mengeneinheit

Beim Klick auf den Button "Migrieren" muss die festgelegte Mengeneinheit geprüft werden, siehe Tätigkeiten vor Erstellung der Impfdatei

Halbzeug

Spalte 2: SIVAS-Werte

Widget:
Typ: CheckButton
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Halbzeug

Aufgaben beim Einlesen des Wertes aus "from_siv.csv":

  • Der Wert "WAHR" muss in "True" (Haken gesetzt), bzw. der Wert "FALSCH" in "False" (Haken nicht gesetzt) umgewandelt werden

Spalte 3: Überschriebene Werte

Widget:
Typ: CheckButton
Defaultwert: Identisch wie in Spalte "SIVAS-Werte"

Fallabhängiger Schreibschutz:

IF PDM-Kategorie == "Baugruppe" (OR "Normteil"):
    Read only = True
ELSE:
    Read only = False

Migration

Spaltenname Impfdatei: Halbzeug

Beim Erstellen der Impfdatei müssen die CheckButton-Werte gemappt werden (siehe Tätigkeiten Impfdateierstellung)

TOS-Gruppe

Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": TOS_Gruppe

Im Entry-Feld muss der Spaltenwert "TOS_Gruppe" aus "from_siv.csv" eingetragen werden

Spalte 3: Überschriebene Werte

Widget-Typ: Entry
Read only: Nein

Defaultwert:

IF TOS-Gruppe in Spalte "SIVAS-Werte" == "":
    Defaultwert == 6
ELSE:
    Defaultwert == ""

Migration

Spaltennamen Impfdatei:
Die zu befüllenden Spalten in der Impfdatei ergeben sich aus der angegebenen TOS-Gruppennummer. Beim Erstellen der Impfdatei müssen daher alle Felder, die Bestandteil der TOS-Gruppennummer sind, extrahiert und mit Werten befüllt werden (siehe Tätigkeiten Impfdateierstellung)

Dispogruppe

Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Dispogruppe

Im Entry-Feld muss der Spaltenwert "Dispogruppe" aus "from_siv.csv" eingetragen werden

Aktuell ist es so vorgesehen, dass das Mapping erst bei Erstellung der Impfdatei erfolgt, während im Programm die tatsächlichen Dropdownwerte aus SIVAS angezeigt werden (z.B. 20 - Förderer ). Oder soll das Mapping bereits beim Einlesen der Werte aus "Dispogruppe erfolgen"? Gleiches gilt dann auch für das Feld "Dispolaufgruppe"

Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Read only: Ja
Werte: siehe Kommentar unten. Ansonsten Schlüssel der Sektion "Dispogruppe" in Allgemein.cfg
Defaultwert: Keiner (leer)

Es fehlen aktuell in einer der .cfg-Dateien die SIVAS-Werte für die Dispogruppen vor dem Mapping, falls das Mapping wie im Kommentar oben beschrieben erst bei Erstellung der Impfdatei erfolgen soll

Wenn kein Wert im Entry-Feld der Spalte "SIVAS-Werte" eingetragen ist, soll der Hintergrund der ComboBox solange rot eingefärbt sein, bis ein Wert ausgewählt wurde.

Migration

Spaltenname Impfdatei: Dispogruppe

Vor der Erstellung der Impfdatei muss geprüft werden, ob eine Dispogruppe vorliegt (siehe Tätigkeiten vor Impfdateierstellung)

Bei der Erstellung der Impfdatei muss ein Mapping der Dispogruppen durchgeführt werden (siehe Tätigkeiten Impfdateierstellung)

Dispolaufgruppe

Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Im Entry-Feld muss der Spaltenwert "Dispolaufgruppe" aus "from_siv.csv" eingetragen werden.

Siehe Kommentar bei Feld "Dispogruppe"

Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Read only: Ja
Werte: siehe Kommentar unten. Ansonsten Schlüssel der Sektion "Dispolaufgruppe" in Allgemein.cfg
Defaultwert: Keiner (leer)

Es fehlen aktuell in einer der .cfg-Dateien die SIVAS-Werte für die Dispolaufgruppen vor dem Mapping, falls das Mapping wie im Kommentar des Feldes "Dispogruppe" beschrieben erst bei Erstellung der Impfdatei erfolgen soll

Wenn kein Wert im Entry-Feld der Spalte "SIVAS-Werte" eingetragen ist, soll der Hintergrund der ComboBox solange rot eingefärbt sein, bis ein Wert ausgewählt wurde.

Migration

Spaltenname Impfdatei: Dispolaufgruppe

Vor der Erstellung der Impfdatei muss geprüft werden, ob eine Dispolaufgruppe vorliegt (siehe Tätigkeiten vor Impfdateierstellung)

Bei der Erstellung der Impfdatei muss ein Mapping der Dispolaufgruppen durchgeführt werden (siehe Tätigkeiten Impfdateierstellung)

Ersatz für

Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": ErsatzFuer

In diesem Feld soll informativ der Spaltenwert "ErsatzFuer" aus "from_siv.csv" eingetragen werden.

Soll das Feld eingefärbt werden oder ein automatischer Text im Feld "Zusätzliche Informationen" erscheinen, wenn "Ersatz für" einen Wert aufweist? Wird in der Spalte "Überschriebene Werte" überhaupt ein Feld benötigt?

Migration

Spaltenname Impfdatei: Nicht in Impfdatei enthalten

Vor der Erstellung der Impfdatei soll zu Informationszwecken geprüft werden, ob die ersetzte Teilenummer bereits in RuleDesigner vorliegt (siehe Tätigkeiten vor Impfdateierstellung)

Ersetzt durch

Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": ErsetztDurch

In diesem Feld soll informativ der Spaltenwert "ErsetztDurch" aus "from_siv.csv" eingetragen werden.

Soll das Feld eingefärbt werden, oder ein automatischer Text im Feld "Zusätzliche Informationen" erscheinen, wenn "Ersetzt durch" einen Wert aufweist? Wird in der Spalte "Überschriebene Werte" überhaupt ein Feld benötigt?

Migration

Spaltenname Impfdatei: Nicht in Impfdatei enthalten

Vor der Erstellung der Impfdatei soll zu Informationszwecken geprüft werden, ob die Ersatz-Teilenummer bereits in RuleDesigner vorliegt (siehe Tätigkeiten vor Impfdateierstellung)

Hersteller

Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Hersteller

In diesem Feld soll der Spaltenwert "Hersteller" aus "from_siv.csv" eingetragen werden.

Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Werte: Werte aus Sektion "Hersteller" in Hersteller.cfg
Defaultwert: Keiner (leer)

Fallabhängiger Schreibschutz:

IF PDM-Kategorie == "Kaufteil":
    Read only = False
ELSE:
    Read only = True

Migration

Spaltenname Impfdatei: HerstellerTeilenummer

Vor der Erstellung der Impfdatei muss geprüft werden, ob der Hersteller in RuleDesigner angelegt wurde (siehe Tätigkeiten vor Impfdateierstellung)

Hersteller Teilenummer

Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": HerstellerTeilenummer

In diesem Feld soll der Spaltenwert "HerstellerTeilenummer" aus "from_siv.csv" eingetragen werden.

Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Werte: Werte aus Sektion "Hersteller" in Hersteller.cfg
Defaultwert: Keiner (leer)

Fallabhängiger Schreibschutz:

IF PDM-Kategorie == "Kaufteil":
    Read only = False
ELSE:
    Read only = True

Migration

Spaltenname Impfdatei: HerstellerTeilenummer

Vor der Erstellung der Impfdatei muss geprüft werden, ob der Hersteller in RuleDesigner angelegt wurde (siehe Tätigkeiten vor Impfdateierstellung)

Werkstoffdiskrepanz

Widget-Typ: CheckButton
Defaultwert: False (Haken nicht gesetzt)

Werkstofftyp

Material

Alternativwerkstoff

Oberfläche

Farbe

Alternativfarbe

Halbzeug ohne Sägeliste

Allgemeiner Hinweis:
Beachte Mapping der CheckButton-Werte bei Erstellung der Impfdatei (siehe Tätigkeiten-Impfdateierstellung)

Spalte 2: SIVAS-Werte

Wertfestlegung, siehe CheckButton-Mapping in Initialisierung SIVAS-Teilestammwerte

Rüstcode

Fertigungsart

FOS-Gruppe

Kalkulationsart

Version

Änderungsindex

Änderungstext

Freigabevermerk

Button Migrieren

Tätigkeiten vor Erstellung der Impfdatei

Allgemeine Hinweise: Wenn die Migration nicht abgeschlossen werden darf, bevor fehlende oder fehlerhafte Feldeintragungen behoben wurden, soll beim Klick auf den Button "Migrieren" eine ERROR-Messagebox erscheinen. Mehrere, gleichzeitig auftretende Fehler sind in einer Messagebox zusammenzufassen. Sollten Neben ERROR-Messageboxen gleichzeitig weitere Messagebox-Typen (z.B. YESNO) auftreten sind diese jeweils als separate Messageboxen auszugeben.

  1. Feldprüfungen

    Bezeichnung
    Wenn Länge der Sivas-Bezeichnung > 50 ist und im Feld der Spalte "Überschriebene Werte" keine kürzere Bezeichnung eingetragen wurde soll beim Klick auf Button "Migrieren" eine ERROR-Messagebox, z.B. mit Text: "Bezeichnung besitzt mehr als 50 Zeichen. Bitte verkürzen." erscheinen. Die Migration darf nicht abgeschlossen werden, bevor eine kürzere Bezeichnung eingetragen wurde

    Mengeneinheit Wenn in der Spalte "Überschriebene Werte" nur ein Dropdownwert (z.B. "Stck") zulässig ist und in der Spalte "SIVAS-Werte" ein davon abweichender Wert eingetragen ist, soll eine Fehlermeldung ausgegeben werden, z.B. mit Text "Mengeneinheit in SIVAS prüfen" Passt eine solche Fehlermeldung? Kann die Mengeneinheit in Sivas nachträglich geändert werden? Soll die Fehlermeldung überspringbar sein?

    Beschaffungsart
    Falls die nachfolgenden Fälle zutreffen muss eine Fehlermeldung, z.B. mit Text "Bitte Beschaffungsart in Sivas korrigieren":

     IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe":
         IF Beschaffungsart == "Kaufteil"
             Fehlermeldung = True
         ELSE:
             Fehlermeldung = False
     ELSE IF PDM-Kategorie == "Kaufteil":
         IF Beschaffungsart == "Eigenbau"
             Fehlermeldung = True
         ELSE:
             Fehlermeldung = False
    

    Dispogruppe und Dispolaufgruppe
    Wenn das Feld Dispogruppe oder Dispolaufgruppe in der Spalte "SIVAS-Werte" leer ist und in der Spalte "Überschriebene Werte" kein neuer Wert ausgewählt wurde soll eine Fehlermeldung, z.B. mit Text "Bitte Dispogruppe auswählen", bzw. "Bitte Dispolaufgruppe wählen" erscheinen, die eine Migration verhindert.

    Ersatz für und Ersetzt durch
    Wenn die ersetzte Teilenummer (Wenn "Ersatz für" befüllt), bzw. die Ersatz-Teilenummer (wenn "Ersetzt durch" befüllt) noch nicht in der Datei "RD_Teilenummern.csv" existieren, soll eine YESNO-Messagebox, z.B. mit Text "Ersetzte Teilenummer {Teilenummer in Feld "Ersatz für"} existiert noch nicht in RuleDesigner. Migration trotzdem durchführen?", bzw. "Ersatz-Teilenummer {Teilenummer in "Ersetzt durch"} exisitert noch nicht in RuleDesigner. Migration trotzdem durchführen?" erscheinen. Beim Klick auf "Ja" soll die Migration durchgeführt werden, bei "Nein" nicht.

    Hersteller Wenn der angegebene Hersteller in der Spalte "SIVAS-Werte" nicht in der Datei Hersteller.cfg existiert muss eine ERROR-Messagebox, z.B. mit Text "Hersteller nicht in RuleDesigner enthalten. Bitte nachpflegen" erscheinen, die eine Migration verhindert. Theoretisch müsste bevor die Fehlermeldung kommt eine Datei gezogen werden, in der alle Hersteller aufgelistet sind. Wir haben aktuell aber keine solche Datei, da die Werte direkt im RD-CodeDesigner definiert sind. Wenn wir die Fehlermeldung aber nicht bringen, wird ein Wert migriert, der nicht in RuleDesigner exisitert, was auch nicht gut ist

Tätigkeiten im Rahmen der Impfdateierstellung

Allgemeine Hinweise:

  • Die Spalte "überschriebene Werte" gewinnt, d.h. wenn sich sowohl in der Spalte "SIVAS-Werte" als auch in der Spalte "Überschriebene Werte" Werte befinden, wird immer der Wert aus der Spalte "Überschriebene Werte" in die Impfdatei geschrieben / migriert.

Tätigkeiten:

  1. Ergänzung Wert in Spalte "Path" der Impfdatei:

    Spaltenname Impfdatei: Path

    Path = Ursprungsverzeichnis, aus dem das Solid Edge-DataPrepUtility die CAD-Dateien in das Zielverzeichnis kopiert

    Hinweis:
    Im anschließenden Pseudocode gelten die nachfolgend aufgelisteten Umgebungsvariablen.

     %ASSEMBLY_TEMPLATE% = \\\ssg.local\freigaben\Abteilungen\Entwicklung\CAD\Standards\SolidEdge\Template\DIN Metric
     %PART_TEMPLATE% = \\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen
    

    Der Pfad ergibt sich durch folgende Logik:

     IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe":
         Path = %ASSEMBLY_TEMPLATE%
    
     ELSE IF PDM-Kategorie == "Einzelteil" OR "Kaufteil":
    
         IF Aus Halbzeug == True OR "Neuaufbau" == True:
             Path = %PART_TEMPLATE%
    
         ELSE:
             Path = Pfad aus Feld "3D-Modell" ohne Dateiname + -endung
    
  2. Ergänzung Wert in Spalte "Filename" der Impfdatei:

    Spaltenname Impfdatei: Filename

    Filename = Dateiname der Solid Edge-Datei im Ursprungsverzeichnis (siehe Wert in Spalte "Path")

    Der Filename ergibt sich durch folgende Logik:

     IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe":
         Filename = "baugruppe.asm"
    
     ELSE IF PDM-Kategorie == "Einzelteil" OR "Kaufteil":
    
         IF Aus Halbzeug == True OR Neuaufbau == True:
             Filename = "ET_mit_Volumen.par"
    
         ELSE:
             Filename = Dateiname + Dateiendung aus Pfad im Feld "3D-Modell" 
    
  3. Ergänzung Wert in Spalte "New path" der Impfdatei:

    Spaltenname Impfdatei: New path

    New path = Zielverzeichnis, von dem aus RuleDesigner die Solid Edge-Dateien zum Erstellen des Datensatzes einliest.

    Hinweis:
    Im anschließenden Pseudocode gelten die nachfolgend aufgelisteten Umgebungsvariablen. Alle anderen sind Windows-Umgebungsvariablen

     %PRODUKTIV% = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\02_Bedarfspool\
     %SCHULUNG% = \\ssg.local\freigaben\SIVAS_CAD_EDM\Schulung\Migration\02_Bedarfspool
    

    Der Pfad ergibt sich durch folgende Logik:

     IF Datenbank == "Produktiv":
         New_path = %PRODUKTIV%\%USERNAME%
     ELSE:
         New_path = %SCHULUNG%
    

    Wenn User, der migriert, noch keinen Ordner in %PRODUKTIV% besitzt, muss dieser automatisch angelegt werden. Wann soll das passieren? Bei Programmstart oder bei Klick auf "Migrieren"?

  4. Ergänzung Wert in Spalte "New Filename" der Impfdatei:

    Spaltenname Impfdatei: New Filename

    New Filename = Dateiname der Solid Edge-Datei im Zielverzeichnis (siehe Wert in Spalte "New path")

    Der Dateiname setzt sich aus dem Wert im Feld "Teilenummer" und der Dateiendung der Solid Edge-Datei, die im Wert des Feldes "3D-Modell" enthalten ist, zusammen.

  5. Mapping von CheckButton-Werten:
    Bei allen Feldern, die als CheckButton vorliegen (z.B. "Halbzeug" und "Halbzeug ohne Sägeliste") muss der Wert "True" (Haken gesetzt) in "Ja" und der Wert "False" (Haken nicht gesetzt) als leerer String "" in die Impfdatei geschrieben werden.

  6. Ergänzung Wert in Spalte "Bezeichnung4" der Impfdatei In den nachfolgend aufgeführten Fällen muss die Spalte "Bezeichnung4" der Impfdatei mit dem Kürzel "- BG" befüllt werden:

     IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe":
         Bezeichnung4 == "- BG"
     ELSE:
         Bezeichnung4 == ""
    
  7. Ergänzung Werte in den Spalten "Document Number", "Revision", Project Name, Teamcenter Item Type, Part Type, TC_ImportTime, Last Saved Version, Subject, Category, Keywords

  8. Aufschlüsselung der TOS-Gruppennummer:

    Die Zahlen der TOS-Gruppennummer beschreiben einen Pfad, d.h. die nächste Zahl/Gruppe ist immer das Kind der aktuellen Zahl/Gruppe. Jede Zahl/Gruppe verfügt über ein eigenes RuleDesigner-Feld, das in der Impfliste befüllt werden muss.

    Nachfolgende Tabelle beschreibt anhand der Gruppennummer 3303, welche Felder (siehe Feldnamen) jeweils welche Werte erhalten müssten:

    Nr. Feldname Wert
    3 TOS-Gruppe Schönenberger Produkt
    33 TOS_Schoenenberger_Produkt ILS IntraLogistikSystem
    330 TOS_ILS ILS 2.0
    3303 TOS_ILS_2 Laufprofil 2.0

    Eine Auflistung mit allen Gruppen und deren Werten / Kindern befindet sich in der Datei TOS-Gruppen.json.

    Anmerkung:
    Felder, die nicht Teil der angegebenen TOS-Gruppennummer sind, dürfen trotzdem in der Impfdatei vorhanden sein, solange sie keinen Wert aufweisen. Grund:
    Das Solid Edge "DataPrepUtility" berücksichtigt beim Schreiben der Paramter in die Solid Edge-Dateien keine leeren Spalten/Werte.

  9. Mapping Dispogruppen-Werte

    Der festgelegte Wert im Feld "Dispogruppe" muss bis einschließlich " - " gekürzt werden. Beispiel:
    "20 - Förderer" ---wird zu---> "Förderer"

    Sonderfall:

    • "60 - Kleinteile" ---wird zu---> "Kleinteil" ("e" am Ende von "Kleinteile" entfällt)
  10. Mapping Dispolaufgruppen-Werte

    Der festgelegte Wert des Feldes "Dispolaufgruppe" muss bis einschließlich " - " gekürzt werden. Beispiel:
    "20 - Intra Logistic System + Alt-HFS" ---wird zu---> "Intra Logistic System + alt-HFS"

    Sonderfälle

    • "40 - Spinnereikomponenten" ---wird zu---> "Spinnereikomponente" ("n" am Ende von "Spinnereikomponenten" entfällt)
    • "20 - Intra Logistic System + Alt-HFS" ---wird zu---> "Intra Logistic System + alt-HFS" ("a" in "alt" wird kleingeschrieben)

Tätigkeiten nach der Impfdateierstellung

  1. Kopieren des aktuellen Standes der RuleDesigner-Datenbank (nachdem RDX-Prozess ausgeführt wurde).

Button "Zurücksetzen"

Button ""