Instruction facultative de l’instruction OBJECT qui définit les propriétés de l’objet.
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 ;];]};]
Nom de la table de la base de données qui stocke les valeurs associées aux attributs de l’objet. Si le nom de la table n’est pas spécifié, on utilise obj_name de l’instruction OBJECT.
Nom de l’attribut. Chaque attribut correspond généralement à un champ (colonne) de la table de base de données.
Il s’agit du nom du champ dans la table de la base de données ou LOCAL si l’attribut n’est pas mis en correspondance avec un champ, ou DERIVED (derived-expr) si l’attribut est dérivé d’autres attributs. Si vous ne précisez pas LOCAL, DERIVED et un nom de champ, ce dernier est supposé être le même que celui de l’attribut.
Une variable déclarée comme DERIVED est générée uniquement lorsque sa valeur est extraite. L’opérande de DERIVED contient la liste des noms d’attributs et des constantes de chaîne, séparés par des espaces. Tous les attributs dans une valeur dérivée doivent être des valeurs simples (c’est-à-dire qu’il ne doit pas s’agir de valeurs xREL), et ils doivent être déclarés avant la variable dérivée. La valeur de l’attribut dérivé est la concaténation des valeurs de ses composantes.
Les constantes de chaîne dans une expression dérivée peuvent contenir des références à des variables d’environnement, sous l’une des formes suivantes :
${var}
${var#pattern}
${var#pattern#replacement}
Ces spécifications sont remplacées par la valeur de la variable d’environnement lors du démarrage du processus domsrvr. L’opérande #pattern est facultatif. S’il est indiqué, il est traité comme une expression régulière, et il est remplacé chaque fois qu’il apparaît dans la valeur de la variable d’environnement. Si l’opérande #replacement n’est pas spécifié, sa valeur par défaut est nulle (NULL). Le modèle ne peut pas contenir le symbole # étant donné qu’il s’agit d’un délimiteur fixe. L’utilisation des attributs dérivés dans d’autres messages n’est soumise à aucune restriction. Les attributs dérivés se comportent de la même manière que les attributs standard. Une liaison interactive pour une valeur dérivée est déclenchée chaque fois que l’un des attributs sur lesquels elle repose change.
Identifie le type de données de la valeur de l’attribut comme suit :
Si STRING est spécifié, vous pouvez définir la taille à l’aide d’un nombre entier placé après STRING. Si aucune taille n’est spécifiée, le système utilise celle figurant dans la base de données.
La valeur UUID est composée de 16 octets de données binaires qui sont utilisées comme identificateur unique pour certains enregistrements de base de données.
SREL fait pointer l’attribut vers un autre objet. Si SREL est spécifié, vous devez définir obj2_name pour identifier l’objet auquel l’attribut fait référence.
srel_name spécifie un SREL « nommé ». Tout comme un SREL « simple », un SREL « nommé » est un type d’attribut OBJECT MAJIC qui représente une relation, qui identifie de manière unique une ligne d’une autre table (ob2_name). En général, un attribut SREL « simple » est mis en correspondance avec le champ « id » d’une autre table. En revanche, un SREL « nommé » met en correspondance au moins deux attributs (name, name2, …) avec au moins deux attributs de la table référencée qui identifient de manière unique une ligne de la table référencée.
Définit l’accès à l’attribut. Les valeurs valides sont :
|
Valeur |
Description |
|---|---|
|
CONST |
Modification impossible |
|
PRIVATE |
Lecture seule |
|
PUBLIC |
Accès en lecture/écriture (valeur par défaut) |
|
WRITE_NEW |
Peut être écrit uniquement lors de la création de l’objet, avant son enregistrement. |
Indique l’état de l’attribut, comme suit :
Spécifie une chaîne à utiliser à la place du nom de l’attribut dans les messages concernant cet attribut ; par exemple, « attribut obligatoire manquant »
Utilisez l’une de ces instructions uniquement lorsque value_type a la valeur INTEGER, STRING, DATE ou SREL.
Indique que la valeur d’un attribut doit être définie lors de la création de l’objet :
|
Valeur |
Description |
|---|---|
|
DEFAULT |
Modifie une valeur NULL actuelle en value ou NOW. |
|
SET |
Modifie toute valeur actuelle en value ou NOW. |
|
value |
Spécifie une valeur numérique ou de chaîne, selon le type de données de l’attribut. |
|
MAINTENANT |
Spécifiez NOW si l’attribut est de type DATE, afin de le définir aux date et heure actuelles. |
Dans l’exemple suivant, 90 est la valeur par défaut définie lors de la création de l’objet :
ON_NEW DEFAULT 90 ;
Indique que vous devez définir la valeur d’un attribut lorsqu’il est intégré dans la base de données. Reportez-vous à la description de chaque paramètre de ON_NEW.
Indique que vous devez définir la valeur d’un attribut lors de son instanciation à partir de la base de données. Reportez-vous à la description de chaque paramètre de ON_NEW.
Cet exemple définit des attributs portant des noms tels que start_date, dont les valeurs sont stockées dans les champs tels que nlh_start dans la table Notify_Log_Header de la base de données. Les noms des champs sont suivis du type de données de chaque attribut. Des paramètres facultatifs définissent l’accès à certains des attributs, indiquent si l’attribut est obligatoire et précisent quand définir la valeur de certains attributs aux date et heure actuelles.
Par exemple, vous définissez un attribut nommé last_mod ; sa valeur est définie aux date et heure actuelles lorsque l’attribut est intégré dans la base de données. Un attribut nommé contact est également défini ; sa valeur est une relation unique stockée dans le champ nlh_c_addressee de la base de données. L’objet référencé est 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.
Tous droits réservés.
|
|