NET/MASTER Network Control Language (NCL) Programmer's Guide

Displaying a Panel
Working With Panels
14–56 106160 Tandem Computers Incorporated
Updating a Panel Display When displaying a series of panels, if you want to achieve the visual effect of a smooth
screen update, then you should use the same panel name in consecutive PANEL verbs.
Otherwise, the user may notice a moment, between removing a panel from display
and displaying the next panel, when a window is entirely blank.
By displaying panels smoothly, an NCL process can indicate continuity of action, for
example, when paging through a list or maintaining a monitor window by using a
series of synchronous panels.
Positioning the Cursor on
Display
The positioning of the cursor on a panel is controlled either implicitly by Panel
Services (perhaps to identify a field in error) or by an explicit request from an NCL
process.
When a panel is displayed, the cursor is usually placed at the beginning of the first
input field. You can explicitly control the cursor position using the #OPT panel
control statement and the CURSOR operand.
Testing the Rows and
Columns Available for
Display
The maximum number of lines that can be displayed on any screen is 62. The
maximum number of columns that can be displayed on any screen is 132.
It is your responsibility to test the number of lines and columns currently available for
displaying a panel. Lines and columns are truncated if they do fit in the available
screen. You can use the &SYS.TERM.ROWS and &SYS.TERM.COLS system variables
to test the number of available lines and columns, respectively.
When a screen is split, &SYS.WINDOW.ROWS and &SYS.WINDOW.COLS return the
number of lines and columns available within the current screen window.
You are responsible for subtracting any fixed overhead associated with displaying a
panel. This includes heading lines. You should also allow for for small windows
where there may not be sufficient lines to display data.
Remembering the Last
Cursor Position
After a PANEL verb completes, the &SYS.CURS.ROW and &SYS.CURS.COL system
variables are set to the position of the row and column, respectively, where the cursor
was positioned when the last entry was made. The value of &SYS.CURS.ROW can
range from 1 through 62. The value of &SYS.CURS.COL can range from 1 through
132.
When a screen is split, the values of &SYS.CURS.ROW and &SYS.CURS.COL are
relative to the start of the current screen window, regardless of where the window is
positioned on your screen. If the last entry was caused by the INWAIT timer expiring,
the value returned in both &SYS.CURS.ROW and &SYS.CURS.COL is undefined.
Positioning the Cursor at a
Certain Input Field
If you want to position the cursor at a certain input field when displaying a panel,
follow these steps:
1. In the NCL procedure that displays the panel, assign the input field name into a
variable before displaying it:
&ABC = FIELD2