Defining attributes
After defining the structures, one may start defining attributes. In order to define attributes, select the structure to be completed in the tree and select the Members tab in the right side form. Then you select Attributes in the tab row below.
Now, one may start entering attributes in the list below by pressing the list toolbar insert button or selecting Insert from the context menu for the attributes list.

One may select a type from the type list or one may enter the type after the attribute has been created. Typically, STRING or CHAR is used for text data and INT or REAL for numeric data.
After creating an attribute, the Empty value option is switched on by default. The empty value concept in ODABA differs from NULL values in a relational database in the sense, that empty values are 0 for numeric values, and empty strings for character and MEMO (CLOB) values. For Boolean ( LOGICAL ) values, false is considered as empty, and thus, Boolean values should always allow empty values.
The Transient option might be switched on in order to define an attribute not stored in the database but calculated at run-time. When defining transient attributes, one may either define a source expression in the source list or one may calculate the derived value in an appropriate context function (typically in the doAfterRead() handler).
More options and features are described in the data model reference guide and should be handled with care. Leaving the default settings is a save way, as long as no specific requirements request special settings.

