fileglobal
fileglobal
VARIABLES

The fileglobal statement creates one or more fileglobal variables.

Parameters

This statement has one parameter:

variables – is a list of variables to be created. Each variable should be separated from the next by a comma. If a variable name contains spaces or punctuation, or begins with any character except a letter or underscore, it should be surrounded by chevron (« ») characters.

Description

The fileglobal statement creates one or more global variables that are specific to the current database. File global variables may be used by any procedure as long as the same database is open, and remain active until you close the database.

The fileglobal statement reduces that chance for conflict between databases. If two different databases define a global variable with the same name, they can conflict with each other. (On the other hand, the two databases can also use the global variable to communicate with each other.)

Fileglobal variables are not shared between databases. If two different databases have fileglobal variables with the same name, they will not conflict with each other. In fact, Panorama will keep two separate variables…one for each database. When you are using the fileglobal statement you don’t have to worry about whether your variable names conflict with variables in any other database. (You do still need to worry about conflicts with field names, however. You should not define a fileglobal variable with the same name as one of the fields in your database.)

#### Globals vs. File Globals

Since using fileglobal eliminates conflicts, why would you ever use the global statement to define variables? Most of the time you would not, and you may want to review your existing databases and change most or all of the global statements to fileglobals. However, there are two cases where you may want to continue to use global variables.

If you need to share data between multiple databases, a global variable may be the way to go. (However, it is also possible to access fileglobal variables from another file using the fileglobalvalue( function.)

If you need the variable to remain even after the database is closed, use a global variable. Global variables remain active until you quit from Panorama. Variables created with fileglobal disappear when the file is closed.

The example creates two fileglobal variables, Channel and Home Timeouts.

    fileglobal Channel, «Home Timeouts»

You may change the value of a variable with an assignment, like this:

    «Home Timeouts»=«Home Timeouts»-1

However, if you switch to another database, the fileglobal variables can no longer be accessed.

    window "New Zealand" // switch to another db
    Channel=7 // this will produce a runtime error!

Note: If you need to get the value of a fileglobal variable in another database you can use the fileglobalvalue( function.

See Also

- assign( -- assigns a value to a field or variable, also returning the value.
- assignglobal( -- assigns a value to a global variable (creating the variable if necessary).
- cache( -- stores a value in a temporary variable.
- callerslocalvariablevalue( -- allows a subroutine to access a local variable in the procedure that called it.
- cardvalidate -- verifies that a number is a valid credit card number.
- convertvariablestoconstants -- converts all of the variables in a formula into constant values.
- datatype( -- determines what kind of data is in a field or variable: text, number, etc.
- datavalue( -- returns the value of a field or variable: text, number, etc.
- fieldstotextvariables -- copies database fields into variables.
- fileglobalvalue( -- accesses a fileglobal or permanent variable from other databases.
- global -- creates one or more global variables.
- globalvalue( -- returns the value of a global variable.
- increment -- increments a field or variable.
- info("callerslocalvariables") -- returns a list of local variables defined in the procedure that called the current procedure.
- info("filevariables") -- builds a carriage return separated text array containing a list of the currently allocated fileglobal variables in the current database.
- info("globalvariables") -- builds a carriage return separated text array containing a list of the currently allocated global variables.
- info("localvariables") -- builds a carriage return separated text array containing a list of the currently allocated local variables.
- labelize( -- returns the value of a field or variable along with a label. This saves typing when you need to display fields or variables when logging and debugging.
- labelizeformula( -- returns the value of a formula along with the formula itself as a label.
- labelizeinfo( -- returns the value of an info( function, along with the function itself as a label.
- local -- creates one or more local variables.
- localparameters -- creates one or more local variables and assigns parameter values to them.
- localvalue( -- returns the value of a local variable.
- makefileglobals -- creates one or more fileglobal variables, and assigns a value to each new variable.
- makeglobals -- creates one or more global variables, and assigns a value to each new variable.
- makelocals -- creates one or more local variables, and assigns a value to each new variable.
- permanent -- creates one or more permanent variables.
- savelocalvariables -- saves local variables as a procedure.
- scopes( -- returns the current scope of a variable, as well as any hidden scopes.
- scopevalue( -- returns the value of a variable in the specified scope.
- setcallerslocal -- allows a subroutine to modify a local variable in the procedure that called it.
- setfileglobal -- sets the value of a fileglobal variable (optionally in another database).
- setfilevariable -- sets the value of a fileglobal variable in another database.
- setpermanentvariable -- sets the value of a permanent variable in another database. The database must be open. An empty value will choose the currently active database.
- setwindowglobal -- sets the value of a windowglobal variable (optionally in another window).
- showvariables -- forces Panorama to update the display of one or more variables on every form in the active database.
- showwindowvariables -- forces Panorama to update the display of one or more variables in the currently active form.
- tokenname( -- returns the name of a field or variable (instead of the value contained in the field or variables).
- undefine -- destroys one or more variables.
- undefinefileglobal -- destroys one or more fileglobal variables.
- undefineglobal -- destroys one or more global variables.
- undefinewindowglobal -- destroys one or more windowglobal variables.
- unpermanent -- converts one or more permanent variables into regular fileglobal variables. The variables will no longer be saved as part of the database.
- windowglobal -- creates one or more windowglobal variables.
- windowglobalvalue( -- accesses a windowglobal variable from other windows.

History

Version | Status | Notes
10.0 | No Change | Carried over from Panorama 6.0