Declaring Runtime Attributes
A server data member other than a relation can be declared as a runtime attribute, that is, as an attribute of a runtime type. As was said earlier about runtime relations, you do not have to declare each non-relation data member of a class as a runtime attribute, only those that will be used in dynamic view specifications.
-
Basic macros are used to declare runtime attributes related to entry or derived data members. These attributes are associated with the accessors and modifiers (entry data members only) supplied in the Server class templates for entry and derived data members.
-
Extended macros let you redefine your own access and/or modifier functions to be associated with runtime attributes. They can also be used to declare runtime attributes related to a non-server data member (that is, neither an entry data member, nor a derived data member).
The accessor of a runtime attribute is required for interpretation of any dynamic view type specification in which the attribute is referenced, such as:
The modifier (when declared) is executed by the view interpreter as the feedback operation on the server side, and as the update of an associated representation attribute on the component side.
You may want to refer to sections Expression of Representation Attributes and Representation and Propagation Conditions for more information.
As was said earlier about runtime relation macros, an attribute macro should always appear within the block of BEGIN/END macros for the type that holds the attribute.