Appendix A. HATS Toolkit files

When you use HATS Toolkit to build your project, files for each component of the project are created. This appendix tells you where the file is located on your system, how to view and edit the source for the file, and describes the tags that make up each file.

Note:
Use the HATS Toolkit editors if you edit these source files.

All of the files you create with HATS Toolkit are stored on your system in one or more workspaces managed by your Rational® SDP program, such as Rational Application Developer. You can choose your workspace directory, and you can have more than one. Refer to the information provided with Rational SDP for information about choosing your workspace.

All of the file locations in this appendix refer to the relative path from the directory named for your project, which will be created within your workspace.

Application file (.hap)

The application file contains XML tags that define the settings you select when you create the project.

The application (.hap) file is stored in the project_name/profiles directory, where project_name is the name you gave the project when you created it. The application (.hap) file for a HATS EJB project is stored in the project_name/ejbModule directory. To view and edit the source of the application file for your HATS project, expand your project in the HATS Projects view and double-click Project Settings to open the project editor. You can view the source by clicking on the Source tab.

You can modify the application file using any of the tabs in the project editor. HATS Toolkit updates the affected information on other tabs when you make changes on any tab.

<application> tag

The <application> tag is the enclosing tag for the project.

The attributes of the <application> tag are:

active
This attribute is not used by HATS. It is contained here for compatibility with HATS Limited Edition.
configured
This attribute is not used by HATS. It is contained here for compatibility with HATS Limited Edition.
description
Specifies the description you enter when you create a project.
template
Specifies the name of the template you selected for the project when you created the project. The default template is predefined.rcp.templates.Modern.

<connections> tag

The <connections> tag is a container for all the connection tags that define connections for this project.

The attributes of the <connections> tag are:

default
Specifies the name of the default connection. The default connection, which is created using the connection values that you specify in the New HATS Project wizard, defaults to the name of main.

<connection> tag

The <connection> tag identifies a connection defined for the project and points to the connection (.hco) file that defines the connection.

The attributes of the <connection> tag are:

name
Specifies the name you entered when you created the connection.

<eventPriority> tag

The <eventPriority> tag is the enclosing tag for the screen events you defined for the project. The order of the event tags within the <eventPriority> tag is the order in which screen events are checked when a new host screen is encountered. This tag has no attributes.

<event> tag

The <event> tag specifies a screen event that you defined for the project.

The attributes of the <event> tag are:

enabled
Specifies whether the screen event's screen recognition criteria should be checked when a new host screen is encountered. Valid values are true and false. The default value is true.
name
Specifies the name you gave the screen event when you defined it. If you store a screen event file under a folder (or group), the name of the folder is prepended to the name of the file.
type
Specifies that this is a screen combination event. The available attribute is screenCombination.

<classSettings> tag

The <classSettings> tag is the enclosing tag for the Java™ classes you include in the project. This tag has no attributes.

<class> tag

The <class> tag specifies a class whose attributes are defined in the enclosed <setting> tags.

The attributes of the <class> tag are:

name
Specifies one of the following Java classes:

<setting> tag

The <setting> tag specifies the settings associated with the class in which the <setting> tag is enclosed. The <setting> tag contains name and value pairs for each of the classes. The following sections described the name and value pairs for each of the classes.

com.ibm.hats.common.AppletSettings

For the com.ibm.hats.common.AppletSettings class, name specifies a customizable setting for the rich client application asynchronous update function:

enable
If true, enables the rich client application asynchronous update function. The default is true.

com.ibm.hats.common.ApplicationKeypadTag

For the com.ibm.hats.common.ApplicationKeypadTag class, name specifies a customizable setting:

show
If true, shows a keypad in the application.
showDefault
If true, shows a key in the application keypad to change the presentation to the default transformation.
showDisconnect
If true, shows a key in the application keypad to disconnect from the host.
showKeyboardToggle
If true, shows a key in the application keypad for toggling display of a host keyboard.
showRefresh
If true, shows a key in the application keypad to refresh the browser window contents using the original transformation, and restore the input fields to their original value.
showReverse
If true, shows a key in the application keypad for bidirectional support.

com.ibm.hats.common.ClientLocale

For the com.ibm.hats.common.ClientLocale class, name is always locale. The value for the locale setting specifies the language to be used to display button captions and messages. Value can be one of the following. The default is accept-language.

Characters that identify the country code of the locale
ar
Arabic
cs
Czech
de
German
en
English
es
Spanish
fr
French
hu
Hungarian
it
Italian
ja
Japanese
ko
Korean
pl
Polish
pt_BR
Brazilian Portuguese
ru
Russian
tr
Turkish
zh
Simplified Chinese
zh_TW
Traditional Chinese
accept-language
The language is acquired from the Accept-Language HTTP header of the user's browser.

com.ibm.hats.common.DBCSSettings

For the com.ibm.hats.common.DBCSSettings class, there are three settings, autoConvertSBCStoDBCS, setATOKDefaultModetoRoman, and showUnprotectedSISOSpace.

com.ibm.hats.common.DefaultConnectionOverrides

For the com.ibm.hats.common.DefaultConnectionOverrides class, there is always at least one <setting> tag with a name attribute of allowAll. This <setting> tag indicates the chosen default security policy regarding the overriding of connection parameters. Any exceptions to the chosen security policy for connection overrides are recorded with additional <setting> tags, with the name attribute set to the name of the exceptional connection parameter.

Valid values for the name attributes are:

true
The end user can override the named connection parameter. If the named connection parameter is allowAll, this means that all unnamed connection parameters may be overridden with clients requests.
false
The end user can not override the named connection parameter. If the named connection parameter is allowAll, this means that no unnamed connection parameters may be overridden

The default for the allowAll setting is false.

com.ibm.hats.common.DefaultGVOverrides

For the com.ibm.hats.common.DefaultGVOverrides class, there is always at least one <setting> tag with a name attribute of allowAll. This <setting> tag indicates the chosen default security policy regarding the overriding of global variables. Any exceptions to the chosen security policy are recorded with additional <setting> tags, with the name attribute set to hatsgv_variableName for regular global variable exceptions, or hatssharedgv_variableName for shared global variable exceptions.

Valid values for the name attributes are:

true
The end user can override the named connection parameter. If the named connection parameter is allowAll, this means that all unnamed connection parameters may be overridden with clients requests.
false
The end user can not override the named connection parameter. If the named connection parameter is allowAll, this means that no unnamed connection parameters may be overridden

The default for the allowAll setting is false.

com.ibm.hats.common.HostKeypadTag

For the com.ibm.hats.common.HostKeypadTag class, name specifies a customizable setting:

show
If true, shows a host keypad in the application.
Host keypad
showAltView
If true, shows an AltView key in the host keypad.
showAttention
If true, shows an ATTN key in the host keypad.
showClear
If true, shows a CLEAR key in the host keypad.
showEnter
If true, shows an Enter key in the host keypad.
showF1 - showF24
If true, shows a Function key with the corresponding number in the host keypad.
showFieldExit
If true, shows a Field Exit key in the host keypad.
showFieldMinus
If true, shows a Field Minus key in the host keypad.
showFieldPlus
If true, shows a Field Plus key in the host keypad.
showHelp
If true, shows a Help key in the host keypad.
showPA1
If true, shows a PA1 key in the host keypad.
showPA2
If true, shows a PA2 key in the host keypad.
showPA3
If true, shows a PA3 key in the host keypad.
showPageDown
If true, shows a Page Down key in the host keypad.
showPageUp
If true, shows a Page Up key in the host keypad.
showPrint
If true, shows a PRINT key in the host keypad for printing output.
showReset
If true, shows a RESET key in the host keypad.
showSystemRequest
If true, shows a SYSREQ key in the host keypad.
style
Specifies how keys defined with value=true are displayed in the host keypad. Valid values are buttons or links. The default is buttons.

com.ibm.hats.common.KeyboardSupport

For the com.ibm.hats.common.KeyboardSupport class, name specifies a customizable setting:

enable
Specifies whether keyboard support is available in the project. When keyboard support is enabled, end users can use the physical keyboard keys to interact with the host. The end user can press certain physical keys that have been mapped to host aid keys, such as the F1, SYSREQ, RESET, or ATTN keys. The end user can toggle keyboard support to be disabled if he wants to use a mapped physical keyboard key to interact with the browser.
Note:
This must be set to true to turn on the wizard that allows the HATS theme to change from the default emulator style to a modern application style.
initialState
If true, the initial state of the host keyboard is on (the user can interact with the application using the physical keyboard).
supportAllKeys
If true, all mapped keys are supported, regardless of what buttons or links are displayed. If false:

com.ibm.hats.common.OIA

For the com.ibm.hats.common.OIA class, name specifies a customizable setting:

active
If true, an operator information area (OIA) is visible in the project. The default is true.
Note:
This must be set to true to turn on the wizard that allows the HATS theme to change from the default emulator style or to a modern application style.
appletActive
If true, an indicator is displayed in the OIA if asynchronous update support is enabled. The default is false.
autoAdvanceIndicator
If true, displays in the OIA whether auto-advance is enabled, if it is supported by the browser. The default is false.
bidiControls
If true, displays in the OIA the current bidirectional controls to indicate editing status, if they are supported by the browser. The default is true.
cursorPosition
If true, displays in the OIA the absolute cursor position for the host, such as 1391. The default is false.
cursorRowColumn
If true, displays in the OIA the row and column of the host cursor, such as 18/031. The default is true.
fieldData
If true, displays in the OIA field extended data, such as numeric only or field exit required. The default is false.
inputInhibited
If true, displays in the OIA whether the keyboard is locked, preventing input from the keyboard. The default is true.
insertMode
If true, displays in the OIA whether overwrite mode is enabled, if it is supported by the browser. The default is true.
msgWaiting
If true, displays an indicator when the host system has one or more message for the session. The setting is applicable only for 5250 host systems.
sslCheck
If true, displays in the OIA whether the Host On-Demand connection is SSL secured. The default is true.
systemWait
If true, displays in the OIA whether the system is locked while waiting for data to be returned. The default is true.
typeAheadField
If true, displays the type-ahead field in the OIA. This field displays the type-ahead data as the user enters it, but the field cannot be directly edited. This setting is only effective when type-ahead support is enabled. See Enable type-ahead support in the HATS User's and Administrator's Guide. The default is false.

com.ibm.hats.common.RuntimeSettings

For the com.ibm.hats.common.RuntimeSettings class, name specifies a customizable setting:

autoEraseFields
Specifies whether modified input fields should have [erasefld] applied before modified data is entered into the field. The default value is true. If the value is set to false, space characters may be used to replace data already entered in the field by the host.
Notes:
  1. Any host field that is rendered as multiple input fields will not be automatically cleared. For example, long host fields that wrap from one line to the next are rendered as multiple input fields and will not be automatically cleared before updating.
  2. This setting can only be specified at the project level. It cannot be specified for a single transformation.
enableArrowKeyNavigation
When set to true, fields can be navigated with the keyboard arrow keys on the rendered host screen. The default is false.
enableAutoAdvance
Specifies whether the cursor moves to the next input field when located at the end of an input field; that is, when the input field is entirely filled in. When true, the cursor will move to the next input field when located at the end of an input field. When false, the cursor does not move to the next input field unless the user explicitly moves it. The default is false.
enableAutoTabOn
Specifies whether the tab key will move the cursor to the next input field when the cursor reaches the end of an input field; that is the input field is entirely filled in. When set to true, based on the order of presentation field in the browser, the tab key will move cursor in the current field to the next field when the position of the cursor is at the end of the current field. When set to false, the tab key does not move to the next input field unless the user explicitly moves it. The default is false.
enableOverwriteMode
If true, text entered into an input field overwrites text at the cursor position one character at a time. If false, text entered into an input field is inserted at the cursor position pushing existing text ahead. The user can toggle from this initial setting using the Insert key. The default is true.
enableTypeAhead
When set to true, the user can begin typing data intended for input fields on the next screen (or screens) sent by the host, before they are received and processed by HATS. As the next screen (or screens) are received, HATS sends the previously typed data (type-ahead data) including any keys that submit the input to the host. See Enable type-ahead support in the HATS User's and Administrator's Guide. The default is false.
includeLabelsInTabOrder
If true, protected read-only labels are included in the default tab order. By default, the tabbing order only includes the input fields on the panel. This setting indicates that read-only labels should also be included.
selectAllOnFocus
If true, all text in a field is selected when the field receives focus, which is typical behavior for a Web application. If false, no text is selected when the field receives focus which is typical behavior for a terminal emulator.
Notes:
  1. For Web applications:
    • The default is true.
    • This setting does not affect the enableOverwriteMode setting behavior.
    • This setting is only valid when Internet Explorer is used as the browser for the application.
  2. For rich client applications:
    • The default is false.
    • When selected, this setting functions like the enableOverwriteMode setting in that characters are overwritten as a user types into the field.
    • Text is selected only when the keyboard is used to tab into the field. Text is not selected when clicking the mouse in the field.
suppressUnchangedData
If true, disables all fields whose contents are the same as when the form was rendered. If false, sends any field contents received from the browser to the host even if the current presentation space contents are identical for that field. The default is false.

com.ibm.hats.rcp.transform.widgets.name

Refer to the HATS User's and Administrator's Guide for descriptions of widget settings.

com.ibm.hats.rcp.ui.views.ToolBarSettings

For the com.ibm.hats.rcp.ui.views.ToolBarSettings class, name specifies a customizable setting:

displayAs
Specifies how to display items on the main Transformation view toolbar. Valid values are TEXT, IMAGE, and BOTH, the default is TEXT.
show
Specifies whether to show the main Transformation view toolbar. Valid values are true and false. The default is true.

com.ibm.hats.transform

For the com.ibm.hats.transform class, name specifies a customizable setting:

alternate
The value DEFAULT if an alternateRenderingSet is specified. Otherwise, unspecified.
alternateRenderingSet
Specifies the name of the rendering set to use for default rendering if nothing is found to render during transformation of a HATS component tag.

com.ibm.hats.transform.components.name

Refer to the HATS User's and Administrator's Guide for descriptions of component settings.

com.ibm.hats.transform.DefaultRendering

For the com.ibm.hats.transform.DefaultRendering class, name is always applicationDefaultRenderingSetName. The value specifies the name of the rendering set defined as the default rendering set for the project. The rendering set name specified on the value setting must match the value of the default attribute specified for the <defaultRendering> tag.

<textReplacement> tag

The <textReplacement> tag is the enclosing tag for any text replacement values you define in the project. This tag has no attributes.

<replace> tag

The <replace> tag specifies the text replacement values in a project.

Note:
If you are using a bidirectional code page, refer to HATS User's and Administrator's Guide.

The attributes of the <replace> tag are:

caseSensitive
Specifies whether the case of text replacement values must match before text replacement occurs. Valid values are true and false. The default is false.
from
Specifies the text you want to replace. The text on the from attribute must be enclosed in quotes.
to
When replacing text with text or HTML coding (Web only), specifies the replacement string you want to insert in place of the value specified on the from attribute. The replacement string on the to attribute must be enclosed in quotes. If you want to replace the text with a button or a link, the code for the button or link must be added inside the quotes.
regularExpression
Specifies whether Java regular expression support is used as part of the text replacement algorithm. A regular expression is a pattern of characters that describes a set of strings. You can use regular expressions to find and modify occurrences of a pattern. Valid values are true and false. The default is false.
toImage
When replacing text with an image, specifies the path and name of the image you want to insert in place of the value specified on the from attribute. The path and name of the image on the toImage attribute must be enclosed in quotes.
matchLTR
When using a bidirectional code page, specifies whether the value specified on the from attribute is replaced on left-to-right screens. Valid values are true and false. The default is true.
matchRTL
When using a bidirectional code page, specifies whether the value specified on the from attribute is replaced on right-to-left screens. Valid values are true and false. The default is false.
matchReverse
When using a bidirectional code page, specifies whether the value specified on the from attribute is replaced when the section of the screen in which it appears has been reversed from the original direction of the page. Valid values are true and false. The default is false.
Note:
Care should be taken when using text replacement. Text replacement with a disparate number of characters in the strings can cause changes in the representation of the screen. Depending on the widget used for presenting a region of a screen, text on a line of the screen can be contracted, expanded, or forced to a new line.

<defaultRendering> tag

The <defaultRendering> tag is the enclosing tag for all rendering sets you define in the project.

The attribute of the <defaultRendering> tag is:

default
Specifies the name of the rendering set to use for default rendering in the project. The rendering set name specified on the default attribute must match the value specified for the value attribute of the class setting named com.ibm.hats.transform.DefaultRendering.

<renderingSet> tag

The <renderingSet> tag is the enclosing tag for rendering items defined in the rendering set.

The attributes of the <renderingSet> tag are:

name
The name specified for the rendering set when it was created.
description
The description specified for the rendering set when it was created.
layout
Indicates whether to use compact rendering, which eliminates unnecessary blanks in fields and text on the transformed screen. This attribute should only be used if you want your default rendering to be compacted. The only valid value for layout is COMPACT. By default, a rendering set does not specify this attribute and does not use compact rendering.
separated
Indicates whether to render the output using inline span tags to differentiate between fields and reduce the amount of HTML and blank space on the transformed screen. This is the default for Web applications optimized for mobile devices. By default, a rendering set does not specify this attribute.
table
Indicates whether to render the output in a table and preserve the layout of the original host screen. This is the default for Web applications not optimized for mobile devices.

<renderingItem> tag

The <renderingItem> tag is the enclosing tag for a specific rendering item.

The attributes of the <renderingItem> tag are:

componentIdentifier
The name of the rendering item used to coordinate component information with the transformation. The default setting is the name of the screen combination event.
associatedScreen
The name of the captured screen used to create this rendering item.
description
The description entered when the rendering item was created.
enabled
Indicates whether this rendering item is enabled. Reflects the state of the check box on the Rendering page of Project Settings.
endCol
The last column of the host screen to which this rendering item should be applied. -1 means the rightmost column of the host screen.
endRow
The last row of the host screen to which this rendering item should be applied. -1 means the bottom row of the host screen.
startCol
The first column of the host screen to which this rendering item should be applied.
startRow
The first row of the host screen to which this rendering item should be applied.
type
The host component whose contents will be transformed. The attribute value is the full class name of the host component. There is no default value for this required attribute.
widget
The widget into which the host component will be transformed.

The following tags are also included in each specific rendering item:

componentSettings
The <componentSettings> tag is the enclosing tag for any settings modified for the component for this rendering item. This tag has no attributes.
setting
The <setting> tag is the enclosing tag for any settings modified for the component for this rendering item.

The attributes of the <setting> tag are:

name
Specifies the name of a customizable setting for the component. The available settings depend on the component.

Refer to HATS User's and Administrator's Guide for descriptions of component settings.

value
Specifies the value of a customizable setting for the component. The default values vary depending on the setting.
widgetSettings
The <widgetSettings> tag is the enclosing tag for any settings modified for the widget for this rendering item. This tag has no attributes.
setting
The <setting> tag is the enclosing tag for any settings modified for the widget for this rendering item.

The attributes of the <setting> tag are:

name
Specifies the name of a customizable setting for the widget. The available settings depend on the widget.

Refer to HATS User's and Administrator's Guide for descriptions of widget settings.

value
Specifies the value of a customizable setting for the widget. The default values vary depending on the setting.
textReplacements
The <textReplacements> tag is the enclosing tag for any text replacement specified for this rendering item. This tag has no attributes.
replace
The <replace> tag specifies the text replacement values for this rendering item.

The attributes of the <replace> tag are:

caseSensitive
Specifies whether the case of text replacement values must match before text replacement occurs. Valid values are true and false. The default is false.
from
Specifies the text you want to replace. The text on the from attribute must be enclosed in quotes.
to
Specifies the replacement string you want to insert in place of the value specified on the from attribute. The replacement string on the to attribute must be enclosed in quotes.
regularExpression
Specifies whether Java regular expression support is used as part of the text replacement algorithm. A regular expression is a pattern of characters that describes a set of strings. You can use regular expressions to find and modify occurrences of a pattern. Valid values are true and false. The default is false.
toImage
When replacing text with an image, specifies the path and name of the image you want to insert in place of the value specified on the from attribute. The path and name of the image on the toImage attribute must be enclosed in quotes.
matchLTR
When using a bidirectional code page, specifies whether the value specified on the from attribute is replaced on left-to-right screens. Valid values are true and false. The default is true.
matchRTL
When using a bidirectional code page, specifies whether the value specified on the from attribute is replaced on right-to-left screens. Valid values are true and false. The default is false.
matchReverse
When using a bidirectional code page, specifies whether the value specified on the from attribute is replaced when the section of the screen in which it appears has been reversed from the original direction of the page. Valid values are true and false. The default is false.
Note:
Care should be taken when using text replacement. Text replacement with a disparate number of characters in the strings can cause changes in the HTML representation of the screen. Depending on the widget used for presenting a region of a screen, text on a line of the screen can be contracted, expanded, or forced to a new line.

<globalRules> tag

The <globalRules> tag is the enclosing tag for any global rules you define in the project. It has no attributes.

<rule> tag

The <rule> tag defines a global rule.

The attributes of the <rule> tag for project-level rules are the same as for screen customization-level global rules. However, when you create a project-level and a screen customization-level global rule using the same input field, the screen customization-level rule will have a higher priority. The <rule> tag attributes are:

associatedScreen
The name of a screen capture in the project, from which the global rule is defined.
description
The description entered when the global rule was created.
enabled
Indicates whether this global rule is enabled. Reflects the state of the check box on the Rendering page of Project Settings.
endCol
The last column of the host screen to which this global rule should be applied. -1 means the rightmost column of the host screen.
endRow
The last row of the host screen to which this global rule should be applied. -1 means the bottom row of the host screen.
name
The name that will be shown in the list of global rules on the Rendering page of Project Settings.
startCol
The first column of the host screen to which this global rule should be applied.
startRow
The first row of the host screen to which this global rule should be applied.
transformationFragment
The name of the transformation fragment file associated with this global rule. This file contains the information specifying how to transform the host component. It will be included in a transformation if the appropriate input fields are present in the host screen.
type
The pattern type component for this global rule, taken from the first page of the Create Global Rule wizard. The type can be one of the following:
com.ibm.hats.transform.components. InputFieldByTextPatternComponent
This pattern component recognizes input fields on the host screen based on text near the fields.
com.ibm.hats.transform.components. AllInputFieldsPatternComponent
This pattern component recognizes all input fields on the host screen.
com.ibm.hats.transform.components. InputFieldBySizePatternComponent
This pattern component recognizes input fields on the host screen based on the size of the input fields.
com.ibm.hats.transform.components. InputFieldByPositionPatternComponent
This pattern component recognizes input fields on the host screen by the field's position on the host screen.

The following tags are also included in each specific global rule:

componentSettings
The <componentSettings> tag is the enclosing tag for any settings defined for the pattern type component specified on the type attribute of the <rule> tag. This tag has no attributes.
setting
The <setting> tag is the enclosing tag for any settings defined for the pattern type component specified on the type attribute of the <rule> tag.

The attributes of the <setting> tag are:

name
Specifies the name of a customizable setting for the pattern type component. The available settings depend on the component.
  • For the com.ibm.hats.transform.components.InputFieldByTextPattern Component, the settings for the name attribute are:
    caseSensitive
    Specifies whether the case of the text on the text setting must match before the pattern is recognized. Valid values are true and false. The default is true.
    immediatelyNextTo
    Specifies which input fields you want to transform.Valid values are:
    true
    Specifies that only the nearest input field should be transformed.
    false
    Specifies that all input fields should be transformed.
    The default is false.
    location
    Specifies where text in a protected field, as specified on the text setting, must be in relation to input fields for this global rule to be applied. Valid values are:
    ABOVE
    Specifies that the text must be above the input field.
    BELOW
    Specifies that the text must be below the input field.
    LEFT
    Specifies that the text must be to the left of the input field.
    RIGHT
    Specifies that the text must be to the right of the input field.
    The default is RIGHT.
    text
    Specifies some text in a protected field of the host screen. Valid values are any text in a protected field on the host screen.
  • For the com.ibm.hats.transform.components.AllInputFieldsPattern Component, there are no component settings.
  • For the com.ibm.hats.transform.components.InputFieldBySizePattern Component, the setting for the name attribute is fieldSize.Valid values are the sizes of any input fields on the host screen.
  • For the com.ibm.hats.transform.components. InputFieldByPositionPatternComponent, the setting for the name attribute is enableFieldLength. Valid values are true and false.
    Note:
    When enableFieldLength is specified, the entire field (as specified by the fieldSize attribute) must be within the defined region boundary in order for the field to be recognized. The region boundary is defined by the values for the startRow, endRow, startCol and endCol attributes.

Connection files (.hco)

Each connection that you define in a HATS project is represented by a connection file. The connection (.hco) files are stored in the project_name/Connections folder, where project_name is the name you gave the project when you created it. The default connection, which is created using the connection values that you specify in the New HATS Project wizard, is stored in main.hco.

<hodconnection> tag

The <hodconnection> tag begins the connection definition and specifies several characteristics for the connection.

The attributes of the <hodconnection> tag are:

certificateFile
Specifies the name of the file from which the project's SSL certificate was imported, if any.
codePage
Specifies the numeric value for the code page used on this connection. The default value is the value you selected when you created the project. Each connection can use a different code page. See the description of the codePageKey attribute for the code page numbers.
codePageKey
Specifies the usage key that corresponds to the numeric code page. The default value is KEY_US. Valid values for codePage and the location or usage key are:
Table 18. Code pages and usage keys
Code page Usage key
037
KEY_BELGIUM
KEY_BRAZIL
KEY_CANADA
KEY_NETHERLANDS
KEY_PORTUGAL
KEY_US
273
KEY_AUSTRIA
KEY_GERMANY
274
KEY_BELGIUM_OLD
275
KEY_BRAZIL_OLD
277
KEY_DENMARK
KEY_NORWAY
278
KEY_FINLAND
KEY_SWEDEN
280
KEY_ITALY
284
KEY_SPAIN
KEY_LATIN_AMERICA
285
KEY_UNITED_KINGDOM
297
KEY_FRANCE
420
KEY_ARABIC
424
KEY_HEBREW
500
KEY_MULTILINGUAL
803
KEY_HEBREW_OLD
838
KEY_THAI
870
KEY_BOSNIA_HERZEGOVINA
KEY_CROATIA
KEY_CZECH
KEY_HUNGARY
KEY_POLAND
KEY_ROMANIA
KEY_SLOVAKIA
KEY_SLOVENIA
871
KEY_ICELAND
875
KEY_GREECE
924
KEY_MULTILINGUAL_ISO_EURO
930
KEY_JAPAN_KATAKANA
933
KEY_KOREA_EX
937
KEY_ROC_EX
939
KEY_JAPAN_ENGLISH_EX
1025
KEY_BELARUS
KEY_BULGARIA
KEY_MACEDONIA
KEY_RUSSIA
KEY_SERBIA_MONTEGRO
1026
KEY_TURKEY
1047
KEY_OPEN_EDITION
1112
KEY_LATVIA
KEY_LITHUANIA
1122
KEY_ESTONIA
1123
KEY_UKRAINE
1137
KEY_HINDI
1140
KEY_BELGIUM_EURO
KEY_BRAZIL_EURO
KEY_CANADA_EURO
KEY_NETHERLANDS_EURO
KEY_PORTUGAL_EURO
KEY_US_EURO
1141
KEY_AUSTRIA_EURO
KEY_GERMANY_EURO
1142
KEY_DENMARK_EURO
KEY_NORWAY_EURO
1143
KEY_FINLAND_EURO
KEY_SWEDEN_EURO
1144
KEY_ITALY_EURO
1145
KEY_LATIN_AMERICA_EURO
KEY_SPAIN_EURO
1146
KEY_UNITED_KINGDOM_EURO
1147
KEY_FRANCE_EURO
1148
KEY_MULTILINGUAL_EURO
1149
KEY_ICELAND_EURO
1153
KEY_BOSNIA_HERZEGOVINA_EURO
KEY_CROATIA_EURO
KEY_CZECH_EURO
KEY_HUNGARY_EURO
KEY_POLAND_EURO
KEY_ROMANIA_EURO
KEY_SLOVAKIA_EURO
KEY_SLOVENIA_EURO
1154
KEY_BELARUS_EURO
KEY_BULGARIA_EURO
KEY_MACEDONIA_EURO
KEY_RUSSIA_EURO
KEY_SERBIA_MONTEGRO_EURO
1155
KEY_TURKEY_EURO
1156
KEY_LATVIA_EURO
KEY_LITHUANIA_EURO
1157
KEY_ESTONIA_EURO
1158
KEY_UKRAINE_EURO
1160
KEY_THAI_EURO
1166
KEY_KAZAKHSTAN_EURO
1364
KEY_KOREA_EURO
1371
KEY_ROC_EURO
1388
KEY_PRC_EX_GBK
1390
KEY_JAPAN_KATAKANA_EX_EURO
1399
KEY_JAPAN_ENGLISH_EX_EURO
connecttimeout
Specifies the time that HATS attempts to connect to a host. Specify a number of seconds between 1 and 2147483647. The initial default is 120 seconds.
description
Specifies the description for the connection when it was created.
disableFldShp
When using a bidirectional code page, specifies whether you want Arabic data in password fields submitted to the host in isolated form or in shaped form. Valid values are true and false. There is no initial default.
disableNumSwapSubmit
When using a bidirectional code page, specifies whether you want to disable entry of Arabic-Western numbers, that is, allow entry of only Arabic-Indic numbers in RTL screens. Do this so that, when submitted, all numbers are submitted as Arabic-Western numbers. Valid values are true and false. There is no initial default.
disconnecttimeout
Specifies the time that HATS attempts to disconnect from a host. Specify a number of seconds in the range of 1-2147483647. The initial default is 120 seconds.
enableScrRev
When using a bidirectional code page, specifies which pages of an application should display a Screen Reverse button to enable users to reverse the direction of displayed text and input fields. Valid values are:
(blank)
The Screen Reverse button is not placed on any screens.
Customized
The Screen Reverse button is placed on screens that match a screen customization and on screens that do not match a screen customization, in other words, on all screens. There is no option to place the Screen Reverse button only on screens that match a screen customization.
Non-customized
The Screen Reverse button is placed only on screens that do not match a screen customization.
There is no initial default.
host
Specifies the name of the host to which the connection is made.
hostSimulationName
Specifies the name of the host simulation trace file to use instead of a live connection.
LUName
Valid only on enhanced 3270 sessions (TNEnhanced="true"). Sets the LUName property, which is the LU name used during enhanced negotiation. Values are in string format. Maximum length of LUName is 17 characters. There is no default. To configure print support for your 3270 HATS project, you must specify that the host type is 3270E. When you add the LUName parameter to the list of connection settings, do not use the printer LU name; use the name of your display LU or a pool of display LUs.
LUNameSource
Valid only on enhanced 3270 sessions (TNEnhanced="true"). Specifies the source of the LU name for the connection. Valid values are:
automatic
The LU name is automatically assigned when the connection is established.
prompt
Prompt the end user for the LU name. If pooling is enabled, prompt should not be used.
session
The LU name is defined using an HTTP session variable. The LUName attribute names the session variable. If pooling is enabled, session should not be used.
value
The LU name is defined on the LUName attribute.
There is no initial default.
port
Specifies the number of the port through which the connection to the host is made. The valid range for ports is 0-65535. The initial default is 23.
screenSize
Specifies the number of rows and columns that the host terminal displays. Valid values for screenSize are: The initial default screen size is 24 x 80.
sessionType
Specifies the type of terminal the host terminal displays. Valid values for type are: The initial default is 3270.
singlelogon
When user lists are defined in the project, specifies whether a user ID can be used more than once at a time. Valid values are:
true
The user ID can be used only once at a time.
false
The user ID can connect multiple times simultaneously.
The initial default is false.
SSL
Specifies whether SSL is enabled. Valid values are:
true
SSL is enabled for the project.
false
SSL is not enabled for the project.
TNEnhanced
Valid only on 3270 connections. Specifies whether the connection is a TN3270E connection. Valid values are true and false. The initial default is true.
VTTerminalType
Valid only on VT connections. Indicates the type of VT terminal. Valid values are:
WFEnabled
Valid only on 5250 connections. Specifies whether the connection is a 5250W connection. Valid values are true and false. The initial default is false.
workstationID
Valid only on 5250 and 5250W connections. When the workstationIDSource attribute is set to either session or value, specifies the HTTP session variable or the workstation ID for the connection. There is no initial default.
workstationIDSource
Valid only on 5250 and 5250W connections. Specifies the source of the workstation ID for the connection. Valid values are:
automatic
The workstation ID is automatically assigned when the connection is established.
prompt
Prompt the end user for the workstation ID. If pooling is enabled, prompt should not be used.
session
The workstation ID is defined using an HTTP session variable. The workstationID attribute names the session variable. If pooling is enabled, session should not be used.
value
The workstation ID is defined on the workstationID attribute.
There is no initial default.

<otherParameters> tag

The <otherParameters> tag specifies additional Host On-Demand session parameters.

Host On-Demand session parameters supported by HATS include:

ENPTUI
Determines whether a project with a connection to a 5250 host can use display data stream (DDS) keywords for the Enhanced Non-Programmable Terminal User Interface (ENPTUI). Valid values are true and false. The default value is false.
Lamalef
Sets the LamAlef property, which determines whether LamAlef should be expanded or compressed. This property applies to Arabic sessions only. Values are in string format. Valid values are: The default value is LAMALEF_OFF.
numeralShape
Sets the numeralShape property. This property applies to bidirectional sessions only. Values are in string format. The default value is NOMINAL.
numericSwapEnabled
Sets the Numeric swapping property. This property applies to Arabic 3270 sessions only. Valid values are true and false. The default value is true.
roundTrip
Sets the roundTrip property. This property applies to bidirectional sessions only. Values are in string format. Valid values are: The default value is ROUNDTRIP_ON.
SecurityProtocol
Sets the SecurityProtocol property, which indicates whether to use the TLS v1.0 protocol or the SSL protocol for providing security. Values are in string format. The default value is TLS.
SSLServerAuthentication
Sets the SSLServerAuthentication property, which indicates whether SSL server authentication is enabled. Valid values are true and false. The default value is false.
symmetricSwapEnabled
Sets the symmetric swapping property. This property applies to Arabic 3270 sessions only. Valid values are true and false. The default value is true.
textOrientation
Sets the textOrientation property. This property applies to bidirectional sessions only. Values are in string format. Valid values are: The default value is LEFT_TO_RIGHT.
ThaiDisplayMode
Sets the Thai display mode property. This property applies to Thai sessions only. Values are in string format. The default value is THAI_MODE_5.
workstationID
Sets the workstationID property, which is used during enhanced negotiation for 5250. Values are in string format. All lowercase characters are converted to uppercase. There is no default value.

Kerberos ticket support

To enable support for Kerberos tickets, for rich client projects using 5250 only, add the following lines inside the <otherParameters> tag in the application.hap file:

<parameter name="ssoEnabled" value="true"/>

<parameter name="ssoType" value="ssoAcquireKerberosTicket"/>

<classSettings> tag

The <classSettings> tag is the enclosing tag for the Java classes you include in the connection definition.

<class> tag

The <class> tag specifies a class whose attributes are defined in the enclosed <settings> tags.

The attributes of the <class> tag are:

name
Specifies one of the following Java classes: The class names on the name attribute must be enclosed in quotes.

<setting> tag

The <setting> tag specifies the settings associated with the class in which the <setting> tag is enclosed.

The attributes of the <setting> tag are:

name
Specifies the name of a customizable setting for the class defined by the name attribute of the <class> tag. The available settings depend on the class.

For the com.ibm.hats.common.HATSPrintSettings class, the customizable settings are:

printFontName
Specifies the font in which you want your output printed. Valid values depend on the value of the codePage attribute.
printNumSwapSupport
Specifies whether numeric swapping is enabled. This property applies to Arabic 3270 sessions only, when printRTLSupport is enabled. English numerals are replaced by Arabic numerals in right-to-left screens and Arabic numerals are replaced by English numerals in right-to-left Screens. Valid values are true and false. The default value is true.
printOrientation
Specifies how your printed output is positioned on the page. Valid values for printOrientation are:
PDF_ORIENTATION_PORTRAIT
Orients the paper vertically.
PDF_ORIENTATION_LANDSCAPE
Rotates the paper 90 degrees clockwise.
printPaperSize
Specifies the size of the paper on which to print your output. Valid values for printPaperSize are:
ISO_A3
ISO/DN & JIS A4, 297 x 420 mm
ISO_A4
ISO/DN & JIS A4, 210 x 297 mm
ISO_A5
ISO/DN & JIS A4, 148 x 210 mm
ISO_B4
ISO/DN B4, 250 x 353 mm
ISO_B5
ISO/DN B5, 176 x 250 mm
JIS_B4
JIS B4, 257 x 364 mm
JIS_B5
JIS B5, 182 x 257 mm
ISO_C5
ISO/DN C5, 162 x 229 mm
ISO_DESIGNATED_LONG
ISO/DN Designated Long, 110 x 220 mm
EXECUTIVE
Executive, 7 1/4 x 10 1/2 in
LEDGER
Ledger, 11 x 17 in
NA_LETTER
North American Letter, 8 1/2 x 11 in
NA_LEGAL
North American Legal, 8 1/2 x 14 in
NA_NUMBER_9_ENVELOPE
North American #9 Business Envelope, 3 7/8 x 8 7/8 in
NA_NUMBER_10_ENVELOPE
North American #10 Business Envelope, 4 1/8 x 9 1/2 in
MONARCH_ENVELOPE
Monarch Envelope, 3 7/8 x 7 1/2 in
CONTINUOUS_80_COLUMNS
Data Processing 80 Columns Continuous Sheet, 8 x 11 in
CONTINUOUS_132_COLUMNS
Data Processing 132 Columns Continuous Sheet, 13 1/5 x 11 in
printRTLSupport
Specifies whether right-to-left print support is enabled. This property applies to Arabic 3270 sessions only. Bidirectional files can be either RTL or LTR files. Valid values are true and false. The default value is true.
printSupport
Specifies whether your project includes print capability. Valid values for printSupport are true and false. The initial default is false.
printSymSwapSupport
Specifies whether symmetric swapping is enabled; swapping characters are swapped in right-to-left screens. This property applies to Arabic 3270 sessions only, when printRTLSupport is enabled. Valid values are true and false. The default value is true.
printURL
Specifies the URL for a System i® Access for Web Printer Output window on a 5250 server. The default URL is http://hostname/webaccess/iWASpool, where hostname is the name of the 5250 server.

The customizable settings for the com.ibm.hats.common.NextScreenSettings class are:

default.appletDelayInterval
Specifies the maximum time (in milliseconds) that the server waits until a full host screen has arrived for a session running in asynchronous update mode. The initial default value is 400 milliseconds.
default.blankScreen
Specifies how to handle a blank screen received at connection startup. Valid values are:
normal
Display the blank screen.
sendkeys
Send the host key defined on the default.blankScreen.keys setting.
timeout
Wait for the connection to time out before issuing an error message.
The default is normal.
default.blankScreen.keys
Specifies the host key to send when default.blankScreen is set to sendkeys.
default.delayInterval
Specifies the maximum time, in milliseconds, that the server waits for the arrival of screen updates after the initial screen update. The initial default value is 1200 milliseconds.
default.delayStart
Specifies the minimum time (in milliseconds) that the server waits until the first full host screen has arrived after the host connection becomes ready. The initial default value is 2000 milliseconds.
nextScreenClass
Specifies a class that turns off the default, speed-optimized, algorithm in favor of accuracy. The class for the value attribute is com.ibm.hats.runtime.TimingNextScreenBean. As a result, screen transitions might be slower. The setting default.delayInterval is now the minimum amount of time (in milliseconds) per screen transition. The default.delayInterval value has a default of 1200 milliseconds, but you can customize it for your network and your host application. If you raise this value, remember that HATS waits at least this long for the host screen to settle.
oiaLockMaxWait
Specifies the maximum time (in milliseconds) that HATS should wait after the host screen has settled to ensure that the OIA system lock status has been released. The value can be in the range of 0-600000 milliseconds. The initial default value is 300000 milliseconds.
value
The values for the settings are included in the description of the individual settings.

<poolsettings> tag

The <poolsettings> tag defines pooling parameters for the connection.

The attributes of the <poolsettings> tag are:

enabled
Specifies whether pooling is enabled for this connection. Valid values for enabled are true and false. The initial default is false.
maxbusytime
The number of seconds before a connection that is in use by an end user will be terminated. If you do not want active connections to end, set this field to -1. This setting is available for connections that have pooling enabled as well as for connections that have pooling disabled. For a connection with pooling enabled, the connection returns to the pool if the number of available connections in the pool is less than the minimum number of connections you specified to remain connected. Otherwise, this connection is discarded. For a connection with pooling disabled, the connection is discarded. Valid number of seconds is -1 or in the range of 60-2147483647. The default is -1 (no maximum busy time).
maxconnections
The maximum number of connections in the pool that can be active. This setting is available only for connections that have pooling enabled. Valid number of connections is in the range of 1-2147483647. The default is 1. When you reach the maximum specified and an additional request for a connection is received, HATS can either wait for the next available connection or create a new connection.
maxidletime
The number of seconds before a connection that is not in use by an end user will be terminated and removed from the pool. If you do not want inactive connections to end, set this field to -1. This setting is available only for connections with connection pooling enabled. The minimum number of connections you specify remain connected, whether or not they are used. Valid number of seconds is -1 or in the range of 60-2147483647. The default is -1 (no maximum idle time).
minconnections
The number of idle connections in the pool that remain connected. This setting is available only for connections that have pooling enabled and have the maxidletime before disconnection set to some value other than -1. Valid number of connections is between 0 and 2147483647. The default is 0 (do not keep connections connected).
overflowallowed
Whether a new, non-pooled connection should be created if the maximum limit of connections has been reached. If this value is false, you must specify the number of seconds to wait for a pooled connection to become available. If the time to wait elapses and a connection does not become available, HATS returns an error. If this value is true, a new, non-pooled connection will be created. When the end user finishes with this type of connection, it is not put back in the pool, but discarded.
waittimeout
The number of seconds to wait for a pooled connection to become available once the maximum limit of connections has been reached, and another request comes in. Valid number of seconds is between 0 and 2147483647, or -1 if you want to wait forever. The default is 120.

<userconfig> tag

The <userconfig> tag defines a user list for the connection. The tags and data within the <userconfig> tag are complex and can be corrupted by manual editing. To protect the integrity of your user list, do not manually edit the <userconfig> data. Instead, use the User List tab on the Connection editor to create or modify a user list. By default, a host connection does not specify this tag and does not have a user list.

Screen combination files (.evnt)

The screen combination files defines how a host screen is recognized, the actions HATS performs when a screen is recognized, how to define the end of the screen combination, and how to navigate between screens. The screen combination (.evnt) files are stored in the project_name/profiles/events/screencombinations directory. You can view and edit the source of the screen combination files by double-clicking on the name of the screen combination in the HATS Projects view to open the screen combination editor. The source for the file can be viewed by clicking on the Source tab. You can modify screen combination files using the Begin Screen, Render, Navigation, End Screen, Actions, Text replacement, or Source tabs in the editor. HATS Toolkit updates the affected information on other tabs when you make changes on any tab. The screen combination event files contain tags to define how a host screen is recognized and the actions and navigations that will occur when the host screen is recognized.

Screen combination adds several tags to those found in screen customization (.evnt) files.

<combinations> tag

This is the container for the combination information. It consists of a type attribute and a rendering item detailing the screen combination component.

type
The type parameter determines how the screen transformation will be aggregated.

If the string value is set to dynamic, the screen transformation can add screens to the combined area while the user is using the screen transformation.

If the string value is set to normal or is missing, the individual screens compound prior to allowing the user to interact with the screen transformation. Rich Client screen combinations are limited to normal processing.

<enddescription> tag

This is the description for the screen criteria used to determine if the screen combination end screen has been reached. The tags and details match the description tag. It has an attribute associatedScreen for the screen associated with the end screen.

associatedScreen
This is the screen capture associated with the end screen.

<navigation> tag

The navigation contains the commands needed to move between screens to gather and place data. It consists of a screenUp and screenDown tag.

<screenUp> tag

The commands necessary to traverse to a screen backward in the combination. This is used to return data to the correct place in a screen combination. It can consist of keyPress, setCursor, and sendText tags.

<screenDown> tag

The commands necessary to traverse to a screen forward in the combination. This is used to create the screen combination view as well as return data to the correct place in a screen combination. It can consist of keyPress, setCursor, and sendText tags.

<keyPress> tag

This navigation command is the equivalent of a sendKey. It has a value attribute, which must be a valid HOD key command, for the HOD command to send.

value
The value attribute for the keyPress tag should be a valid HOD key command.

<setCursor> tag

This navigation command allows cursor positioning on the screen. It has a row and a column attribute for the cursor positioning.

row
The row attribute should be a 1-based integer that equates to a position on the screen. This positions the vertical component of the cursor position.
column
The column attribute should be a 1-based integer that equates to a position on the screen. This positions the horizontal component of the cursor position.

<sendText>

This navigation command is the equivalent of a sendKey. It has a value attribute, which must be valid text for the host field, for the text to send.

value
The value attribute for the sendText tag should be valid text for the host field.

Screen customization files (.evnt)

The screen customization files define how a host screen is recognized, and also defines the actions HATS performs when a screen is recognized.

The screen customization (.evnt) files are stored in the project_name/profiles/events/screencustomizations directory. You can view and edit the source of the screen customization files by double-clicking on the name of the screen customization in the HATS Project View to open the screen customization editor. The source for the file can be viewed by clicking on the Source tab.

You can modify screen customization files using the Screen Recognition Criteria, Actions, Text replacement, or Source tabs in the editor. HATS Toolkit updates the affected information on other tabs when you make changes on any tab.

The screen customization event files contain tags to define how a host screen is recognized and the actions that will occur when the host screen is recognized.

<event> tag

Begins the definition of the screen customization. The event tag has the following attributes:

description
If you supplied a description of the screen customization when you created it, that description is defined in this attribute.
type
For a screen customization, type is always screenRecognize. For combined screens, type is screenCombination.

<actions> tag

This is the enclosing tag for all of the actions defined for a screen customization. It has no attributes.

<apply> tag

Defines the action for applying a transformation. The attributes of the <apply> tag are:

applyGlobalRules
Specifies whether HATS should look for global rules on this host screen. Default is true.
applyTextReplacement
Specifies whether HATS should look for text replacements on this host screen. Default is true. See the <replace> tag for further information on how to use text replacement.
enabled
Indicates whether this action is enabled for use. The default is true.
immediateKeyset
Defines the host keys sent to the host immediately when pressed by the end user of your project. If you did not define any host keys to be sent to the host immediately, this attribute has an empty value.
template
Names the template file that surrounds the transformation being applied. If the default template is being used to surround the transformation, this attribute has an empty value.
transformation
Names the transformation file that is to be applied for this action.

<insert> tag

Defines the action for inserting a global variable or a string. The attributes of the <insert> tag are:

enabled
Indicates whether this action is enabled for use. The default is true.
row
Defines the starting row on the host screen where the value is to be inserted.
col
Defines the starting column on the host screen where the value is to be inserted.
source
Specifies whether the value to be inserted is a string or the value of a global variable. Valid values are string and variable.
value
Specifies either the string to be inserted onto the host screen or the name of a global variable from which the value is taken.
fill
If the source of the value to be inserted is an indexed global variable, fill specifies whether the indices of the global variable are to be concatenated and inserted at the specified position, or inserted into a rectangular region of the host screen. Valid values are concatenate and rectangular.
index
If the source of the value to be inserted is an indexed global variable, index specifies the number of the index that is to be used as the value to be inserted onto the host screen.
shared
If the source of the value to be inserted is a global variable, shared specifies whether this global variable is shared between applications running in the same rich client environment.

<extract> tag

Defines the action for extracting a global variable. The attributes of the <extract> tag are:

enabled
Indicates whether this action is enabled for use. The default is true.
srow
Defines the starting row on the host screen of the text being extracted.
erow
Defines the ending row on the host screen of the text being extracted.
scol
Defines the starting column on the host screen of the text being extracted.
ecol
Defines the ending column on the host screen of the text being extracted.
name
Specifies the name of the global variable to which the text is extracted. This can be an existing global variable or a new global variable.
overwrite
Specifies whether the text extracted is to overwrite the value of an existing global variable. Valid values are true and false.
indexed
Specifies whether the text extracted is a single string or a list of strings, where each string in the list corresponds to a single row of text from the extracted region. Valid values are true and false.
index
If an existing global variable is indexed, this attribute specifies the index number to which the extracted value is to be written. The effect of this attribute is dependent on the value of the overwrite attribute. If overwrite=true, the extracted value overwrites the existing variable, starting at the specified index. If overwrite=false, the extracted value is inserted into the existing variable, beginning at the specified index.
shared
Shared specifies whether the global variable is shared between applications running in the same rich client environment.

<set> tag

Defines the action for setting a global variable. The attributes of the <set> tag are:

enabled
Indicates whether this action is enabled for use. The default is true.
name
Specifies the name of the global variable being set. This can be an existing global variable or a new global variable.
shared
Specifies whether the global variable being set is shared between applications running in the same rich client environment.
type
Specifies whether the value of the global variable being set comes from a fixed constant or a calculated value. Valid values are string and calculate.
value
Specifies the value being assigned to the global variable.
overwrite
Specifies whether the value being set is to overwrite the value of an existing global variable. Valid values are true and false.
index
If the value being set is being written to an existing indexed global variable, this attribute specifies the index number to which the value being set is written. The effect of this attribute is dependent on the value of the overwrite attribute. If overwrite=true, the value being set overwrites the existing variable, beginning at the specified index. If overwrite=false, the value being set is inserted into the existing variable, beginning at the specified index.
op1
Specifies whether the first operand of a calculated value is a fixed constant or the value of an existing global variable. Valid values are a fixed constant or the name of a global variable.
op1_type
Specifies whether the value of the first operand of a calculated value is set as a fixed constant or from an existing global variable. Valid values are string and variable.
op1_index
If the source of the value of the first operand of a calculated value is an indexed global variable, op1_index specifies the number of the index used as the value for the calculation.
op1_shared
If the value of op1 is a global variable, shared specifies whether this global variable is shared between applications running in the same rich client environment.
op
Specifies the type of operation to occur between the first and second operands of a calculated value. Valid values are concatenate, + (add), - (subtract), * (multiply), / (divide), and % (modulo).
op2
Specifies whether the second operand of a calculated value is a fixed constant or the value of an existing global variable. Valid values are a fixed constant or the name of a global variable.
op2_type
Specifies whether the value of the second operand of a calculated value is set as a fixed constant or from an existing global variable. Valid values are string and variable.
op2_index
If the source of the value of the second operand of a calculated value is an indexed global variable, op2_index specifies the number of the index used as the value for the calculation.
op2_shared
If the value of op2 is a global variable, shared specifies whether this global variable is shared between applications running in the same rich client environment.
dec
Specifies the number of decimal places to which a calculated value is rounded. Valid values are 0-999.

<execute> tag

Defines the action for executing business logic. The attributes of the <execute> tag are:

enabled
Indicates whether this action is enabled for use. The default is true.
class
Names the Java class that contains your business logic. The class value is required.
method
Names the method inside the class that executes the business logic. The method value is required.
package
Names the package that the Java class resides in on your file system. The package value is optional.

<show> tag

Defines the action for showing a URL. The <show> tag has the following attributes:

enabled
Indicates whether this action is enabled for use. The default is true.
template
Specifies the template to be used for this action.
url
Identifies the Uniform Resource Locator (URL) of the Web page to show. This attribute is required.

<forwardtoURL> tag

Defines the action for passing control from a project to a JSP that invokes an Integration Object. The <forwardtoURL> tag has the following attributes:

enabled
Indicates whether this action is enabled for use. The default is true.
startStateLabel
If forwarding control to a JSP with an Integration Object chain, specifies the start state label of the first Integration Object in the chain to be executed.
url
Specifies the URL of the Integration Object JSP.

<disconnect> tag

Disconnects the default connection. Use this action carefully and only for events from which you cannot recover. The <disconnect> tag has the following attribute:

enabled
Indicates whether this action is enabled for use. The default is true.

<play> tag

Defines the action for playing a macro. The <play> tag has the following attributes:

enabled
Indicates whether this action is enabled for use. The default is true.
macro
Names the macro to be played. This attribute is required.

<perform> tag

Defines the action for playing a macro on any connection, not necessarily the default connection. This action does not affect the current host screen. The <perform> tag has the following attributes:

connection
The connection on which the macro is to be played. The default is main.
enabled
Indicates whether this action is enabled for use. The default is true.
macro
The name of the macro to be played.

<pause> tag

Defines the action for waiting for some time before continuing with normal processing. The <pause> tag has the following attributes:

enabled
Indicates whether this action is enabled for use. The default is true.
time
Specifies the time, in milliseconds, to pause before continuing with normal processing.

<sendkey> tag

Defines the action for sending a specified key to the host screen to perform an action. The <sendkey> tag has the following attributes:

enabled
Indicates whether this action is enabled for use. The default is true.
key
Indicates key to send to the host screen.
row
Defines the starting row on the host screen where the key is to be inserted.
col
Defines the starting column on the host screen where the key is to be inserted.

<globalRules> tag

The <globalRules> tag is the enclosing tag for any global rules you define for screen events. It has no attributes.

<rule> tag

The <rule> tag defines a global rule.

The attributes of the <rule> tag for screen customization-level rules are the same as for project-level global rules. However, when you create a screen customization-level and a project-level global rule using the same input field, the screen customization-level rule will have a higher priority. The <rule> tag attributes are:

associatedScreen
The name of a screen capture in the project, from which the global rule is defined.
componentSettings
Any settings configured for the global rule, such as recognition criteria.
description
The description entered when the global rule was created.
enabled
Indicates whether this global rule is enabled. Reflects the state of the check box on the Rendering page of Project Settings.
endCol
The last column of the host screen to which this global rule should be applied. -1 means the rightmost column of the host screen.
endRow
The last row of the host screen to which this global rule should be applied. -1 means the bottom row of the host screen.
name
The name that will be shown in the list of global rules on the Rendering page of Project Settings.
startCol
The first column of the host screen to which this global rule should be applied.
startRow
The first row of the host screen to which this global rule should be applied.
transformationFragment
The name of the transformation fragment file associated with this global rule. This file contains the information specifying how to transform the host component. It will be included in a transformation if the appropriate input fields are present in the host screen.
type
The pattern type component for this global rule, taken from the first page of the Create Global Rule wizard. The type can be one of the following:
com.ibm.hats.transform.components.InputFieldByTextPatternComponent
This pattern component recognizes input fields on the host screen based on text near the fields.
com.ibm.hats.transform.components.AllInputFieldsPatternComponent
This pattern component recognizes all input fields on the host screen.
com.ibm.hats.transform.components.InputFieldBySizePatternComponent
This pattern component recognizes input fields on the host screen based on the size of the input fields.

The following tags are also included in each specific global rule:

componentSettings
The <componentSettings> tag is the enclosing tag for any settings defined for the pattern type component specified on the type attribute of the <rule> tag. This tag has no attributes.
setting
The <setting> tag is the enclosing tag for any settings defined for the pattern type component specified on the type attribute of the <rule> tag.

The attributes of the <setting> tag are:

name
Specifies the name of a customizable setting for the pattern type component. The available settings depend on the component.
  • For the com.ibm.hats.transform.components.InputFieldByTextPattern Component, the settings for the name attribute are:
    caseSensitive
    Specifies whether the case of the text on the text setting must match before the pattern is recognized. Valid values are true and false. The default is true.
    immediatelyNextTo
    Specifies which input fields you want to transform.Valid values are:
    true
    Specifies that only the nearest input field should be transformed.
    false
    Specifies that all input fields should be transformed.
    The default is false.
    location
    Specifies where text in a protected field, as specified on the text setting, must be in relation to input fields for this global rule to be applied. Valid values are:
    ABOVE
    Specifies that the text must be above the input field.
    BELOW
    Specifies that the text must be below the input field.
    LEFT
    Specifies that the text must be to the left of the input field.
    RIGHT
    Specifies that the text must be to the right of the input field.
    The default is RIGHT.
    text
    Specifies some text in a protected field of the host screen. Valid values are any text in a protected field on the host screen.
  • For the com.ibm.hats.transform.components.AllInputFieldsPattern Component, there are no component settings.
  • For the com.ibm.hats.transform.components. InputFieldBySizePattern Component, the setting for the name attribute is fieldSize.Valid values are the sizes of any input fields on the host screen.

<associatedScreens> tag

The <associatedScreens> tag encompasses the screen tag that follows.

<screen> tag

Defines a screen associated with the screen customization. The <screen> tag has the following attribute:

name
Specifies the name of a captured screen, for which the screen recognition criteria and actions have been defined.

<description> tag

The <description> tag is the enclosing tag for the description associated with the screen customization, which consists of the <oia> tag and the <string> tag. There are no attributes for the description tag.

<oia> tag

The <oia> tag in the screen customization .evnt file specifies an operator information area (OIA) condition to match. This tag is optional. The default is to wait for inhibit status. The attributes of the <oia> tag are:

status
If NOTINHIBITED, the OIA must be uninhibited for a match to occur. If DONTCARE, the OIA inhibit status is ignored. This has the same effect as not specifying OIA at all. Valid values are NOTINHIBITED and DONTCARE. This is a required attribute.
optional
If false, this descriptor is considered non-optional during screen recognition. If the descriptors contain more than one non-optional descriptor, and more than one optional descriptor, the non-optional descriptors are checked first. If all of the non-optional descriptors match, the screen matches. If at least one of the non-optional descriptors does not match, the optional descriptors are checked. One of the optional descriptors must match for the screen to match. Otherwise, the screen fails to match. The value must be true or false. This attribute is optional. The default is false.
invertmatch
If true, recognition matching passes only if the screen does not match this description element (boolean not operation). The value must be true or false. This attribute is optional. The default is false.

<string> tag

The <string> tag describes the screen based on a string. The attributes of the <string> tag are:

value
The string value. This value can contain any valid Unicode character. This is a required attribute.
row
The starting row position for a string at an absolute position or in a rectangle. The value must be a number or an expression that evaluates to a number. This value is optional. If not specified, Macro logic searches the entire screen for the string. If specified, col position is required. <erow> and <ecol> attributes can also be specified to specify a string in a rectangular area.
Note:
Negative values are valid and are used to indicate relative position for the bottom of the screen (for example, -1 is the last row).
col
The starting column position for the string at an absolute position or in a rectangle. The value must be a number or an expression that evaluates to a number. This attribute is optional.
erow
The ending row position for string in a rectangle. The value must be a number or an expression that evaluates to a number. This attribute is optional. If both erow and ecol are specified, string is in a rectangle.
ecol
The ending column position for string in a rectangle. The value must be a number or an expression that evaluates to a number. This attribute is optional. If both erow and ecol are specified, string is in a rectangle.
casesense
If true, string comparison is case sensitive. The value must be true or false or an expression that evaluates to true or false. This attribute is optional. The default is false.
optional
If false, this descriptor is considered non-optional during screen recognition. If the descriptors contain more than one non-optional descriptor, and more than one optional descriptor, the non-optional descriptors are checked first. If all of the non-optional descriptors match, the screen matches. If at least one of the non-optional descriptors does not match, the optional descriptors are checked. One of the optional descriptors must match for the screen to match. Otherwise, the screen fails to match. The value must be true or false or an expression that evaluates to true or false. This attribute is optional. The default is false.
invertmatch
If true, recognition matching passes only if the screen does not match this description element (boolean not operation). The value must be true or false or an expression that evaluates to true or false. This attribute is optional. The default is false.

<nextEvents> tag

The <nextEvents> tag encompasses the <event> tag that follows. The <nextEvents> tag has the following attribute:

defaultEvent
Specifies the default screen customization (event) used as the next screen to occur, if there are no matching screen customizations named on the event tags. If defaultEvent does not specify an event, the normal event priority list in the project settings is used. Valid values are:

<event> tag

Defines another screen customization in the project that is the probable next screen to occur. The <event> tag has the following attributes:

enabled
Indicates whether the screen customization (event) defined on the name attribute is enabled for use. The default is true.
name
Specifies the name of a screen customization that is the probable next screen to occur.

<remove> tag

The <remove> tag removes global variables previously added to the screen customization (event). The <remove> tag has the following attributes:

enabled
Indicates whether the global variable defined on the name attribute is enabled for removal. The default is true.
name
Specifies the name of the global variable to be removed.
remove Type
Specifies the type of the global variable to be removed. Types include oneLocal, oneShared, allLocal, allShared, and all.

Macro files (.hma)

Macro files are stored in the project_name/profiles/macros directory. You can view and edit the source of the macro files by double-clicking on the name of the macro in the HATS Project View to open the macro editor. The source for the file can be viewed by clicking on the Source tab. For more information about macros, see Advanced Macro Guide.

Macro files contain tags that define a set of screens. The tags are described in the sections that follow.

<macro> tag

Begins the definition of the macro. The macro tag has no attributes.

<associatedConnections> tag

The <associatedConnections> tag encompasses the <connection> tag that follows. The attribute of the <associatedConnections> tag is:

default
Identifies the default connection for this macro.

<connection> tag

The <connection> tag identifies the connection with which this macro is associated. The attribute of the connection tag is:

name
Identifies the name of the connection with which this macro is associated.

<extracts> tag

The <extracts> tag encompasses the extract tag that follows. The <extracts> tag has no attributes.

<extract> tag

The <extract> tag defines the extraction to occur. The attributes of the extract tag are:

name
Specifies the name of the extraction.
handler
You can select a .jsp file to display the extracted information to the end user. A default macro handler is shipped with HATS, and it is named default.jsp. You can find this file by clicking the HATS Project View tab of the HATS Toolkit and expanding the project name, and then expanding Macros > Macro Event Handlers. If you want to create your own handler, ensure that you return control to the HATS runtime.
showHandler
Specifies whether the extracted information should be shown to the end user. Valid values are true and false.
shared
Specifies whether a global variable being extracted is shared between applications running in the same rich client environment.
save
Specifies whether the extracted information is saved to a global variable. Valid values are true and false.
variableName
If the extracted information is being saved to a global variable, variableName specifies the name of a new or existing global variable.
overwrite
If the extracted information is being saved to an existing global variable, overwrite specifies whether the extracted information is to overwrite the current value of the existing global variable, or whether the extracted information is to be appended to the current value. Valid values are true and false. True specifies that the value of the existing global variable is overwritten.
index
If the value being extracted is being written to an existing indexed global variable, this attribute specifies the index number to which the value being set is written. The effect of this attribute is dependent on the value of the overwrite attribute. If overwrite=true, the value being extracted overwrites the existing variable, beginning at the specified index. If overwrite=false, the value being extracted is inserted into the existing variable, beginning at the specified index.
indexed
Specifies whether the extracted information is a single string or a list of strings. Valid values are true and false. True specifies that the extracted information is a list of strings.
isBidi
Specifies whether the connection used in recording the macro is bidirectional. Valid values are true and false.
isRtlScreen
Specifies whether the bidirectional screen is right-to-left. Valid values are true and false.
screenorientation
Specifies the orientation of the extract action. Valid values are ltr and rtl.

<prompts> tag

The <prompts> tag encompasses the prompt tag that follows. The prompts tag has no attributes.

<prompt> tag

The <prompt> tag defines the prompt to occur. The attributes of the <prompt> tag are:

name
Specifies the name of the prompt.
handler
You can select a .jsp file to prompt the end user for the necessary information, and include a button for the user to submit the information. A default macro handler is shipped with HATS, and it is named default.jsp. You can find this file by clicking the HATS Project View tab of the HATS Toolkit and expanding the project name, and expanding Macros > Macro Event Handlers. If you want to create your own handler, ensure that you return control to the HATS runtime.
source
Specifies whether the value of the prompt is set to a string or the value of a global variable. Valid values are string and variable.
variableName
If the value of the prompt is being saved to a global variable, variableName specifies the name of a new or existing global variable.
variableIndex
If the value of the prompt is being saved to an indexed global variable, variableIndex specifies to which index the value should be assigned. This value is always 0.
variableIndexed
Specifies whether the information for the prompt is coming from an indexed global variable. Valid values are true and false. True specifies that the global variable is indexed.
value
Specifies either the string to be used for the prompt or the name of a global variable from which the value is taken.
welApplID
Specifies the application ID to use with the WEL logon macro.
welIsPassword
Specifies whether this is a password field to use with the WEL logon macro.
LTRImpicitOrient
Specifies whether the implicit bidirectional screen orientation is left-to-right. Valid values are true and false.
isBidi
Specifies whether the connection used in recording the macro is bidirectional. Valid values are true and false.
isRtlField
Specifies whether the bidirectional field is right-to-left. Valid values are true and false.
isRtlScreen
Specifies whether the bidirectional screen is right-to-left. Valid values are true and false.
screenorientation
Specifies the orientation of the prompt action. Valid values are ltr and rtl.

<HAScript> tag

The <HAScript> tag is the main enclosing tag for the other macro tags and attributes. See the HATS Advanced Macro Guide for more information about macro tags.

Screen capture files (.hsc)

Screen capture files are XML representations of host screens, used to create or customize screen customizations, screen combinations, transformations, global rules, or macros.

Screen capture files are stored in the project_name/Screen Captures directory. You can view these files by double-clicking on the name of the screen capture in the HATS Project View. You cannot edit screen capture files.

Note:
Screen captures of video terminal (VT) host screens can be used to create or customize a macro using the Visual Macro Editor and as the check-in screen when configuring pooling. They cannot be used to create screen customizations, screen combinations, transformations, default rendering, or global rules.

BMS Map files (.bms and .bmc)

Basic Mapping Support (BMS) maps are screen definitions files for Customer Information Control System (CICS®). Each map defines all or part of a screen, and a CICS application typically displays one or more maps to create a complete screen image. The source for BMS maps is organized in groups called map sets. One map set contains one or more maps. Map sets exist in source form as one map set per source file.

BMS map set files can be imported into a project in HATS Toolkit. When HATS imports BMS maps, the import takes place at the map set level. It is not possible to import an individual map. Imported BMS map set files have a file extension of .bms, and the individual maps have a file extension of .bmc in HATS Toolkit.

Both the map set files (.bms) and the map files (.bmc) are stored in a separate Maps folder within the HATS project. By default, the Maps folder is not visible in the HATS Project View until there are maps imported.

HATS enables you to generate screen captures from map files. You can choose to generate the screen captures when you import map sets, or you can generate them from the maps after they are in the Maps folder. To generate screen captures from maps, right click on a map file to display the pop-up menu and select Generate Screen Captures. You can elect to create separate screen captures for each BMS map selected or merge selected BMS maps into a single screen capture. Maps cannot be merged if fields overlap. Once the screen captures are created, you can begin creating HATS screen customizations.

You can open a map set file in a HATS Toolkit editor by double-clicking on the file in the HATS Project View. See the CICS Application Programming Reference for information about the contents of the file. When a map set file is modified and saved in the text editor, the maps that make up the file are regenerated, with one exception: map files in which the contents of fields defined with labels in the map set files have been modified. To regenerate those maps, you must import the source file again using the BMS map set import wizard.

When a CICS application runs, it can modify the contents of the fields defined with labels. You might need to create screen captures with the fields appearing as they will be when the CICS application runs. Since the labeled fields are changeable when the application runs, the map set file (and the map files that are in the map set) may not contain all the information needed to generate an actual screen capture. While you cannot edit map files, double-clicking on a file opens a file preview. The property sheet view in HATS Toolkit enables you to add missing information and manually set the contents of the fields. By modifying the contents of the fields, a single map can be used for multiple screen captures.

Notes:
  1. When you are previewing a map file in HATS Toolkit, the fields displayed in the property sheet view are the fields for the map file highlighted in the HATS Project View, not the map file you see in the preview window.
  2. You can also screen capture files using the property sheet view in HATS Toolkit, as long as the screen capture files were generated from BMS map files.

Image files (.gif, .jpg, or .png)

Image files are used in HATS Toolkit within template files to create the page displayed to the user of your project.

Image files are stored in the project_name/images directory. You can view the image files by double-clicking on the name of the image.

Spreadsheet files (.csv or .xls)

Spreadsheet files in either .csv (comma separated values) or .xls (Microsoft Excel) format can be automatically generated from host screen data defined within the TableWidget. The spreadsheet files are created by the HATS SpreadsheetGeneratorServlet and can be displayed at runtime when the user clicks a defined button or link. A dialog popup displays, and the user can type the directory and file name where the spreadsheet files are to be stored.

For information about creating spreadsheet files, see the Table widget in the HATS User's and Administrator's Guide.

Host simulation trace files (.hhs)

Host simulation trace files can be saved and then used to run HATS in a simulated host connection environment instead of using a live host connection. Simulations are created by the Host Simulator Recorder, which acts as a proxy between the real host and the HATS terminal. The host simulation trace files are created in XML format with a file extension of .hhs and are stored in the following directory in the Host Simulations folder, which is accessed from the HATS Projects view:

For information about creating host simulation trace files, see the HATS User's and Administrator's Guide.

ComponentWidget.xml

The ComponentWidget.xml file contains the definitions of all the host components and widgets provided with HATS. If you add your own host components or widgets, you will need to update this file. For an explanation and a small sample of the file, see Registering your component or widget. The ComponentWidget.xml file appears as the last item in your project in the Navigator view. To edit the file, double-click the file name in the Navigator view and select the Source tab.

For a description of the contents and use of this file, see Registering your component or widget.