Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Feldkatalog

Die folgenden Eigenschaften dienen der Definition von Feldkatalogen. Ein Feldkatalog beschreibt alle Felder eines Dokuments, die für die Verarbeitung relevant sind.

Eigenschaft

Beschreibung

FieldCatalog[].Name

eindeutiger, frei wählbarer Name des Feldkataloges

Der Name wird in der Verwaltungsdatenbank und im Logging verwendet. Bei fehlendem Eigenschaftswert erhält der Katalog einen Standardnamen mit laufender Nummer.

FieldCatalog[].IsDefault

Wahrheitswert, ob ein Feldkatalog den Standardkatalog darstellt

Diese Eigenschaft ist relevant, wenn aus mehreren alternativen Katalogen bedingungsabhängig ein Katalog ausgewählt wird. Der Standardkatalog wird eingelesen und anhand der Feldinhalte dieses Standardkatalogs werden die Bedingungen der alternativen Kataloge ausgewertet.

Maximal ein Feldkatalog darf als Standard deklariert sein. Wenn kein Feldkatalog als Standard deklariert ist, gilt implizit der erste, nicht globale Katalog oder der einzige Katalog als Standardkatalog.

Standardwert: FALSE

FieldCatalog[].IsGlobal

Wahrheitswert, ob ein Feldkatalog als global deklariert wird

Die Felder aller globalen Kataloge werden dem aktiven Feldkatalog hinzugefügt. Diese Funktion kann z. B. eingesetzt werden, wenn bei alternativen Feldkatalogen ein bestimmter Satz von Feldern in allen Feldkatalogen identisch ist.

Der Standardkatalog kann gleichzeitig auch als global deklariert werden. Die Felder des Standardkatalogs werden auch dann immer herangezogen werden, wenn per Bedingung auf einen alternativen Katalog gewechselt wird.

Die Anordnung der Felder in dem zusammengesetzten Katalog, die für die Verarbeitung von Initialisierungsmakros relevant sein kann, richtet sich nach der Reihenfolge, in der die Felder definiert wurden. Zuerst werden die Felder der globalen Kataloge in der Reihenfolge ihrer Definition aufgeführt und danach die Felder des normalen Feldkatalogs.

Standardwert: FALSE

Hinweis

Vermeiden Sie namensgleiche Felder in den Katalogen, die zusammengeführt werden. Dies ist insbesondere wichtig, wenn die Eigenschaften der namensgleichen Felder unterschiedliche Werte haben.

Wenn Namenskonflikte auftreten, haben Felder eines normalen Katalogs immer Vorrang vor globalen Felder, d.h. diese Felder werden nicht durch die globalen Felder überschrieben. Wenn Namenskonflikte innerhalb der globalen Kataloge auftreten, wird in der Reihenfolge der Katalogdefinitionen jeweils nur das erste namensgleiche Feld übernommen.

FieldCatalog[].ConditionMacro

optionaler Feldmakroausdruck, um einen bestimmten Feldkatalog abhängig von einer Bedingung aus mehreren Alternativen auszuwählen

Dieser Ausdruck muss einen entsprechenden Wahrheitswert zurückliefern. Wenn keine Bedingung angegeben ist, gilt die Bedingung implizit als erfüllt. In der Reihenfolge ihrer Definition wird standardmäßig der erste alternative Feldkatalog herangezogen, dessen Bedingung erfüllt ist. Über die Eigenschaft .MergeMultiple können mehrere alternative Kataloge gleichzeitig ausgewählt werden.

Als potenzielle alternative Kataloge werden alle Kataloge herangezogen, die nicht als Standard-Katalog oder als globaler Katalog deklariert sind. Für globale Kataloge ist das Setzen einer Bedingung nicht relevant, da diese Kataloge bei der Suche nach Alternativen nicht berücksichtigt werden. Die Felder der globalen Kataloge werden ohnehin immer zum gefundenen Feldkatalog hinzugefügt.

FieldCatalog[].MergeMultiple

Wahrheitswert, ob ein alternativer Feldkatalog bei gültiger Bedingung immer herangezogen wird

Im Normalfall wird nur der erste gültige Alternativkatalog ausgewählt. Wenn bei weiteren Katalogen diese Eigenschaft aktiviert ist, werden diese Kataloge zusätzlich ausgewählt. Aus den Feldern aller gefundenen Kataloge wird ein gemeinsamer Alternativkatalog aufgebaut. Bei mehrdeutig benannten Feldern wird in der Reihenfolge der Katalogdefinitionen jeweils nur das erste namensgleiche Feld übernommen.

Standardwert: FALSE

FieldCatalog[].Field[].Name*

eindeutiger, technischer Name eines Feldes im Feldkatalog

Dieser Name wird bei der Zuordnung von Eingabefeldern und Ausgabefeldern verwendet sowie als Variablenname in Makroausdrücken und dynamischen Konfigurationswerten.

Der Name ist frei wählbar, jedoch beschränkt auf die Verwendung von Buchstaben, Ziffern, Unterstrich und Punkt. Der Punkt darf dabei nur für tabellarische Felder verwendet werden. Die Syntax ist {Tabellenname}.{Spaltenname}, z. B. LineItems.ArticleText für die Artikelbeschreibung in einer Positionszeile. Alle definierten Spaltenfelder, die denselben Tabellennamen nutzen, werden zu einer gemeinsamen Tabelle dieses Namens zusammengefasst. Dementsprechend können bei Bedarf mehrere Tabellen parallel in einem Feldkatalog angelegt werden. Die meisten Eingabesysteme und Ausgabesysteme unterstützen jedoch nicht mehr als ein Tabellenelement. Derzeit noch nicht praxisrelevant ist zudem die Untergliederung von Tabellen in weitere Untertabellen, d.h. in der Form Tabellename.Untertabellenname.Spaltenname.

FieldCatalog[].Field[].InitType

initialer Datentyp des Feldwertes, wenn das Feld mit einem leeren Wert initialisiert wird

Diese Eigenschaft wird im Kontext vieler Eingabesysteme auch verwendet, um einen Eingabewert in einen gewünschten Datentyp zu konvertieren oder einen textuellen Eingabewert als einen bestimmten Datentyp zu parsen.

Folgende Datentypen werden für Feldinhalte unterstützt:

  • Text: String (Standardwert)

  • Number: numerischer Wert ohne oder mit Nachkommastellen

  • Date: Datum/Uhrzeit

  • Bool: Wahrheitswert

Ein Array kann hier nicht explizit gesetzt werden, da dieser Datentyp nur einen Container für Werte der obigen Typen darstellt. Dennoch kann ein Feld auch mit einem Array vorbelegt werden, das entweder leer ist oder bereits Elemente enthält. Hierfür kann eine der beiden Eigenschaften .InitValue oder .InitMacro genutzt werden.

FieldCatalog[].Field[].InitValue

initialer Wert eines Feldes

Der Initialwert greift, wenn einem Dokument ein Feldkatalog zugewiesen wird oder eine neue Positionsdatenzeile generiert wird, dem Feld aber kein Wert aus den Eingabedaten zugeordnet ist oder der Eingabewert leer ist.

Der Konfigurationswert ist immer eine Zeichenfolge. Typisierte Initialwerte müssen in der Syntax eines Literals angegeben werden (siehe Konstanten). Textwerte müssen z. B. in zusätzliche Anführungszeichen gesetzt werden. Wenn kein expliziter Wert konfiguriert ist, erhält ein Feld einen leeren Initialwert des Datentyps, der in der Eigenschaft .InitType definiert ist.

FieldCatalog[].Field[].InitMacro

optionaler Feldmakroausdruck, der für alle Felder eines Dokumentes einmalig ausgeführt wird, nachdem alle Feldwerte des ihm zugeordneten Feldkataloges initialisiert oder aus den Eingabedaten gelesen wurden

Insbesondere für aufeinander aufbauende Feldwerte ist zu beachten, dass die Ausführung der Makros in der Reihenfolge der Felddefinitionen im Feldkatalog erfolgt.

InitMacro wird nicht auf Positionsdatenfelder angewendet, wenn diese Felder erst nachträglich über Makrofunktionen hinzugefügt werden.

Dieses Makro dient der inhaltlichen Aufbereitung oder der Validierung der Feldinhalte. Im Fall einer bedingungs­abhängigen Auswahl des Feldkataloges findet die Initialisierung und die Makroausführung für die Felder beider Kataloge statt, d.h. für den Standardkatalog und für den ermittelten Alternativkatalog.