How the screen image sections are merged
When the screen image sections created as a result of a series of BMS and non-BMS SEND commands are merged, a new screen image section is created; it contains, as far as possible, all the fields from all the screen image sections that were used to construct it.
However, if fields from two or more of the constituent screen images
wholly or partly overlap, merging is not possible, and some of the
overlapping fields might be modified or suppressed entirely:
- When fields overlap, fields associated with the earlier BMS or non-BMS SEND commands are modified or suppressed in favor of fields from later commands.
- If an input field is partially or wholly overlapped, the entire input field is discarded and does not appear in the final HTML.
- If an input field partially overlaps some normal text, any visible text up to the start of the input field is visible in the final HTML and the remaining data is discarded, whether or not more text is visible after the end of the input field on a 3270 device.
- If the table cell contains a horizontal rule tag (
<hr>), overlapping the contents of the cell will produce unpredictable results.
| Field from earlier SEND | Field from later SEND | Result |
|---|---|---|
| Input (unprotected) | Input (unprotected) or Text (protected) | The earlier field is entirely suppressed |
| Text (protected) | Input (unprotected) | Based upon the character position in the
3270 screen:
|
| Text (protected) | Text (protected) | Based upon the character position in the 3270 screen, characters from the later send will overwrite characters from the earlier send. |
You can edit HTML templates created from BMS maps before using
them in an application program. However, the algorithm by which the
screen image sections are merged requires that the HTML in the sections
has a particular structure. Therefore, when you edit the screen image
section in a template, and the section will be merged with others,
follow these guidelines:
- Each HTML page contains two comments with the strings DFHROW and DFHCOL respectively. The values that follow these strings are important during the merging process because they are used to calculate the position of each field on the 3270 screen. If these comments are modified or deleted, the screen image sections are not merged but are displayed in the final HTML page appended one after the other.
- The closing tags for table cells (
</td>) and table rows (</tr>) are optional. - Table cells must either contain a piece of normal text with or without additional attribute tags or they must contain an input field. Additionally, they can contain a mixture of text and input fields in the same table cell if the text and input fields follow each other without additional tags between them.
- Empty table cells cannot contain null values (X'00')
or spaces between the opening and closing tags. In other words, empty
cells must be coded as
<td></td>. - You can bound a section of text or an input field with one or
more of the following pairs of tags:
- emphasis
<em> ... </em>- strong
<strong> ... </strong>- font
<font> ... </font>- underline
<u> ... </u>- blink
<blink> ... </blink>
<u><strong> ... </strong></u>is properly nested, but<u><strong> ... </u></strong>is not. - If you insert other tags into the table cell, they must be before or after the text or input field, but cannot be both before and after in the same table cell.
- HTML comments are allowed in the table cell and can be before, after, or on both sides of a piece of normal text or an input field.
- If the cell contains comments, it must also contain either a piece of normal text or an input field.