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.
These rules are summarized in Table 1.
Table 1. Overlapping fields in a merged screen image section
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:
  • Protected characters before the input field are retained.
  • Protected characters overlaid by the input field are suppressed.
  • Protected characters after the input field are suppressed.
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>
    Each tag must have a corresponding closing tag. You must also ensure that the opening and closing tags are properly nested. For example, <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.