Custom designs are a main service.
My name is James Wayne. I live in ... the Netherlands
Screens
Menus
Components
Actions
In the next table the actions starting with FILNAM may contain maximally 3 parameters indicated by
These parameters represent sub-strings, that, after substitution, are concatenated to form the filename.
| Actions | Description |
|---|---|
| IF...ELSE_IF...ELSE...END_IF | If structure. |
| DO_WHILE...END_WHILE | While structure. |
| BEGIN_RELATIONS | Start with the first datamodel table. |
| END_RELATIONS | Continue with the next datamodel table, until no table is found anymore. |
| ATR_BEGIN | Start with the first field for the active datamodel table. |
| ATR_END | Continue with the next field of the active datamodel table, until no field is found anymore. |
| FOR ALL | Start with the first record of Table |
| NEXT_FOR | Continue with the next record of the curent Table. |
| BEGIN_GLOBALS | Start with the first block of global parameters |
| END_GLOBALS | Continue with the next block of global parameters |
| BEGIN_LOCALS | Start with the first block of local parameters |
| END_LOCALS | Continue with the next block of local parameters |
| BEGIN_PARAMETERS | Fetch the parameters of block |
| END_PARAMETERS | Continue with the next block of parameters |
| BEGIN_PARAMETER | Assign parameter |
| INC_PARAMETER | Increment parameter |
| REWIND_PARAMETERS | Restart with the first block of parameters |
IF {condition}
ELSE_IF {condition}
ELSE
END_IF
The IF-structuur enables the optional execution of block of actions.
A condition has the following form:
{var1} {relational operator} {var2}
The variables {var1} and {var2} are substitution-variables.
The {relational operator} can have the following values:
EQ equal to
GE greater or equal to
GT greater than
LE less than or equal to
LT less than
NE not equal to
EQN equal to (numerically)
GEN greater or equal to (numerically)
GTN greater than (numerically)
LEN less than or equal to (numerically)
LTN less not equal to (numerically)
DO_WHILE {condition}
END_WHILE
The DO_WHILE structure enables the execution of a block of actions, while the condition is true. One of the actions in the block of actions must change the condition to prevent an endless loop.
To understand the other loop-structures, the kind of objects involved will be described.
The following objects have corresponding loop-structures:
Datamodel structures
Parameter structures
Context structures.
BEGIN_RELATIONS
END_RELATIONS
Table data dictionary loop-structures are used to process tables of relational data models. The loops will iterate over Tables.
To iterate over Tables the following commands are available.
BEGIN_RELATIONS - Start with the first table of the current data model
END_RELATIONS – Continue with the next table of the current data model (unless all tables have been processed).
The BEGIN_RELATIONS … END_RELATIONS structure enables the execution of a block of actions, for all tables in the data model. A number of substitution-variables (concerning table meta-attributes) can be used within the block of actions (See Substitution-variables – Template variables)
ATR_BEGIN
ATR_END
Within a BEGIN_RELATIONS … END_RELATIONS structure the Attribute data dictionary loop-structures are used to process attributes of relational data models. The loops will iterate over Attributes of Tables.
To iterate over Attributes of Tables the following commands are available.
ATR_BEGIN - Start with the first attribute of the current data model table
ATR_END - Continue with the next attribute of the current data model table (unless all attributes have been processed).
The ATR_BEGIN … ATR_END structure enables the execution of a block of actions, for all attributes in the current data model table. A number of substitution-variables (concerning attribute meta-attributes) can be used within the block of actions (See Substitution-variables – Template variables)
FOR ALL {Context Object} [{attribute name} {%attribute value%}]
NEXT_FOR
The FOR ALL … NEXT_FOR loop-structures are used to process records of tables containing actual data. The loops will iterate over Records of a Table of an Context Object.
An Context Object is stored in a pair of plain text files:
A STR-file {NAME}.STR: contains a (maximum number of) attribute names.
A TAB-file {NAME}.TAB: contains records of values of attributes.
The optional filter {attribute name} {%attribute value%} enables the joined nesting of FOR … NEXT loops, where {attribute name} is de name of an attribute of the inner loop tables and {%attribute value%} is a value of the name of an attribute of the outer loop table.
Of course, it is easier to skip the optional part and use an extra IF statement to create the join-filter.
BEGIN_GLOBALS
END_GLOBALS
The BEGIN_GLOBALS … BEGIN_GLOBALS loop-structure is used to process blocks of global associations. The loops will iterate over blocks of records with name and value. The parameters can be used as general system variables.
To iterate over blocks of global environment variables the following commands are available.
BEGIN_GLOBALS - Start with the first block of global environment variables
END_GLOBALS - Continue with the next block of global environment variables (unless blocks of global environment variables have been processed).
BEGIN_LOCALS
END_LOCALS
Within the BEGIN_GLOBALS … BEGIN_GLOBALS structure the BEGIN_LOCALS … BEGIN_LOCALS loop-structure is used to process blocks of local associations. The loops will iterate over blocks of records with name and value. The parameters can be used as general system variables.
To iterate over blocks of local environment variables the following commands are available.
BEGIN_LOCALS - Start with the first block of local environment variables
END_LOCALS - Continue with the next block of local environment variables (unless blocks of local environment variables have been processed).
Next to the structures described a number of extra actions on parameters are defined for the manipulation of blocks of parameters.
BEGIN_PARAMETERS {block_name} - Start with parameter-block called in {block_name}.
END_PARAMETERS – Continue with the next block of parameters.
If you like the header, it can be found here.
If you are using firefox, put your cursor over the logo. But for some reason IE does not like image rollover effects. Its not that big of a deal.
Google