Value Variables |
DEVELOPER |
Value Variables
Value Variables are variables that are defined outside of functions, but can be referenced by any function. The permanent value cannot be changed within a function. A Value Variable may be used anywhere a constant is used in logic or as a display only Screen or Report field.
There are two types of Value Variable, standard and company-dependent.
-
A standard Value Variable always has '&' as the first character.
-
A company-dependent Value Variable is prefixed with a three character Company/Division code, followed by a '%'. When referenced in a function, however, the Company/Division code is removed (since it is replaced at run-time with the current Company/Division code), so the first character is '%'. The character after the '&' or '%' is '$', '#', or '!' representing alphanumeric, numeric or wide.
Many of the standard Value Variables distributed with PROIV have '@' as the character after the '$', '#', or '!'. This signifies that they are System Value Variables. Many System Value Variables are cached (see below), and they are not included in exports (so it is not advisable to define new ones, or change the value of existing ones).
A standard Value Variable always contains the same value. The value of a company-dependent Value Variable is dependent upon the Company/Division code in use when the variable is referenced.
The following table provides Value Variable examples:
Type |
Example |
Standard |
&$MyTitle, &#MyNumber, &!MyWide |
Company-dependent |
Definition: PTI&$CompanyName, ABC&$CompanyName, ABC&#CompanyNumber Referenced in functions: &$CompanyName, &#CompanyNumber |
System |
&#@BACK-TAB, &$@MPROMPT |
Note: Some Value Variables are for internal use only. |
&#@BIT0 - &#@BIT63
PROIV provides 64 bits named &#@BIT0 through &#@BIT63. These bits or flags are available to the developer for use in passing conditions among functions. The bits are passed as a COM variable. The ENABLE and DISABLE Logic Commands are used to set or unset the bits, and the BITON and BITOFF commands are used for testing purposes.
System Value Variables Pre-Caching
Many of the System Value Variables are now pre-cached at Session Start in anticipation of their use during a PROIV Session. Pre-caching helps improve the scalability of PROIV applications and its effect depends on the nature of your application and the average number of System Value Variables per function. The System Value Variables are hard coded to a table in the PROIV Virtual Machine. During function load, PROIV looks at the table and if the variables are found, they are read and consequently the System Value Variables file does not need to be read to resolve their value.
Click here to learn more about Value Variable Pre-Caching.
Value Variable |
Description |
When enabled, allows the operator to modify previously entered fields on a cycle in Add or Change mode (non-buffered terminals only). |
|
64 user set bits for passing conditions between functions. |
|
Enables the control of post CALLEXIT processing. |
|
When enabled, Page Mode reports print in contracted format. |
|
When enabled, displays numerics in the form 9.999.999,99. When disabled, displays them in the form 9,999,999.99. |
|
When turned on it enables vertical total accumulation. |
|
When enabled, forces the next field to be in Edit mode rather than Add mode. |
|
When enabled, modifies the currency Display Code such that the full stop/period is used as thousands and thousandths separator, and the comma is used as the decimal point. |
|
When enabled, the Date Display code is set to European format (DDMMYY for input and DD/MM/YY for display). |
|
When enabled, forced help is turned on. |
|
When enabled, forces Field Editing mode to Edit with Insert. |
|
When enabled, allows use of the Interrupt key. When disabled, prevents use of the Interrupt key to exit the function. |
|
When enabled (set), indicates that PROIV in Expanded mode. |
|
When enabled in default logic for a nested cycle, causes it to be processed as an Update. |
|
When enabled, forces next field to not require a Carriage Return terminator. |
|
When enabled, the display of data entered is suppressed. |
|
When enabled, the display of the 'Function Reset In Progress' message during function build is suppressed. |
|
When enabled, reports are output one page at a time followed by the prompt MORE? (Y/N/C). |
|
When enabled, forces the user to enter RETURN before displaying the next screen. |
|
When enabled, instructs system to use specific SQL-SORT capability to improve performance when sorting. |
|
When enabled, the output of detail lines in a logical report is suppressed. |
|
When enabled, prevents use of the CANCEL key to exit a cycle. |
|
Transaction processing. When enabled, suppresses the issuing of commit requests. |
|
Sets the suppress Close Window flag. |
|
When enabled, prevents the operator from cancelling or not completing a cycle. |
|
When enabled in a field after the Last Read Field cancel is suppressed. |
|
When enabled and Calling screen is in a field after the Last Read Field, cancel is suppressed in Calling screen. |
|
When enabled, turns Version 1.4 capability on. |
|
When enabled, EOD functionality is disabled. |
|
When enabled, record-locking behaviour is disabled. |
|
When enabled, indicates the application is running under a Windows-type environment. |
Topic ID: 520188