Specifies the report footing.
Syntax
REPORT FOOTING [TEMPLATE name] reportitem [:format:]
Parameters
| TEMPLATE name | For graphical reports, the name of an optional template to define the layout of the report. |
| reportitem | Any valid expression. Complex expressions must be enclosed in parentheses. When you specify more than one expression, each must be separated from the next by at least one space. |
| format | A set of instructions defining the format for the associated reportitem. Format is enclosed in : (colons) and can consist of any valid combination of format options. |
Comments
Generates a line-oriented footing at the very end of the report, regardless of whether the report itself is line-oriented or column-oriented. To generate column-oriented footings, use the BREAK (Reports) command with a constant expression.
The footing can include individual data values only from the last member of the REPORT FROM set. However, summary data computed over all records in the set (using aggregate functions) can appear in the footing.
See Also
How to Use The Report Generator
PAGE FOOTING
REPORT HEADING
Report Item Format Options
Compiles an application program.
Syntax
COMPILE progdocname
Parameters
| progdocname | The name of the application document that contains the application program to be compiled. |
Comments
The COMPILE command reads the program compiles it, and stores the compiled version in a separate disk file. The source program is then marked as being compiled. Thereafter, the compiled version of the program is used when that program is called.
As the Compiler processes an application program, it reports any errors that it finds in the command statements. The syntactic and semantic checks performed during compilation are identical to those performed when the program is parsed using the PARSE command or when the source program is run interpretively.
If no fatal errors are detected, the Compiler completes the compilation. If a fatal error is detected, the compilation terminates.
The PARSE command should be used before compiling a program to ensure the program is syntactically correct.
The application program is identified as compiled even if errors are encountered during compilation.
The UNCOMPILE command can be used to mark a compile program as “not compiled”. The SET RUNTIME OFF command forces the software to execute all application programs interpretively.
Example
compile MyProg
See Also
$COMPILESTATUS
GENERATE
PARSE
SET COMPILEMODE
SET RUNTIME
SET SQLCOMPILE
Outputs the results of one or more expressions.
Syntax
OUTPUT [expression] [;]
Parameters
| expression | Any valid expression. Complex expressions must be enclosed in parentheses. When you specify more than one expression, each must be separated from the next by at least one space. |
Comments
OUTPUT evaluates expression and sends the result to the current output device. If expression uses fields from the current set, the values are taken from the current member in that set.
OUTPUT sends one line of characters to the current output destination (application document). The software automatically terminates the output line with a carriage return/line feed combination. You can suppress the carriage return/line feed combination by placing a semicolon (;) at the end of the OUTPUT command.
You can redirect output from the terminal using a SET OUTPUT command.
To specify the number of spaces to appear between output values, use a SET COLUMNSPACING command.
Example
To send the values of the variable TestVar and the form field fEmpform.
output TestVar fEmpform.LastName
To send the values from two OUTPUT commands to one line of the application documents MyDoc, enter
set output MyDoc
output TestVar;
output fEmpform.LastName
The following commands cause the character string following OUTPUT to display on the current output device:
output “Please enter your first and last names: “;
input FirstName LastName
Important
If it is needed the issue the INPUT command in the same line as its corresponding text, the colon “:” must be present at the end of the text, just like the example above.
See Also
INPUT
Transfers control to another procedure.
Syntax
TRANSFORM procedurename [(]expression[)]
Parameters
| procedurename | The name of the procedure to which execution control is to be transferred. |
| expression | Parameters or macros for procedurename (formatted as when calling the procedure). |
Comments
TRANSFORM transfers execution control to the specified procedure, but does not return control to the calling procedure once procedurename has finished executing. Control returns instead to the “parent” of the calling procedure.
Example
Consider the following sequence of procedures:
01 procedure Proc1 ( )
02 Proc2 ( ) (Control goes to line 12)
: … more commands …
10 endprocedure
11 %————————
12 procedure Proc2 ( )
13 transform Proc3 ( ) (Control goes to line 23)
: … more commands …
21 endprocedure
22 %———————–
23 procedure Proc3 ( )
24 … more commands …
25 endprocedure (Control goes to line 03)
The normal flow (without TRANSFORM) is Proc1 to Proc2 to Proc3 to Proc2 to Proc1.
The flow for calling with TRANSFORM is Proc1 to Proc2 to Proc3 to Proc1.
See Also
How To Call Procedures
RETURN
STOP
Specifies the page heading for a report.
Syntax
PAGE HEADING [BREAK HEADING indicator] reportitem [:format:]
Parameters
| indicator | Indicator can be OFF Suppresses all break headings at the top of each new report page. LEVEL n Causes the break heading for break level n and below to be displayed at the top of each report page. N is a positive integer. The default value is LEVEL 1 (i.e., all break headings are displayed at the top of each report page). |
| reportitem | Any valid expression. Complex expressions must be enclosed in parentheses. When you specify more than one expression, each must be separated from the next by at least one space. |
| format | A set of instructions defining the format for the associated reportitem. Format is enclosed in : (colons) and can consist of any valid combination of format options. |
Comments
The PAGE HEADING command causes a heading to be displayed at the top of every page of a report. It also controls the display of break headings at the top of each report page. Report items in this command can include individual data values only from the first record to be processed on the current report page.
See Also
BREAK (Reports)
How to Use The Report Generator
PAGE FOOTING
REPORT HEADING
Report Item Format Options
Changes or assigns a password to the current Zim user ID.
Syntax
PASSWORD newpassword [oldpassword]
Parameters
| newpassword | The new password, up to 18 characters. Any characters are valid (i.e., letters, digits, punctuation). $Null is also valid; its effect is to remove a password. Can also be an expression. If necessary, the expression is converted to character format. Complex expressions must be enclosed in parentheses. If the value given for newpassword is longer than 18 characters, only the first 18 characters are used. |
| oldpassword | The current password. When there is no current password, omit oldpassword, or use $Null. Can also be an expression. If necessary, the expression is converted to character format. Complex expressions must be enclosed in parentheses. If the value given for oldpassword is longer than 18 characters, only the first 18 characters are used. |
Comments
The new password takes effect immediately. To remove a password, use a value for newpassword that is $Null.
Password checking is case-sensitive. They must be changed during a read/write transaction because passwords are stored in encrypted form. An attempt to change a password during a read-only transaction fails.
Example
Transaction (Explicit Read Write transaction)
password “$moreprofits” “$profits”
Changes the current user’s password from $profits to $moreprofits.
See Also
Data Types
Case Sensitivity
LOGIN
WHERE
States a condition.
Syntax
WHERE expression
Parameters
| expression | A logic expression using conditional and Boolean operators. |
Comments
WHERE states the conditions that restrict processing in the main command to only certain members of the set specification, contingent on a value within each of the (related) records being considered.
Of all the available (related) records in the record-containing objects, only those records for which the condition is logically true become members of the set.
Example
list all Employees where LastName = Smith and FirstName = J?
The preceding command lists only those employees whose last name is Smith and whose first name starts with the letter J.
See Also
About Boolean Expressions
About Conditional Expressions
ADD
CHANGE
COMPUTE
DELETE
DELETE FROM
INSERT
LIST
REPORT FROM
SELECT
UPDATE
Deletes records from EntitySets or relationships with fields.
Syntax
DELETE [ALL] FROM SQLsetspec [EVALUATE clause] [-> clause]
Parameters
| ALL | Optional. Whether or not you include the ALL argument, all records in SQLsetspec are deleted. |
| SQLsetspec | An SQL set specification. If omitted, records are deleted from the current set (if it exists). |
Comments
DELETE FROM is the SQL version of the DELETE command.
Records cannot be deleted from a composite set. Data cannot be deleted from application documents or forms.
DELETE FROM acts by default on all records in SQLsetspec. By contrast, DELETE acts by default on only the first record in a set.
Warning: You cannot recover data deleted by the DELETE FROM command. If no backup copy of the data exists, the data is permanently lost.
Example
delete from Employees where LastName = “Smith”
Deletes every employee whose last name is Smith.
delete from Fields where Length > (select avg (length) from Fields)
Deletes every field whose length is greater than the average length of all fields.
See Also
$MemberCount
DELETE
EVALUATE
Evaluates expressions while the main command processes a set of records.
Syntax
EVALUATE «expression»
Parameters
| expression | Any valid expression, but usually an assignment using LET and an aggregate function. If expression is complex, it must be enclosed in parentheses. |
Example
change all Employees where LastName = Smith
let Salary = 1.1 * Salary
evaluate (let ExtraCost = $ total(Salary * 0.1))
Determines how much extra money is needed after all employees named Smith are given a 10% pay raise.
let RegTot[1]=0 RegTot[2]=0 RegTot[3]=0
compute Sales
evaluate (let RegTot[RegNum] = RegTot[RegNum] + SalesAmt)
Calculates total sales by region assuming three regions were served by the same sales force.
See Also
ADD
CHANGE
COMPUTE
DELETE
FIND
LET
LIST
REPORT FROM
KEEP
Keeps (retains) some components in a result set while discarding others.
Syntax
KEEP «component»
Parameters
| component | The name of a component found among the objects declared in a set specification. Any number of components can be specified, provided they appear among the declared objects. |
Comments
In certain instances, you want to select records from several objects based on their relationships, but to keep data from only some of those objects. The KEEP subcommand enables you to specify the components whose data is to be kept in the result set.
The specified components of the set specification are kept. Components not kept are discarded, and duplicate records are removed from the set being specified.
Example
find all Employees WorkIn Department
where LastName = “Jones” keep Departments
The department information is kept; all other components are discarded. If the KEEP subcommand were omitted, department information would be repeated for any department where more than one employee named Jones works.
See Also
ADD
CHANGE
COMPUTE
DELETE
FIND
INSERT
LIST
REPORT FROM
SELECT
UPDATE