Differences Between Webulator/400 and Other 5250 Emulators
Webulator/400 Client Software
Because Webulator/400 translates the AS/400 5250 data stream into HTML forms that are
presented by Web browsers, there is no Webulator/400 specific client software.
Data stream processing is performed on the AS/400 and user interaction is
handled by the Web browsers. This differs from 5250 emulators that
perform the data stream interpretations and user interaction on the client machine.
The Webulator/400 offers the advantage of being client platform independent but
pays a small price in terms of client side flexibility and functionality.
Known Browser Limitations
The following sections describe some of the known browser limitations and offers possible
ways to work around these limitations.
Some browsers will recognize the Enter key and return the form data only if
there is one, and only one, input field available on the form. If there are
none or multiple input fields, the user must press the Enter submit button instead.
Since the browser is handling the user input functions, it traps the Function
keys for its own use and not for Webulator/400. This means that when you press
one of the function keys (e.g., F1), it will either ignore you or perform a browser function.
Neither one of these is what you want. You must press the browser submit button that
corresponds to the desired Function key.
By default, Webulator/400 generates preformatted text screen data which ensures
that output fields will properly line up. Unfortunately, column data
will not line up if there is either an input field or a submit button
on the same line. This happens because the width of input fields and
buttons are not the same as the width of an output field. If the columns
are not lining up because of a submit button that Webulator/400 created, you may
be able to modify your keyword parsing configuration to prevent Webulator/400
from creating the submit button.
You can have Webulator/400 generate HTML tables instead of preformatted text.
Tables will guarantee that columns will line up by inserting extra space between
fields. Please see the Preformatted Text or HTML Tables section
for more information. Please note that you must have a browser capable of displaying
tables for the screen to appear correctly.
Webulator/400 Version 1.1 can generate a JavaScript routine that will automatically position
the cursor in the correct field. Please see the
JavaScript Usability Enhancements section
for more information. Please note that you must have a JavaScript capable browser
for the cursor to be positioned correctly. If you do not have
Send JavaScript enabled or your browser does not support
JavaScript, you will be dependent on the browser to select an input field.
Some browsers will automatically select the first input field, while several will not
select any fields but instead require the user to select a field before being able to enter data.
Webulator/400 Version 1.1 can generate a JavaScript routine that will automatically return
to the AS/400 the location of the last input field that had focus. Please see the
JavaScript Usability Enhancements section
for more information. Please note that you must have a JavaScript capable browser
for the cursor position to be reported to the AS/400 correctly. If you do not have
Send JavaScript enabled or your
browser does not support JavaScript, you will have to take an extra step to get field
level prompting. You can inform Webulator/400 of the field position you wish
to return to the AS/400 by typing a configurable string (the system default
is a ?) in the field and pressing a non-Enter submit button. When
Webulator/400 recognizes the Field Level Prompting string, it will strip
it out of the 5250 data stream and return the cursor location of the
current field.
Various browsers support different levels of the HTML specifications.
Browsers should ignore HTML tags that they do not understand.
Unfortunately, some browsers incorrectly interpret these unknown tags.
The results can vary from incorrect colors to improper formatting.
Webulator/400 requires an HTML 2.0 compliant browser to run most
configurations and a browser that supports HTML extensions to
use some of the more advanced configuration options.
The following configuration elements require a browser that supports
extensions to HTML 2.0:
The following configuration elements require a browser that supports
extensions to HTML 3.0:
The following configuration elements require a browser that supports
HTML tables:
The following configuration element requires a browser that supports
JavaScript:
You may have also included some HTML 3.0 or HTML extensions in your
custom header or footer file that may cause browser problems. Make sure
you understand the ramifications of the HTML tags may have on older browsers
before you include them in a custom header or footer file.
Since the browser is only able to receive data from the AS/400 after a user submits
the HTML form, it is not possible for Webulator/400 to continually send screen updates
to the browser. Webulator/400 will attempt to buffer all output messages and send them
with the next screen but it is not always able to do so. Webulator/400 clears all screen
data (seen and unseen) whenever it encounters a Clear Unit command in the 5250
data stream. A Clear Unit command is inserted into the 5250 data stream by various
screen I/O commands such as the EXFMT command in RPG.
Webulator/400 is also unable to support AS/400 Break messages. AS/400 Break messages
are messages that interrupt the current screen and require some sort of response (at a
minimum an Enter key) to return to the previous screen. Break messages cause
Webulator/400 to be out of sync with the AS/400 causing unpredictable results.
Some host programs send a write/read screen I/O request followed immediately by a cancel read
operation. The end result of these operations are the same as a write request. These requests are
handled seamlessly by traditional emulators because of their constant communication link with
the AS/400. Webulator/400 has a little more difficulty handling these I/O requests. Webulator/400
will verify that no Cancel requests have been generated by the AS/400 before sending a screen to
the browser. Unfortunately, there is no guarantee that the Cancel request will be received before
the screen is sent to the browser. This means that certain write/read/cancel requests will get by
Webulator/400's checking and be sent to the browser. If this happens, all you have to do is press
a Virtual Keyboard button and the next screen will be sent to the browser.
Since Webulator/400 does not have control over how the Browser handles
the user interface, the following DDS keywords have no effect:
- CSRINPONLY - Cursor Movement to Input Capable Positions Only
- FLDCSRPRG - Cursor Progression Field
- HOME - Home
- MOUBTN - Mouse Buttons
- MSGALARM - Message Alarm
- SFLCSRPRG - Subfile Cursor Progression
- SFLCSRRRN - Subfile Cursor Relative Record Number
- WRDWRAP - Word Wrap
Webulator/400 is unable to fully support programs that use the Text Assist
functions (e.g., OfficeVision/400). Text Assist programs require more
interaction with the AS/400 than is possible using Webulator/400.
Care should be taken before allowing this button to be made available through
Webulator/400. You must ensure that the user profile that is signed on for
a session has an Attention program assigned to it. As long as it does,
everything will work fine. You will run into problems if a Webulator/400 user
presses the Attention button and their user profile does not have an
attention program defined for it. 5250 emulation programs are able
to notify the AS/400 that the Attention key was pressed and retain control
of the current screen until they are interrupted by the new attention program.
If there is no attention program to run, the 5250 emulation program will
continue to process the current screen. Since the Web browser returns
control to the AS/400 when any submit button is pressed (including the Attention
submit button), it must wait for a new screen to arrive from the AS/400 before
allowing the user to interact with the screen. If there is no attention program
to generate a new screen, the browser will time out waiting for the new screen
and will not allow the user to continue with the screen where the Attention
button was pressed.