In diesem Dokument wird der Umgang mit der Anwendung „Daten importieren“ bezogen auf benutzerdefinierte Felder beschrieben. Sie finden allgemeine Anleitungsschritte, z. B. welche Reihenfolge beim Import der Metadaten und Nutzdaten der Felder einzuhalten sind. Sie werden außerdem über Attribute informiert, die für den Import notwendig sind.
Die Beschreibung der Anwendung „Daten importieren“, die unter anderem auch Feld- und Button-Beschreibungen enthält, finden Sie in dieser Dokumentation: Daten importieren
1 Begriffsbestimmung
Extensible Markup Language (XML)
Mit XML können strukturierte Daten in einer Textdatei gespeichert werden. Die Beschreibungssprache ermöglicht die Definition, Übertragung, Überprüfung und Interpretation von Daten zwischen Anwendungen und eignet sich besonders für den strukturierten Datenaustausch. Bei XML-Dokumenten erfolgt eine Trennung von Inhalt, Struktur und Information zur Darstellung. XML wird vom W3C als Standard koordiniert und definiert.
Feldart
Benutzerdefinierte Felder haben oftmals übereinstimmende Eigenschaften, die vom Feldtyp abhängig sind. Um nicht für jedes benutzerdefinierte Feld einzeln die Eigenschaften festlegen zu müssen, können diese in Feldarten zusammengefasst werden. Feldarten umfassen also Eigenschaftenfestlegungen für benutzerdefinierte Felder.Bei der Verwendung einer Feldart werden die entsprechenden Eigenschaften für das benutzerdefinierte Feld übernommen. Mögliche Feldtypen für benutzerdefinierte Felder und damit auch Grundlage für Datentypen können sein: Text, E-Mail-Adresse, URL, Datum, Datum und Uhrzeit, Klassifikation, Betrag, Betrag in Hauswährung, Preis, Preis in Hauswährung, Dezimal, Menge, Auswahlfeld und Business Entity.
Metadaten von benutzerdefinierten Feldern
Die Metadaten beschreiben alle Eigenschaften eines benutzerdefinierten Feldes. Dazu gehören unter anderem der Typ des Feldes (Zahl, Zeichenkette, Auswahlfeld…), der Name, die Bezeichnung und gültige Wertebereiche. Welche Eigenschaften ein Feld hat, hängt, abgesehen von den allgemeinen Attributen, vom Feldtyp ab. Die Metadaten können entweder beim Erfassen eines neuen Feldes direkt erfasst oder von vorhandenen Feldarten verwendet werden. Des Weiteren ist noch zwischen instanzunabhängigen (Artikel, Partner) und instanzabhängigen (z. B. Ressourcen) Metadaten zu unterscheiden.
Nutzdaten von benutzerdefinierten Feldern
Nutzdaten sind die erfassten Werte von benutzerdefinierten Feldern. Welche konkreten Werte eines Feldes gültig sind, wird über den Typ und die Einschränkungen in den Metadaten des Feldes festgelegt. Nutzdaten beziehen sich immer auf die Instanz des Entitys, in dem das benutzerdefinierte Feld verwendet wird, sind also „instanzbezogen“.
Text durch Trennzeichen getrennt (CSV)
CSV (comma separated values) ist ein Dateiformat, in dem die Werte der einzelnen Spalten durch ein Trennzeichen getrennt werden. Zeilen werden durch Zeilenumbrüche getrennt. Dieses Trennzeichen muss bekannt sein, um die Datei importieren zu können. Übliche Trennzeichen sind beispielsweise das einfache Komma und das Semikolon. In diesem Format gespeicherte Daten können in zahlreichen Anwendungsprogrammen verwendet und bearbeitet werden. Durch die einfache, nicht hierarchische Struktur von CSV ist dieses Datenformat zur Abbildung komplexer Datenstrukturen nicht geeignet.
Unicode-Text durch Tabulator getrennt (XLS)
Dieses Dateiformat ist ähnlich wie CSV, jedoch ist als Trennzeichen der Tabula-tor und als Zeichencodierung Unicode festgelegt. Dateien in diesem Format können unter anderem von Microsoft Excel verwendet werden. Um dieses Dateiformat in Excel zu speichern, müssen Sie in Excel ggf. das Dateiformat an-geben.
2 Allgemeines
Im ERP-System werden zwei Arten des Datenaustausches unterschieden:
- Datenaustausch zwischen existierenden Comarch-ERP-Enterprise-Systemen.
- Datenimport aus einem Altsystem in ein neues Comarch-ERP-Enterprise-System.
Der Datenaustausch zwischen Comarch-ERP-Enterprise-Systemen wird in den Dokumentationen „Daten importieren“ und „Daten exportieren“ beschrieben. Dieses Dokument beschreibt den Import aus Altsystemen mithilfe der Anwendung „Daten importieren“.
Sie können verschiedene Importformate verwenden. Die folgenden Formate stehen zur Verfügung:
- XML-Format
- CSV-Format
- XLS-Format
Jedes Format hat spezielle Eigenschaften, die Auswirkungen auf den Import von Daten haben, und somit haben die möglichen Formate Vor- und Nachteile.
Wenn Sie im XML-Format importieren, dann können alle gewünschten Daten in einem Importvorgang importiert werden.
Wenn der Import im CSV-Format vorgenommen wird, dann ist ein anderes Vorgehen notwendig, denn in einer Importdatei können keine parallelen 1:n-Beziehungen zwischen den Business Objects dargestellt werden. Möglich ist aber, mit Verknüpfungen zu arbeiten und so die meisten Daten innerhalb eines Importvorganges auch aus mehreren Dateien zu importieren. Das ist für die Importgeschwindigkeit sehr wichtig.
Wenn Sie sich nicht sicher sind, welches das geeignete Format der Importdatei ist, dann gehen Sie wie folgt vor: Erfassen Sie über die Anwendung „Feldarten“ eine Beispiel-Feldart und exportieren Sie diese mit dem Filter für den Import (sic) im gewünschten Format mit den gewünschten Attributen. Die so entstehende Beispieldatei lässt sich als Vorlage für die zu erzeugenden Importdateien verwenden. Die Anwendung „Feldarten“ wurde dabei nur exemplarisch verwendet, Sie können auch andere Anwendungen verwenden, um ein solche Beispieldatei zu erstellen. Beispielsweise Ressourcen für den Fall der Parameter oder Artikel für die „Weiteren Felder“.
Besonderheiten bei benutzerdefinierten Feldern
Benutzerdefinierte Felder werden in einer Reihe von Business Entitys verwendet:
- „Weitere Felder“ in den Anwendungen „Artikel“ und „Partner“ sowie im Dokumenten-Management
- Artikelmerkmale
- Parameter in Produktions-Stammdaten wie Ressourcen, Arbeitsgängen und Arbeitsplänen
- Konfigurationsmerkmale
Die Vorgehensweise beim Importieren benutzerdefinierter Felder ist sehr stark abhängig vom jeweiligen Anwendungsfall. Grundsätzlich ist dabei zu unterscheiden, ob die Felder „instanzunabhängig“, wie bei „Weiteren Feldern“ in den Anwendungen „Artikel“ und „Partner“, oder „instanzbezogen“, wie bei Parametern im Arbeitsgang, geführt werden. Folgende Regeln gelten:
- Bei instanzunabhängigen Feldern erfolgt der Import der Nutzdaten immer getrennt vom Import der Metadaten.
- Im instanzbezogenen Fall werden die Metadaten gemeinsam mit den Nutzdaten importiert.
- Werden bei den Metadaten explizit Feldarten referenziert, können diese Feldarten vorab importiert werden.
- Bei Feldern, für die eine „Werteliste“ zugelassen ist, werden die Nutzdaten der jeweiligen Felder als ein Wert angesehen. Dies bedeutet, dass beim Export alle Werte, die im Feld eingetragen sind, exportiert werden. Und beim Import werden alle im XML vorhanden Werte gespeichert. Sind Werte im XML nicht vorhanden, aber schon in der Datenbank vorhanden, dann sind nach dem Import in der Datenbank nur noch die Werte aus dem XML vorhanden. Das heißt, Löschungen finden nicht mit dem XML-Attribut „mode“ statt.
3 Vorgehensweisen
Die Vorgehensweise beim Importieren benutzerdefinierter Felder ist abhängig vom konkreten Anwendungsfall zu wählen. Folgende Varianten sind dabei zu unterscheiden:
- Weitere Felder (instanzunabhängige Metadaten)
- Parameter (instanzabhängige Metadaten)
- Überschriebene Parameter (instanzabhängige Metadaten)
- Artikelmerkmale (instanzunabhängige Metadaten)
In folgenden Kapiteln finden Sie die Vorgehensweisen zum Importieren und Exportieren der benutzerdefinierten Felder mit den jeweiligen Besonderheiten:
- Daten importieren
- Daten exportieren
3.1 Daten importieren
Die Vorgehensweisen und Besonderheiten für das Importieren der benutzerdefinierten Felder sind in folgenden Kapiteln beschrieben:
- Feldarten
- Besonderheiten beim Import von Feldarten
- Metadaten der „Weiteren Felder“ importieren
3.1.1 Feldarten
Hinweis:
In der Importdatei müssen alle Attribute genau der korrekten Formatierung entsprechen (siehe dieses Kapitel: Übersicht: Attribute).
Anleitung
- Öffnen Sie die Anwendung „Daten importieren“.
- Lassen Sie sich den bzw. einen Filter für dieses Business Object anzeigen:
com.cisag.app.general.extension.obj.Datatype
- Der Filter für den Import der Feldarten wird angezeigt.
- Duplizieren oder erfassen Sie bei Bedarf einen neuen Filter für dieses Business Object.
- Ändern Sie bei Bedarf die bereits ausgewählten Attribute des Filters.
- Drücken Sie in der Standard-Symbolleiste den Button „Daten importieren“.
- Das Dialogfester „Daten importieren“ wird geöffnet.
- Im Dialogfenster „Daten importieren“ können Sie Einstellungen für die Importdatei vornehmen. Eine Beschreibung der Felder finden Sie in dieser Dokumentation: Daten importieren
- Drücken Sie einen der Buttons „Im Hintergrund“ oder „Sofort“.
- Der Import wird ausgeführt.
Folgendes XML-Beispiel zeigt den generellen Aufbau einer Exportdatei für die Feldarten. In diesem Beispiel wurde eine Feldart des Typs „Auswahlfeld“ exportiert.
<Datatype xmlns=”com.cisag.app.general.extension.obj.Datatype”>
<guid>522C0000-D7C3-101F-A0-86-00001D646484</guid>
<code>100</code>
<type>VALUESET</type>
<label>Fahrrad-Größe</label>
<description>Fahrrad-Größe</description>
<multiValue>false</multiValue>
<classification></classification>
<maxLength>0</maxLength>
<definedValues>0</definedValues>
<businessEntity xsi:nil=”true”/>
<dateRangeRestricted>false</dateRangeRestricted>
<dayTypeRestricted>false</dayTypeRestricted>
<dayOfWeekRestricted>false</dayOfWeekRestricted>
<currencyRestricted>false</currencyRestricted>
<numericRangeRestricted>false</numericRangeRestricted>
<uomTypeRestricted>false</uomTypeRestricted>
<uomRestricted>false</uomRestricted>
<organizationHierarchyType></organizationHierarchyType>
<Restrictions>
<ValueSetValues>
<description>26″</description>
<label>26-Zoll Rahmenmaß</label>
<value>1</value>
</ValueSetValues>
<ValueSetValues>
<description>28″</description>
<label>28-Zoll Rahmenmaß</label>
<value>2</value>
</ValueSetValues>
<ValueSetValues>
<description>30″</description>
<label>30-Zoll Rahmenmaß</label>
<value>3</value>
</ValueSetValues>
<ValueSetValues>
<description>30″</description>
<label>30-Zoll Rahmenmaß</label>
<value>3</value>
</ValueSetValues>
<NumericValues/>
</Restrictions>
</Datatype>
3.1.2 Besonderheiten beim Import von Feldarten
Beim Import/Export von Feldarten ist Folgendes zu beachten:
In der Anwendung „Feldarten“ können für den Feldtyp „Auswahlfeld“ die einzelnen Listeneinträge mit einem Löschkennzeichen versehen werden. Die Information, ob ein Listeneintrag ein Löschkennzeichen hat, wird im Attribut „updateInfo“ festgehalten. Im Filter für den Export wird ein eigener Ordner mit den zugehörigen Attributen zu „updateInfo“ angeboten. Das konkrete Attribut ist „deleteTime“, welches diese Information bietet. In diesem Attribut wird der Zeitpunkt der Löschkennzeichnung in Form eines Zeitstempels festgehalten.
Hinweis:
Sollte bei der Festlegung des Exportfilters das Attribut „deleteTime“ deaktiviert werden, dann werden die zum Löschen gekennzeichneten Listeneinträge nicht in die Exportdatei übernommen und stehen dann für den Import nicht zur Verfügung.
Daraus ergeben sich zwei Fälle, die unterschieden werden bzgl. des Attributs „deleteTime“. Dieses Attribut finden Sie unterhalb folgender Struktur: Ordner „Restrictions“, Unterordner „ValueSetValues“, Unterordner „UpdateInfo“.
- Das Attribut „deleteTime“ wurde ausgewählt. In diesem Fall werden alle Listeneinträge exportiert.
- Das Attribut „deleteTime“ wurde nicht ausgewählt. Nur die ohne Löschkennzeichen versehenen Einträge werden exportiert.
Beim Import wird die Information des Löschkennzeichens, falls in der Exportdatei vorhanden, ganz normal in das Zielsystem importiert. Im Zielsystem wird dann der mit einem Löschkennzeichen versehene Datensatz entsprechend visualisiert.
3.1.3 Metadaten der „Weiteren Felder“ importieren
Hinweis:
In der Importdatei müssen alle Attribute genau der korrekten Formatierung entsprechen (siehe dieses Kapitel: Übersicht: Attribute).
Anleitung
- Öffnen Sie die Anwendung „Daten importieren“.
- Lassen Sie sich den bzw. einen Filter für dieses Business Object anzeigen: cisag.app.general.extension.obj.EntityExtensionSet
- Der Filter für den Import der „Weiteren Felder“ wird angezeigt.
- Duplizieren oder erfassen Sie bei Bedarf einen neuen Filter für dieses Business Object.
- Ändern Sie bei Bedarf die bereits ausgewählten Attribute des Filters.
- Drücken Sie in der Standard-Symbolleiste den Button „Daten importieren“.
- Das Dialogfester „Daten importieren“ wird geöffnet.
- Im Dialogfenster „Daten importieren“ können Sie Einstellungen für die Importdatei vornehmen. Eine Beschreibung der Felder finden Sie in dieser Dokumentation: Daten importieren
- Drücken Sie einen der Buttons „Im Hintergrund“ oder „Sofort“.
- Der Import wird ausgeführt.
Hinweis:
Der Import der Meta-Daten der Artikelmerkmale erfolgt über dieses Business Object: com.cisag.app.general.obj.ItemPropertyDefinition
Die in der Dokumentation beschriebenen Daten finden Sie über diese Beziehung: EntityExtension
3.2 Daten exportieren
Die Vorgehensweisen und Besonderheiten für das Exportieren der benutzerdefinierten Felder sind in folgenden Kapiteln beschrieben:
- Metadaten der „Weiteren Felder“ exportieren
- Besonderheiten beim Export der Metadaten der „Weiteren Felder“
- Instanzbezogene Meta-/Nutzdaten
- Instanzunabhängige Meta-/Nutzdaten
3.2.1 Metadaten der „Weiteren Felder“ exportieren
Anleitung
- Öffnen Sie die Anwendung „Daten exportieren“.
- Lassen Sie sich den bzw. einen Filter für dieses Business Object anzeigen: cisag.app.general.extension.obj.EntityExtensionSet
- Der Filter für den Export der „Weiteren Felder“ wird angezeigt.
- Duplizieren oder erfassen Sie bei Bedarf einen neuen Filter für dieses Business Object.
- Ändern Sie bei Bedarf die bereits ausgewählten Attribute des Filters.
- Drücken Sie auf den Karteireiter „Eingrenzung“.
- Die Einstellmöglichkeiten unter dem Karteireiter „Eingrenzung“ werden angezeigt.
- Wählen Sie im Auswahlfeld „Suche“ das gewünschte Business Object aus.
- Drücken Sie in der Standard-Symbolleiste auf den Button „Daten exportieren“.
- Das Dialogfester „Daten exportieren“ wird geöffnet.
- Im Dialogfenster „Daten exportieren“ können Sie Einstellungen für die Exportdatei vornehmen. Eine Beschreibung der Felder finden Sie in dieser Dokumentation: Daten exportieren
- Drücken Sie einen der Buttons „Im Hintergrund“ oder „Sofort“.
- Der Export wird ausgeführt.
Business Objects mit der Option weiterer Felder
Für das Eingrenzen der zu exportierenden Meta-Daten der „Weiteren Felder“ stehen die Business Objects zur Verfügung, die das Hinzufügen weiterer Felder erlauben. Das betrifft beispielsweise folgende Business Objects:
Business Object | Business-Object-Bezeichnung | Bezeichnung der Suche |
com.cisag.app.general. obj.Item |
Artikel | Artikel: Basisdaten |
com.cisag.app.purchasing. obj.PurchaseItem |
Beschaffungs-Artikel | Artikel: Beschaffungsdaten |
com.cisag.app.inventory. obj.InventoryItem |
Lager-Artikel | Artikel: Lagerlogistikdaten |
com.cisag.app.production. obj.ProductionItem |
Produktions-Artikel | Artikel: Produktionsdaten |
com.cisag.app.financials. obj.ItemAccountingData |
Artikel (Rechnungswesendaten) | Artikel: Rechnungswesendaten |
com.cisag.app.sales. obj.SalesItem |
Vertriebs-Artikel | Artikel: Vertriebsdaten |
com.cisag.app.sales. obj.CustomerSalesItem |
Kundendaten zum Vertriebs-Artikel | Artikel: Kundendaten |
com.cisag.app.sales.obj. CustomerClassificationItem |
Kunden-Klassifikation + Vertriebs-Artikel | Artikel: Kunden-Klassifikationsdaten |
com.cisag.app.purchasing. obj.SupplierPurchaseItem |
Lieferantendaten zum Beschaffungs-Artikel | Artikel: Lieferantendaten |
com.cisag.app.general. obj.ItemPropertyCollection |
Artikel-Artikelmerkmal-Zuordnung | Artikel-Artikelmerkmal-Zuordnungen |
com.cisag.app.general.docman.obj.Document | Dokument | Dokumente |
com.cisag.app.general. obj.Partner |
Partner | Partner: Basisdaten |
com.cisag.app.sales. obj.Customer |
Kunde | Partner: Kundendaten |
com.cisag.app.purchasing. obj.Supplier |
Lieferant | Partner: Lieferantendaten |
com.cisag.app.crm. obj.PartnerMarketingInfo |
Marketingpartner | Partner: Marketingdaten |
com.cisag.app.general. obj.Employee |
Mitarbeiter | Partner: Mitarbeiterdaten |
com.cisag.app.financials. obj.PartnerAccountingData |
Partner-Rechnungswesendaten | Partner: Rechnungswesendaten |
com.cisag.app.internal. obj.SupportRequest |
Entwicklungsauftrag, Supportanfrage, Supportauslieferung | Entwicklungsaufträge/Supportanfragen |
Im Filter werden im Feld „Suche“ alle aufgeführten Business Objects zur Auswahl angeboten. Wählen Sie in diesem Feld das gewünschte Business Object, zu dem Sie die Metadaten dessen weiteren Felder exportieren möchten. Die Exportdatei enthält somit die Metadaten aller „Weiteren Felder“ für das gewählte Business Object.
Folgendes XML-Beispiel zeigt den generellen Aufbau einer Exportdatei. In diesem Fall wurden die Metadaten für die „Weiteren Felder“ des Business Objects „Lager-Artikel“ exportiert.
<?xml version=”1.0″ encoding=”UTF-8″?>
<semiramis xmlns=”com.cisag.app.general.extension.obj.EntityExtensionSet” xsi:schemaLocation=”com.cisag.app.general.extension.obj.EntityExtensionSet EntityExtensionSet.xsd” created=”2005-12-02T16:15:49.253Z” locale=”en-US-XMLSchemaCompliant” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<EntityExtensionSet xmlns=”com.cisag.app.general.extension.obj.EntityExtensionSet”>
<code></code>
<entity>com.cisag.app.inventory.obj.InventoryItem</entity>
<Metadata>
<EntityExtension>
<name>KATEGORIE</name>
<label>Kategorie</label>
<description>Kategorie</description>
<sequence>3</sequence>
<required>false</required>
<status>RELEASED</status>
<DatatypeDefined>
<code></code>
<type>VALUESET</type>
<label></label>
<description></description>
<multiValue>false</multiValue>
<classification></classification>
<maxLength>0</maxLength>
<definedValues>0</definedValues>
<businessEntity xsi:nil=”true”/>
<dateRangeRestricted>false</dateRangeRestricted>
<dayTypeRestricted>false</dayTypeRestricted>
<dayOfWeekRestricted>false</dayOfWeekRestricted>
<currencyRestricted>false</currencyRestricted>
<numericRangeRestricted>false</numericRangeRestricted>
<uomTypeRestricted>false</uomTypeRestricted>
<uomRestricted>false</uomRestricted>
<organizationHierarchyType></organizationHierarchyType>
<Restrictions>
<ValueSetValues>
<description>Premium</description>
<label>Premium</label>
<value>1</value>
</ValueSetValues>
<ValueSetValues>
<description>Ultra</description>
<label>Ultra</label>
<value>2</value>
</ValueSetValues>
<NumericValues/>
</Restrictions>
</DatatypeDefined>
</EntityExtension>
</Metadata>
</EntityExtensionSet>
</semiramis>
3.2.2 Besonderheiten beim Export der Metadaten der „Weiteren Felder“
Beim Export der „Weiteren Felder“ über den Filter für das Business Entity „Liste mit benutzerdefinierten Feldern, Parametern und Merkmalen“ (com.cisag.app.general.extension.obj.EntityExtensionSet) werden ausschließlich die Metadaten der „Weiteren Felder“ für ein bestimmtes Business Object exportiert. Die Nutzdaten dazu werden über den Export des konkreten Verwenders exportiert.
Beispiel:
Man entscheidet sich die „Weiteren Felder“ des Vertriebs-Artikels zu exportieren. Die zugehörigen Nutzdaten werden dann über den Filter für das Business Object „Vertriebs-Artikel“ (com.cisag.app.sales.obj.SalesItem) exportiert.
Die Eingrenzung erfolgt immer nur für ein bestimmtes Business Object. Falls Sie alle im System befindlichen „Weiteren Felder“ exportieren möchten, dann führen Sie den Export für jedes angebotene Business Object einzeln durch.
3.2.3 Instanzbezogene Meta-/Nutzdaten
Beim Datenaustausch instanzbezogener benutzerdefinierter Felder erfolgt der Import/Export der Metadaten und der Nutzdaten immer gemeinsam über die Anwendung, in der die Felder verwendet werden. Instanzbezogene benutzerdefinierte Felder werden in folgenden Anwendungen verwendet:
- Ressourcen
- Ressourcengruppen
- Arbeitsgänge
- Ressourcenlisten
Grundsätzlich ist zu unterscheiden, ob Feldarten referenziert oder die Metadaten direkt angegeben werden. Im Falle der Angabe einer Feldart wird auf bereits vorhandene Feldarten verwiesen, die in der Anwendung „Feldarten“ erfasst wurden. In der XML-Datei wird dann ein eigenes Tag erstellt, das die nötigen Informationen enthält, um die Referenz aufzulösen.
<Datatype>
<code>100</code>
<type>VALUESET</type>
</Datatype>
In diesem Fall wird eine Feldart mit dem Code 100 referenziert. Dies betrifft die Metadaten. Die Nutzdaten werden in dem Tag <Value> definiert.
<Value>
<code></code>
<date>
<timeStamp xsi:nil=”true”/>
<timeZone xsi:nil=”true”/>
</date>
<time>
<timeStamp xsi:nil=”true”/>
<timeZone xsi:nil=”true”/>
</time>
<string></string>
<decimal>0</decimal>
<quantity xsi:nil=”true”/>
<domesticAmount xsi:nil=”true”/>
<foreignAmount xsi:nil=”true”/>
<_organization xsi:nil=”true”/>
<_conversionDate xsi:nil=”true”/>
<valueSet>26″</valueSet>
</Value>
Falls keine Feldart referenziert wird, sind alle Attribute der Metadaten in dem Tag <DatatypeDefined> angegeben. Der Aufbau dieses Tags wird in diesem Kapitel beschrieben: 6.1.1 Datatype. Für die Nutzdaten wird wiederum ein <Value>-Tag aufgebaut. Die Vorgehensweise beim Import/Export wird in der Dokumentation der konkreten Anwendung beschrieben.
<DatatypeDefined>
<code></code>
<type>VALUESET</type>
<label></label>
<description></description>
<multiValue>false</multiValue>
<classification></classification>
<maxLength>0</maxLength>
<definedValues>0</definedValues>
<businessEntity xsi:nil=”true”/>
<dateRangeRestricted>false</dateRangeRestricted>
<dayTypeRestricted>false</dayTypeRestricted>
<dayOfWeekRestricted>false</dayOfWeekRestricted>
<currencyRestricted>false</currencyRestricted>
<numericRangeRestricted>false</numericRangeRestricted>
<uomTypeRestricted>false</uomTypeRestricted>
<uomRestricted>false</uomRestricted>
<organizationHierarchyType></organizationHierarchyType>
<Restrictions>
<ValueSetValues>
<description>J</description>
<label>Ja</label>
<value>1</value>
</ValueSetValues>
<ValueSetValues>
<description>N</description>
<label>Nein</label>
<value>2</value>
</ValueSetValues>
<NumericValues/>
</Restrictions>
</DatatypeDefined>
3.2.4 Instanzunabhängige Meta-/Nutzdaten
Instanzunabhängige Meta-/Nutzdaten betreffen folgende Anwendungen:
- Artikel
- Partner
- Dokumente
- Artikelmerkmale
Bei exportierten und für den Import geänderten Daten zum Business Object „Arbeitsplan-, Arbeitsgang-, Ressourcenlisten- oder Stücklistenposition“ (com.cisag.app.production.obj.ProductionPlanDetail) und bei geänderten Parametern von Ressourcen werden nur die Nutzdaten importiert, da die Metadaten in einer übergeordneten Instanz definiert sind.
4 Detailinformationen
Nachfolgend finden Sie Hinweise zu den folgenden Themen:
- Neue Feldarten
- Besonderheiten beim Import von „Weiteren Feldern“
4.1 Neue Feldarten
Neue Feldarten
Neue Feldarten können durch den Import erzeugt werden. Eine Beispiel-XML-Importdatei finden Sie in diesem Kapitel: 4.1.1 Feldarten
Neue implizite Feldarten
Implizite Feldarten sind beispielsweise solche, die in einer Ressource erfasst wurden (Parameter). Diese können im Zuge des Imports für die konkrete Anwendung (in unserem Fall die Ressourcen) vom System erzeugt werden. Diese sind dann jedoch instanzbezogen und gelten nur für die importierte Instanz.
Neue explizite Feldarten
Beim Import, z. B. einer Ressource, könnte eine Feldart referenziert werden. Diese muss dann auch schon vorher im System vorhanden sein. Der Import der Feldarten sollte in diesem Fall bereits abgeschlossen sein.
Neue Nutzdaten
Die Nutzdaten werden im Falle von impliziten Feldarten direkt mit importiert. Dies geschieht im Zuge des Imports für die konkrete Anwendung. Bei expliziten Feldarten können die Nutzdaten nur dann importiert werden, wenn die Metadaten bereits im System vorhanden sind (z. B. „Weitere Felder“).
Eine Auflistung der Attribute finden Sie in diesem Kapitel: Übersicht: Attribute
4.2 Besonderheiten beim Import von „Weiteren Feldern“
Beim Import von weiteren Feldern müssen Sie Folgendes beachten:
Die Metadaten der „Weiteren Felder“ werden über einen Exportfilter für das Business Object „Liste mit benutzerdefinierten Feldern, Parametern und Merkmalen“ (com.cisag.app.general.extension.obj.EntityExtensionSet) importiert und exportiert.
Sollte in einem Filterabschnitt auf ein anderes Business Object verwiesen werden, dann geschieht dies über eine Fremdschlüsselbeziehung. In diesem Fall werden in der Beziehung automatisch die Fremdschlüsselattribute initial vom System ausgewählt. Diese Auswahl ist auch für einen erfolgreichen Import notwendig und sollte nur in Ausnahmefällen geändert werden. Weitere Informationen zu diesen Beziehungen finden Sie in den einzelnen Kapiteln zu den Attributen: Übersicht: Attribute
Änderungen über den Import sind natürlich nur dann möglich, wenn keine Prüfung dies verhindert.
5 Übersicht: Attribute
In diesem Kapitel werden die für den Import von benutzerdefinierten Feldern angebotenen Attribute aufgelistet. Bei Fremdschlüsselattributen steht zusätzlich der entsprechende Beziehungsname dabei. Die Attribute können Änderungen unterworfen sein und durch Anpassungen erweitert werden.
5.1 Feldarten (Datatypes)
5.1.1 Datatype
Das Business Object „Datatype“ beschreibt die Eigenschaften eines benutzerdefinierten Feldes. In der folgenden Tabelle sind die Identifikations- und Pflicht-/
Schlüsselfelder mit einem „(K)“ gekennzeichnet.
Im Einzelnen:
Attribut | Fremdschlüsselbeziehung | Erläuterung |
code (K) | Feldart | |
type | Der Typ des Feldes.
Die Typen werden als Short-Wert gespeichert. Diese Werte stehen zur Verfügung: · „STRING“ für Text · „EMAIL“ für E-Mail-Adresse · „URL“ für Uniform Resource Locator (URL) · „DATE“ für Datum · „TIME“ für Datum und Uhrzeit · „CLASSIFICATION“ für Klassifikation · „FOREIGNAMOUNT“ für Betrag · „FOREIGNPRICE“ für Preis · „DOMESTICAMOUNT“ für Betrag in Hauswährung · „DOMESTICPRICE“ für Preis in Hauswährung · „DECIMAL“ für Dezimal · „QUANTITY“ für Menge · „VALUESET“ für Auswahlfeld · „BUSINESSOBJECT“ für Business Entity |
|
label | Die Bezeichnung des Feldes | |
description | Die Beschreibung des Feldes | |
multiValue | „FALSE“, falls nur ein Wert in dem benutzerdefinierten Feld ausgewählt werden kann.
„TRUE“, falls mehrere Werte ausgewählt werden können. |
|
classification | Beschreibung der Klassifikation (Wird nur gefüllt, falls der Feldtyp „CLASSIFICATION“ – Klassifikation – betroffen ist).
Hinweis: Der eindeutige Name der benutzerdefinierten Klassifikation wird angegeben. Diese muss bereits importiert sein (com.cisag.app.general.extension.obj.EntityExtensionHierarchy). |
|
maxLength | Maximale Länge des Feldes
Nur relevant für die Typen, die Texte sind („STRING“, „EMAIL“ und „URL“). |
|
definedValues | Die Anzahl der definierten Auswahlwerte. Nur für den Typ „Auswahlfeld“ relevant. | |
businessEntity | Verweis auf ausgewähltes Business Object (nur gefüllt falls Feldart vom Typ BUSINESSOBJECT) | Für den Typ (Business Object) wird die Class-GUID des ausgewählten Business Objects gespeichert. |
organizationHierarchyType | Der Organisationstyp, den die Feldart benötigt
Nur relevant für den Typ „Business Object“. Verfügbare Werte: · „COSTING“ · „EXTERNAL“ für Extern · „SALES“ für Vertrieb · „FINANCIALS“ für Rechnungswesen · „INVENTORY“ für Logistik · „PURCHASING“ für Beschaffung |
5.1.2 Einschränkungen (Restrictions)
Bei jeder Feldart können Einschränkungen auf die erlaubten Werte festgelegt werden. Damit ist beispielsweise möglich, bei einem Feld des Typs „Auswahlfeld“ nur eine Teilmenge der festgelegten Werte zuzulassen. Die Art der Einschränkung hängt vom Typ der Feldart ab.
5.1.2.1 Feldarttypen und ihre Einschränkungsmöglichkeiten
Abhängig vom Typ der Feldart können verschiedene Einschränkungen festgelegt werden. Die folgende Tabelle gibt einen Überblick über die Feldarten und die dazu möglichen Einschränkungen.
Feldarttyp | Einschränkung |
Text | Länge |
Länge | |
URL | Länge |
Datum | Wochentag, Werkskalender-Tagesart, Datumsbereich
(DayTypeValues, DayOfWeekValues, DateRangeValues) |
Datum und Uhrzeit | Wochentag, Werkskalender-Tagesart, Zeitbereich
DayTypeValues, DayOfWeekValues, DateRangeValues |
Klassifikation | Klassifikation |
Betrag | Währung, Wertebereich
(CurrencyValues, NumericRangeValues) |
Preis | Währung, Wertebereich
(CurrencyValues, NumericRangeValues) |
Betrag in Hauswährung | Wertebereich
(NumericRangeValues) |
Preis in Hauswährung | Wertebereich
(NumericRangeValues) |
Dezimal | Wertebereich
(NumericRangeValues) |
Menge | Einheitentyp, Einheit, Wertebereich
(UomTypeValues, UomValues, NumericRangeValues) |
Auswahlfeld | Werteliste
(ValueSetValues) |
Business Entity | |
Langtext |
5.1.2.2 Erlaubte Werte im Auswahlfeld (AllowedValueSetValues)
In der Produktkonfiguration können Felder des Typs „Auswahlfeld“ auf bestimmte erlaubte Auswahlwerte beschränkt werden. Zum Beispiel kann eine Feldart „Farbe“ mit folgenden Werten festgelegt werden: Rot, Gelb, Grün, Blau. Mit einer Einschränkung kann die gültige Auswahl auf „Rot“ und „Blau“ festgelegt werden.
Attribut | Erläuterung |
value | Die Nummerierung des erlaubten Auswahlwertes (siehe „value“ in diesem Kapitel: Werteliste (ValueSetValues) |
5.1.2.3 Werteliste (ValueSetValues)
Die Werteliste enthält die Werte eines Feldes des Typs „Auswahlfeld“. Die Werte werden dem Benutzer vorgegeben, der dann wiederum genau einen Wert im Feld auswählen kann.
Beispiel:
<ValueSetValues>
<description>26″</description>
<label>26-Zoll Rahmenmaß</label>
<value>1</value>
</ValueSetValues>
Attribut | Erläuterung |
description | Beschreibung |
label | Bezeichnung |
value | Nummerierung des Feldes
Hinweis: Die Felder werden in der Reihenfolge, in der sie erfasst werden, durchnummeriert. |
5.1.2.4 Währung (CurrencyValues)
Für den Feldtyp „Betrag“ und „Preis“ können Währungen als erlaubte Werte erfasst werden. In einem benutzerdefinierten Feld können nur diese Währungen ausgewählt werden.
Beispiel:
<CurrencyValues>
<Currency>EUR</Currency>
</CurrencyValues>
Attribut | Erläuterung |
Currency | ISO-Code der Währung (Business Key der Währung) |
5.1.2.5 Datumsbereich (DateRangeValues)
Ein Datumsbereich besteht immer aus einem Startdatum, das die untere Grenze des Datumsbereichs festlegt, und einem Enddatum, das die obere Grenze des Datumsbereichs festlegt.
Beispiel:
<DateRangeValues>
<type>AFTER</type>
<dateFrom>2005-09-20T22:00:00.000Z</dateFrom>
<dateUntil>2005-09-23T22:00:00.000Z</dateUntil>
<_timeZone>CET</_timeZone>
</DateRangeValues>
Attribut | Erläuterung |
type | Typ des Datumsbereichs
Folgende Werte sind zulässig: · „BEFORE“ für „vor Datum“ · „AFTER“ für „nach Datum“ · –„BETWEEN“ für „zwischen zwei Daten“ |
dateFrom | Beginndatum des Bereichs |
dateUntil | Enddatum des Bereichs |
_timeZone | Zeitzone |
Die Attribute „dateFrom“ und „dateUntil“ müssen beim Typ „vor“ und „nach“ einem Datum identisch sein.
5.1.2.6 Wochentage (DayOfWeekValues)
Einschränkungen auf Wochentage ermöglichen dem Benutzer, eine Auswahl von Wochentagen festzulegen, die dann in einem benutzerdefinierten Feld des Typs „Datum“ zur Verfügung stehen.
Beispiel:
<DayOfWeekValues>
<dayOfWeek>SUNDAY</dayOfWeek>
</DayOfWeekValues>
Attribut | Erläuterung |
dayOfWeek | Wochentag
· „SUNDAY“ für Sonntag · „MONDAY“ für Montag · „TUESDAY“ für Dienstag · „WEDNESDAY“ für Mittwoch · „THURSDAY“ für Donnerstag · „FRIDAY“ für Freitag · –„SATURDAY“ für Samstag |
5.1.2.7 Tagesarten (DayTypeValues)
Auf eine bestimmte Tagesart wird über eine Fremdschlüsselbeziehung (DayType) verwiesen. Tagesarten werden im Werkskalender festgelegt. Das ausgewählte Datum muss auf einen der Tagesart entsprechenden Wochentag fallen.
Beispiel:
<DayTypeValues>
<DayType>10</DayType>
</DayTypeValues>
Attribut | Erläuterung |
DayType. | Verweis auf eine bestimmte Tagesart (Anwendung „Werkskalender Tagesarten“) |
5.1.2.8 Einheit (UomValues)
Die Beziehung Uom verweist auf eine gültige Maßeinheit.
Beispiel:
<UomValues>
<Uom>cm</Uom>
</UomValues>
Attribut | Erläuterung |
Uom | Identifikation der zulässigen Einheit. |
5.1.2.9 Einheitentyp (UomTypeValues)
Einschränkung auf einen Maßeinheitentyp, z. B. (Länge, Volumen, Dichte, Masse, …)
Beispiel:
<UomTypeValues>
<uomType>LENGTH</uomType>
</UomTypeValues>
Attribut | Erläuterung |
uomType | Typ der Einheit
· „LENGTH“ für Länge · „VOLUME“ für Volumen · „DENSITY“ für Dichte · „MASS“ für Masse · „TIME“ für Zeit · –„OTHER“ für alle kaufmännischen Einheiten |
5.1.2.10 Wertebereich (NumericRangeValues)
Bei manchen Feldtypen können Wertebereiche festgelegt werden (siehe die Typen in diesem Kapitel: Feldarttypen und ihre Einschränkung). Sie legen Werte und Bereiche fest.
Beispiel:
<NumericValues>
<NumericRange>
<lowerLimit>0</lowerLimit>
<lowerRelOp>GREATER_EQUAL</lowerRelOp>
<upperLimit>10.000000</upperLimit>
<upperRelOp>LESS_EQUAL</upperRelOp>
</NumericRange>
</NumericValues>
Attribut | Erläuterung |
numericRangeSet | Technische Identifikation |
NumericRange.lowerLimit | Untere Grenze |
NumericRange.lowerRelOp | Relationaler Operator für die untere Grenze
· „EQUAL” für gleich · „UNEQUAL” für ungleich · „LESS_THAN” für kleiner · „GREATER_THAN” für größer · „LESS_EQUAL” für kleiner gleich · „GREATER_EQUAL” für größer gleich |
NumericRange.upperLimit | Obere Grenze |
NumericRange.upperRelOp | Relationaler Operator für die obere Grenze
Siehe lowerRelOp |
5.1.3 Vorschlagswerte (DefaultValues)
In der Anwendung „Feldarten“ können Vorschlagswerte für eine Feldart festgelegt werden. Für ein benutzerdefiniertes Feld, das auf einer Feldart basiert, in der ein Vorschlagswert festgelegt wurde, wird dann dieser Wert als Initialwert angezeigt. Dies gilt nur solange, bis der Benutzer den Inhalt des Feldes ändert. Außerdem können Sie mehrere Vorschlagswerte für eine Feldart definieren. Dazu muss die Funktion „Werteliste“ (in der Anwendung „Feldarten“) aktiviert werden. Die Werte für Klassifikationen und Business Objects können nicht exportiert oder importiert werden.
Folgende Tabelle beschreibt die einzelnen Attribute, die beim Export der Feldarten zur Verfügung stehen. Die Identifikations- und Pflicht-/Schlüsselfelder sind mit einem „(K)“ gekennzeichnet.
Attribut | Erläuterung |
code (K) | Sequenz: relevant für Mehrfachwerte |
date.timeStamp | Datumswert: relevant für den Typ „Datum“ |
date.timeZone | Datumswert: relevant für den Typ „Datum“ |
time.timeStamp | Zeitwert: relevant für den Typ „Datum mit Uhrzeit“ |
time.timeZone | Zeitwert: relevant für den Typ „Datum mit Uhrzeit“ |
string | Textwert: relevant für die Typ „URL“, „E-Mail“ und „Text“ |
Decimal | Dezimalwert: relevant für den Typ „Dezimal“ |
quantity.amount | Mengenwert: relevant für den Typ „Menge“ |
quantity.uom | Einheit (GUID) des Mengenwerts: relevant für den Typ „Menge“ |
quantity.Uom | Einheit (Business Key) des Mengenwerts: relevant für den Typ „Menge“ |
domesticAmount. amount1 |
Hauswährungswert: relevant für den Typ „Betrag/Preis in Hauswährung“ |
domesticAmount. currency1 |
|
domesticAmount. amount2 |
|
domesticAmount. currency2 |
|
domesticAmount. amount3 |
|
domesticAmount. currency3 |
|
domesticAmount.exact | |
domesticAmount. exactAmountIndex |
|
domesticAmount. Currency1 |
|
domesticAmount. Currency2 |
|
domesticAmount. Currency3 |
|
foreignAmount.amount | Fremdwährungswert: relevant für den Typ „Betrag/Preis“ |
foreignAmount. currency |
|
foreignAmount. Currency |
|
_organization | Bezugsorganisation für Hauswährungswert: relevant für den Typ „Betrag/Preis in Hauswährung“ |
_conversionDate | Umrechnungsdatum für Hauswährungswert: relevant für den Typ „Betrag/Preis in Hauswährung“ |
valueSet | Auswahlwert: relevant für den Typ „Auswahlfeld“ |
5.2 Konkrete Verwender der benutzerdefinierten Felder
In diesem Kapitel werden die konkreten Verwender der benutzerdefinierten Felder und die verschiedenen Arten beschrieben, wie sie angewendet werden können. Dabei werden primär die einzelnen Attribute beschrieben, die ein Exportfilter zur Verfügung stellt.
- Weitere Felder
- Verwendung als Parameter
- Verwendung als überschreibbare Parameter
5.2.1 Weitere Felder
Weitere benutzerdefinierte Felder werden in vielen Anwendungen verwendet. Ein Beispiel ist die Anwendung „Artikel“. Darin erfasste weiteren Felder sind instanzunabhängige Metadaten. Die Metadaten gelten für alle Artikel (Instanzen), die Nutzdaten nur für eine einzelne Instanz.
Für den Import/Export ist Folgendes zu beachten:
Die Eigenschaften des Feldes werden über Metadaten beschrieben. Diese Metadaten können importiert und exportiert werden. Siehe diese Kapitel:
- 1.3 Metadaten der „Weiteren Felder“ importieren
- 2.1 Metadaten der „Weiteren Felder“ exportieren
Die Felder müssen bereits vor dem Import der Nutzdaten bestehen.
Im Filter werden unter dem Ordner „EntityExtensions“ alle weiteren Felder, die in der jeweiligen Anwendung erfasst wurden, mit einem eigenen Ordner angezeigt. Je nach Typ des weiteren Feldes stehen andere Attribute zur Verfügung. Dieser Filter wird generisch im Hintergrund erzeugt.
In der folgenden Tabelle werden die einzelnen Typen der weiteren Felder und deren Attribute aufgelistet, die im Filter angeboten werden.
Typ des weiteren Feldes | Attribut |
Text | Wert des Feldes |
Wert des Feldes | |
URL | Wert des Feldes |
Datum | Zeitstempel, Zeitzone |
Datum und Uhrzeit | Zeitstempel, Zeitzone |
Klassifikation | Pfad des Knotens |
Betrag | Menge, Währung |
Preis | Menge, Währung |
Betrag in Hauswährung | Betrag 1, Betrag 2, Betrag 3, bytekodierter Wert des Betrages, Index des exakten Wertes, Währung 1, Währung 2, Währung 3 |
Preis in Hauswährung | Betrag 1, Betrag 2, Betrag 3, bytekodierter Wert des Betrages, Index des exakten Wertes, Währung 1, Währung 2, Währung 3 |
Dezimal | Wert des Feldes |
Menge | Menge, Maßeinheit |
Auswahlfeld | Ausgewählter Wert des Auswahlfeldes |
Business Object | In diesem Falle wird der komplette Business Key des ausgewählten Business Objects ausgegeben. |
5.2.2 Verwendung als Parameter
Die Verwendung der benutzerdefinierten Felder als Parameter hat folgende Auswirkung: Bei den Parametern sind die Meta- und Nutzdaten instanzabhängig. Exportiert oder importiert werden immer beide Informationen. Zum einen die Beschreibung der Feldarten (Metadaten) und zum anderen auch die Feldinhalte (Nutzdaten).
Beispiele:
- Resourcen:
ResourceParameter/ResourceUseParameter
- Ressourcengruppen:
GroupParameter/ResourceParameter/ResourceUseParameter
- Arbeitsgang/Ressourcenliste:
Parameters (Basisparameter)
In folgender Tabelle sind die einzelnen Attribute aufgeführt, die beim Export der Feldarten zur Verfügung stehen. Die Identifikations- und Pflicht-/Schlüsselfelder sind mit einem „(K)“ gekennzeichnet.
Attribut | Erläuterung |
Name | Feldname (nur alphanumerisch, keine Sonderzeichen) |
Label | Feldbezeichnung |
Description | Feldbeschreibung (Tooltip) |
Sequence | Reihenfolge in der Anzeige |
Required | Pflichtfeldkennzeichen |
Status | Wird vom System gesetzt, dient nur der Information. |
DatatypeDefined | Feldart wird für dieses Feld festgelegt und kann nur von diesem Feld verwendet werden.
Aufbau siehe dieses Kapitel: 6.1.1 Datatype |
Datatype | Feldart ist über Anwendung „Feldarten“ erfasst, wodurch nur die Referenz beim Feld gespeichert wird. Daraus folgt, dass die Feldart vor dem Import vorhanden sein muss. |
Datatype.code (K) | Name der Feldart |
Datatype.type | Typ der Feldart (siehe dieses Kapitel: 6.1.1 Datatype |
Value | Nutzdaten des Feldes
Siehe dieses Kapitel: 6.1.3 DefaultValues (Vorschlagswerte) |
5.2.3 Verwendung als überschreibbare Parameter
Die Verwendung benutzerdefinierter Felder als Parameter, die von einer Anwendung überschrieben werden können, hat folgende Bedingung: Die Metadaten wurden hierbei nur bei der übergeordneten Instanz erfasst (z. B. Ressource – Ressourcengruppe).
Beispiele:
- Ressource:
GroupResourceParameter/GroupResourceUseParameter
Hierbei können die Gruppen-Parameter überschrieben werden.
- Im Arbeitsgang können die Parameter von Ressourcen- und Ressourcenlistenpositionen überschrieben werden. Gleiches gilt im Arbeitsplan. In diesem Fall können die Parameter bei Arbeitsgangpositionen überschrieben werden. Die nachfolgende Struktur ist im Filter zum Business Object „ProductionPlan“ unter „Details.Parameters“ und „Details.GroupParameter“ zu finden.
In folgender Tabelle sind die einzelnen Attribute aufgeführt.
Attribut | Erläuterung |
Name | Feldname (nur alphanumerisch, keine Sonderzeichen) |
Value | Nutzdaten des Feldes
Siehe dieses Kapitel: 6.1.3 DefaultValues (Vorschlagswerte) |