powered by CADENAS

Manual

Manual

2.2.5.2. Materialspalte mit ERP-Integration

Bei einer bestehenden ERP-Integration können Sie den Materialnamen aus einer beliebigen ERP-Spalte holen. Per Default ist für das Material die Spalte "MAT_NAME" angelegt und eingestellt.

Es wird der unübersetzte Materialname verwendet; also der Name, wie er in der LinkDB steht, nicht der Anzeigename der unter Umständen über die Übersetzungsdatei angepasst ist.

Unter PARTadmin -> Kategorie -> Konfigurationsdateien -> $CADENAS_SETUP -> if<cadname>.cfg -> Block CreationOptions(is3d) -> Schlüssel Material können verschiedene Methoden für die Bestimmung des Materialnamens eingestellt werden.

Per Default wird der Materialname aus der CNS-Klassifikation geholt.[45]

  • Ohne Macro

    ?context.TranslateStringInGlobalOptionArray("MATMAP","",GetObject("iface.calcnameservice")
    .start(0).Format("<CLASSPROP(cns,CNSPHYPROP,CNSMAT)>").value())
  • Mit Macro

    Ausschnitt aus $CADENAS_SETUP/ifacecommon.cfg:

    [Macros]
    _FORMAT_0=GetObject("iface.calcnameservice").start(0).Format

    ?context.TranslateStringInGlobalOptionArray("MATMAP","",_FORMAT_0("<CLASSPROP(cns,CNSPHYPROP,CNSMAT)>").value())

Eine Verbesserung stellt folgende Syntax mit "TranslateStringInGlobalOptionArrayDef" dar:

Wenn das Material im [MatMap] Abschnitt der Konfigurationsdatei nicht gefunden werden kann, wird der Eingabewert als Default benutzt. Die alte Funktion (ohne „Def“) ignoriert den Eingabewert einfach.

Beispiel:

"aluminium" sei der Eingabewert. Wenn die Funktion diesen Wert in [MatMap] nicht finden kann, gibt die erweiterte "Def"-Funktion "aluminium" an das CAD-System weiter. Wenn der Wert in der Materialtabelle des CADs vorhanden ist, verwendet es diesen. Die alte Funktion hingegen gibt nur eine leere Zeile zurück.

  • Ohne Macro

    ?context.TranslateStringInGlobalOptionArrayDef("MATMAP","",GetObject("iface.calcnameservice").start(0)
    .Format("<CLASSPROP(cns,CNSPHYPROP,CNSMAT)>").value(),GetObject("iface.calcnameservice").start(0)
    .Format("<CLASSPROP(cns,CNSPHYPROP,CNSMAT)>").value())
  • Mit Macro

    ?context.TranslateStringInGlobalOptionArrayDef("MATMAP","",_FORMAT_0("<CLASSPROP(cns,CNSPHYPROP,CNSMAT)>").value(),
    _FORMAT_0("<CLASSPROP(cns,CNSPHYPROP,CNSMAT)>").value())

Alternativ können auch andere Methoden spezifiziert werden:

  • Der Materialname wird direkt aus der ERP-Materialspalte (per Default "MAT_NAME") geholt und 1:1 übergeben.

    Die Mapping-Tabelle wird nicht verwendet.

    ?GetObject("iface.calcnameservice").start(0)
    .Format("<ATTR(MAT_NAME)>").value()
  • Der Materialname wird direkt aus der ERP-Materialspalte (per Default "MAT_NAME") geholt.

    Der ermittelte Name wird dann mit der Mapping-Tabelle (siehe Konfigurationsdatei -> Block "MatMap") auf den CAD-System Materialnamen abgebildet.

    ?context.TranslateStringInGlobalOptionArray("MATMAP","",GetObject("iface.calcnameservice")
    .start(0).Format("<ATTR(MAT_NAME)>").value())

[Hinweis] Hinweis

Sofern Sie den Materialnamen über die CNS-Klassifikation bilden und in der Linkdatenbank den Defaultnamen für die Materialspalte "MAT_NAME" ändern, müssen Sie in der Konfigurationsdatei unter PARTadmin -> Kategorie -> Konfigurationsdateien -> $CADENAS_SETUP -> partsol.cfg -> Block VARTOCLASSMAPPING die entsprechende Anpassung vornehmen (in der Abb. beispielhaft auf '"MAT_X".

partsol.cfg -> VARTOCLASSNAMEMAPPING

partsol.cfg -> VARTOCLASSNAMEMAPPING



[45] Wo die CNS-Klassifikation den Materialnamen holt, ist in unter $CADENAS_SETUP -> Konfigurationsdatei partsol.cfg -> Block VARTOCLASSMAPPING festgelegt. Per Default ist hier die Tabellenspalte "MAT_NAME" eingestellt.