Text forms
Forms and their types are introduced in Form part. The current topic focuses on presenting text forms, used to display formatted information on a screen.
The converse statement is
sufficient for giving
the user access to a single, fixed text form. The logical flow of
your program
continues only after the user responds to the displayed form. You
can also
construct output from multiple forms, as in the following case:
- At the top of the output, a fixed form identifies a purchasing company and an order number
- In a subsequent floating area, a series of identically formatted floating forms identify each line item of the company's order
- At the bottom of the output, a fixed form indicates the number of screens needed to scroll through the list of line items
Two
steps are necessary:
- First, you construct the order-and-item
output by coding a series of display statements,
each of which adds a form to a runtime buffer but does not present
data to
the screen. Each display statement operates
on one
of the following forms:
- Top form
- Floating form, as presented by a display statement that is invoked repeatedly in a loop
- Bottom form
- Next, the EGL runtime presents all the buffered text forms to
the output
device in response to either of these situations:
- The program runs a converse statement; or
- The program ends.
In most cases, you present the last form of your screen output by coding a converse statement rather than a display statement.
The fixed forms each have an on-screen position, so the order in which you specify them, in relation to each other and in relation to the repeated display of floating forms, does not matter. The contents of the buffer are erased when output is sent to the screen.
If you overlay one
text form with another, no error occurs, but the following
statements apply:
- If a partial form overlays any lines in another fixed form, EGL replaces the existing form without clearing the rest of the output from the buffer. If you want to erase the existing output before displaying the new form, invoke the system function converseLib.clearScreen before issuing the display or converse statement for the new form.
- If you use a display or converse statement to place a floating map beyond the bottom of the floating area, all the floating forms in that floating area are erased, and the added form is placed on the first line of the same floating area.
- If a floating form overlays
a fixed form, these statements apply- -
- Only the fixed-form lines that are in the floating area are overwritten by the floating form
- The result is unpredictable if a fixed-form line is overwritten by a floating-form line that includes a variable field
Whether you are presenting one form or many, the output destination is the screen device at which the user began the run unit.
Compatibility
| Platform | Issue |
|---|---|
| COBOL generation | The maximum length of a generated form name is 8 characters. |