FormGroup part

The FormGroup is a main part; it resides in a source file that has the same name as the part.

Syntax

The following diagram shows the syntax of the FormGroup part.
Syntax diagram for a FormGroup part
FormGroup FormGroupPartName
Indicates that the part is a form group and specifies the part name.
FormGroupProperties
A series of properties, each of which is separated from the next by a comma. Each property is described later.
formPart
A text or print form, as described in "Form part".
use formPartName
A use declaration that provides access to a form that is not embedded in the form group.

Properties

The following properties are part of the FormGroup part.
alias
A string that is incorporated into the names of generated output. If you do not specify an alias, the FormGroup part name (or a truncated version) is used instead.
bidiInput = bidiValue
Specifies the text layout for data entry in a field that accepts text in a bidirectional language. For details, see “bidiInput.”
helpKey = helpKeyValue
Identifies a user keystroke that causes the EGL runtime to present a help form to the user. Specify a PF key value, from PF1 to PF24.
numericSwapping = booleanValue
Specifies a characteristic of Hindi numerals presented in Arabic. For details, see “numericSwapping.”
orientation = orientationValue
Specifies the text direction in a field that accepts input or displays output in a bidirectional language. For details. see “orientation.”
pfKeyEquate = booleanValue
Specifies whether the keystoke that is registered when the user presses a high-numbered function key (PF13 through PF24) is the same as the keystroke that is registered when the user presses a function key that is lower than 12.
symmetricSwapping = booleanValue
Specifies whether to exchange symmetric characters (such as brackets) when presenting bidirectional text. For details, see “symmetricSwapping.”
validationBypassKeys = [bypassKeyValues]
Identifies one or more user keystrokes that cause the EGL runtime code to skip input-field validations. Specify comma-separated PF key names without quotation marks; for example, [PF3, PF10]. This property is useful for reserving a keystroke that ignores the user input, such as an exit or cancel key.
@printFloatingAreas { value = [@printFloatingArea values]}
Defines the floating area used for printable output. Note the "s" at the end of the property name.
You can specify the printFloatingArea property once for each printer size you plan to use, as in the following example:
FormGroup TESTGROUP2 {
   @PrintFloatingAreas { value = [
      @PrintFloatingArea { deviceType=DeviceTypeKind.singleByte,
                           pageSize=[255,132], topMargin=3, 
                           bottomMargin=194, leftMargin=0, rightMargin=0 },
      @PrintFloatingArea { deviceType=DeviceTypeKind.doubleByte,
                           pageSize=[255,158], topMargin=3, 
                           bottomMargin=194, leftMargin=0, rightMargin=26}]
   }}
   use Form2;
end

For details on the property fields in @PrintFloatingArea, see the later section, “Properties of a print floating area.”

@screenFloatingAreas { value = [@screenFloatingArea values]}
Defines the floating areas available for output to a screen. Note the "s" at the end of the property name.
You can specify the @screenFloatingAreas property once for each screen size you plan to use, as in the following example:
FormGroup TESTGROUP { 
   helpKey = PF1,
   validationBypassKeys = [PF3, PF10],    
   @ScreenFloatingAreas { value = [
      @ScreenFloatingArea { screenSize=[24,80], topMargin=3,
                            bottomMargin=3, leftMargin=0, rightMargin=0},
      @ScreenFloatingArea { screenSize=[32,80], topMargin=3,
                            bottomMargin=3, leftMargin=0, rightMargin=0 }]
   }}
   use Form1; 
end

For details on the property fields in @ScreenFloatingArea, see the later section, “Properties of a screen floating area.” Also, note that when you generate output for IMS/VS, the property @screenFloatingAreas is not valid.

Example

The following example shows a FormGroup part.
FormGroup TSTGROUP3 { 
   helpKey = PF1,
   validationBypassKeys = [PF3, PF10],

   @ScreenFloatingAreas { value = [
      @ScreenFloatingArea { screenSize=[24,80], topMargin=3,
                            bottomMargin=3, leftMargin=0, rightMargin=0},
      @ScreenFloatingArea { screenSize=[32,80], topMargin=3,
                            bottomMargin=3, leftMargin=0, rightMargin=0 }]
   }, 

   @PrintFloatingAreas { value = [
      @PrintFloatingArea { deviceType=DeviceTypeKind.singleByte,
                           pageSize=[255,132], topMargin=3, 
                           bottomMargin=194, leftMargin=0, rightMargin=0 },
      @PrintFloatingArea { deviceType=DeviceTypeKind.doubleByte,
                           pageSize=[255,158], topMargin=3, 
                           bottomMargin=194, leftMargin=0, rightMargin=26}]
   }}
   use myForm01;
   use myForm02;
	end

Properties of a screen floating area

The properties associated with screenFloatingArea are delimited by braces ({ }) and each property is separated from the next by a comma.
screenSize = [rows, columns]
The number of rows and columns in the online presentation area, including any lines or columns used as margins. The default is screenSize=[24,80].
topMargin= rows
The number of lines before the start of the floating area. The default is 0. You can use the top margin to display a fixed form, such as a heading.
bottomMargin= rows
The number of lines after the end of the floating area. The default is 0. You can use the bottom margin to display a fixed form, such as a trailer.
leftMargin= columns
The number of blank columns to the left of the floating area. The default is 0.
rightMargin= columns
The number of blank columns to the right of the floating area. The default is 0.

Properties of a print floating area

The properties associated with printFloatingArea are delimited by braces ({ }) and each property is separated from the next by a comma.
pageSize = [rows, columns]
The number of rows and columns in the printable presentation area, including any lines or columns used as margins. This property is required if you specify a print floating area.
deviceType = singleByte, deviceType = doubleByte
Specifies whether the floating-area declaration is for a printer that supports single-byte output, which is the default, or double-byte output. If any of the forms include fields of type DBCHAR or MBCHAR, specify doubleByte.
topMargin = rows
The number of lines before the start of the floating area. The default is 0. You can use the top margin to print a fixed form, such as a heading.
bottomMargin = rows
The number of lines after the end of the floating area. The default is 0. You can use the bottom margin to print a fixed form, such as a trailer.
leftMargin = columns
The number of blank columns to the left of the floating area. The default is 0.
rightMargin = columns
The number of blank columns to the right of the floating area. The default is 0.

Feedback