The SimoCARD Series
Eighty Byte Card Image Files
http://www.simotime.com
When technology complements business    Copyright © 1987-2010  SimoTime Enterprises  All Rights Reserved
  Table of Contents Version 10.03.20 
  Introduction
  Prerequisites and Quick Start
 
  Quick Start, Utility Programs
  Quick Start, Callable Routines
  Ancillary Programs and Job Scripts
 
  Ancillary Function, Setting the Environment
  Ancillary Function, Displaying and Logging Messages
  Summary
 
  Software Agreement and Disclaimer
  Downloads and Links to Similar Pages
  Glossary of Terms
  Comments or Suggestions
  About SimoTime
Introduction
(Next) (Previous) (Table-of-Contents)

On the mainframe it is a common practice to read a sequential file of eighty (80) byte records to obtain information or specifications that will affect the behavior of program execution. The eighty (80) byte records are a carry-over from the days when eighty-column cards were used. Even today these files are referred to as card files. The technique for accessing these files varies and this suite of utility programs with examples will describe a few of the possible techniques.

In addition, when an application is moved between an EBCDIC-encoded Mainframe platform and a Linux, UNIX or Windows (LUW) platform with Micro Focus it may continue to run in an EBCDIC-encoded environment or be converted to run in an ASCII-encoded environment. Furthermore, the file format may continue to be eighty (80) byte, fixed record length, record sequential files (also referred to as RSEQ) or the files may be converted to ASCII/Text files (also referred to as Line Sequential or LSEQ). Adding to all this confusion the files may be stored as data files, members in a PDS or instream data in a JCL or PROC member. This introduces a new set of challenges.

It is important to understand the details of what these individual programs do and how they work as singular entities. However, It is more important to understand the impact of the various files formats and their encoding schema of choice when integrated into the full application environment.

This suite of programs and documentation describes the techniques for simplifying this process by using utility programs, callable I/O modules and a callable conversion routine. The I/O modules provide for read and write access of both record and line sequential files The conversion routine will convert 80-byte text strings between EBCDIC-encoding and ASCII-encoding. This process is greatly simplified when using Micro Focus on the LUW platforms.

Prerequisites and Quick Start
(Next) (Previous) (Table-of-Contents)

The suite of programs uses Micro Focus COBOL and Windows Command files. The programs are unit tested with Micro Focus Net Express, version 5.1. The COBOL source code is included with the software package and may be compiled and executed on other versions of Micro Focus COBOL running on LUW platforms. The full program or system testing is done on a Windows/XP system using Micro Focus Studio, Enterprise Edition. Many of the programs are deployed on various LUW platforms using Micro Focus Server, Enterprise Edition.

Quick Start, Utility Programs
(Next) (Previous) (Table-of-Contents)

This section describes the Windows command files that are used to set the environment and execute the utility programs.

Command Description
ALAR80E1 This command file (or Job Script) will perform the following conversion for a single file.
1.   Read an ASCII-encoded, Line Sequential file containing variable-length records with a maximum record length of eighty-bytes.
2.   Write an ASCII-encoded, Record Sequential file containing eighty-byte, fixed-length records.
Note: this command will execute the CV80ALAR program.
ALER80E1 This command file (or Job Script) will perform the following conversion for a single file.
1.   Read an ASCII-encoded, Line Sequential file containing variable-length records with a maximum record length of eighty-bytes.
2.   Write an EBCDIC-encoded, Record Sequential file containing eighty-byte, fixed-length records.
Note: this command will execute the CV80ALER program.
ALER80E2 This command file (or Job Script) will perform the following conversion for multiple files based on a list of files names.
1.   Read an ASCII-encoded, Line Sequential file containing variable-length records with a maximum record length of eighty-bytes.
2.   Write an EBCDIC-encoded, Record Sequential file containing eighty-byte, fixed-length records.
Note: this command will repeatably execute the CV80ALER program.
ERAL80E1 This command file (or Job Script) will perform the following conversion for a single file.
1.   Read an EBCDIC-encoded, Record Sequential file containing eighty-byte, fixed-length records.
2.   Write an ASCII-encoded, Line Sequential file containing variable-length records with a maximum record length of eighty-bytes.
Note: this command will execute the CV80ERAL program.
ERAL80E2 This command file (or Job Script) will perform the following conversion for multiple files based on a list of files names.
1.   Read an EBCDIC-encoded, Record Sequential file containing eighty-byte, fixed-length records.
2.   Write an ASCII-encoded, Line Sequential file containing variable-length records with a maximum record length of eighty-bytes.
Note: this command will repeatably execute the CV80ERAL program.

The following command files are used to create test data files.

Command Description
CRTALFE1 This command file (or Job Script) will perform the following steps to create the files that will be used as input by this suite of sample programs.
1.   The 1st step will delete any previously created file.
2.   The 2nd step will created a new TEXT file. This step will use the Windows ECHO with instream data.
Note: This step will create an ASCII/Text file with variable length records with the trailing spaces being truncated.
3.   The 3rd step will read the text file and convert to a Record sequential file of ASCII-encoded, fixed-length, eighty-byte records. A COBOL program is used to do the File Format conversion.
4.   The 4th step will read the text file and convert to a Record sequential file of EBCDIC-encoded, fixed-length, eighty-byte records. A COBOL program is used to do the File Format and File Content conversion.
CRTF80E1 This command file (or Job Script) will perform the following steps to create the files that will be used as input by this suite of sample programs.
1.   The 1st step will delete any previously created file.
2.   The 2nd step will created a new TEXT file. This step will use the Windows ECHO with instream data.
Note: This step will create an ASCII/Text file with fixed length, 80 byte records, the trailing spaces are appended to each record.
3.   The 3rd step will read the text file and convert to a Record sequential file of ASCII-encoded, fixed-length, eighty-byte records. A COBOL program is used to do the File Format conversion.
4.   The 4th step will read the text file and convert to a Record sequential file of EBCDIC-encoded, fixed-length, eighty-byte records. A COBOL program is used to do the File Format and File Content conversion.
CRTC80E1 This command file (or Job Script) will perform the following steps to create the files that will be used as input by this suite of sample programs.
1.   The 1st step will delete any previously created file.
2.   The 2nd step will created a new TEXT file. This step will use the Windows ECHO with instream data.
Note: This step will create an ASCII/Text file with fixed length, 80 byte records, the trailing spaces are appended to each record.
3.   The 3rd step will read the text file and convert to a Record sequential file of ASCII-encoded, fixed-length, eighty-byte records. A COBOL program is used to do the File Format conversion.
4.   The 4th step will read the text file and convert to a Record sequential file of EBCDIC-encoded, fixed-length, eighty-byte records. A COBOL program is used to do the File Format and File Content conversion.

Quick Start, Callable Routines
(Next) (Previous) (Table-of-Contents)

This section describes the callable routines that are used to process files that contain records with eighty characters of information.

Command Description
SIMOGL80 This COBOL program is called to Get (or read) records from a Line Sequential file.
SIMOGR80 This COBOL program is called to Get (or read) records from a Record Sequential file.
SIMOPL80 This COBOL program is called to Put (or write) records from a Line Sequential file.
SIMOPR80 This COBOL program is called to Put (or write) records from a Record Sequential file.
SIMOXT80 This COBOL program is called to convert (or translate) an eighty byte text string between EBCDIC and ASCII.

Ancillary Programs and Job Scripts
(Next) (Previous) (Table-of-Contents)

This section provides technical detail about the supporting scripts and programs used or called by the primary jobs.

Ancillary Function, Setting the Environment
(Next) (Previous) (Table-of-Contents)

A command file (ezSetEnv.CMD located in the sub-directory named ProdLibA) is called from other command files to set commonly used environment variables. This provides a single point of definition. The following is a listing of the contents of the command file.

rem  * *******************************************************************
rem  * Set the commonly used environment variables. This is used to
rem  * provide a single point for managing the commonly used environment
rem  * variables.
rem  *
     set BaseLib1=c:\SimoSAM1
rem  *
rem  * The following two (2) statements are required when Hyperlinking from
rem  * an Excel Spreadsheet.
     c:
     cd %BaseLib1%\ProdLibA
rem  *
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_USER.TXT
     set SYSLOG=%BaseLib1%\LOGS\SYSLOG_USER.TXT
     set SimoNOTE=%BaseLib1%\LOGS\SIMONOTE_USER.TXT
     set DataLib1=%BaseLib1%\DataLibA
     call SimoNOTE "*"
if   "%1" == "" goto :NoHeader
     call SimoNOTE "**********************************************ezSetEnv/%1"
:NoHeader
rem  *
     set LRSTOKEN=%DataLib1%\Txt1\LRSTOKEN.TXT
     set CobCpy=%BaseLib1%\CobCpy1;c:\SimoLIBR
rem  *
rem  set MAINFRAME_FLOATING_POINT=true
rem  *
rem  * set MFTRACE_CONFIG=%BaseLib1%\LOGS\TRACE001\ctfrtsfs.cfg
rem  * set MFTRACE_LOGS=%BaseLib1%\LOGS\TRACE001
rem  *
rem  * The following SORTSPACE of 1 gigabyte is used when sorting very
rem  * large files. The value is the digit one (1) followed by nine (9)
rem  * zeroes. To allocate this amount of memory for sorting requires a
rem  * minimum of two (2) gigabytes of RAM.
rem  set SORTSPACE=1000000000
rem  *
rem  * For large file support and record locking control of File Handler
     set EXTFH=%BaseLib1%\SysLibA1\EXTFH4AE.CFG
rem  * Set environment for MFBSI (Micro Focus Batch Scheduling Interface)
     set ES_EMP_EXIT_1=mfbsiemx
     set MFBSI_DIR=%BaseLib1%\BSIA\%ezServerName%
     set MFBSIEOP_CMD=ENABLE
     set MFBSIEOP_CSV=ENABLE
     set MFBSIEOP_HTM=ENABLE
     set MFBSIEOP_XML=ENABLE
rem  *
rem  * The following is used to map the location of files that are to be
rem  * allocated using JCL with ES/MTO.
     set ES_ALLOC_OVERRIDE=%BaseLib1%\SysLibA1\CatMapA1.cfg
rem  *
rem  * Set the environment for Core Dump on System error, CBLCORE file
rem  set COBCONFIG_=%BaseLib1%\SysLibA1\Diagnose.CFG
     set COBCONFIG_=
rem  *
rem  * The following may need to be adjusted based on individual systems
rem  * and the various versions of the Operating System, Sub-Systems and
rem  * other software.
     if "%ezSetEnv%" == "Y" goto :NOPATH
     set iexplore=C:\Program Files\Internet Explorer
     set path="C:\Program Files\Micro Focus\Net Express 5.1\Base\";"C:\Program Files\Micro Focus\Net Express 5.1\Base\bin";%BaseLib1%\ProdLibA;%BaseLib1%\ProdLibA\UTIL;%PATH%;
rem  set path="C:\Program Files\Micro Focus\Server 5.0\Base\";"C:\Program Files\Micro Focus\Server 5.0\Base\bin";%PATH%;
:NOPATH
     set cobpath=%BaseLib1%\ProdLibA;%BaseLib1%\ProdLibA\UTIL;c:\SimoLIBR
     set JobStatus=0000
     set StepStatus=0000
     set ezSetEnv=Y
     call SimoNOTE "* BaseLib1 is %BaseLib1%"
Ancillary Function, Displaying and Logging Messages
(Next) (Previous) (Table-of-Contents)

The following (SimoNOTE.CMD) is a listing of the contents of the SimoNOTE.CMD command file.

@echo OFF
rem  * *******************************************************************
rem  *                   This program is provided by:                    *
rem  *                    SimoTime Enterprises, LLC                      *
rem  *           (C) Copyright 1987-2010 All Rights Reserved             *
rem  *             Web Site URL:   http://www.simotime.com               *
rem  *                   e-mail:   helpdesk@simotime.com                 *
rem  * *******************************************************************
rem  *
rem  * Text    - Display message on screen and write to a log file.
rem  * Author  - SimoTime Enterprises
rem  *
rem  * This script may be called from other scripts and expects a
rem  * single parameter enclosed in double quotes. The double quotes
rem  * will be removed. Before writing to the log file a date and time
rem  * stamp will be inserted in front of the message text.
rem  *
rem  * Note: The tilde (~) removes leading/trailing double-quotes.
rem  *
if "%SimoNOTE%" == "" set SimoNOTE=c:\SimoLIBR\LOGS\SimoTime.LOG
echo %date% %time% %~1>> %SimoNOTE%
echo %~1
Summary
(Next) (Previous) (Table-of-Contents)

The purpose of this document is to provide information about the possible challenges of managing card image data when moving an application between a Mainframe System and a Linux, UNIX or Windows System running Micro Focus.

Software Agreement and Disclaimer
(Next) (Previous) (Table-of-Contents)

Permission to use, copy, modify and distribute this software for any commercial purpose requires a fee to be paid to Simotime Enterprises. Once the fee is received by SimoTime the latest version of the software 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 Enterprises.

Permission to use, copy, modify and distribute this software for a non-commercial purpose and without fee is hereby granted, 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 Enterprises.

SimoTime Enterprises makes no warranty or representations about the suitability of the software for any purpose. It is provided "AS IS" without any express or implied warranty, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement. SimoTime Enterprises 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.

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

You may view the complete list of SimoTime callable Modules or Driver Programs at http://www.simotime.com/simomods.htm.

This item will provide a link to  an ASCII or EBCDIC translation table. A column for decimal, hexadecimal and binary is also included.

This document provides a quick summary of the  File Status Key  for VSAM data sets and QSAM files.

To review all the information available on this site start at  The SimoTime Home Page .

Glossary of Terms
(Next) (Previous) (Table-of-Contents)

Check out  The SimoTime Glossary  for a list of terms and definitions used in the documents provided by SimoTime.

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

We appreciate your comments and feedback.

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
Copyright © 1987-2010  SimoTime Enterprises  All Rights Reserved
When technology complements business
http://www.simotime.com