Host Forms are forms that are generated from host application 5250 screens. Host forms are often referred to as 'overrides'. This is due to the fact that the changes saved in a host form override the default recognition and GUI generation of the screen.
So what is default recognition?
The real power of Newlook lies in its dynamic recognition engine. The recognition engine uses complex pattern-matching algorithms to analyze the incoming 5250 IBM i data stream. It then classifies each detected 5250 screen element into a particular GUI category (based on IBM's CUA guidelines), and converts each element into a configurable object on a graphical form. The classification of screen elements is contextual, therefore one combination of elements may result in a series of options buttons, a different combination of elements may produce menu items or text boxes, depending on their position in relation to other elements on the screen. If your application has been designed to follow IBM's CUA design guidelines then you may not need to make any changes to a screen. If you wish to add functionality to a screen or modify the default recognition then you will need to override the default behavior of the recognition engine. It is possible to do this at a global level with Rules but also, at the screen level, through the use of Identify and Designer overrides defined in a host form.
A host form consists of two components; presentation space (which can be thought of as the green screen representation of the 5250 data stream) and the GUI form (the converted graphical representation of the screen). Identify is used to examine and modify the presentation space of the saved host form, while Designer allows you to modify and extend the resulting graphical form. The Forms Editor can be opened in either Identify mode or Designer mode via tabs at the bottom of the workspace.
Figure 1. The IBM i main menu viewed in Identify.
Figure 2. The IBM i Main menu viewed in Designer.
One of the first steps in creating a host form is assigning a ScreenID to the form. A Screen ID is a unique combination of screen elements that act as the form's identifier, or ID. It allows overrides saved in the host form to apply to a specific screen or multiple screens, depending on the uniqueness of elements classified as the ScreenID.
Once a screen ID has been assigned to a form it is possible to override either the default recognition of the data using Identify, or the final graphical representation of the screen using Designer.
So you want to make a change to an individual screen in your application. How do you go about creating a host form that will apply to the relevant screen?
Step 1 - Open the screen in Identify
Connect to your host application and navigate to the relevant screen in the runtime client. Open it in Identify by selecting the Identify button () from the toolbar or the Tools menu. Note: you may be presented with the Confirm override dialog at this point if a host form has already been defined for this screen.
Step 2 - Assign a Screen ID to the host form
Once the screen is open in Identify you will need to select a combination of elements that are unique to that screen and assign them as the form's Screen ID . Selecting appropriate screen IDs for your screens is one of the most important tasks in the development of a newlook project. At this point in time you also need to decide if the host form will apply to a single host screen or multiple screens. This will determine whether you save the host form as a specific or generic host form in step 5.
Step 3 - Create recognition overrides in Identify
After assigning a screen ID to the host form, you may wish to create overrides in identify to fine-tune the recognition of the screen, if necessary.
Step 4 - Create GUI overrides in Designer
Switch over to Designer mode to make any necessary changes to the graphical representation of the screen or add further functionality.
Step 5 - Save your host form.
Assign a logical name to your host form and configure various Save options for the form.
Step 6 - Position your host form in the Host Forms collection
Ensure that your host form will be applied in the correct order.
Creating a new Custom Form | About Screen Identification