SimoVIEW is provided to assist in the transformation or extending of a mainframe application to an Internet enabled application. One of the first steps in transforming an application that is running on a mainframe to an application that will run in an Internet enabled environment is the conversion of the mainframe screen presentation services from either Basic Mapping Support (BMS) for CICS or Message Format Services (MFS) for IMS to HTML.
Note: many of the items discussed in this document are based on the hardware and software technologies that were available when this document was created. This is a rapidly changing environment and functional improvements are expected.
There have been many different approaches to transforming, converting, re-engineering, or emulating both BMS or MFS functionality to run on non-mainframe platforms. Some technologies were available and provided minimum conversion of certain screen elements that could then be imported into a "Forms" processing program. Many of these approaches did not retain the screen positioning, field names or field attributes, it was the programmers task to complete the conversion. Another early effort at porting mainframe screens was called "screen scraping". This technique used the generated 3270 byte stream information to display an HTML page and had the following advantages.
2. Could be done quickly.
It also had the following disadvantages.
1. In most environments the screen conversions took place at execution time.
2. Continued proliferation of mainframe methods into non-mainframe environments.
3. Required the creation and access to the 3270 byte-stream members.
4. Limited capacity for change.
What is needed is a simple capability that converts BMS or MFS screens to native HTML pages. SimoVIEW provides this capability while retaining the various data element names and positions on the HTML page. This approach provides a usable HTML page that is easily imported and used in a WEB application. This technology was originally intended to be used by SimoTime personnel to assist in the BMS to HTML conversion process. However, it was to our customer's advantage to retain this capabilities after the initial conversion effort. SimoVIEW was initially enhanced to meet this objective and is being continually enhanced base on new technologies and our customer's requirements.
The following is the minimum system requirements.
The SimoVIEW programs, this documentation, the Installation Verification Procedure (IVP) and examples are provided in a zipped file. Additional information about acquiring SimoVIEW may be obtained from http://www.simotime.com/evaltek2.htm.
The SimoVIEW programs, this documentation, the Installation Verification Procedure (IVP) and examples are provided in a zipped file. Additional information about acquiring SimoVIEW may be obtained from http://www.simotime.com/purchase.htm .
SimoVIEW is currently delivered as a ZIPped file.
Create a directory on the C-drive called SimoLIBR.
Make the SimoLIBR the current directory.
Unzip the SimoVIEW.ZIP file into the SimoVIEW directory.
To verify that SimoVIEW for BMS has been installed properly run the following command.
The preceding command is a batch file included with SimoVIEW.
Note: If SimoVIEW is not installed in the drive and directory specified (i.e. C:\SIMOLIBR) then the SET4BMS1.BAT must be modified to match the drive and directory where SimoVIEW is installed.
The following is the contents of the batch file (IVP4BMS1.cmd) provided as the IVP for the BMS conversion process.
call SIMONOTE "* Starting JobName %JOBNAME%, User is %USERNAME%"
call SIMONOTE "* %JOBNAME% This job must execute from an MFE Command Line."
call SIMONOTE "* %IVP4BMS1% Work file created by SIMOVIEW"
rem  * run SimoVIEW to read a BMS member and create an HTM member.
rem  * if a sequence error occurs during this step then change GEN to ORG.
rem  * out of sequence by the line and column information.
rem  * the HTML member.
call SIMONOTE "* Finished JobName %JOBNAME% "
The following is the batch file (SET4BMS1.cmd) that sets the environment variables used by the various steps in the screen conversion process.
rem  * Set the locations for the LOG and CONFIG files.
rem  * Set the variables used by the MF/ASM Option.
SimoVIEW for BMS provides for the quick conversion of BMS screens to HTML pages and provides the following capabilities.
3. Support for multiple maps within a map set.
SimoVIEW for BMS is supported for Windows/NT and requires Mainframe Express (MFE) with the MF/ASM option by Micro Focus.
The BMS to HTML conversion is a single job that has three required steps and one optional step after the BMS source members are downloaded to the PC.
1. Run the STVWBMS1 program to do the initial scan of the BMS member and create a new member (STVWMLC1.MLC).
2. Run MF/ASM to expand the STVWMLC1.MLC member into a STVWGEN1.PCH.
3. This step is optional. Sort the STVWGEN1.PCH file to ensure the proper sequencing by line and column.
4. Run the STVWGEN2 program to generate the HTML code to the STVWGEN2.HTM file.
The above process may be executed from an MFE command line as a single task or logical unit of work. SimoVIEW includes an example of how to automate the process for multiple BMS members.
MFS to HTML is currently available as Beta technology. Continue to watch this space?
Many of the functions provided by SimoVIEW may be configured. For example, font size and color or the page headers and footers may be defined as part of the conversion process.
/TOF HTML Code Top-of-Form, supports a maximum of ten statements. Each statement should include standard HTML code. The HTML code specified in the /TOF statements will be treated as header information and displayed at the top of the converted BMS-to-HTML member.
/BOF HTML Code Bottom-of-Form, SimoVIEW supports a maximum of ten statements. Each statement should include standard HTML code. The HTML code specified in the /BOF statements will be treated as footer information and displayed at the bottom of the converted BMS-to-HTML member.
/FTSIZE 14 The Font size, 14 is a reasonable choice for starters.
/FTFACE TERMINAL Terminal or Courier New provide fixed fonts.
Times New Roman will work and provides a proportional font.
/BCOLOR #0000FF Background color, this example uses the hex value for Blue as the background color. This value may be #hex (#rrggbb) or text.
/FCOLOR #0000000 Foreground color for default, this example uses the hex value for Black. This value may be #hex (#rrggbb) or text.
/OCOLOR Blue Override color for foreground color when a color was specified in the original screen definition. This value may be #hex (#rrggbb) or text.
/COLWID 11 Determines width of individual columns that are allocated across the screen, works in conjunction with the TABWID and FTSIZE parameters.
/TABWID 0880 Determines width of screen, works in conjunction with the COLWID and FTSIZE parameters.
/FILLER + This is provided for documentation or debugging purposes. The character specified in the parameter field will be moved to the data fields that allow keyboard input.
/HEXSUB ? If SimoVIEW encounters a non-ASCII character in the BMS data string it will be replaced with the specified value.
1 Y=Display BMS statements as they are read.
N=Do not display BMS statements.
2 Y=Display interim 370 generated code.
N=Do not display interim 370 generated code.
3 Y=Display interim info records. For internal use.
N=Do not display interim info records.
4 Y=Display HTML code as it is generated.
N=Do not display HTML code as it is generated.
5 Y=Display MAPSET and MAP names.
N=Do not display MAPSET and MAP names.
8 Y=Display ruler on row zero.
N=Row zero is treated as a row of spaces.
Y=Remove comments from generated HTML code.
N=Do not generate a filename.PGX file.
3 Y=Write messages to the STVWMSG1.LOG file.
N=Do not write messages to the STVWMSG1.LOG file.
1 Log messages to STVWMSG! file.
2 Display and log message.
/SYSWORK d:\directory The fully qualified directory name for the work files used by SimoVIEW.
MULTIPLE SINGLE - process SYSIN as a MAPSET containing a single map.
MULTIPLE - process SYSIN as a MAPSET containing multiple MAPS. Create HTML using MAPSET_MAP.HTM as the SYSOUT name.
/END Any statements after this statement will be treated as comments.
A Mainframe Express command line interface is provided for automating the BMS to HTML conversion process. This is especially useful for converting a large number of BMS screens. The format of the MFE command line interface is as follows.
The following table describes the command line parameters.
input-type BMS or MFS This parameter/keyword specifies the input type. This must be BMS or MFS.
output-type HTML This parameter/keyword specifies the output type. This must be HTML.
GEN Perform the three required steps for the BMS to HTML conversion.
ORG Perform the three required steps for the BMS to HTML conversion. Include the optional sort step to ensure the proper sequencing of the Line/Column information.
GEN1 Perform the first of the three required steps for the conversion. This function is provided as a debugging feature.
ASM1 Perform the second of the three required steps for the conversion. This function is provided as a debugging feature.
GEN2 Perform the third of the three required steps for the conversion. This function is provided as a debugging feature.
ORG1 Perform the optional sort step for the conversion. This function is provided as a debugging feature.
bms-member-name d:\dir\filename.BMS The fully qualified member name of the BMS member to be used for input.
html-member-name d:\dir\filename.HTM The fully qualified member name for the HTML document to be created.
configuration-file-name d:\dir\filename.CFG The fully qualified member name for the configuration file.
A sample .CMD file is included with SimoVIEW.
This section provides additional information not covered in other sections of this document. The primary focus is using SimoVIEW and the newly created HTML in specific environments.
The HTML code created by SimoVIEW is standard HTML with Java Script and may be used by or imported into a number of presentation technologies. Additional advantage may be obtained by importing the HTML Form into Net Express. Many BMS members contain additional information such as the COBOL PICTURE clause. By saving and using this information in the filename.PGX file the HTML Form may be easily imported into Net Express with sufficient information to quickly generate a CGI program . The filename.PGX file is created when the second flag in the "/NETEX1 YYNNNNNN" statement of the configuration file is set to "Y".
A special utility program is not included with SimoVIEW called MFFBUILD, this is available from Micro Focus. Net Express, version 3.0 requires a filename.MFF file in addition to the filename.HTM file in order to properly import the HTML Form into Net Express. MFFBUILD will use the filename.HTM and filename.PGX to create the filename.MFF for Net Express. The IVP4NTX1.BAT shows the syntax for using MFFBUILD.
rem * Create an MFF file for Net Express.
echo * Press CTRL and BREAK to CANCEL . . .
Note: MFFBUILD must run from a Net Express command line.
To create a link to Internet Explorer from the Customized Tool Bar of Mainframe Express do the following steps.
1. Select Options from the Mainframe Express Tool Bar.
2. Select Customize IDE? from the pull-down menu.
3. Select the Tools Tab from the Customize IDE window.
4. Select the New Tool? button.
5. Type or Enter Menu Text, use SimoVIEW or a name of your choice.
6. Type the following into the Program box.
7. The preceding command will need to be modified based on the browser that will be used by the client.
8. Type the following into the Starting dir box.
9. Type the following into the Command line box.
12. Select the Tools item from the Mainframe Express Tool Bar.
13. Select the newly added SimoVIEW item.
Internet Explorer should start, simply select an HTML member to display.
This section will identify items that may want to be changed during the primary conversion effort.
If the HTML code created by SimoVIEW will be incorporated and dynamically modified with data from within a Java or C++ program then care must be taken to remove or properly handle HTML tag characters.
Special considerations needs to be given when literals have multiple, embedded spaces. HTML will reduce the multiple spaces to a single space and this could cause some shifting of the text within the literal to the left of the screen.
A technique that was sometimes used with mainframe screens displayed a row of asterisks, hyphens or equal signs to separate different areas on a screen. Depending on the font size and type selected for the HTML member this technique may result in this row of asterisks, hyphens or equal signs being too narrow or too wide. A possible resolution may be to select a different font size or type but this may not be acceptable. Another option may be to center this row. A better alternative may be to replace these separator rows with the HTML Horizontal Rule. SimoVIEW does not provide a capability to automate this process.
Mainframe screens use a fixed font of a predetermined size. HTML can be a proportional font of various font sizes. This presents a problem when trying to align multiple rows and columns with a heading row of a single literal. A possible resolution to this problem is to code the single literal as multiple literals that are aligned over the columns. This could be done within the BMS member before creating the HTML or it could be done in the HTML member.
Mainframe work in EBCDIC mode and browsers work in ASCII mode. The HTML created by SimoVIEW is ASCII/Text . If the data that is merged with the HTML member is received from a mainframe it may need to be converted between EBCDIC and ASCII.
In the mainframe and fixed-function terminal environment the paging between the screens is managed by the program running on the mainframe. If the mainframe program is sensitive and/or dependent to sending a screen and expecting only to see the results of the last screen sent then controls will need to be implemented to handle this condition. Most browser technologies allow a user to move back and forward between HTML documents without the knowledge of the host or mainframe system.
The mainframe, fixed-function terminals were usually limited to a 24 rows by 80 columns of information using a fixed font and predetermined font size. When one screen could not contain all the information a user requested a second screen was created. This also required the online program to manage the paging between screens. With the Web interface it is possible to create and download a single HTML documents consisting of many rows and columns (the limiting factor is usually the time it takes to download to the browser machine). The paging becomes scrolling within the document and is handled entirely by the browser. This can significantly reduce and possible eliminate the need to manage paging within an application program.
The following figure shows the process flow.
Let's take a closer look at each of the items in the preceding figure.
1. SimoVIEW is the mainline program. Refer to the IVP4BMS1.BAT file as an example for starting the process with the appropriate parameters.
2. is divided into two sections. Step 2a is the process for using BMS as input, Step 2b is the process for using MFS as input.
3. uses the MF/ASM technology to parse the input and create an interim work file as the output of this step. The output file is the same format regardless of the input.
4. is optional. In a small percentage of BMS or MFS members the field definitions are out of sequence. Prior to creating an HTML form this field definitions must be in sequence.
5. actually creates the HTM member.
The following sections describe the steps of the generation process in more detail.
Not currently supported, reserved for future use. SimoXGUI, this is the GUI interface. A window will be displayed to prompt for the required parameters.
Not currently supported, reserved for future use. SimoXAPI, this is the callable interface.
The command line interface provides a methodology for creating batch files that will read numerous BMS files and create corresponding HTML members. Refer to The MFE Command Line Interface for more information.
SimoVIEW is provided to assist in the transformation or extending of a mainframe application to an Internet enabled application. This document may be used as a tutorial for new programmers or as a quick reference for experienced programmers.