1 Themenübersicht
Die Anwendung „Entwicklungsobjekte“ dient der Erfassung und Ansicht von Entwicklungsobjekten verschiedenster Typen. In dieser Dokumentation wird der Typ „Logischer Datentyp“ beschrieben.
Allgemeine Informationen zur Anwendung „Entwicklungsobjekte“, beispielsweise die Beschreibung der anwendungsbezogenen Aktionen oder des Identifikationsbereichs, finden Sie in dieser Dokumentation „Entwicklungsobjekte“.
2 Beschreibung
Logische Datentypen bilden das Typsystem in Semiramis ab. Dabei wird in drei Arten von Datentypen unterschieden:
- primitiv,
- komplex und
Die Logischen Datentypen werden als Attributdefinition in Business Objects, Parts und Extensions verwendet. In der Oberflächenprogrammierung werden diese genutzt, um über die zugeordnete Data-Description die Eigenschaften von Oberflächenelementen zu steuern.
Die Felder im Einzelnen:
Feld | Erläuterung |
Data-Description | Anzeige der zugehörigen Data-Description.
Das Feld lässt sich nicht bearbeiten und ist nur gefüllt, wenn eine Data-Description zu diesem Logischen Datentyp erfasst ist. Einem Logischen Datentyp ist genau eine Data-Description-LDT zugeordnet. Die Verknüpfung erfolgt über den identischen Entwicklungsobjektnamen (Namensraum + Name). |
Typ | Auswahl der Art des Logischen Datentyps:
· primitiv, · logisch oder · komplex. Hinweis: |
2.1 Logischer Datentyp vom Typ primitiv
Ein Logischer Datentyp vom Typ primitiv basiert auf primitiven Semiramis-Typen, die jeweils nur einen elementaren Wert annehmen.
Die nachfolgende Liste führt alle Logischen Datentypen vom Typ primitiv und die verwendeten Datentypen in den generierten Java-Klassen auf. Wenn ein Datentyp vom Typ primitiv direkt für eine Attributdefinition verwendet wird, dann entspricht diese genau einer Tabellenspalte in der Datenbank.
Primitiver Typ | Korrespondierender Java Typ |
Binary | byte[] |
Blob | com.cisag.pgm.datatype.CisBlobContainer |
Decimal | com.cisag.pgm.datatype.CisDecimal |
Guid | com.cisag.pgm.datatype.Guid |
SBlob | com.cisag.pgm.datatype.CisStreamableBlob |
Text | java.lang.String |
TimeStamp | java.util.Data |
VarString | Sollte nicht mehr verwendet werden |
Valueset | Short |
boolean | Boolean |
byte | Byte |
char | Char (Unicode) |
long | Long |
short | Short |
string | java.lang.String |
Die Felder des Logischen Datentyps vom Typ primitiv im Einzelnen:
Feld | Erläuterung |
Primitiver Typ | Auswahl der Logischen Datentypen vom Typ primitiv. |
Maximale Länge | Angabe der maximalen Länge eines Datentyps bei folgenden primitiven Datentypen:
· Binary -> Anzahl der Felder Wertebereich 1–4000. · Decimal -> Gesamtlänge der Dezimalzahl Wertebereich 1-100. · String -> Länge der Zeichenkette Wertebereich 1-2000. |
Valueset | Nur beim primitiven Typ Valueset: Angabe eines Valuesets, auf dem der primitive Typ basiert.
Wird der logische Datentyp in einem Business Object verwendet, wird bei der Darstellung der ID die Beschreibung gezeigt. Der logische Datentyp wird im Verwendungsnachweis des Valuesets aufgenommen. |
Nachkommastellen | Nur beim Logischen Datentyp des Typs Decimal: Angabe der Nachkommastellen der Dezimalzahl.
Es wird geprüft, ob die Gesamtlänge der Summe aus Vorkommastellen und Nachkommastellen entspricht. |
Mehrsprachig
(Checkbox) |
Nur beim Logischen Datentyp des Typs String: Durch die Mehrsprachigkeit können zu einem Attribut mehrere Übersetzungen vorliegen.
Diese werden in einem zusätzlich generierten Schema abgelegt. Die Erfassung und Anzeige mehrsprachiger Attribute in der Oberfläche muss explizit programmiert werden. (siehe Dokumentation „Entwicklungsobjekt: Business Object“, NLS-Attribute) |
2.2 Logischer Datentyp vom Typ logisch
Der Logische Datentyp vom Typ logisch stellt eine fachliche Verfeinerung eines anderen Logischen Datentyps dar. Dieser kann auf allen Typen (primitiv, logisch, komplex) basieren. Die Vererbungshierarchie kann keine Zyklen enthalten. Die Vererbung wird im Wesentlichen nur zur Definition von GUI-Eigenschaften verwendet (siehe Dokumentation „Entwicklungsobjekt: Data-Description“).
Beispiel für die Vererbung:
Die folgenden Felder stehen zur Verfügung:
Feld | Erläuterung |
Abgeleitet von | Angabe eines Logischen Datentyps als Basisobjekt.
Der logische Datentyp wird im Verwendungsnachweis des Basisobjekts aufgenommen. |
Maximale Länge | Anzeige der maximalen Länge, wenn es sich beim Basisobjekt um folgende primitiven Typen handelt: Binary, Decimal und String. |
Valueset | Anzeige des zugehörigen Valuesets, wenn es sich beim Basisobjekt um den primitiven Typ Valueset handelt. |
Nachkommastellen | Anzeige der Nachkommastellen, wenn es sich beim Basisobjekt um den primitiven Typ Decimal handelt. |
Mehrsprachig
(Checkbox) |
Anzeige der Mehrsprachigkeit, wenn es sich beim Basisobjekt um den primitiven Typ String oder Text handelt. |
2.3 Logischer Datentyp vom Typ komplex
Dieser Datentyp basiert auf einem Part (siehe Part). Dadurch werden komplexe Attributdefinitionen in Business Objects, Parts und Extensions ermöglicht.
Feld | Erläuterung |
Part | Angabe des Parts, dass vom Logischen Datentyp referenziert wird.
Der logische Datentyp wird im Verwendungsnachweis des Parts aufgenommen. |
Logische und komplexe Typen werden bei der Verwendung in Business Objects, Parts und Extensions entsprechend aufgelöst. Bei einem logischen Typ wird der Logische Datentyp des Basisobjekts verwendet. Bei einem komplexen Typ werden die Attribute des verwendeten Parts eingebunden.
Verwendung der Logischen Datentypen in visuellen Elementen
Dem visuellen Element wird ein Pfad zum Logischen Datentyp im Konstruktor übergeben. Über diesen werden der logische Datentyp und die zugehörige Data-Description aufgelöst. Der Pfad kann direkt auf den Logischen Datentyp verweisen oder auf ein Attribut im Business Object.
Aufbau der Pfade:
- Logischen Datentyp:
<Namensraum>:<Entwicklungsobjektname>.lt
- B.: com.cisag.app:Guid.lt
- Attribut:
<Namensraum>.<BusinessObjectName>:<Attributname> oder
<Namensraum>.<BusinessObjectName>:<Attributname>.atr
- B.: com.cisag.app.general.obj.Partner:name oder
com.cisag.app.general.obj.Partner:name.atr
Der Pfad zu einem Attribut kann auch relativ angegeben werden. Dazu muss der View, dem das visuelle Element hinzugefügt wird, der Pfad zum Business Object angeben werden. Im visuellen Element kann dann der Pfad relativ zum Business Object angegebenen werden.
- View:
<Namensraum>.<BusinessObjectName>:
- B: com.cisag.app.general.obj.Partner:
- Visuelles Element:
.<Attributname>
- B.: .name
Beispiel:
new com.cisag.pgm.gui.TextField( “03A013B4CB2F1E10B6768464960E0000”, “com.cisag.app:Description.lt”)
new com.cisag.pgm.gui.View (“com.cisag.app.obj.BusinessObject:”) new com.cisag.pgm.gui.TextField( “03A013B4CB2F1E10B6768464960E0000”, “.description.lt”)