HTML Page Generation
Converting from Excel to HTML
  Table of Contents  v-16.01.01 - htmgener.htm 
  Introduction
  What it does
  How to Use
  Examples
  Create a Document, Basic Function
  Create a Document, Advanced Function
  Create a Diagram, Basic Function
  Create a Diagram, Advanced Function
  Technical Details
  Match Keyword to Function or Action
  Document Structure
  User Information, the Basics
  User Information, a List by Number
  User Information, a List by Keyword
  User Information, a List with Hyperlink
  Setting the Environment
  HTMCONFG, the Configuration File
  HTMILIBR, the INCLUDES Library
  HTMGEND1, the Input File (CSV)
  HTMGEND2, the Output File (CSV)
  HTMGEND3, the Include File (INC)
  HTMGEND4, the Work File (TXT)
  Sequence of Events, Create HTML
  Pre-Defined INCLUDE Files
  Sample Template Files using Excel
  Summary
  Software Agreement and Disclaimer
  Downloads and Links
  Current Server or Internet Access
  Internet Access Required
  Glossary of Terms
  Comments or Feedback
  Company Overview
The SimoTime Home Page 

Table of Contents Previous Section Next Section Introduction

The HTMGENER program provides the capability of quickly creating multiple HTML documents with a consistent look and feel. It is intended to be used by developers and support personnel to create application documentation that is primarily text-oriented. By using an HTML format the documents may be easily viewed using a Web Browser.

The HTMGENER program provides the capability of creating simple block diagrams or flow charts. A description of this functionality along with examples is included in following sections of this document..

Note: This document was created using the HTMGENER program.


We have made a significant effort to ensure the documents and software technologies are correct and accurate. We reserve the right to make changes without notice at any time. The function delivered in this version is based upon the enhancement requests from a specific group of users. The intent is to provide changes as the need arises and in a timeframe that is dependent upon the availability of resources.

Copyright © 1987-2019
SimoTime Technologies and Services
All Rights Reserved

Table of Contents Previous Section Next Section What it does

The HTMGENER program reads a line sequential/ (or ASCII/Text) file that includes records in a Field Delimited (Comma-Separated-Vales or CSV) format. Based on the information from the input file an HTML Member is created using advanced parsing techniques.

Table of Contents Previous Section Next Section How to Use

The first thing to do is to create an Excel spreadsheet with the information about the HTML document (or member) to be created. This file should be saved as an Excel worksheet, this format provides greater flexibility when viewing or making changes.

Next, save a copy of the Excel spreadsheet using the "Other Formats" capability. Use the CSV format for a Comma-Separated-Values data structure.

    c:\> set HTMGEND1=c:\mydir\myfile.csv
    c:\> set HTMGEND2=c:\mydir\myfile.htm
    c:\> set HTMGEND4=c:\mydir\myfile.txt
    c:\> set HTMCONFG=c:\mydir\HTMCONFG.CFG
    c:\> set HTMILIBR=c:\mydir
    c:\> run HTMGENER

The last step is to use a browser to view the HTML Member created by the HTMGENER program.

A sample .cod file is provided that will read a list of member names (an ASCII/Text file with a list of file names for Excel files saved in CSV format) and create an HTML Document for each member in the list.

Table of Contents Previous Section Next Section Examples

This section expands on the preceding "How to do" section by providing examples and additional detailed descriptions.

Table of Contents Previous Section Next Section Create a Document, Basic Function

The HTMGENER package includes a sample document that may be used as a template or starting point for creating a new document. This template document shows the basic functionality that is provided by the HTMLGENER program.

Member Name Description
htmgenx1 This link will display the htmgenx1.htm document that shows some of the basic functionality provided by the HTMGENER program. This example will show the use of the "include" statement to specify the fonts to be used in the generated "HTML" member.
  Basic Functionality, Creating HTML Documents Sections, Paragraphs and Table of Contents

Input: The HTMGENX1.XLSS and HTMGENX1.CSV files are available in the HTMGENER.zip package. The Excel file requires Microsoft Excel to access and display. The CSV file may be viewed with Microsoft NOTEPAD or other ASCII/Text file editor.

Table of Contents Previous Section Next Section Create a Document, Advanced Function

The HTMGENER package includes a sample document that may be used as a template or starting point for creating a new document. This template document shows some of the advanced functionality that is provided by the HTMLGENER program.

Member Name Description
htmgenx2 This link will display the genhtmx2.htm document that shows some of the advanced functionality provided by the HTMGENER program. This example will show how to create a numbered or keyword list and the use of an "include" statement to display a flow chart.
  Advanced Functionality, Creating HTML Documents using the INCLUDE and LIST Functions

Input: The GENHTMX2.XLSS and GENHTMX2.CSV files are available in the HTMGENER.zip package. The Excel files (XLSS) require Microsoft Excel to access and display. The CSV files may be viewed with Microsoft NOTEPAD or other ASCII/Text file editor.

Table of Contents Previous Section Next Section Create a Diagram, Basic Function

This example shows how to create a very simple process flow chart or flow chart. This is a "No Frills" example that shows the basic functionality of HTMGENER.

             
INPUT
   
   
PROGRAM
 
 
OUTPUT
This is the main program
   
   
CONTROL
   
   
   
   
EOJ
This is End-of-Job
 
My Simple Flow Chart showing Basic Functions of HTMGENER

Note: The Excel document and the generated HTML Source code for this example are included in the HTMGENER software package.

Table of Contents Previous Section Next Section Create a Diagram, Advanced Function

This example shows the addition of color and the "Note" functionality

               
INPUT
   
   
PROGRAM1
 
 
OUTPUT
This is the main program,
refer to Note-1
   
   
CONTROL
   
   
   
   
INPUT
   
   
PROGRAM2
 
 
OUTPUT
This is the main program,
refer to Note-2
   
   
CONTROL
   
   
   
   
EOJ
 
Note-1: The light red box defines a program compiled with non-mainframe dialect
Note-2: The light green box defines a program compiled with mainframe dialect
The 1st in a Series of Documents showing Advanced Functions

Note: The Excel document and the generated HTML Source code for this example are included in the HTMGENER software package.

Table of Contents Previous Section Next Section Technical Details

This section provides the detail needed to create the Excel spreadsheet that is used as the base repository for an HTML document. The spreadsheet has two columns. The first column (Column-A) is a keyword to identify a function or entity.

The second column (Column-B)) is a text string that is used to define the properties of the entity identified in Column-A.

The following section is a list of the keywords and associated parameters or function.

Table of Contents Previous Section Next Section Match Keyword to Function or Action

This section will list the keywords and subsequent program behavior that is supported by the HTMGENER program. The keywords may be UPPER or lower case.

Table of Contents Previous Section Next Section Document Structure

This section describes the keywords used to determine the document structure and build the necessary HTML code at the beginning and ending of an HTML Document.

Column-A, Keyword Column-B, Description of Function or Action to be Performed
HTML001 This function is used to read and process the information at the beginning of member being generated
TITLEBAR The text string associated with this keyword will be displayed on the browser's title bar.
h1.tagname This function is used to insert a header line at the top of a section in the output document. The "tagname" will be used to create a primary level entry into the Table of Contents that will link to the section in the document.
h2.tagname This function is used to insert a header line at the top of a sub-section in the output document. The "tagname" will be used to create a second level entry into the Table of Contents that will link to the section in the document.
trailer This function is used to read and process the information at the end of member being generated
  Match Keyword to Function or Action, Document Structure

Table of Contents Previous Section Next Section User Information, the Basics

This section describes the "user-oriented" keywords that are used to generate the HTML for user sections and the text included in the sections. The keywords for table creation and list-building are included.

Column-A, Keyword Column-B, Description of Function or Action to be Performed
h1.tagname This function is used to insert a header line at the top of a section in the output document. The "tagname" will be used to create a primary level entry into the Table of Contents that will link to the section in the document.
h2.tagname This function is used to insert a header line at the top of a sub-section in the output document. The "tagname" will be used to create a second level entry into the Table of Contents that will link to the section in the document.
HTML This function will insert a line of HTML code into the member being generated
P This function will insert a paragraph of text into the member being generated.
tnote This function will create a "Note" paragraph. The syntax for column-A is tnote.noteid where noteid is the label for the note and will have the font properties of Bold and Maroon. The column-B is the text string and will have the font properties of italics and navy.
include This function will include an externally defined member into the process of generating a new document. This function has two formats. First, if column-A only has the include keyword then column-B needs to contain the full path and file name to the member to be included. Second, if column-A contains "include.HTMILIBR" then column-B should only contain the member name. An environment variable should be used to determine the full path to the directory or folder that contains the include member.
linkpp The "linkpp" keyword in column-A defines the URL and the method of display for the HTML page. The following two lines show how to display in the same window or a new window.
linkpp.set.same
linkpp.set.new
Column-B will contain the name of the URL.
Note: This keyword works in conjunction with the "textpp" keyword. The "linkpp" must be defined before the "textpp.link" keyword.
textpp The "textpp" keyword in column-A is used to define the type of text string. The following three lines show how to start a paragraph, identify the text string within a paragraph for the link and end a paragraph.
textpp.start
textpp.link
textpp.end
Column-B will contain the text string.
Note: This keyword works in conjunction with the "linkpp" keyword.
  Match Keyword to Function or Action, User Information

This is a sample paragraph followed by a sample tnote.

Note Sample 1: This is a sample note.

Table of Contents Previous Section Next Section User Information, a List by Number

This function will describe how to create a numeric listing of line items with headers at the top of the list. The list will be framed and a subtitle at the bottom of the listing may be specified.

Column-A, Keyword Column-B, Description of Function or Action to be Performed for a List by Number
nlist.new This tag signals the start of creating a new List by Number
nllst.hdr Create a headings row as the first row
nlist.row This is the text data for the item in the numbered list
nlist.end This is the end of the numbered list
  Match Keyword to Function or Action, User Information, a List by Number

Table of Contents Previous Section Next Section User Information, a List by Keyword

This function creates a two column list with the left-most column being a keyword of alpha-numeric text and the right-most column containing a text string, sentence or paragraph.

Column-A, Keyword Column-B, Description of Function or Action to be Performed for a List by Keyword
alist.new This tag signals the start of creating a new List by Keyword
alist.hdr.keyword Create a headings row as the first row
alist.row.keyword This is the text data for the item in the List by Keyword
alist.include.HTMILIBR.keyword. This is the end of the List by Keyword
alist.end This is the end of the List by Keyword
  User Information, a List by Keyword

Table of Contents Previous Section Next Section User Information, a List with Hyperlink

This function creates a two column list with the left-most column (referred to as column-A) being a keyword of alpha-numeric text that is tied to a link within the document, a separate document or the internet. The right-most column (referred to as column-B) contains a text string, sentence or paragraph that describes the link.

Column-A, Keyword Column-B, Description of Function or Action to be Performed for a List with Hyperlink
alink.new This tag signals the start of creating a new List with Hyperlink
alink.hdr.keyword Create a headings row as the first row
alink.set The text string that defines the link address of a target document. This is usually the name of another HTML document
alink.row.keyword This is the text data or description for the item in the List with Hyperlink
alink.end This is the end of the List with Hyperlink
  Match Keyword to Function or Action, User Information, a List with Hyperlink

In the preceding list the "alink.set" and "alink.row" in column-A work as a set or pair of statements. The "alink.set" statement defines the link address and the "alink.row" provides the keyword for a "point and click" link. For the "alink.set" function column-B defines the action by defining the link address of the target document. For the "alink.row" function column-B is used to provide a brief description of the target document.

Table of Contents Previous Section Next Section Setting the Environment

Environment variables are used to map the eight (8) character file and folder names used in the programs to a fully-qualified location and file or folder name. The following is a description of the environment variables.

Table of Contents Previous Section Next Section HTMCONFG, the Configuration File

The configuration file contains records that are keyword/parameter driven.

The following shows the syntax for the HMCONFG environment variable.

set HTMCONFG=c:\SimoSAM8\CREATORS\HTMCONFG.CFG

Note: The HTMCONFG environment variable text string has a maximum length of 256 characters. The text string must be the fully qualified location and name of the configuration file.

The following shows the structure of the records in the configuration file.

Column-A, Keyword Column-B, Description of Function, Action or Property
comment The text string in positions 17-80 is treated as a comment.
toc.set enable=build a table of contents, disable=do not build a table of contents
toc.bg The background color for the Table-of-Contents, the default is #FFFFE0 (a very light yellow).
toc.text The color for the text string for the Table-of-Content entries, the default is #000080 (a dark blue).
toc.frame The background color for the frame around the Table-of-Contents, the default is #800000 (maroon or dark red).
toc.ftext The color for the text string for the frame at the top of the Table-of-Content entries, the default is FFFFE0 (a very light yellow).
tbl.bg The background color for the tables (i.e. alink, alist and nlist), the default is #FFFFE0 (a very light yellow).
tbl.text The color for the text string for the tables (i.e. alink, alist and nlist) entries, the default is #000080 (a dark blue).
tbl.frame The background color for the frame around the tables (i.e. alink, alist and nlist), the default is #800000 (maroon or dark red).
tbl.ftext The color for the text string for the frame at the bottom of the tables (i.e. alink, alist and nlist) entries, the default is FFFFE0 (a very light yellow).
txt.title The color for the text string for the document title, the default is #000080 (a dark blue).
txt.subtitle The color for the text string for the document sub-title, the default is #800000 (maroon or dark red).
tnote.tag The FONT properties for the tnote tag strings used in the document. The default is <FONT STYLE="color: maroon; font-weight: bold">
tnote.text The FONT properties for the tnote text strings used in the document. The default is <FONT STYLE="color: navy; font-style: normal">
  Referencing the HTMCONFG, the configuration File

Each record in the configuration file contains two (2) fixed-length fields. The first field (or text string) is in positions 1-16 and is 16 characters and is referred to as the keyword or "Column-A". The second field is in positions 17-80 and is 64 characters in length and is referred to a the parameter or "Column-B".

Table of Contents Previous Section Next Section HTMILIBR, the INCLUDES Library

The INCLUDES library contains the members that have commonly used or shared items. These items are included into the main member when the generation process is executed. When the "include" statement is used in the mainline program the parameter must be a fully qualified location and include member name. To prevent having to hard-code the location and only use the include member name it is possible to use an HTMILIBR environment variable.

If an include member is changed and the documents are re-generated then all the documents that used the changed include statement will reflect the change. The following shows the syntax for the HMILIBR environment variable.

set HTMILIBR=c:\SimoSAM8\CREATORS\INCLUDES

Note: The HTMILIBR environment variable text string has a maximum length of 1,024 characters. The text string may contain a single directory location or concatenated directory locations separated by a semi-colon. A maximum of ten (10) directories will be processed. Each individual directory has a maximum length of 256 characters.

The following shows the syntax for the "include statement in the Excel member that references the HMILIBR environment variable.

Column-A, Keyword Column-B, Description of Function or Action to be Performed for a List with Hyperlink
html001.include.HTMILIBR HTMSTYLE.inc
include.HTMILIBR membername.inc
trailer.include.HTMILIBR membername.inc
  Referencing the HTMILIBR environment variable to get an "INCLUDE" Member

The preceding examples show the three different uses or formats for the "include" statement. The first example shows the "include" statement being used in the "html001" processing pass. The "HTMSTYLE.inc" member is included in the HTMGENER package as an example of using a common set of definitions for the font styles.

The second example shows the "include" statement that is placed in the "user" section of the Excel work sheet.

The third example shows the "include" statement being used in the "trailer" or final pass of the generation process.

Table of Contents Previous Section Next Section HTMGEND1, the Input File (CSV)

The DD name for the input file is HTMGEND1. This is the sequential file that is managed as an Excel spreadsheet (or work sheet) and saved as a CSV file prior to doing the HTML Generation.

Table of Contents Previous Section Next Section HTMGEND2, the Output File (CSV)

The DD name for the output file is HTMGEND2. This is the sequential file that is during the HTML Generation process. This file contains HTML formatted records that may be viewed using a browser. Internet Explorer is used in the Windows environment. Mozilla or FoxFire may be used in the UNIX or Linux environments.

Table of Contents Previous Section Next Section HTMGEND3, the Include File (INC)

The DD name for the include files is HTMGEND3. This is the sequential file that is dynamically allocated during the HTML Generation process.

Table of Contents Previous Section Next Section HTMGEND4, the Work File (TXT)

The DD name for a work file is HTMGEND4. This is the sequential file that is used during the HTML Generation process. It is the result of the initial pass and contains the primary member (HTMGEND1.csv) and all the "include" members (HTMGEND3.inc) in expanded format.

Table of Contents Previous Section Next Section Sequence of Events, Create HTML

The HTMGENER program will make six (6) scans of the HTMGEND1.csv and/or HTMGEND4.txt files. The following table shows the sequence of events for processing the HTMGEND1.csv and HTMGEND3.inc files and creating the HTMGEND2.htm and HTMGEND4.txt files.

Pass Number Description of Function or Action to be Performed by the Scans of the CSV Input
1st Pass This pass will copy the HTMGEND1.csv file and write a HTMGEND4.txt file with the INCLUDE statements expanded.
2nd Pass This pass will read the html001 information from the HTMGEND4.txt file (created in the previous pass and build the first section of the HTMGEND2.htm document. This is the standard HTML-oriented information at the beginning of a document. This pass reads and processes the "html001" statements from the HTMGEND4.txt file.
3rd Pass This pass will create the user-oriented banner that will appear at the top of the HTML document. This pass reads the "banner" statements from the HTMGEND4.txt file.
4th Pass This pass will build the Table of Contents by scanning and parsing the h1-h4 entries.
5th Pass This pass will build the user-defined sections of the document. The statement identifiers processed by this pass are described in the "Match Keyword to Function or Action" section of this document.
6th Pass This pass will read the trailer information from the HTMGEND4.txt file and builds the final or closing section of the HTMGEND2.htm document. This pass reads and processes the "trailer" statements.
  Summary of Function by Multiple Scans of the HTMGEND1.csv File

Table of Contents Previous Section Next Section Pre-Defined INCLUDE Files

The HTMGENER package contains a set of predefined INCLUDE Members. The INCLUDE members contain information that is used in many of the documents. By changing the content of an INCLUDE member and regenerating a suite of documents all the documents will contain the updated information.

Include Name Description of INCLUDE Member
CORPCLIP The HTML formatted Paragraphs of information for a company overview.
CRITEHDR The HTML content for the copyright information that is part of the banner at the top of the main document.
CRITEFTR The HTML content for the copyright information at the bottom of the main document.
FEEDBACK The HTML formatted paragraphs of information for the "Comments, Suggestions or Feedback" section of the main document.
HTMSTYLE The HTML for the STYLE information at the very beginning of the main document.
IMAGEHDR The HTML that identifies the logoname.jpg that goes into the header.
SLINKHDR The HTML for the link that goes below the Table of contents.
SOFTMENT The HTML formatted Paragraphs of information for the software copyright , disclaimer and usage.
  Summary of Pre-Defined INCLUDE Files

Table of Contents Previous Section Next Section Sample Template Files using Excel

The HTMGENER package contains a set of template files using Excel. The files are a good starting point when creating new documents and provide examples of many of the functions provided by HTMGENER.

Templae Name Description of Template Member
HTMGENX1.xlsx This is the primary template file that is copied as a starting point when creating a new document. This template includes examples of numbered lists and link tables.
HTMGENX2.xlsx This is the secondary template file that is copied as a starting point when creating a new document. This template is a good starting point for creating a document that will describe a program or job by defining "What it does" and "How to use".
  Sample Template Files

Table of Contents Previous Section Next Section Summary

The HTMGENER program provides the capability of quickly creating multiple HTML documents with a consistent look and feel.

It is intended to be used by developers and support personnel to create application documentation that is primarily text-oriented. By using an HTML format the documents may be easily viewed using a Web Browser.

The HTMGENER technology is available as part of our Controlled Release Option. Our consultants have used this technology for a number of years. However, it has not been formally "productized". We have been able to make this available to a limited number of customers at the end of a consulting engagement. For additional information please call or send an e-mail to: helpdesk@simotime.com

In the world of programming there are many ways to solve a problem. This document and the links to other documents are intended to provide a greater awareness of the Data Management and Application Processing alternatives.

The documentation and software were developed and tested on systems that are configured for a SIMOTIME environment based on the hardware, operating systems, user requirements and security requirements. Therefore, adjustments may be needed to execute the jobs and programs when transferred to a system of a different architecture or configuration.

SIMOTIME Services has experience in moving or sharing data or application processing across a variety of systems. For additional information about SIMOTIME Services or Technologies please send an e-mail to: helpdesk@simotime.com or call 415 883-6565. We appreciate hearing from you.

Table of Contents Previous Section Next Section Software Agreement and Disclaimer

Permission to use, copy, modify and distribute this software, documentation or training material for any purpose requires a fee to be paid to SimoTime Technologies. Once the fee is received by SimoTime the latest version of the software, documentation or training material will be delivered and a license will be granted for use within an enterprise, provided the SimoTime copyright notice appear on all copies of the software. The SimoTime name or Logo may not be used in any advertising or publicity pertaining to the use of the software without the written permission of SimoTime Technologies.

SimoTime Technologies makes no warranty or representations about the suitability of the software, documentation or learning material for any purpose. It is provided "AS IS" without any expressed or implied warranty, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement. SimoTime Technologies shall not be liable for any direct, indirect, special or consequential damages resulting from the loss of use, data or projects, whether in an action of contract or tort, arising out of or in connection with the use or performance of this software, documentation or training material.

Table of Contents Previous Section Next Section Downloads and Links

This section includes links to documents with additional information that are beyond the scope and purpose of this document. The first group of documents may be available from a local system or via an internet connection, the second group of documents will require an internet connection.

Note: A SimoTime License is required for the items to be made available on a local system or server.

Table of Contents Previous Section Next Section Current Server or Internet Access

The following links may be to the current server or to the Internet.

Note: The latest versions of the SimoTime Documents and Program Suites are available on the Internet and may be accessed using the Link to Internet icon. If a user has a SimoTime Enterprise License the Documents and Program Suites may be available on a local server and accessed using the Link to Server icon.

Link to Internet   Link to Server   Explore HTML Generation using Template of Basic Functions and the SimoTime HTML Generator program.

Link to Internet   Link to Server   Explore HTML Generation using Template of Advanced Functions and the SimoTime HTML Generator program.

Link to Internet   Link to Server   Explore The ASCII and EBCDIC Translation Tables. These tables are provided for individuals that need to better understand the bit structures and differences of the encoding formats.

Link to Internet   Link to Server   Explore The File Status Return Codes to interpret the results of accessing VSAM data sets and/or QSAM files.

Table of Contents Previous Section Next Section Internet Access Required

The following links will require an internet connect.

This suite of programs and documentation is available to download for review and evaluation purposes. Other uses will require a SimoTime Software License. Link to an Evaluation zPAK Option that includes the program members, documentation and control files.

A good place to start is The SimoTime Home Page for access to white papers, program examples and product information. This link requires an Internet Connection

Explore The Micro Focus Web Site for more information about products and services available from Micro Focus. This link requires an Internet Connection.

Table of Contents Previous Section Next Section Glossary of Terms

Link to Internet   Link to Server   Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.

Table of Contents Previous Section Next Section Comments or Feedback

This document was created and is copyrighted and maintained by SimoTime Technologies.

If you have any questions, suggestions, comments or feedback please call at 1 415 827-7045 or send an e-mail to: helpdesk@simotime.com

We appreciate hearing from you.

Table of Contents Previous Section Next Section Company Overview

SimoTime Technologies was founded in 1987 and 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. Our customers include small businesses using Internet technologies to corporations using very large mainframe systems.

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. We specialize in preparing applications and the associated data that are currently residing on a single platform to be distributed across a variety of platforms.

Preparing the application programs will require the transfer of source members that will be compiled and deployed on the target platform.

The data will need to be transferred between the systems and may need to be converted and validated at various stages within the process.

SimoTime has the technology, services and experience to assist in the application and data management tasks involved with doing business in a multi-system environment.

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 at 1 415 827-7045 or send an e-mail to: helpdesk@simotime.com

Also, check the web site at http://www.simotime.com


Return-to-Top
HTML Page Generation, Converting from Excel to HTML
Copyright © 1987-2019
SimoTime Technologies and Services
All Rights Reserved
When technology complements business
http://www.simotime.com