7 76 1 POP_UP Parameters

LANSA Technical

7.76.1 POP_UP Parameters

ACROSS_SEP

ADD_KEY

AT_LOC

BROWSELIST

CHANGE_KEY

CURSOR_LOC

DELETE_KEY

DESIGN

DOWN_SEP

EXIT_KEY

FIELDS

IDENT_ATR

IDENTIFY

IGCCNV_KEY

MENU_KEY

PANEL_ID

PANEL_TITL

PROMPT_KEY

STD_HEAD

TEXT

USER_KEYS

WITH_SIZE

FIELDS

Specifies either the field(s) that are to be displayed in the pop up window or the name of a group that specifies the field(s). Alternatively, an expandable group expression can be entered in this parameter.

 

Portability Considerations

Visual LANSA has multi-page and field spanning line restrictions:

Multi-page data (i.e. if the screen format is larger than one page) can be displayed in a Web browser window but NOT in a LANSA function.
If a process containing multi-page data is compiled, a warning will be issued if the process is WEB/XML enabled. If the process is NOT WEB/XML enabled, a full function check error will be issued.

Field spanning (i.e. when the field is larger than one line on the screen) is not supported - only a single line will be displayed. No error or warning is issued.

 

DESIGN

Specifies the design/positioning method which should be used for fields that do not have specific positioning attributes associated with them.

*ACROSS, which is the default value, indicates that fields should be designed "across" the window.

*DOWN indicates the fields should be designed "down" the window in a column.

Note: The default value of this parameter is different to the equivalent default used on DISPLAY or REQUEST commands.

IDENTIFY

Specifies the default identification method to be used for fields that do not have specific identification attributes associated with them.

*LABEL, which is the default value, indicates that fields should be identified by their associated labels in the window.

*DESC indicates that fields should be identified by their associated descriptions in the window.

*COLHDG indicates that fields should be identified by their associated column headings in the window.

*NOID indicates that no identification of the field is required. Only the field itself should be included into the window.

Note: The default value of this parameter is different to the equivalent default used on DISPLAY or REQUEST commands.

IDENT_ATR

Specifies display attributes that are to be associated with identification text (labels, column headings, descriptions, etc) that are displayed in the window.

*DEFAULT, which is the default value, indicates that the system defaults for identification display attributes should be adopted. They are set up in the system definition block as overall system default values. Refer to The System Definition Data Areas in the LANSA for i User Guide for more details of the system definition block and how to change it.

*NONE indicates that identification text should have no special display attributes associated with it.

Otherwise, specify one or more of the values: *HI (high intensity), *RI (reverse image) and *UL (underline).

This parameter is ignored in SAA/CUA processes in SAA/CUA compliant partitions. In such partitions the attributes are determined from the partition wide standards for labels and column headings.

DOWN_SEP

Specifies the spacing between rows on the display that should be used when automatically designing a screen. The value specified must be *DESIGN or a number in the range 1 to 10. Refer to the table in the Comments/Warnings section, for details of what value *DESIGN is actually specifying.

ACROSS_SEP

Specifies the spacing between columns on the display that should be used when automatically designing a screen. The value specified must be *DESIGN or a number in the range 1 to 10. Refer to the table in the Comments/Warnings section for details of what value *DESIGN is actually specifying.

AT_LOC

Specifies the position of the window on the screen panel. It may be entered as a special value that automatically specifies the row and column number according to the table below, or as actual row and column numbers. Values specified are fixed and cannot be varied at execution time. The special values and the actual row and column numbers used are as follows:

Special Value

Row Number

Column Number

*CENTRE

8

22

*QUAD1

2

3

*QUAD2

2

43

*QUAD3

14

3

*QUAD4

14

43

*UPPER

2

3

*LOWER

14

3

*LEFT

2

3

*RIGHT

2

43

 

 

WITH_SIZE

Specifies the size (ie: width and length) of the window. It may be entered as a special value *AUTO that automatically computes a width and length, or as actual width and length values.

Values specified are fixed and cannot be varied at execution time.

To use the WITH_SIZE parameter, the AT_LOC parameter must be set to numeric values. If the AT_LOC parameter is unspecified it will default to a special value, and the WITH_SIZE parameter values will be ignored.

When the AT_LOC parameter is one of the following special values, the WITH_SIZE parameter is automatically computed according to the following table, regardless of what value you specify for the parameter.

Special Value

Width

Length

*CENTRE

38

10

*QUAD1

36

10

*QUAD2

35

10

*QUAD3

36

10

*QUAD4

35

10

*UPPER

75

10

*LOWER

75

10

*LEFT

36

22

*RIGHT

35

22

 

 

If you specify a specific row and column value for the AT_LOC parameter, and leave the WITH_SIZE parameter as *AUTO, the width and length values will be automatically calculated to fill the entire screen panel to the right of and to the bottom of the nominated locating row and column number.

PANEL_ID

Specifies the identifier that is to be assigned to the panel or pop-up window created by this command.

*AUTO indicates that it should be automatically generated by LANSA from the function name and the source statement number of the RDML program.

*NONE indicates that no panel identifier is required for this panel or pop-up window.

Otherwise specify a panel identifier from 1 to 10 characters in length. The value specified is fixed and cannot be changed at execution time.

This parameter is valid for SAA/CUA and non-SAA/CUA applications.

This parameter is ignored if the current partition definition indicates that panel identifiers are never required, no matter what value is specified.

PANEL_TITL

Specifies the title that is to be assigned to the window panel.

*FUNCTION indicates that it should be derived from the RDML function's description.

Otherwise specify a panel title from 1 to 40 characters in length. The value specified is fixed and cannot be changed at execution time.

This parameter is valid for SAA/CUA and non-SAA/CUA applications.

BROWSELIST

Specifies the name of a browse list which is also to be included into the window.

*NONE indicates that no browse list is required. The window designed will not have any browse component.

If a browse list is specified it must be defined elsewhere in the RDML program with a DEF_LIST (define list) command.

EXIT_KEY

Specifies the following things about the EXIT function key:

  • Whether the EXIT function key is to be enabled.
  • What is to happen when the EXIT function key is used.
  • In SAA/CUA partitions, which EXIT function key is required.
  • A condition to control when the EXIT function key is enabled.

By default the EXIT function key is enabled. To disable the EXIT function key specify *NO as the first value for this parameter.

If the EXIT function key is enabled, you may specify what happens when it is used. The allowable values for this second component of the EXIT_KEY parameter are as follows:

*EXIT

The application should exit completely from LANSA. (identical to executing an EXIT command).

*MENU 

The process's main menu should be re-displayed (identical to executing a MENU command).

*NEXT

Indicates that control should be passed to the next command.

*RETURN

Specifies that in a program mainline control is to be returned to the caller and in a subroutine control is to be returned to the caller routine or the program mainline.

 

If none of the previous values are used you must nominate a valid command label to which control should be passed.

The value *EXIT is the default for this parameter value.

Additionally, in SAA/CUA partitions, you may nominate whether the EXIT function key to be enabled is the "high" exit key or the "low" exit key.

The default value is *HIGH for this parameter value.

The final value that can be specified for this parameter allows a condition to be named to control when the function key should be enabled. The default value is *NONE that indicates no condition should apply. The function key will be enabled according to the normal rules.

If a condition name is specified it must be defined within the RDML program by a DEF_COND (define condition) command.

Note: In SAA/CUA applications it is recommended that only the following 2 variations of the EXIT_KEY parameter are used:

          EXIT_KEY(*YES *EXIT *HIGH)  in a "main program"
          EXIT_KEY(*YES *RETURN *LOW)  in "subroutines"
 

MENU_KEY

Specifies whether the MENU function key is to be enabled when this screen format is displayed at the workstation. In addition it also specifies what is to happen if the MENU key is used.

*YES, which is the default value, indicates that the MENU key should be enabled when the screen is displayed. If *YES is used it is also possible to specify the action to be taken when the menu key is used.

*MENU, the default value, specifies that the process's main menu should be re-displayed.

*EXIT specifies that the application should exit completely from LANSA.

*NEXT indicates that control should be passed to the next command.

*RETURN specifies that in a program mainline control is to be returned to the caller and in a subroutine control is to be returned to the caller routine or the program mainline.

If none of the previous values are used you must nominate a valid command label to which control should be passed.

*NO indicates that the MENU function key should not be enabled when the screen is displayed.

The final value that can be specified for this parameter allows a condition to be named to control when the function key should be enabled. The default value is *NONE that indicates no condition should apply. The function key will be enabled according to the normal rules.

If a condition name is specified it must be defined within the RDML program by a DEF_COND (define condition) command.

ADD_KEY

Specifies whether the ADD function key is to be enabled when this screen format is displayed at the workstation. In addition it also specifies what is to happen if the ADD key is used.

*NO, which is the default value, indicates that the ADD function key should not be enabled when the screen is displayed.

*YES indicates that the ADD key should be enabled when the screen is displayed. If *YES is used it is also possible to nominate a command label to which control should be passed when the ADD key is used.

*NEXT indicates that control should be passed to the next command.

*RETURN specifies that in a program mainline control is to be returned to the caller and in a subroutine control is to be returned to the caller routine or the program mainline.

If none of the previous values are used you must nominate a valid command label to which control should be passed.

The final value that can be specified for this parameter allows a condition to be named to control when the function key should be enabled. The default value is *NONE that indicates no condition should apply. The function key will be enabled according to the normal rules.

If a condition name is specified it must be defined within the RDML program by a DEF_COND (define condition) command.

CHANGE_KEY

Specifies whether the CHANGE function key is to be enabled when this screen format is displayed at the workstation. In addition it also specifies what is to happen if the CHANGE key is used.

*NO, which is the default value, indicates that the CHANGE function key should not be enabled when the screen is displayed.

*YES indicates that the CHANGE key should be enabled when the screen is displayed. If *YES is used it is also possible to nominate a command label to which control should be passed when the CHANGE key is used.

*NEXT indicates that control should be passed to the next command.

*RETURN specifies that in a program mainline control is to be returned to the caller and in a subroutine control is to be returned to the caller routine or the program mainline.

If none of the previous values are used you must nominate a valid command label to which control should be passed.

The final value that can be specified for this parameter allows a condition to be named to control when the function key should be enabled. The default value is *NONE that indicates no condition should apply. The function key will be enabled according to the normal rules.

If a condition name is specified it must be defined within the RDML program by a DEF_COND (define condition) command.

DELETE_KEY

Specifies whether the DELETE function key is to be enabled when this screen format is displayed at the workstation. In addition it also specifies what is to happen if the DELETE key is used.

*NO, which is the default value, indicates that the DELETE function key should not be enabled when the screen is displayed.

*YES indicates that the DELETE key should be enabled when the screen is displayed. If *YES is used it is also possible to nominate a command label to which control should be passed when the DELETE key is used.

*NEXT indicates that control should be passed to the next command.

*RETURN specifies that in a program mainline control is to be returned to the caller and in a subroutine control is to be returned to the caller routine or the program mainline.

If none of the previous values are used you must nominate a valid command label to which control should be passed.

The final value that can be specified for this parameter allows a condition to be named to control when the function key should be enabled. The default value is *NONE that indicates no condition should apply. The function key will be enabled according to the normal rules.

If a condition name is specified it must be defined within the RDML program by a DEF_COND (define condition) command.

PROMPT_KEY

Specifies whether the PROMPT function key is to be enabled when this screen format is displayed at the workstation. In addition it also specifies what is to happen if the PROMPT key is used.

*DFT, which is the default value, indicates that the PROMPT function key should be enabled or disabled automatically according to its default value defined in the system definition data area DC@A01. Refer to The System Definition Data Area DC@A01 in the LANSA for i User Guide.

*YES indicates that the PROMPT key should be enabled when the screen is displayed.

*NO indicates that the PROMPT key should NOT be enabled when the screen is displayed.

In any case, when the PROMPT function key is enabled (either by specifying *DFT or *YES for the first part of this parameter), it is possible to also specify what is to happen if the function key is used. Allowable values for this part of the parameter are:

*AUTO indicates that the prompt key processing should be handled automatically by LANSA. Refer to Prompt_Key Processing before attempting to use this option.

*NEXT indicates that control should be passed to the next command.

*RETURN specifies that in a program mainline control is to be returned to the caller and in a subroutine control is to be returned to the caller routine or the program mainline.

If none of the previous values are used you must nominate a valid command label to which control should be passed.

The final value that can be specified for this parameter allows a condition to be named to control when the function key should be enabled. The default value is *NONE that indicates no condition should apply. The function key will be enabled according to the normal rules.

If a condition name is specified it must be defined within the RDML program by a DEF_COND (define condition) command.

USER_KEYS

Specifies up to 5 additional user function keys that can be enabled when the screen format is displayed at the workstation.

Any user function keys assigned must not conflict with function keys assigned to the standard LANSA functions of EXIT, MENU, MESSAGES, ADD, CHANGE, DELETE or PROMPT when they are enabled on a command (ie: a function key cannot be assigned to more than one function).

Additional user function keys are specified in the format:

'description'

 

 

 

 

 

 

where:

fnc key number

Is the function key number in the range 1 to 24 or one of the special values *ROLLUP (roll up key) or *ROLLDOWN (roll down key).

'description'

Is a description of the function assigned to the function key. This description will be displayed on line 23 of the screen format. Maximum length is 8 characters.

*NEXT

Is the default and indicates that the next command (after this one) should receive control.

*RETURN

Indicates that in a program mainline control is to be returned to the caller and in a subroutine control is to be returned to the caller routine or the program mainline.

Label 

Indicates the command label to which control should be passed if the command key is used.

*NONE

Indicates that no condition applies to control when the function key is to be enabled or disabled.

cond name

Indicates that a condition defined by a DEF_COND command should be evaluated to determine whether to enable or disable the function key.

 

Refer to the IF_KEY command for details of how the function key that was used can be tested in the RDML program.

As an example of usage consider the following:

POP_UP FIELDS(#PRODUCT) USER_KEYS((14 'Commit')(15 'Purge'))
   IF_KEY  WAS(*USERKEY1)
    << Commit logic >>
   ENDIF
   IF_KEY  WAS(*USERKEY2)
    << Purge logic >>
   ENDIF
 

Note that the IF_KEY command refers to the keys by symbolic names that indicate the order they are declared in the USER_KEYS parameter, not the actual function key numbers assigned to them. This makes changing function key assignments easier.

TEXT

Allows the specification of up to 50 "text strings" that are to appear on the screen panel or report. Each text string specified is restricted to a maximum length of 20 characters.

When a text string is specified it should be followed by a row/line number and a column/position number that indicates where it should appear on the screen panel or report.

For example:

TEXT(('ACME' 6 2)('ENGINEERING' 7 2))
 

specifies 2 text strings to appear at line 6, position 2 and line 7, position 2 respectively.

Portability Considerations

In Visual LANSA this parameter should only be edited using the screen or report painter which will replace any text with a text map. DO NOT enter text using the command prompt or free format editor as it will not pass the full function checker if checked in to LANSA for i.

 

All Platforms

The text map is used by the screen or report design facilities to store the details of all the text strings associated with the screen panel or report lines.

Once a screen or report layout has been "painted" and saved, all text details from the layout are stored in a "text map". The text map is then subsequently changed by using the "painter" again.

The presence of a text map is indicated by a TEXT parameter that looks like this example:

TEXT((*TMAPnnn 1 1))
 

where "nnn" is a unique number (within this function) that identifies the stored text map.

Some very important things about "text maps" and *TMAPnnn identifiers that you must know are:

  • Never specify *TMAPnnn identifiers of your own or change *TMAPnnn identifiers to other values. Leave the assignment and management of *TMAPnnn identifiers to the screen and report design facilities.
  • When copying a command that has an *TMAPnnn identifier, remove the *TMAPnnn references (ie: the whole TEXT parameter) from the copied command. If you fail to do this, then the full function checker will detect the duplicated use of *TMAPnnn identifiers, and issue a fatal error message before any loss occurs.
  • Never remove an *TMAPnnn identifier from a command. If this is done then the associated text map may be deleted, or reused in another command, during a full function check or compilation. Loss of text details is likely to result.
  • Never "comment out" a command that contains a valid *TMAPnnn identifier. This is just another variation of the preceding warning and it runs the same risks of loss or reuse of text.
  • Never specify *TMAPnnn values in an Application Template. In the template context *TMAPnnn values have no meaning. Use the "text string" format in commands used in, and initially generated by, Application Templates.

CURSOR_LOC

Specifies any user controlled cursor positioning that is required. The CURSOR_LOC parameter must always contain 2 values, which may take any of the following forms:

*NONE / *NONE: which are the default values indicate that no user controlled cursor positioning is required. Normal LANSA cursor control is to be used. When a screen is displayed the cursor will be positioned to either the first input capable field or the first field in error.

*ATFIELD / Field name: specifies that the cursor should be positioned to the named field. If the named field is not on the display or a field error exists, normal LANSA cursor control will be used. Otherwise the cursor will be positioned to the nominated field.

Row value / Column value: specifies that the "values" nominated indicate the row and column number at which the cursor is to be positioned. The "values" nominated may be an alphanumeric literal (e.g.: 15) or the name of a field that contains the value (e.g.: #ROW). In all cases the value must be numeric. If the row or column values are invalid or a field error exists, normal LANSA cursor control will be used. Otherwise the cursor will be positioned at the row and column specified.

When the row and column option is used and the row and column values are specified as fields (rather than numeric literals), the row and column number where the cursor was located when the command completed execution will be returned in them.

Note: The CURSOR_LOC does not behave in the same way on Windows as on IBM i. On a Windows platform the value retrieved is the first position of the field the cursor is currently in.

This feature is a useful way of retrieving the location of the screen cursor at the time the command completed execution. In cases where you wish to retrieve the cursor location, but do not want to specify it before output to the screen, use coding like this:

CHANGE  FIELD(#ROW #COL) TO(0)
POP_UP  FIELDS(#FIELD1 .. #FIELD10) CURSOR_LOC(#ROW #COL)
 

When the POP_UP command is executed #ROW and #COL are both zero, which is an invalid cursor location. In such cases normal LANSA cursor control is resumed and the user positioning request is ignored. However, after completion of the command, fields #ROW and #COL will contain the location of the cursor at the time the POP_UP command completed execution.

STD_HEAD

Specifies whether or not the standard LANSA design for the screen heading lines (lines 1 and 2) should be used.

*DFT, which is the default value, indicates that the system default value for the STD_HEAD parameter should be used. The system default value is stored in the LANSA system definition block. Refer to The System Definition Data Areas in the LANSA for i User Guide for details of the system definition block and how to change it.

*YES indicates that the standard LANSA screen heading lines should be used. When this option is used lines 1 and 2 of the display are not available for the positioning of user fields.

*NO indicates that the standard LANSA screen heading lines should not be used. In this case lines 1 and 2 of the display can be used to position user fields.

IGCCNV_KEY

Controls the appearance of the text "Fnn=XXXXXX" in the function key area, of the function key assigned to support IGC conversion.

This parameter is ignored if the language under which this function is being compiled does not have the "IGCCNV required" flag enabled, or if this function uses the *NOIGCCNV options keyword (refer to the FUNCTION command).

Also note that this parameter only controls the appearance of the text "Fnn=XXXXX" in the function key area. It does not control the enablement of the IGCCNV DDS keyword in the display file associated with this function. This is controlled by the setting of the "IGCCNV required" flag and the use of the *NOIGCCNV option.

*AUTO, which is the default value, indicates that appearance of the function key text should be determined automatically. The automatic rules used to determine whether or not to show the function key text are:

  • If there are no fields with keyboard shift J, E or O involved, the text will not appear (ignore all following rules).
  • For a REQUEST command the text will always appear.
  • For DISPLAY or POP_UP commands, the current "mode" is tested. If the mode is "change" (ie: fields on the screen are input capable), the text will appear. For all other modes the text will not appear.

Other allowable values for this parameter are *YES, indicating that the text should always appear, or, *NO indicating that the text should never appear.

The final option allows the nomination of a condition previously defined by a DEF_COND command. If the condition is true the text should appear. If the condition is false, the text should not appear.

Portability Considerations

When used with Visual LANSA, this parameter is ignored with no known effect to the application.