PsiDat has a number of features that enable it to create useful applications. Some of these features are described below :-
1. User-defined load banners embedded in the database.
2. The example database table collection showing the PsiDat extensions :- 'zPsiDatFieldInfo' (used to store alias names, formulae, formatting information and field enhancements), and ('zPsiDatDefaults' used to save banner and database opening information).
3. This is the dialog used to define the user information and optional startup banner. You can also specify which table to load on startup. In the absence of an EPOC picture banner, a text banner similar in style to the default PsiDat banner - but using the application information shown above - would be displayed.
4. The Field Properties 'Calculation' option for numeric fields can contain a flag to indicate that a new record should insert a value incremented from the last record displayed. Flags should not be used in numeric fields that have the 'calculation' option enabled in the 'Special Use' choice field. You can also use the <CD> flag described in 6.
5. This 'Calculation' string is more often used for entering formulae for calculated fields. All numeric fields can use calculations but only the real types (8 & 9) can also specify the number format as shown above. Any valid OPL EVAL expression can be used with referenced field numbers enclosed in square parentheses. The calculations can compare date fields or string fields (provided that the resulting expression is not too long).
6. The 'Calculation' string, or (in the case of text fields) 'Ref Table' string, can also contain additional flags to indicate that a new record 'Copies Down' the value from the last displayed record. This saves re-entry of data when it is likely to be the same as the last field entered.
7. The 'Ref Table' contains the table name of a mandatory 'lookup' or optional 'help' list. These are just tables within the database consisting of a single string field (or multiple fields with at least one string field) which should ideally match the string length in the target table. In this example the 'Ref Table' for the 'Process' field was specified as :-
where 'Processes' is the name of a table containing these four lookups. The tab character must be used to separate the lookup table name and the <CD> flag if used.