SimoVIEW
 Screen Conversion Tool
http://www.simotime.com
 Copyright © 1987-2010 SimoTime Enterprises  All Rights Reserved
Table of Contents Version 09.01.05 
  Introduction
  System Requirements
  Installation
  Installation Verification Program
  Installation Verification for BMS
  Installation Verification for BMS, Environment and Directories
  SimoVIEW for BMS
  SimoVIEW for MFS
  The Configuration File
  The Mainframe Express Command Line
  Tips and Techniques
 
  Importing HTML into Net Express
  Mainframe Express and Internet Explorer
  Problem Anticipation and Avoidance
 
  HTML Tags in the Data String
  Multiple Space Characters
  Rows of Asterisks, Hyphens or Equal Signs
  One Literal Instead of Multiple Literals
  Data Conversions in a Multi-Machine Environment
  The Browser "BACK" Function
  Reduce Screen Paging within a Program
  Technical Overview
 
  The GUI Interface
  The Callable Interface
  The Command Line Interface
  Summary
 
  Acquiring Software and Links to Similar Pages
  Comments or Suggestions
  About SimoTime

Introduction
(Next) (Previous) (Table-of-Contents)

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

1. No conversion required.
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.

System Requirements
(Next) (Previous) (Table-of-Contents)

The following is the minimum system requirements.

Windows/2000, Windows/98 or Windows/NT
64meg of memory
2 gig disk space
Mainframe Express with the MF/ASM Option
A browser. Internet Explorer 4.0 or Netscape Navigator 1.4

The following is a typical system configuration for running Mainframe Express with the Assembler Option and SimoVIEW.

Windows/2000
128meg of memory
10 gig disk drive
Mainframe Express with the MF/ASM and CICS options
Internet Explorer and/or Netscape Navigator
Net Express

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.

Installation
(Next) (Previous) (Table-of-Contents)

SimoVIEW is currently delivered as a ZIPped file.

Create a directory on the C-drive called SimoLIBR.

  C:\>md SimoLIBR

Make the SimoLIBR the current directory.

  C:\>cd SimoLIBR

Unzip the SimoVIEW.ZIP file into the SimoVIEW directory.

  C:\SimoLIBR> pkunzip SimoVIEW

Installation Verification Program
(Next) (Previous) (Table-of-Contents)

To verify that SimoVIEW for BMS has been installed properly run the following command.

  C:\SimoLIBR> IVP4BMS1

The preceding command is a batch file included with SimoVIEW.

Note: If SimoVIEW is not istalled 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.

Installation Verification for BMS
(Next) (Previous) (Table-of-Contents)

The following is the contents of the batch file (IVP4BMS1.BAT) provided as the IVP for the BMS conversion process.

@echo OFF
rem   *
rem   * Set the Environment Vaviables
rem   *
      echo * IVP4BMS1 - Installation Verification Program for BMS is EXECUTING...
      echo * IVP4BMS1 - This procedure must execute from an MFE Command Line.
      call set4bms1
rem   *
rem   * If necessary, create the work directory
rem   *
      IF EXIST %SYSLOG1% ERASE %SYSLOG1%
      IF EXIST %SYSUT2%\SYSWORK1.TXT GOTO :JUMP10
      MD %SYSUT2%
      echo * IVP4BMS1 - Created by SIMOVIEW . . . >%SYSUT2%\SYSWORK1.TXT
:JUMP10
rem   *
rem   * If necessary, erase previously created work file,
rem   * run SimoVIEW to read a BMS member and create an HTM member.
rem   *
rem   * Note the GEN parameter, this causes the generation of the HTM member,
rem   * if a sequence error occurs during this step then change GEN to ORG.
rem   * The sequence error is usually caused by the field definitions being
rem   * out of sequence by the line and column information.
rem   * The ORG parameter will cause a sort to be executed prior to creating
rem   * the HTML member.
rem   *
      if exist %SYSUT2%\STVWMLC1.MLC erase %SYSUT2%\STVWMLC1.MLC
      run SIMOVIEW BMS HTML GEN %SYSUT1%\CUSUPD1.BMS %SYSUT1%\CUSUPD1.HTM %SYSCNTL%

Installation Verification for BMS, Environment and Directories
(Next) (Previous) (Table-of-Contents)

The following is the batch file that sets the environment variables used by the various steps in the screen conversion process.

@echo OFF
rem   *
rem   * Set the variables used by SimoVIEW for input and output
rem   *
      echo * SET4BMS1 - is starting...
      set SYSUT1=D:\SIMOLIBR
      set SYSUT2=D:\SIMOLIBR\SYSWORK1
rem   *
rem   * Set the locations for the LOG and CONFIG files.
rem   *
      set SYSLOG1=D:\SIMOLIBR\SIMOVIEW.LOG
      set SYSCNTL=D:\SIMOLIBR\SIMOVIEW.CFG
rem   *
rem   * Set the variables used by the MF/ASM Option.
rem   *
      set SYSPUNCH=%SYSUT1%\SYSWORK1;
      set SYSMPC=.;
      set SYSLIB=.;
      set MAC370=.;
rem   *
rem   * Set the variables used by Mainframe Express
rem   *
      set cobpath=.;
      echo * SET4BMS1 - is complete...

SimoVIEW for BMS
(Next) (Previous) (Table-of-Contents)

SimoVIEW for BMS provides for the quick conversion of BMS screens to HTML pages and provides the following capabilities.

1. Support for the standard 24x80 character screens maintaining the original field locations on the screen.
2. Support for the 3270, model 5 screens maintaining the original field locations on the screen.
3. Support for multiple maps within a mapset.
4. Support for remapping function keys to submit buttons.
5. Support for JAVA Scripting to do functions such as cursor positioning.
6. Support for externally defining the foreground and background colors.
7. Support for externally defining font types and size.
8. Support for externally defining header and footer information for a screen. This is useful for adding a company logo or other information to the top or bottom of a screen.
9. Support for embedded 370 assembler statements.
10. Support for filtering HTML tags from mainframe screen text.

SimoVIEW for BMS is supported for Windows/NT and requires Mainframe Express (MFE) with the MF/ASM option by Micro Focus (formerly MERANT).

To simplify the description of the conversion process it will be assumed that SimoVIEW is installed in a directory called:

  C:\SimoLIBR

and the BMS source members are downloaded from the mainframe into a directory called:

  C:\SimoLIBR\BMS

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.

SimoVIEW for MFS
(Next) (Previous) (Table-of-Contents)

MFS to HTML is currently available as Beta technology. Continue to watch this space...

The Configuration File
(Next) (Previous) (Table-of-Contents)

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.

Keyword   Parameter   Comment
/ALIGN LITERAL
NUMERIC
ALPHA
ROWFRST
ROWLAST
LITERAL  LEFT   Left justify literals
  RIGHT  Right justify literals
  CENTER  Center the literals
NUMERIC     
/TITLE Title Text This information will be displayed on the title bar. If not specified the default value is:
SimoTime, When technology complements business
/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.
/FTUNIT px px = pixels, pt = points, pc = picas
/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.
/ROWSPC 0010 Defines the height for rows with spaces. Must be 4 digits in length
/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.
/DEBUG NNNNNNNN
 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.
6  
7  
8 Y=Display ruler on row zero.
N=Row zero is treated as a row of spaces.
/NETEX1 NNNNNNNN
1 N=Do not remove comments from generated HTML code
Y=Remove comments from generated HTML code.
2 Y=Generate a filename.PGX file for data attributes
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.
4  
5  
6  
7  
8  
/MSGLOG 0 Display messages to console
  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.
/MAPSET SINGLE
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.

The MFE Command Line Interface
(Next) (Previous) (Table-of-Contents)

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.

run SimoVIEW input-type output-type function bms-member-name html-member-name configuration-file-name

The following table describes the command line parameters.

Parameter Keyword-Format Description
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.
function GENERATE or
GEN
Perform the three required steps for the BMS to HTML conversion.
  ORGANIZE or
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 .BAT file is included with SimoVIEW.

@echo  OFF
if EXIST STVWMSG1 ERASE STVWMSG1
set cobpath=.;c:\SIMOVIEW
run SimoVIEW BMS HTML GEN d:\filename.BMS d:\filename.HTM d:\filename.CFG

Tips and Techniques
(Next) (Previous) (Table-of-Contents)

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.

Importing HTML into Net Express
(Next) (Previous) (Table-of-Contents)

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.

@echo  OFF
rem *
rem * Create an MFF file for Net Express.
rem *
  echo *
  echo * This process must be executed from a Net Express Command Line.
  echo *
  echo * Press CTRL and BREAK to CANCEL . . .
  pause
  RUNM MFFBUILD CUSINQ1_CUSINQ1_CHANGE.HTM CUSINQ1_CUSINQ1_ CHANGE.PGX

Note: MFFBUILD must run from a Net Express command line.

Mainframe Express and Internet Explorer
(Next) (Previous) (Table-of-Contents)

To create a link to Internet Explorer from the Customized Tool Bar of Mainframe Express do the following steps.

Select Options from the Mainframe Express Tool Bar.

Select Customize IDE... from the pull-down menu.

Select the Tools Tab from the Customize IDE window.

Select the New Tool... button and Enter Menu Text, use WEB.SimoVIEW or a name of your choice.

  SimoVIEW

Type the following into the Program box

  "C:\Program Files\PLUS!\Microsoft Internet\IEXPLORE.EXE"

The preceding command will need to be modified based on the browser that will be used by the client.

Type the following into the Starting dir box

  c:\SIMOVIEW

Type the following into the Command line box

  file:///c:/SimoVIEW\CUSINQ1_CUSINQ1_CHANGE.HTM

Click on the Apply button

Click on the OK button

Select the Tools item from the Mainframe Express Tool Bar.

Select the newly added SimoVIEW item.

Internet Explorer should start, simply select an HTML member to display.

Problem Anticipation and Avoidance
(Next) (Previous) (Table-of-Contents)

HTML Tags in the Data String
(Next) (Previous) (Table-of-Contents)

If the HTML code created by SimoVIEW will be inorporated 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.

Multiple Space Characters
(Next) (Previous) (Table-of-Contents)

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.

Rows of Asterisks, Hyphens or Equal Signs
(Next) (Previous) (Table-of-Contents)

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 Horizonal Rule. SimoVIEW does not provide a capability to automate this process.

One Literal Instead of Multiple Literals
(Next) (Previous) (Table-of-Contents)

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.

Data Conversions in a Multi-Machine Environment
(Next) (Previous) (Table-of-Contents)

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.

The Browser "BACK" Function
(Next) (Previous) (Table-of-Contents)

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.

Reduce Screen Paging within a Program
(Next) (Previous) (Table-of-Contents)

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.

Technical Overview
(Next) (Previous) (Table-of-Contents)

The following figure shows the process flow.

               
     
SIMOVIEW
      Start the process
     
 
 
 
       
 
BMS Member
ascii/text
     
     
     
STVWBMS1
     
SYSWORK1
ascii/text
  Prepare the BMS input
 
SimoVIEW.CFG
ascii/text
     
     
     
 
 
 
       
 
SYSWORK1
ascii/text
     
MM370ASM
     
SYSPUNCH
ascii/text
  Expand Macro code
     
 
 
 
       
 
SYSPUNCH
ascii/text
     
SORT
(optional)
     
SYSPUNCH
ascii/text
  Optional Sorting by field
     
 
 
 
       
 
SYSPUNCH
ascii/text
     
STVWHTM2
     
filename.HTM
html
  Create HTML
     
 
 
 
       
     
EOJ
       
               
Figure 1, SimoVIEW 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.

The GUI Interface
(Next) (Previous) (Table-of-Contents)

Not currently supported, reserved for future use. SimoXGUI, this is the GUI interface. A window will be displayed to prompt for the required parameters.

The Callable Interface
(Next) (Previous) (Table-of-Contents)

Not currently supported, reserved for future use. SimoXAPI, this is the callable interface.

The Command Line Interface
(Next) (Previous) (Table-of-Contents)

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.

Summary
(Next) (Previous) (Table-of-Contents)

The intent of SimoVIEW is to provide the first step in extending a mainframe application to the Internet. The real value is not in the creation of HTML code from BMS code. The real value is providing the first step in the application extension process. For example, the definition of the data string required for the Web programmer. The newly created HTML code will make the application look like a Web application but will most likely be changed to make it behave like a Web application.

Acquiring Software and Links to Similar Pages
(Next) (Previous) (Table-of-Contents)

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.

This article  Transforming a Mainframe Application for the Internet Environment  attempts to provide some answers and insight into the various issues and approaches of extending legacy systems to the Internet.

Comments or Suggestions
(Next) (Previous) (Table-of-Contents)

If you have any questions, suggestions or comments please call or send an e-mail to: helpdesk@simotime.com

About SimoTime Enterprises
(Next) (Previous) (Table-of-Contents)

Founded in 1987, SimoTime Enterprises is a privately owned company. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. This includes the smallest thin client using the Internet and the very large mainframe systems. There is more to making the Internet work for your company's business than just having a nice looking WEB site. It is about combining the latest technologies and existing technologies with practical business experience. It's about the business of doing business and looking good in the process. Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems. Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com


Return-to-Top
SimoVIEW 
Copyright © 1987-2010  SimoTime Enterprises  All Rights Reserved
When technology complements business
http://www.simotime.com