ATTRIBUTE statements are used to establish, maintain, delete, display, and punch attributes. Optional clauses:
All entity-occurrence documentation options described in Chapter 3 are supported.
Syntax
ATTRIBUTE Statement
►►─┬─ ADD ─────┬─ ATTribute name is attribute-name ───────────────────────────► ├─ MODify ──┤ ├─ REPlace ─┤ └─ DELete ──┘ ►─┬───────────────────────────┬──────────────────────────────────────────────► └─ WITHin class class-name ─┘ ►─┬────────────────────────────────────────────────────────┬─────────────────► └─┬─ PREpared ─┬─ by user-id ─┬────────────────────────┬─┘ └─ REVised ──┘ └─ PASsword is password ─┘ ►─┬──────────────────────────────────┬───────────────────────────────────────► └─ NEW NAMe is new-attribute-name ─┘ ►─┬────────────────────────────────┬─────────────────────────────────────────► └─ deletion LOCk is ─┬─ OFF ◄ ─┬─┘ └─ ON ────┘ ┌─────────────────────────────────────────────────────────────────┐ ►─▼─┬─────────────────────────────────────────────────────────────┬─┴────────► └─┬─ INClude ◄ ─┬─ USEr is user-id ──┬──────────────────────┬─┘ └─ EXClude ───┘ └─ user-specification ─┘ (for complete user-specification syntax, see USER clause) ►─┬──────────────────────────────────────────────────────┬───────────────────► └─ PUBlic access is ─┬───────────┬─ for ─┬─ ALL ◄ ───┬─┘ └─ ALLOwed ─┘ ├─ NONe ────┤ ├─ UPDate ──┤ ├─ MODify ──┤ ├─ REPlace ─┤ ├─ DELete ──┤ └─ DISplay ─┘ ┌────────────────────────────────────────────────────────────────────────┐ ►─▼┬──────────────────────────────────────────────────────────────────────┬┴─► └┬─ INClude ◄ ─┬─ class-name is attribute-name ─┬────────────────────┬─┘ └─ EXClude ───┘ └ TEXt is user-text ─┘ ┌────────────────────────────────────────────────────────────────────────── ►─▼─┬────────────────────────────────────────────────────────────────────────►─ └─┬─ INClude ◄ ─┬─ relational-key is ─┬─────────────┬ attribute-name ──── └─ EXClude ───┘ └─ ATTribute ─┘ ───────────────────────────────────────────────────────────┐ ─►─────────────────────────────────────────────────────────┬─┴────────────────► ─┬────────────────────────────┬─┬──────────────────────┬─┘ └─ WITHin class class-name ──┘ └─ TEXt is user-text ──┘ ┌────────────────────────────────────────────────────────────────────────── ►─▼─┬────────────────────────────────────────────────────────────────────────►─ └─┬─ INClude ◄ ─┬─ relational-key is class-name is attribute-name ─────── └─ EXClude ───┘ ───────────────────────────┐ ─►─────────────────────────┬─┴────────────────────────────────────────────────► ─┬─────────────────────┬─┘ └─ TEXt is user-text ─┘ ┌────────────────────────────────────────────────────────────────────────── ►─▼─┬────────────────────────────────────────────────────────────────────────►─ └─┬─ INClude ◄ ─┬─┬─ entity-type-name ─┬─ is entity-occurrence-name ───── └─ EXClude ───┘ └─ USER-ENtity ──────┘ ─────────────────────────────────────────────────────────────────┐ ─►───────────────────────────────────────────────────────────────┬─┴──────────► ─┬───────────────────────────────────┬─┬─────────────────────┬─┘ └─ Version is ─┬─ version-number ─┬─┘ └─ TEXt is user-text ─┘ ├─ HIGhest ────────┤ └─ LOWest ─────────┘ ┌───────────────────────────────────────────────────────────────┐ ►─▼─┬───────────────────────────────────────────────────────────┬─┴──────────► │ ┌────────────────────┐ │ └─ EDIt ─┬─ COMments ────┬───▼─ edit-instruction ─┴─ QUIT ──┘ ├─ DEFinition ──┤ └─ comment-key ─┘ ┌──────────────────────────────────────────────────┐ ►─▼─┬─────────────────────────────────────────────┬──┴───────────────────────►◄ └─┬─ COMments ─────┬── is ─┬─ NULl ─────────┬─┘ ├─ DEFinition ───┤ └─ comment-text ─┘ └─ comment-key ──┘
DISPLAY/PUNCH ATTRIBUTE Statement (for a single attribute)
►►─┬─ DISplay ─┬─ ATTribute name is attribute-name ───────────────────────────► └─ PUNch ───┘ ►─┬───────────────────────────┬──────────────────────────────────────────────► └─ WITHIn class class-name ─┘ ►─┬───────────────────────────────────────────────────┬──────────────────────► └─ PREpared by user-id ─┬─────────────────────────┬─┘ └─ PASsword is password ──┘ ┌───────────────────────────────────────────────────────────┐ ►─▼─┬───────────────────────────────────────────────────────┬─┴──────────────► │ ┌──────────────────────────────────┐ │ └─┬─ WITh ──────┬──▼──┬─ ALL COMment TYPes ─────────┬─┴─┘ ├─ ALSo WITh ─┤ ├─ ALL ◄ ─────────────────────┤ └─ WITHOut ───┘ ├─ ATTributes ────────────────┤ ├─ DEFinitions ───────────────┤ ├─ DEStinations ──────────────┤ ├─ DETails ───────────────────┤ ├─ ELements ──────────────────┤ ├─ ENTRy points ──────────────┤ ├─ FILes ─────────────────────┤ ├─ HIStory ───────────────────┤ ├─ LINes ─────────────────────┤ ├─┬─ LOGical-terminals ─┬─────┤ │ └─ LTErms ────────────┘ │ ├─ MAPs ──────────────────────┤ ├─┬─ MODules ──────┬──────────┤ │ ├─ MODules ONLy ─┤ │ │ ├─ PROCesses ────┤ │ │ ├─ QFIles ───────┤ │ │ └─ TABles ───────┘ │ ├─ NONe ──────────────────────┤ ├─┬─ PANels ──┬───────────────┤ │ └─ SCReens ─┘ │ ├─┬─ PHYsical-terminals ─┬────┤ │ └─ PTErms ─────────────┘ │ ├─ PROCesses ─────────────────┤ ├─ PROgrams ──────────────────┤ ├─ QFIles ────────────────────┤ ├─ QUEues ────────────────────┤ ├─ RECords ───────────────────┤ ├─ REPorts ───────────────────┤ ├─┬─ SYStems ──────┬──────────┤ │ └─ SUBSYstems ───┘ │ ├─ TABles ────────────────────┤ ├─ TASks ─────────────────────┤ ├─ TRAnsactions ──────────────┤ ├─ USErs ─────────────────────┤ ├─┬─ USEr DEFINED COMments ─┬─┤ │ └─ UDCs ──────────────────┘ │ ├─┬─ USEr DEFINED NESts ─┬────┤ │ └─ UDNs ───────────────┘ │ └─ WHEre USED ────────────────┘ ►──┬─────────────────────────────────────────────────────────────────────────►─ └─ TO ─┬─ SYSpch ───────────────────────────────────────────────────────── └─ MODule module-name ─┬───────────────────────────────────┬─────── └─ Version is ─┬─ version-number ─┬─┘ ├─ HIGhest ────────┤ └─ LOWest ─────────┘ ─►──────────────────────────────────────────────────────────────────────────┬─► ─────────────────────────────────────────────────────────────────────────┬┘ ─┬──────────────────────┬┬──────────────────────────────────────────────┬┘ └ LANguage is language ┘└ PREpared by user-id ┬───────────────────────┬┘ └ PASsword is password ─┘ ►─┬──────────────────────┬──┬─────────────────────┬──────────────────────────►◄ └─ VERB ─┬─ DISplay ─┬─┘ └─ AS ─┬─ SYNtax ───┬─┘ ├─ PUNch ───┤ └─ COMments ─┘ ├─ ADD ─────┤ ├─ MODify ──┤ ├─ REPlace ─┤ └─ DELete ──┘
DISPLAY/PUNCH ATTRIBUTE Statement (for multiple attributes)
►►─┬─ DISplay ─┬─┬─ ALL ──────────────────────────┬─ ATTributes ──────────────► └─ PUNch ───┘ └─┬─ FIRst ─┬─┬─ 1 ◄ ──────────┬─┘ ├─ NEXt ──┤ └─ entity-count ─┘ ├─ LASt ──┤ └─ PRIor ─┘ ►─┬──────────────────────────────────────────────────┬───────────────────────► └─ PREpared by user-id ─┬────────────────────────┬─┘ └─ PASsword is password ─┘ ►─┬─────────────────────────────────┬────────────────────────────────────────► └─ WHEre conditional-expression ──┘ (for complete conditional-expression syntax, see WHERE clause) ►─┬──────────────────┬───────────────────────────────────────────────────────► └─ BY ─┬─ SET ◄ ─┬─┘ └─ AREa ──┘ ►─┬──────────────────────────────────────────────────────────────────────────►─ └─ TO ─┬─ SYSpch ────────────────────────────────────────────────────────── └─ MODule module-name ─┬───────────────────────────────────┬──────── └─ Version is ─┬─ version-number ─┬─┘ ├─ HIGhest ────────┤ └─ LOWest ─────────┘ ─►──────────────────────────────────────────────────────────────────────────┬─► ─────────────────────────────────────────────────────────────────────────┬┘ ─┬──────────────────────┬┬──────────────────────────────────────────────┬┘ └ LANguage is language ┘└ PREpared by user-id ┬───────────────────────┬┘ └ PASsword is password ─┘ ►─┬──────────────────────┬──┬──────────────────────────────────────┬─────────►◄ └─ VERB ─┬─ DISplay ─┬─┘ └─ AS ─┬─ SYNtax ───┬──┬─────────────┬─┘ ├─ PUNch ───┤ └─ COMments ─┘ └─ RECursive ─┘ ├─ ADD ─────┤ ├─ MODify ──┤ ├─ REPlace ─┤ └─ DELete ──┘
Parameters
Identifies a new attribute to be established within an existing class or an existing attribute to be modified, replaced, deleted, displayed, or punched. Attribute-name must be a 1- through 40-character value that is unique within the specified class.
References an existing class. Class-name must be a 1- through 20-character alphanumeric value. WITHIN CLASS is a required parameter within ADD statements and is required within MODIFY, REPLACE, DELETE, DISPLAY, and PUNCH statements if the named attribute is not unique in the dictionary.
Specifies a new name for the requested attribute. New-attribute-name must conform to the rules for attribute-name, as described above. This clause changes only the name of the attribute; it does not alter or delete any previously defined relationships between the attribute and any class or entity. Subsequent references to the attribute must specify the new name. The attribute cannot be renamed if DELETION LOCK IS ON is specified.
Allows or disallows the deletion or renaming of named attributes.
Permits the user to delete or rename the named attribute. Attributes within the predefined classes LANGUAGE and MODE cannot be deleted if they are connected to any other entity, even if the deletion lock is off. OFF is the default.
Prohibits the user from deleting or renaming the named attribute. If DELETION LOCK IS ON is specified, a MODIFY ATTRIBUTE statement specifying DELETION LOCK IS OFF must be submitted before the attribute can be deleted or renamed.
Associates the named attribute with another attribute through a previously defined relational key. The keyword ATTRIBUTE is required only if attribute-name matches an existing class name.
Specifies a class name when the named attribute participates in more than one class; class-name must reference an existing class.
Associates the named attribute with another attribute through a previously defined relational key.
Relates the named attribute directly to the specified occurrence of the named entity type. USER-ENTITY relates the attribute to the specified user as an attribute of that user.
Includes or excludes the specified options when the named attribute is displayed or punched. Detailed information for each DISPLAY/PUNCH option is under SET OPTIONS Syntax. The options that are listed below present special considerations for this entity type.
Includes the DELETION LOCK specification.
Includes all attributes with which the named attribute is associated. Because attributes can be connected to many entities, a DISPLAY WITH ATTRIBUTES request can generate substantial output.
Usage
Considerations for assigning attributes
The following considerations apply to assigning attributes to a class:
If you specify REPLACE
If you specify REPLACE, the DDDL compiler initializes to defaults and/or excludes the following options:
The following relationships are not affected:
Examples
Assuming that class ENTITY-STATUS and user DBA exist in the dictionary, the following statement defines attribute DESIGN within ENTITY-STATUS, sets the attribute deletion lock on, and supplies comment text.
add attribute design within class entity-status
prepared by dba password is 'ice 9'
deletion lock is on
comments 'designates design occurrences'.
The following statement modifies the definition of the attribute DESIGN, disabling the deletion lock in order to rename the attribute.
modify attribute design
revised by dba password is 'ice 9'
deletion lock is off
new name is proposed
deletion lock is on
comments 'designates proposed occurrences'.
The following statement requests the DDDL compiler to display the attribute PRODUCTION along with any programs to which PRODUCTION is related.
display attribute production
with programs.
The following statements request the DDDL compiler to disable the deletion lock and to delete the attribute PROPOSED.
modify attribute proposed
revised by dba password is 'ice 9'
deletion lock is off.
delete attribute proposed.
prepared by dba
password is 'ice 9'.
The following statement defines the attribute LAUREL PIPPEN within class STUDENT and relates Laurel Pippen to the Hartwell School by means of a class/attribute structure (SCHOOL is the class; HARTWELL is the attribute).
add attribute 'laurel pippen' within class student
school is hartwell.
|
Copyright © 2014 CA.
All rights reserved.
|
|