This document covers the following topics:
| Format/length: | P3 |
| Content modifiable: | Yes (however, a negative value must not be assigned) |
This system variable contains the number of the column in which the cursor is currently positioned.
The cursor position is defined within the currently active window, regardless of its physical placement on the screen, starting with position 1/1 from the upper left corner of a logical page.
If the value of *CURS-COL is negative, this indicates that
the cursor is outside the active window. If *CURS-COL is
negative, *CURS-LINE will also contain a negative value.
In this case, the absolute values of both system variables indicate the position of the
cursor on the physical screen.
Note
The message line, function-key lines and infoline/statistics line are not counted as
data lines on the screen.
See also Dialog Design, Column-Sensitive Processing in the Programming Guide.
| Format/length: | I4 |
| Content modifiable: | No |
This system variable returns an identification of the field in which the cursor is currently positioned. The value returned is an internal representation of the field address.
*CURS-FIELD cannot be used by itself, but only in
conjunction with the POS function. You may use them to check if the cursor is
currently positioned in a specific field and have processing performed depending on that
condition. See the POS
function for details.
If the cursor is not in a field or if no REINPUT is possible, *CURS-FIELD
contains 0.
In Natural for Ajax applications, *CURS-FIELD identifies the
operand that represents the value of the control that has the input focus. You may use
*CURS-FIELD in conjunction with the POS
function to check for the control that has the input focus and perform processing
depending on that condition.
Note*CURS-FIELD cannot distinguish between two different
variables that start at the same storage position (REDEFINE variables) since the internal field address returned
by *CURS-FIELD is the same for both.
The value of *CURS-FIELD serves only as internal
identification of the field and cannot be used for arithmetic operations. If
*CURS-FIELD identifies an occurrence of an X-array (an array for which at least one bound
in at least one dimension is specified as extensible), the value of
*CURS-FIELD may change after the number of occurrences for
a dimension of the array has been changed using the EXPAND, RESIZE or REDUCE statements.
See also Dialog Design, Field-Sensitive Processing in the Programming Guide.
| Format/length: | P3 |
| Content modifiable: | Yes (however, a negative value or 0 must not be assigned) |
This system variable contains the number of the line in which the cursor is currently positioned.
The cursor position is defined within the current active window, regardless of its physical placement on the screen, starting with position 1/1 from the upper left corner of a logical page.
Note
The message line, function-key lines and infoline/statistics line are not counted as
data lines on the screen.
*CURS-LINE may also contain one of the following values:
| Value | Cursor Position |
|---|---|
| 0 | On the top or bottom horizontal frame line of a window. |
| -1 | On the Natural message line. |
| -2 | On the Natural infoline/statistics line. |
| -3 | On the upper function-key (number) line. |
| -4 | On the lower function-key (name) line. |
If the value of *CURS-COL is negative, which indicates that the
cursor is outside the active window, *CURS-LINE will also
contain a negative value. In this case, the absolute values of both system
variables indicate the position of the cursor on the physical screen.
See also Dialog Design, Line-Sensitive Processing in the Programming Guide.
| Format/length: | N6 |
| Content modifiable: | No |
This system variable contains the position of the cursor on the input screen at the time the ENTER key or a function key is pressed.
Note
Instead of *CURSOR, it is recommended that the system
variables *CURS-LINE and *CURS-COL be used.
*CURSOR only continues to be available for compatibility
with previous Natural versions.
| Format/length: | P5 |
| Content modifiable: | No |
This system variable contains the line number of the current line within the current page.
This variable is used by Natural to determine the line number for the next line of the report.
The value of *LINE-COUNT is incremented by 1
for each line to be output. The value is updated during the execution of a WRITE, SKIP, DISPLAY, PRINT or INPUT statement and contains the number of the last line on the
page that has been output.
An EJECT or NEWPAGE statement causes
*LINE-COUNT to be reset to 1 (except in the
case of NEWPAGE WITH TITLE, where the value of
*LINE-COUNT depends on the number of lines output as
title).
The maximum line number permitted is 250.
If multiple reports are being produced by the program, (rep)
notation after *LINE-COUNT is used to specify the report
identification for which the current line number is being requested.
| Format/length: | N7 |
| Content modifiable: | No |
This system variable contains the physical line size of the I/O device from which Natural was invoked (if the TP system is able to provide such).
| Format/length: | N3 |
| Content modifiable: | No |
This system variable contains the line size of the logical page that is output with the primary report.
*LOG-LS is only applicable to the primary report, not to any
additional report.
| Format/length: | N3 |
| Content modifiable: | No |
This system variable contains the page size of the logical page that is output with the primary report.
*LOG-PS is only applicable to the primary report, not to any
additional report.
| Format/length: | P5 |
| Content modifiable: | Yes |
This system variable contains the current value for page number of an output report.
If multiple reports are being produced by the program, (rep)
notation after *PAGE-NUMBER is used to specify the report
identification for which the current page number is being requested.
This variable is defined by Natural at the time formatting for the report is started.
Therefore, the parameter has no meaning until the first FORMAT, WRITE, or DISPLAY statement for any given report has been issued. This
variable may be modified by a Natural program.
This variable is used by Natural to determine the page number for the next page of the
report. The value is always incremented by 1 for the next page initiated by WRITE, DISPLAY, SKIP or NEWPAGE statements. EJECT does not cause
*PAGE-NUMBER to be incremented.
| Format/length: | N7 |
| Content modifiable: | No |
This system variable contains the physical page size of the I/O device from which Natural was invoked (if the TP subsystem is able to provide such).
| Format/length: | A4 |
| Content modifiable: | No |
This system variable contains the identification of the key which was pressed last.
*PF-KEY can contain one of the following values:
| Value | Description |
|---|---|
| PA1 to PA3 | Program Attention keys 1 to 3. |
| PF1 to PF48 | Program Function keys 1 to 48. |
| ENTR | ENTER key. |
| CLR | CLEAR key. |
| PEN | Light pen. |
| PGDN | PAGE DOWN key. |
| PGUP | PAGE UP key. |
*PF-KEY only contains the identification of a key if that
key is currently sensitive; otherwise *PF-KEY will contain
ENTR.
Notes:
*PF-KEY changes to
ENTR. This applies to all environments (terminal or
non-terminal).
*PF-KEY with a range
of values, remember that *PF-KEY contains an alphanumeric
value.
See also:
SET KEY statement (for
effects on the contents of *PF-KEY)
Processing Based on Function-Keys in the Programming Guide
%K and %KP - Simulate PF- and
PA-Key (terminal commands which set
*PF-KEY) in the Terminal
Commands documentation
| Format/length: | A10 |
| Content modifiable: | No |
This system variable contains the name of the function key that was pressed last, that
is, the name as assigned to the key with the NAMED clause of the SET KEY statement.
This allows you to perform processing depending on a specific function name, not a
specific key. For example, if you wish to allow users to invoke help by pressing either
PF1 or PF13, you assign the name HELP to the keys
PF1 and PF13 and make the invoking of help dependent on
*PF-NAME='HELP': the help will then be invoked no matter
whether the user presses PF1 or PF13 to invoke it.
See also Dialog Design, Processing Based on Function-Key Names in the Programming Guide.
| Format/length: | N3 |
| Content modifiable: | No |
This system variable contains the line size of the logical window (without frame). See
also the DEFINE WINDOW
statement.
| Format/length: | N6 |
| Content modifiable: | No |
This system variable contains the position which corresponds to the upper left corner of
the window. See also the DEFINE
WINDOW statement.
The position is counted in characters across multiple lines, beginning with
0 (upper left corner).
| Format/length: | N3 |
| Content modifiable: | No |
This system variable contains the page size of the logical window (without frame). See
also the DEFINE WINDOW
statement.