Type
Keyword


Purpose
The keyword global specifies a global variable.
A variable is used to store a value such as a text string or a calculated result that can change during the processing of a procedure. By specifying the variable's name in a script, the stored value can be used like any other value.
The status of a variable can be global (denoted by the keyword global) or temporary (denoted by the keyword temp).
A temporary variable can hold a value only while processing the current script.
A global variable can pass its value from one script to another within a Control procedure. To pass a value from one script to another, a variable must be defined identically in each script.

Syntax
global VARIABLE NAME

Usage
When processing a Control procedure that links two or more Processing procedures, each global variable with the same name and type is considered the same variable and can pass its value from one Processing procedure to another.
Example
define global "INCOME" Number .
define global "EXPENSE S" Number .
define global "PROFI T" Number .
run procedure "MONTHLY TOTALS" .
if global INCOME > global EXPENSES then
run procedure "PAYROLL BONUS" .
else
run procedure "REGULAR PAYROLL" .
end

This script is a Control procedure that tells DataEase: (1) Create (define) three global variables called INCOME, EXPENSES, and PROFIT to store three different numbers while processing the script, (2) run the MONTHLY TOTALS procedure. The MONTHLY TOTALS procedure (shown below) calculates the total income and expenses for the month and subtracts the latter from the former to determine the amount of profit. As each of these totals is calculated, it is assigned to the appropriately named global variable, (3) if the INCOME variable is greater than the EXPENSES variable, run the PAYROLL BONUS procedure using the value stored in the PROFIT variable to calculate each employee's bonus (a percentage of the profit based on the employee's salary level), and (4) if the INCOME variable is not greater than the EXPENSES variable, run the REGULAR PAYROLL procedure.
The MONTHLY TOTALS Processing procedure looks like this:
Example
define global "INCOME" Number .
define global "EXPENSES" Number .
define global "PROFIT" Number .
assign global INCOME := sum of RESERVATIONS
with ( DATE between 06/01/01 to 06/30/01) TOTAL DUE .
assign global EXPENSES := sum of EXPENDITURES
with ( DATE between 06/01/01 to 06/30/01) TOTAL COST . assign global PROFIT : = global INCOME - global EXPENSES .
end

The key feature of this example is the fact that the global variables are identically defined in the Processing procedure which calculates the value of each variable and in the Control procedure which passes these values from one Processing procedure to another.