Data File Conversion
 A Self-Study or Classroom Session
http://www.simotime.com
 Copyright © 1987-2009 SimoTime Enterprises, LLC  All Rights Reserved
  Table of Contents Version 09.05.17 
  Introduction
  Objective of Session
 
  Proof of Concept, Data File Conversion
  Requirements
  Materials Provided
  Criteria for Success
  What to do and How to do it
  Additional Information
 
  Numeric Fields, BINARY or COMP Format
  Numeric Fields, Packed-Decimal or COMP-3 Format
  Numeric Fields, Zone Decimal Format
  Numeric Fields, Edited Format
  Summary
 
  Software Agreement and Disclaimer
  Downloads and Links to Similar Pages
  Glossary of Terms
  Comments or Suggestions
  About SimoTime
 
 Quick Clicks 
SimoPATH Home Page
ASCII / EBCDIC Tables
File Status Codes
Glossary of Terms
Help Desk for SimoTime

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

This session will discuss the process and associated risk of a data migration that includes a conversion of the file formats (i.e. Mainframe to Micro Focus) or file content (i.e. EBCDIC to ASCII). Included in the session is a discussion of the possible issues that may occur and corrective actions that may be required during the data conversion process of an application migration effort. An exercise in the form of a sample Proof-of-Concept (POC) is provided that will use various technologies to convert a typical mainframe, EBCDIC-encoded data file to a Micro Focus file format with ASCII-encoded records that may be processed on a Windows platform.

To perform this exercise requires a basic knowledge of the Windows environment and Micro Focus Net Express. Additional help is provided for individuals that may not be proficient in the use of Net Express or have forgotten how to perform a particular function.

Note: This module is part of The SimoPATH Series of training and reference materials. For more information refer to The Home Page for The SimoPATH Series.

Objective of Session
(Next) (Previous) (Table-of-Contents)

The objective of this sample Proof-of-Concept POC is to define a practical process for converting between EBCDIC encoded file formats used on the Mainframe and ASCII encoded file formats used by Windows or UNIX. The following is a list of the minimum tasks to be completed for this Proof of Concept.

1. Convert an Item Master File from an EBCDIC-encoded format to an ASCII-encoded format.
2. Maintain Mainframe numeric encoding schemes.
3. Must be able to run the conversion process on a Mainframe, Windows or UNIX platform.
4. Document the Hardware and Software that is required to perform the Data File Conversion process on a Windows platform

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

If this session is being performed through self-study then it will be necessary to install the following software on a Windows system. Windows/XP or Windows Server is preferred.

1. Either Micro Focus Net Express or Micro Focus Mainframe Express must be installed. Refer to the Micro Focus documentation for more information about these technologies. Both of these technologies are usually pre-installed for the classroom environment.
2. The SimoZAPS with SimoREC1 software that is available from SimoTime must be installed and configured. Both of these technologies are usually pre-installed for the classroom environment.
3. The DataMig1 directory that is available from SimoTime must be installed with the minimum data file and COBOL copy file. This directory is usually pre-installed for the classroom environment.

Materials Provided
(Next) (Previous) (Table-of-Contents)

For the classroom environment two directories (c:\DataMig1 and c:\SimoLIBR) are provided that contain the following information.

1. The c:\DataMig1\DataEbc1\ItemEbc1.DAT is a test copy of an EBCDIC encoded Item Master File that includes PACKED and BINARY data.
2. The c:\DataMig1\STR\ItemMast.STR is a structure file used by the Micro Focus Data File Editor to display records in a formatted output based on a copy file.
3. The c:\DataMig1\CobCpy1\ItemCB01.CPY is the copy file for the item master file. This directory also contains CUSTCB01.CPY that is the copy file for the customer master file.
4. The c:\SimoLIBR directory contains the SimoTime utility programs and additional copy files used to generate the conversion programs.

Criteria for Success
(Next) (Previous) (Table-of-Contents)

The following items must be completed to meet the minimum requirements for successfully completing the proof of concept.

1. Provide a conversion process that may be executed on an IBM Mainframe, a Windows platform or a UNIX platform.
2. A copy of an ASCII-encoded Item Master File.
3. A demonstration on a Windows platform that executes the conversion process and shows the correct data structure for the ASCII encoded Item Master File.

What to do and How to do it
(Next) (Previous) (Table-of-Contents)

The objective of this project is to experience first-hand the issues that will be encountered and the solutions required when doing data conversions. Because most mainframe files contain a mixture of alpha-numeric fields (i.e. "USAGE IS DISPLAY" in COBOL terminology) and numeric fields that may be packed (COMP-3) or binary (COMP) the data conversion will need to be done at the field level.

For this project two directories will be used. The first directory (c:\SimoLIBR) contains the utility programs and copy files needed to generate the COBOL conversion programs. The c:\SimoLIBR directory will need to be included in the PATH environment variable. The second directory (c:\DataMig1) contains an Item Master file that is an EBCDIC encoded, Keyed-indexed file (c:\DataMig1\DataEbc1\ItemEbc1.DAT). A command file (c:\DataMig1\Converts\ItemE2Aexample.CMD) is provided for generating the two COBOL conversion programs. These two programs will be used to convert the EBCDIC encoded file into an ASCII encoded file. Two copy files (c:\DataMig1\CobCpy1\ItemCB01.CPY and c:\DataMig1\CobCpy1\CustCB01.CPY) are provided and define the data structure of the records in the Item Master File and the Customer Master File.

The following is a series of tasks that must be accomplished to successfully complete this learning session

Task Description
1. Generate the COBOL source members that will do the actual Data File Conversion. From the c:\DataMig1\Converts directory run the command file ItemE2Aexample.CMD. This should generate the two COBOL source members that will be compiled and executed to do the data file conversion. The first generated program will do the file I/O to read the EBCDIC encoded file and write the ASCII encoded file. The second generated program will be called by the I/O program to do the actual conversion of each record from EBCDIC encoding to ASCII encoding. The integrity of mainframe numeric formatted fields will be maintained. The conversion of each record will be done at the field level based on the field definitions specified in a COBOL copy file.
Note: Refer to the document for Data File Convert, Generate Source Code for additional help.
Note: If this procedure does not run correctly the problem is usually with the c:\SimoLIBR directory. Either the SimoZAPS or SimoREC1 utility programs were not installed correctly or the c:\SimoLIBR directory is not in the PATH.
2. Verify that two COBOL source members were created (ItKeKaC1.CBL and ItmE2AR1.CBL) and placed in the c:\DataMig1\COBOL directory.
Note: Refer to the document for Data File Convert, View Source Code for additional help.
Note: If step 1 is successful then the two COBOL source members should be automatically displayed with NotePAD. You may view the source code and then close the NotePAD windows. Do not change the source code.
3. Create a Net Express project in the c:\DataMig1 directory.
Note: Refer to the Start Net Express and Create a Project document for additional help.
4. Add the two COBOL source members to the project.
Note: For help in how to add source members to the project refer to the Add Source Member to Net Express Project document for additional help.
5. Compile the two COBOL programs.
Note: For help in compiling the programs refer to the Compile for Execute with Animate section of this document.
Note: If the compile is not successful refer to the Pointing to a Copy File Directory document for additional help.
6. Animate the ItKeKaC1 program.
Note: For help with animation refer to the Animate the Conversion Program document for additional help.
Note: When the OPEN for the input or output file fails refer to Mapping the COBOL File Name to a Fully Qualified PC File Name for additional help.
Note: Refer to the File Status Codes for a description of a non-zero return code.
7. Use the Data File Editor to view the ASCII-encoded Item file (ItemAsc1.DAT) by first adding the file to the Net Express project.
Note: For assistance with this process refer to Using the Data File Editor for additional help.
8. Refer to The Idiosyncrasies of BINARY or COMP Data for additional information about why columns 82-83 did not translate correctly?
9. Set the Compiler Directives to correct the failure in the conversion from EBCDIC-encoding to ASCII-encoding.
Note: If the columns are incorrect refer to Setting Compiler Directives within a Project for additional help.
10. View the EBCDIC encoded Item file using the Data File Editor and Map Display to a .STR file (a .STR file is created from a Working Storage definition of the record layout, this is usually a copy file).
Note: Refer to Data File Editor and Structured Layout for additional help.

Additional Information
(Next) (Previous) (Table-of-Contents)

This section provides additional information or insight into some of the tasks performed by this exercise. There are numerous things to consider when converting data files from an EBCDIC encoded format to an ASCII encoded format. Maintaining numeric integrity across all the different formats used on a mainframe (i.e. EBCDIC encoding with signed, zoned-decimal, COMP and COMP-3) requires special handling at the field level.

Numeric Fields, BINARY or COMP Format
(Next) (Previous) (Table-of-Contents)

This link provides additional information about Binary or COMP (i.e. COMPUTATIONAL) fields. The Binary or COMP Format, Description and Discussion document provides additional information for converting this type of field or data string.

Numeric Fields, Packed-Decimal or COMP-3 Format
(Next) (Previous) (Table-of-Contents)

This link provides additional information about Packed Decimal or COMP-3 (i.e. COMPUTATIONAL-3) fields. The Packed-Decimal or COMP-3 Format, Description and Discussion document provides additional information about this type of field or data string.

Numeric Fields, Zone Decimal Format
(Next) (Previous) (Table-of-Contents)

This link provides additional information about Zone Decimal fields. The unsigned, zone decimal fields are text fields and are assumed to be a simple, no risk conversion. However, it is best to treat unsigned fields as signed since it is possible for a signed zone value to end up in an unsigned field and as long as it is a positive value the mainframe will process the field.

Signed fields that are in a zone decimal format need special handling and should not be handled as text data. The Zoned Decimal Format, Description and Discussion document provides additional information for converting this type of field or data string.

Numeric Fields, Edited Format
(Next) (Previous) (Table-of-Contents)

Printing or displaying a numeric field can be a challenge because of all the different formats. This is usually done by using an edited numeric field. An Edited Numeric Field will make all the numeric values actual digits and provides for the insertion of commas and an explicit decimal point.

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

The purpose of this session is to describe the techniques and effort involved to convert a mainframe EBCDIC-encoded data file to a Windows and Micro Focus ASCII-encoded file while maintaining mainframe numeric integrity. This session is available as an on site class or an on line, self-study course.

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

Permission to use, copy, modify and distribute this software, documentation or training material for any purpose requires a fee to be paid to SimoTime Enterprises. 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 Enterprises.

SimoTime Enterprises 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 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, documentation or training material.

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

The Home Page for The SimoPATH Series  is the starting point to view information about training sessions and learning materials available from SimoTime Enterprises.

The SimoTime Home Page is the starting point to review all the information available from SimoTime Enterprises.

The SimoZAPS Utility Program has the capability of generating the COBOL source code for programs that will do file conversion or file comparison of sequential and VSAM (KSDS) files. The file conversion function will do a file format (i.e. sequential to indexed) or file content (EBCDIC and ASCII) conversion. SimoZAPS can also read a sequential file in EBCDIC format and create an ASCII/CRLF file or VSAM KSDS file in ASCII format. The conversion tables may be viewed or modified to meet unique requirements. The file comparison function will allow the user to specify the positions within a record to compare and has the ability to track inserted and deleted records for file that are sequenced by a key field. The Hexcess/2 function provides the capability of viewing, finding or patching the contents of a file in hexadecimal.

The SimoREC1 Utility Program has the capability of generating a callable COBOL program that will do the conversion of a data string between EBCDIC and ASCII. The generated COBOL source code or the conversion tables may be viewed or modified to meet unique requirements. The generated program may be called by an I/O program generated by SimoZAPS.

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.

Signed fields that are in a zone decimal format need special handling and should not be handled as text data. The Zoned Decimal Format, Description and Discussion document provides additional information for converting this type of numeric field or data string.

This link provides additional information about Packed Decimal or COMP-3 (i.e. COMPUTATIONAL-3) fields. The Packed-Decimal or COMP-3 Format, Description and Discussion document provides additional information about this type of numeric field or data string.

This link provides additional information about Binary or COMP (i.e. COMPUTATIONAL) fields. The Binary or COMP Format, Description and Discussion document provides additional information for this type of numeric field or data string.

Check out  The VSAM - QSAM Connection  for more examples of mainframe VSAM and QSAM accessing techniques and sample code.

The hexadecimal dump of the parameter-buffer uses the same technique as describe in another SimoTime example that describes the dumping of a data string using COBOL. The name of the member that does the actual hexadecimal dump is called SimoDUMP. A copy file (PASSDUMP.CPY) is provided for defining the pass area.

You may view the complete list of examples at http://www.simotime.com/sim4dzip.htm and many are available as a SimoTime Z-Pack (a zip file package with sample source code, data and documentation).

Note: You must be attached to the Internet to download a Z-Pack or view the list.

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, LLC
(Next) (Previous) (Table-of-Contents)

Founded in 1987, SimoTime Enterprises is a privately owned, Limited Liability Corporation located in Novato, California. 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-2009 SimoTime Enterprises, LLC  All Rights Reserved
When technology complements business
http://www.simotime.com
Version 06.01.06