Type
Procedural Command


Purpose
The end command marks the end of the span of control of other processing and/or procedural commands.

Syntax
ACTION 1 .
ACTION 2 .
.
.
ACTION N .
end

Usage
An end command is required following the last specified action invoked by a for, case, if, or while command.
When multiple procedural commands are used in a script, the proper positioning of end commands is critical to correct processing. Each end command refers to the most recent procedural command in the script. Each procedural command controls processing of the script until it reaches its matching end command (see Example 2).
Example 1
for MEMBERS ;
list records
LAST NAME ;
TOTAL DUE .
end

This script tells DataEase: Process all the MEMBERS records and list each member's LAST NAME and TOTAL DUE in the report output.

Example 2
for MEMBERS ;
if highest of RESERVATIONS DATE < 01/01/99 then
delete records
else
delete records in RESERVATIONS
with ( DATE < 01/01/99)
end
if highest of RESERVATIONS DATE >= 01/01/99 then
list records
LAST NAME in order ;
highest of RESERVATIONS DATE .
end
end

This script tells DataEase: (1) For each MEMBERS record, find the most recently dated record in the related RESERVATIONS table, (2) if the most recent reservation is dated before January 1st, 1999, delete the MEMBERS record, (3) if a member's most recent reservation is dated on or after January 1st, 1999, delete all of that member's RESERVATIONS records dated prior to 1999, and (4) for all members with reservations dated on or after January 1st 1999, list the members in order by LAST NAME and show the date of each member's most recent reservation.
Notice that for each if command in the script, there is a corresponding end command. The first end marks the end of the if command that selects which records to delete. The second end marks the end of the if command that selects which records to include in the report output. The third end marks the end of the for command that selects the records from the Primary table.