Die optionale Anweisung der OBJECT-Anweisung, welche die Eigenschaften des Objekts definiert.
ATTRIBUTES [table_name]{
att_name [field_name] value_type [access_type[status_type][DISPLAY_NAME string]]{
[ON_NEW DEFAULT|SET value|NOW ;]
[ON_CI DEFAULT|SET value|NOW ;]
[ON_DB_INIT DEFAULT|SET value|NOW ;];]};]
Der Name der Tabelle in der Datenbank, in der die Werte gespeichert werden, die den Attributen im Objekt zugeordnet sind. Wenn der Tabellenname nicht angegeben ist, wird in der OBJEKT-Anweisung der obj_name verwendet.
Der Name des Attributs. Jedes Attribut ist für gewöhnlich einem Feld (Spalte) in der Datenbanktabelle zugeordnet.
Der Name des Feldes in der Datenbanktabelle oder LOCAL, wenn das Attribut keinem Feld zugeordnet ist, oder DERIVED (abgeleiteter Ausdruck), wenn das Attribut von anderen Attributen abgeleitet ist. Wenn weder LOCAL, DERIVED noch ein Feldname angegeben ist, wird angenommen, dass der Name des Feldes dem Namen des Attributs entspricht.
Eine Variable, die als DERIVED deklariert ist, wird nur erstellt, wenn ihr Wert abgerufen wird. Der Operand von DERIVED enthält eine Liste mit Attributnamen und Zeichenfolgekonstanten, die durch Leerzeichen abgetrennt sind. Alle Attribute in einem abgeleiteten Wert müssen einfache Werte sein (d. h., sie können keine xRELs sein) und müssen vor der abgeleiteten Variablen deklariert werden. Der abgeleitete Wert des Attributs entspricht einer Verkettung der Einzelwerte.
Die Zeichenfolgekonstanten innerhalb eines abgeleiteten Ausdrucks können Referenzen auf Umgebungsvariablen in einem der folgenden Formate enthalten:
${var}
${var#pattern}
${var#pattern#replacement}
Solche Spezifikationen werden durch den Wert der Umgebungsvariablen zur domsrvr-Startzeit ersetzt. Der #pattern-Operand ist optional. Wenn er angegeben ist, wird er als regulärer Ausdruck behandelt und an jeder Stelle, an der er angezeigt wird, im Wert der Umgebungsvariablen ersetzt. Der #replacement-Operand wird standardmäßig auf Null gesetzt, wenn er nicht angegeben ist. Da # ein festes Trennzeichen ist, darf das Muster kein #-Symbol enthalten. Für die Verwendung von abgeleiteten Attributen in anderen Meldungen gibt es keine Einschränkungen. Sie verhalten sich genauso wie Standardattribute. Ein Hotlink für ein abgeleitetes Attribut wird ausgelöst, wenn sich eines der Attribute ändert, von dem er erstellt ist.
Identifiziert den Datentyp des Attributwerts an als:
Wenn STRING angegeben ist, kann die Größe als Ganzzahl nach STRING angegeben werden. Wenn keine Größe angegeben ist, wird der Wert in der Datenbank verwendet.
UUID entspricht binären Daten (16 Byte), die als eindeutiges Kennzeichen für bestimmte Datenbank-Datensätze verwendet werden.
SREL verweist das Attribut auf ein anderes Objekt. Wenn SREL angegeben ist, muss obj2_name angegeben werden, um das Objekt zu identifizieren, auf das das Attribut verweist.
srel_name gibt einen „benannten“ SREL an. Wie ein „einfaches“ entspricht auch ein „benanntes“ SREL einem MAJIC OBJEKT-Attribut, das eine Einzelbeziehung darstellt, die eindeutig eine Zeile in einer anderen Tabelle (ob2_name) identifiziert. Ein „einfaches“ SREL-Attribut wird normalerweise dem Feld „id“ in einer anderen Tabelle zugeordnet, wohingegen ein „benanntes“ SREL zwei oder mehr Attribute (name, name2, …) zu zwei oder mehr Attributen in der referenzierten Tabelle zuordnet, die eindeutig eine Zeile in der referenzierten Tabelle identifizieren.
Definiert den Zugriff auf das Attribut. Gültige Werte sind:
|
Wert |
Beschreibung |
|---|---|
|
CONST |
Kann nicht geändert werden |
|
PRIVATE |
Schreibgeschützt |
|
PUBLIC |
Lese-/Schreibzugriff (Standardwert) |
|
WRITE_NEW |
Kann nur geschrieben werden, wenn das Objekt erstellt wird, bevor das Objekt gespeichert wird. |
Gibt den Status des Attributs an als:
Gibt eine Zeichenfolge an, die anstelle des Attributnamens in Meldungen verwendet wird, die dieses Attribut betreffen (z.B. "Erforderliches Attribut nicht vorhanden").
Verwenden Sie eine dieser Anweisungen, wenn value_type INTEGER, STRING, DATE oder SREL ist.
Gibt an, dass der Wert eines Attributs festzulegen ist, wenn das Objekt zum ersten Mal erstellt wird:
|
Wert |
Beschreibung |
|---|---|
|
DEFAULT |
Ändert den aktuellen Wert NULL in value oder NOW. |
|
SET |
Ändert einen beliebigen aktuellen Wert in value oder NOW. |
|
value |
Gibt einen numerischen Wert oder einen Zeichenfolgewert an, der vom Datentyp des Attributs abhängt. |
|
JETZT |
Geben Sie diesen Wert an, wenn das Attribut den Typ DATE aufweist. Damit wird das Attribut auf das aktuelle Datum und die aktuelle Uhrzeit gesetzt. |
Im folgenden Beispiel entspricht 90 dem Wertsatz als Standardwert, wenn das Objekt erstellt wird:
ON_NEW DEFAULT 90 ;
Gibt an, dass der Wert eines Attributs festzulegen ist, wenn das Attribut in die Datenbank eingecheckt wird. Siehe Beschreibung der einzelnen Parameter für ON_NEW.
Gibt an, dass der Wert eines Attributs festzulegen ist, wenn das Attribut aus der Datenbank instanziiert wird. Siehe Beschreibung der einzelnen Parameter für ON_NEW.
In diesem Beispiel werden Attribute mit Namen wie „start_date“ erstellt, deren Werte in Feldern wie „nlh_start“ in der Tabelle „Notify_Log_Header“ in der Datenbank gespeichert werden. Die Feldnamen werden vom Datentyp jedes Attributs gefolgt. Optionale Parameter definieren den Zugriff auf einige der Attribute und geben an, dass das Attribut erforderlich ist und wann der Wert von einigen der Attribute auf das aktuelle Datum und die aktuelle Uhrzeit einzustellen ist.
Beispiel: Das Attribut „last_mod“ wird definiert. Der Wert des Attributs wird auf das aktuelle Datum und die aktuelle Uhrzeit gesetzt, wenn das Attribut in die Datenbank eingecheckt wird. Darüber hinaus wird das Attribut „contact“ definiert. Der Wert dieses Attributs entspricht einer Einzelbeziehung, die im Datenbankfeld „nlh_c_addressee“ gespeichert wird. Das Objekt, auf das verwiesen wird, lautet cnt:
ATTRIBUTES Notify_Log_Header {
start_date nlh_start DATE WRITE_NEW {ON_NEW DEFAULT NOW;} ;
last_mod DATE {ON_CI SET NOW ;} ;
msg_hdr nlh_hdr STRING 20 WRITE_NEW ;
msg_text nlh_msg STRING WRITE_NEW ;
msg_ack nlh_user_ack STRING ;
contact nlh_c_addressee SREL cnt WRITE_NEW ;
notify_method nlh_cm_method INTEGER WRITE_NEW ;
activity_notify nlh_transition INTEGER WRITE_NEW ;
pri_event nlh_pri INTEGER WRITE_NEW ;
notify_type nlh_type INTEGER WRITE_NEW ;
ack_time nlh_ack_time DURATION ;
status nlh_status INTEGER REQUIRED ;
end_date nlh_end DATE {ON_NEW DEFAULT NOW ;} ;
};
|
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|