7.99.2 POP_UP Comments / Warnings

POP_UP windows are defined and presented via conventional DDS (Data Description Specifications). They do not use "user defined data streams" and thus do not, and will not ever have, upward compatibility problems.

The POP_UP command is a "mode sensitive" command. For details of "mode sensitive" command processing, refer to Screen Modes and Mode Sensitive Commands.

When a pop up window appears, all fields already on the screen are protected and cannot be changed by the user.

Only the function keys enabled by the POP_UP window command are enabled. Function keys enabled on the panel that it overlaid are disabled and cannot be used.

A pop-up window is a "miniature" screen panel, and is laid out exactly like a full screen panel. Consider the following:

 

 ------------------ l : window location (AT_LOC) specified

|                       as a row and column number.

|

|   BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

 --->l iiiiiii       ttttttttttttttttttttttttt |         B

    B                                          |         B

    B                                          |         B

    B                                        length      B

    B                                          |         B

    B<----------------------- width -----------|-------->B

    B                                          |         B

    B                                          |         B

    B                                          |         B

    B MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM | MMMMMMM B

    B FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF | FFFFFFF B

    B FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF | FFFFFFF B

    B                                          |         B

    BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

 

   * where:   "iiiiiiii" is the panel identifier.

              "ttt...tt" is the panel title.

              "MMM...MM" is the message line.

              "FFFFFFFF" are the 2 function key lines.

              "BB....BB" are the window border fill characters.

 

Note that the panel identifier and title line may omitted. The message line and function key lines may appear in a different order if specified for the partition. In non-SAA/CUA functions only one line of function keys is presented.

The window location is specified as a row and column number and is used to position the upper left hand corner (within the border) of the window. Since the window border must also appear, the minimum row value is 2 and the maximum is 23. Likewise the minimum column number is 3 and the maximum 77.

The pop up window border is presented in SAA/CUA applications according to the partition level definition of panel element category PBWB (normally reverse video blue). In non-SAA/CUA applications the value used is reverse video green.

The pop up window width and length are specified in character positions and nominate the dimensions within (but not including) the border.

Rows within the window used for panel identification, messages and function keys are reserved and you cannot position fields anywhere on these rows.

The first and last 2 columns within a pop up window are reserved and you cannot position a field to start, end or span one of these columns.

When a field is positioned into a pop up window, the field (including its label or description) and all leading and trailing attribute bytes must entirely fit onto one line of the window. A field cannot span lines of the display in a pop up window.

Pop up windows can be used for input or output operations just like the DISPLAY command. Note also that the POP_UP command is "mode sensitive" just like the DISPLAY command.

Pop up windows can contain a browse list. The browse list may be used for input or output operations.

When specifying field locations within a window, note that the positions are relative to the window location. Thus:

POP_UP FIELDS((#DATE *R2 *C3))

specifies that DATE is to be positioned at row 2, column 3 within the pop up window.

When using the CURSOR_LOC parameter to nominate a specific row and column for cursor positioning, note that the positions are absolute. The values specified relate to the entire screen panel, not the window. Thus values outside the pop up window borders may be specified.

If you want the name of the field in which the CURSOR was located when Enter or any other AID was pressed, to be returned to your function, then refer to a field named #CURLOC$FN within your function.
#CURLOC$FN (alpha, 10) will contain the name of the field.

The following table indicates all combinations of the DESIGN and IDENTIFY parameters and what values result when the *DESIGN default is used in the associated DOWN_SEP or ACROSS_SEP parameters:

Specified: DESIGN

Specified: IDENTIFY

*DESIGN Specified: DOWN_SEP

*DESIGN Specified: ACROSS_SEP

*DOWN

*COLHDG

5

1

*DOWN

*LABEL

1

1

*DOWN

*DESC

1

1

*DOWN

*NOID

1

1

*ACROSS

*COLHDG

5

1

*ACROSS

*LABEL

1

1

*ACROSS

*DESC

1

1

*ACROSS

*NOID

1

1

 

In some cases all the fields specified in the FIELDS parameter will not fit on one screen. In this case a second, third, fourth, etc. window is automatically designed as required.

In terms of the RDML program they can be treated like one "long" window. LANSA will automatically process the windows one after another until they have all been processed. When all windows have been processed the next RDML command is executed.

So when you use the POP_UP command you may in fact be requesting that 2 or 3 or more windows be displayed one after another.

This facility is a feature of the automatic design procedures. If you are coding the RDML program yourself it is advisable to "split up" the POP_UP command into multiple POP_UP commands that have only one window format each or increase the size of the window.

Note that format control characters in 2nd level message text have no effect when the message is displayed from a POP_UP.