Test Case 01 Non-Relational Data Access |
The SimoTime Home Page |
The primary objective of this test case is to describe and demonstrate how JCL and COBOL programs that are currently executed on an IBM/ZOS Mainframe System can be executed on a Linux, UNIX or Windows (LUW) System using Micro Focus Server.
Note: |
It is important to note the intent of Test Case 01 is not simply to do a migration of the application and data. The intent is to describe and demonstrate the process for maintaining a single source string that may be compiled and executed across a variety of platforms. Business enhancements or functions that leverage the unique capabilities of an individual platform should be architected as plug-ins or add-ons to the single source string. The architecture for plug-ins or add-ons should include techniques for delivering data in a format that goes beyond the traditional printed output. For example, providing an ASCII/Text file with a Comma-Separated-Values (CSV) format for the record structures that could be imported into an Excel Spread Sheet or Relational Data Table would greatly expand the user's options of viewing, arranging and/or querying the data. |
A secondary objective is to describe and demonstrate how to migrate, convert and maintain the non-relational data structures used by the application.
1. | Describe the various file transfer methodologies for non-relational data structures such as Sequential Files and VSAM/KSDS's. |
2. | Discuss the PRO's and CON's of remaining in EBCDIC and/or converting to ASCII |
3. | Discuss the nuances caused by the differences in the EBCDIC and ASCII collating sequences. Demonstrate how to sort an ASCII-encoded sequential file into an EBCDIC collating sequence. |
4. | Describe and demonstrate how to produce a file that may be easily imported into an Excel spreadsheet. This should include a discussion of how to manage the numeric packed and binary fields. |
5. | Describe and demonstrate how to validate the results by comparing the phone list file created on the mainframe with the phone list file created in the Micro Focus environment. |
Test Case 01 is a single batch job that runs on an IBM Mainframe System with ZOS. The batch job is a multi-step job. The 1st step will delete any output files created by a previous execution of this job. The 2nd step will read the VSAM/KSDS and create a Sequential file with information for a telephone list. The output file will be sequenced by customer number. The 3rd step will sort the file into a Last/First name sequence.
It is important to note that the original JCL member and the COBOL program will run in a Micro Focus Server environment without making any changes to the source members. A Micro Focus Server may be configured to support either an EBCDIC or ASCII encoded environment. Since the output of this test case is sequenced based on an Alpha-Numeric key (i.e. the first character of the key field may be a letter or a number) the sequence of the records in the output file will be different for the EBCDIC and ASCII environments.
For the EBCDIC-encoded environment the sequencing will be the same as the mainframe (i.e. the numbers will come after the letters). For the ASCII-encoded environment the sequencing will be different (i.e. the numbers will come before the letters). If this difference is explained to the business users before the migration then it is typically accepted and is not a problem. If the users are surprised and discover the difference on their own they are usually annoyed at not being told about the difference in advance.
However, if it is absolutely necessary to keep the output in the same sequence as the mainframe (i.e. an EBCDIC collating sequence) and run in an ASCII-encoded environment then it is possible for this test case. We have included a second job that describes and demonstrates how to do this.
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-2025
SimoTime Technologies and Services
All Rights Reserved
Test Case 01 (TC01) was executed on a ZOS Mainframe System. The source code for the programs and the data files were copied (via FTP) to a Windows Systems. The items were then placed into a ZIP'ped File that includes the following.
1. | Application Assets |
1.1. | A JCL Member that executes a COBOL program that will read the VSAM/KSDS and create a Record Sequential (RSEQ) file containing the information for a telephone listing. The New RSEQ is then sorted by LAST/FIRST name based on in-stream sorting specifications. |
1.2. | A COBOL program that will read the VSAM/KSDS and create a Record Sequential (RSEQ) containing the information for a telephone listing. |
1.3. | A JCL Procedure (PROC) that will be used to execute the SORT Utility Program provided by Micro Focus. |
2. | Non-Relational Data Structures |
2.1. | A Record Sequential File (TESTCASE.TC01.TC01XFER.dat) that was created on the Mainframe System using IDCAMS/REPRO to create an EBCDIC-encoded, Record Sequential file from the original VSAM/KSDS. This was done in order to use FTP in BINARY mode to transfer the file. This RSEQ file may be used to re-create the VSAM/KSDS in the Micro Focus environment. |
2.2. | A Record Sequential File (TESTCASE.TC01.TC01ZOS2.dat) that is a copy of the Phone List File that was created by the extract step that reads the VSAM/KSDS. This file is to be used as part of a compare process after Text Case 01 is executed in the Micro Focus environment. |
A "Prepare" process (or System Configuration) must be performed to set environment variables, create a directory structure, configure a Micro Focus Server Instance and create the utility programs that will do various data file converts and compares. The following is a list of the tasks.
1. | System Preparation |
1.1. | Create a process to set the necessary Environment Variables. |
1.2. | Create a directory structure to support a development environment. |
1.3. | Configure a Micro Focus batch server instance that will run Test Case 01 using ASCII-encoded, non-relational data structures. Describe and demonstrate how this is accomplished. |
2. | Utility Programs and Processes |
2.1. | Create a repeatable conversion process for the non-relational data structures used in Test Case 01. This repeatable process should serve as a model for converting other non-relational data structures. The conversion process should run in a development, test and production environment on a ZOS Mainframe or a Linux, UNIX or Windows System using Micro Focus Enterprise Server. Describe and demonstrate how this is accomplished. |
2.1.1. | Create a batch job using a Windows command file that will convert the EBCDIC-encoded Record Sequential File (TESTCASE.TC01.TC01XFER.dat) to an ASCII-encoded VSAM/KSDS. |
2.1.2. | Create a batch job using a Windows command file that will convert the EBCDIC-encoded Record Sequential File (TESTCASE.TC01.TC01ZOS2.dat) to an ASCII-encoded Record Sequential File. |
2.2. | Create a batch job using a JCL Member that will process the ASCII-encoded VSAM/KSDS and create a Record Sequential (RSEQ) phone list file that is sorted using an EBCDIC collating sequence. |
2.3. | Create a batch job using a Windows Command File that will process the ASCII-encoded VSAM/KSDS (that has packed numeric fields) and create a Line Sequential (LSEQ or ASCII/Text) phone list file that has a Comma-Separated-Values (CSV) record structure. |
2.4. | Create a batch job using a Windows Command File that will compare the phone list file created on the mainframe with the phone list file created in the Micro Focus environment. |
3. | Documentation |
3.1. | Create documentation for the preceding items. |
3.2. | The documentation should be easily viewed from devices that have browser capability. |
The original test case consisted of one job (a JCL member and a JCL/PROC member) that executed a COBOL program and the SORT utility program. The test case is currently executed on a ZOS Mainframe System that is an EBCDIC-encoded environment.
The test case has been expanded and now includes a second JCL member that is expected to execute on an LUW System using Micro Focus and configured for an ASCII-encoded environment. The JCL member includes a set of sort specifications that will sort the ASCII-encoded output file into and EBCDIC collating sequence.
The original and expanded test case components were migrated to a Windows/7 System with Micro Focus Enterprise Server (this includes both Enterprise Studio and Enterprise Developer). The COBOL program was compiled in the new environment and the JCL was submitted to the Micro Focus Server and executed as expected.
The following is a flow chart of the logic flow for the Telephone Listing job.
To meet the first requirement of Test Case 01 it will be necessary to submit and execute the original JCL in a Micro Focus environment. The following JCL member (TC01EXJ1.jcl) is the original JCL member that is used to execute Test Case 01 on an IBM Mainframe System running ZOS. The original JCL will run without modifications when submitted to a properly configured Micro Focus Server running on Linux, UNIX or Windows. //TC01EXJ1 JOB SIMOTIME,CLASS=1,MSGCLASS=0,NOTIFY=CSIP1 //* ******************************************************************* //* TC01EXJ1.JCL - a JCL Member for Batch Job Processing * //* This JCL Member is provided by SimoTime Technologies * //* (C) Copyright 1987-2019 All Rights Reserved * //* Web Site URL: http://www.simotime.com * //* e-mail: helpdesk@simotime.com * //* ******************************************************************* //* //* Text - Process VSAM/KSDS, create Telephone List Sequential File. //* Author - SimoTime Technologies //* Date - January 24, 1996 //* //* The 1st job step (RSEQDELT) will delete any previously created //* file. The 2nd job step (TC01CRT1) will create a new file. The //* 3rd job step will sort the file by name. //* //* This set of programs will run on a mainframe under MVS or on a //* Personal Computer with Windows and Micro Focus Mainframe Express. //* //* ************ //* * TC01EXJ1 * //* ********jcl* //* * //* * //* ************ ************ //* * IEFBR14 ******* TC01RS20 * //* ********utl* * ***delete*** //* * * //* * * ************ //* * *** TC01RS25 * //* * ***delete*** //* * //* * //* ************ ************ ************ //* * TC01KS10 ******* TC01EXC2 ******* TC01RS20 * //* *******ksds* ********cbl* *******rseq* //* * //* * //* ************ ************ ************ //* * TC01RS20 ******* SORT ******* TC01RS25 * //* *******rseq* ********utl* *******rseq* //* * //* * //* ************ //* * EOJ * //* ************ //* //* ******************************************************************* //* Step 1 of 3, Delete any previously created files. //* //JOBSETUP EXEC PGM=IEFBR14 //TC01RS20 DD DSN=TESTCASE.TC01.TC01RS20,DISP=(MOD,DELETE,DELETE), // UNIT=SYSALLDA, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=128,DSORG=PS) //TC01RS25 DD DSN=TESTCASE.TC01.TC01RS25,DISP=(MOD,DELETE,DELETE), // UNIT=SYSALLDA, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=128,DSORG=PS) //* //* ******************************************************************* //* Step 2 of 3, Read Master File and create Telephone File. //* The Packed Numeric will be expanded to Zoned-Decimal //* with a separate leading sign character. //* //TC01CRT1 EXEC PGM=TC01EXC2 //SYSOUT DD SYSOUT=* //TC01KS10 DD DSN=TESTCASE.TC01.TC01KS10,DISP=SHR //TC01PHON DD DSN=TESTCASE.TC01.TC01RS20,DISP=(NEW,CATLG,DELETE), // UNIT=SYSALLDA, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=128,DSORG=PS) //* //********************************************************************* //* Step 3 of 3, Sort the TC01PHON Telephone List File. The SORT //* specifications are defined within the JCL (in stream). //* The sequence of the output will be by Last/First name. //* //SORTSTEP EXEC TC01SORT //SORTIN DD DSN=TESTCASE.TC01.TC01RS20, // DISP=SHR //SORTOUT DD DSN=TESTCASE.TC01.TC01RS25, // DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(0,30),RLSE), // UNIT=SYSALLDA, // DCB=(BLKSIZE=1280,LRECL=128,RECFM=FB) //SYSIN DD * SORT FIELDS=(8,25,A),FORMAT=CH END // Explore the content of the TC01SORT that is executed as a job step in the preceding JCL. 2. Sort ASCII File, EBCDIC SequenceThis job (a JCL Member) is not part of the baseline for Test Case 01. This job was created as Task 02 in order to describe and demonstrate how to sort an ASCII-encoded sequential file into an EBCDIC collating sequence. The following JCL member (TC01EXJ2.jcl) is based on a copy of the original JCL member that is used to execute the test case. The SORT step was modified to use the ALTSEQ capabilities of the SORT utility in order to sort the ASCII-encoded file into an EBCDIC collating sequence. The SORT specifications are retrieved from a PDS Member in the PARMLIB instead of being included as in-stream data in the JCL Member. //TC01EXJ2 JOB SIMOTIME,CLASS=1,MSGCLASS=0,NOTIFY=CSIP1 //* ******************************************************************* //* TC01EXJ2.JCL - a JCL Member for Batch Job Processing * //* This JCL Member is provided by SimoTime Technologies * //* (C) Copyright 1987-2019 All Rights Reserved * //* Web Site URL: http://www.simotime.com * //* e-mail: helpdesk@simotime.com * //* ******************************************************************* //* //* Text - Process VSAM/KSDS, create Telephone List Sequential File. //* Author - SimoTime Technologies //* Date - January 24, 1996 //* //* The 1st job step (RSEQDELT) will delete any previously created //* file. The 2nd job step (TC01CRT1) will create a new file. The //* 3rd job step will sort the file by the Customer Number using //* the ALTSEQ function of SORT to produce an EBCDIC sequencing from //* an ASCII-encoded file.. //* //* Note: On the Mainframe System the VSAM/KSDS is an EBCDIC-encoded //* data set with a Key Field that is Alpha-numeric. The first //* character in the key may be a letter of a number. //* On the Windows System with Micro Focus the VSAM/KSDS is //* ASCII-encoded. Therefore, sequential processing of the //* VSAM/KSDS will produce a different sequencing of the output //* information since the collating sequences are different //* between EBCDIC and ASCII. //* //* This set of programs will run on a mainframe under MVS or on a //* Personal Computer with Windows and Micro Focus Mainframe Express. //* //* ************ //* * TC01EXJ2 * //* ********jcl* //* * //* * //* ************ ************ //* * IEFBR14 ******* TC01RS10 * //* ********utl* ***delete*** //* * //* * //* ************ ************ ************ //* * TC01KS10 ******* TC01EXC2 ******* TC01RS30 * //* *******ksds* ********cbl* *******rseq* //* * //* * //* ************ ************ ************ //* * TC01RS30 ******* SORT ******* TC01RS35 * //* *******rseq* * ********utl* *******rseq* //* * * //* ************ * * //* * TC01SRT1 **** * //* *******pdsm* * //* * //* ************ //* * EOJ * //* ************ //* //* ******************************************************************* //* Step 1 of 2, Delete any previously created files. //* //JOBSETUP EXEC PGM=IEFBR14 //TC01RS30 DD DSN=TESTCASE.TC01.TC01RS30,DISP=(MOD,DELETE,DELETE), // UNIT=SYSALLDA, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=128,DSORG=PS) //TC01RS32 DD DSN=TESTCASE.TC01.TC01RS32,DISP=(MOD,DELETE,DELETE), // UNIT=SYSALLDA, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=128,DSORG=PS) //* //* ******************************************************************* //* Step 2 of 2, Read Master File and create Telephone File. //* The Packed Numeric will be expanded to Zoned-Decimal //* with a separate leading sign character. //* //TC01CRT1 EXEC PGM=TC01EXC2 //SYSOUT DD SYSOUT=* //TC01KS10 DD DSN=TESTCASE.TC01.TC01KS10,DISP=SHR //TC01PHON DD DSN=TESTCASE.TC01.TC01RS30,DISP=(NEW,CATLG,DELETE), // UNIT=SYSALLDA, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=128,DSORG=PS) //* //********************************************************************* //* Step 3 of 3, Sort the TC01PHON Telephone List File. The SORT //* specifications are defined using a Partitioned Data //* Set Member (PDSM). //* //STEP30 EXEC PROC=TC01SORT //SORTIN DD DSN=TESTCASE.TC01.TC01RS30, // DISP=SHR //SORTOUT DD DSN=TESTCASE.TC01.TC01RS32, // DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(0,30),RLSE), // UNIT=SYSALLDA, // DCB=(BLKSIZE=1280,LRECL=128,RECFM=FB) //SYSIN DD DSN=SIMOTIME.PDS.PARMLIB(TC01SRT1),DISP=OLD // Explore the content of the TC01SORT that is executed as a job step in the preceding JCL or the content of the SRTTEST1 member that contains the SORT specifications that are used in the preceding JCL. 3. Create a CSV File for ExcelThis job (a Windows Command File) is not part of the baseline for Test Case 01. This job was created as Task 03 in order to describe and demonstrate how to create an ASCII-encoded line sequential file using a Comma-Separated-Values (CSV) format for the individual records. The following Windows Command File (TC01EXW5.cmd) is used to read the TC01KS10 file and create a line sequential file with CSV formatted records that may be easily imported into an Excel spreadsheet. Note: The TC01KS10 file contains numeric fields that are in a packed (or COMP-3) format. These numeric fields will be converted during the creation of the line sequential file with CSV formatted records. @echo OFF rem * ************************************************************************ rem * TC01EXW5.CMD - a Windows Command File * rem * This program is provided by SimoTime Technologies * rem * (C) Copyright 1987-2019 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ************************************************************************ rem * rem * Text - Process TC01KS01 and create TC01LCSV. rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * ******************************************************************* rem * Step 1, Delete any previously created file... rem * set CmdName=TC01EXW5 call ..\Env1BASE rem * call SimoNOTE "*******************************************************%CmdName%" call SimoNOTE "Starting JobName %CmdName%" :DeleteLSEQ call SimoNOTE "Identify JobStep DeleteLSEQ" set TC01LCSV=%BaseLib1%\DATA\XLSS\TESTCASE.TC01.TC01LCSV.csv if exist %TC01LCSV% del %TC01LCSV% rem * rem * ******************************************************************* rem * Step 3, Read the previously created Line Sequential File (LSEQ) rem * and write a Record Sequential File (RSEQ) with 128-byte, rem * EBCDIC-encoded records. rem * call SimoNOTE "Identify JobStep ConvertLSEQtoRSEQasc" set TC01KS10=%BaseLib1%\DATA\APPL\TESTCASE.TC01.TC01KS10.dat run TC01CVC5 if not exist %TC01LCSV% set JobStatus=0003 if not "%JobStatus%" == "0000" goto EojNok call SimoNOTE "Produced DataSet %TC01LCSV%" rem * rem * ******************************************************************* rem * :EojAok call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus%" goto :End :EojNok call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus%" :End call SimoNOTE "Conclude SysLog is %SYSLOG%" if not "%1" == "nopause" pause 4. Review/Validate ResultsThe following Windows Command File (TC01CPW9.cmd) is used to compare the phone list file created on the mainframe with the phone list file created in the Micro Focus environment. @echo OFF rem * ************************************************************************ rem * TC01CPW9.CMD - a Windows Command File * rem * This program is provided by SimoTime Technologies * rem * (C) Copyright 1987-2019 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ************************************************************************ rem * rem * Text - Create an EBCDIC-encoded Phone List File. rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * This procedure uses the Microsoft "ECHO" command to pipe instream rem * data to an ASCII/Text file. The following terms are used. rem * rem * LSEQ - a Line Sequential File or ASCII/Text File rem * RSEQ - a Record Sequential File. This example uses a file of rem * 128-byte records that may be ASCII or EBCDIC encoded. rem * rem * Once the LSEQ file is created it is used as input to create an rem * RSEQ file of 128-byte, ASCII-encoded records. rem * rem * Next, the LSEQ file is read a second time. The record content is rem * converted from ASCII to EBCDIC. A new RSEQ file is created with rem * the EBCDIC-encodd records. rem * rem * ******************************************************************* rem * Step 1, Delete any previously created file... rem * set CmdName=TC01CPW9 call ..\Env1BASE set SYSLOG=%BaseLib1%\LOGS\TESTCASE.TC01.TC01LOGS.dat run SYSLOGC8 set SYSOUT=%BaseLib1%\DATA\SPOOL\TESTCASE.TC01.TC01SP09.txt if exist %SYSOUT% erase %SYSOUT% rem * call SimoNOTE "*******************************************************%CmdName%" call SimoNOTE "Starting JobName %CmdName%" call SimoNOTE "Identify JobStep DeleteLSEQ" set TC01PHD1=%BaseLib1%\DATA\APPL\TESTCASE.TC01.TC01RS30.dat set TC01PHD2=%BaseLib1%\DATA\ASC1\TESTCASE.TC01.TC01RTA2.dat rem * rem * ******************************************************************* rem * Step 2, Read the previously created Line Sequential File (LSEQ) rem * and write a Record Sequential File (RSEQ) with 128-byte, rem * EBCDIC-encoded records. rem * call SimoNOTE "Identify JobStep Make the TC01ZOS2 File" run TC01CPC9 if not "%ERRORLEVEL%" == "0" set JobStatus=0010 if not "%JobStatus%" == "0000" goto EojNok rem * rem * ******************************************************************* rem * :EojAok call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus%" goto :End :EojNok call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus%" :End set SYSLOGVR=%SYSLOG% set SYSLOGLS=%BASELIB1%\LOGS\TESTCASE.TC01.TC01LOGS.txt if exist %SYSLOGLS% erase %SYSLOGLS% run SYSLOGC1 call SimoNOTE "Conclude SysOut is %SYSOUT%" call SimoNOTE "Conclude SysLog is %SYSLOG%" call SimoNOTE "Conclude TxtLog is %SYSLOGLS%" if not "%1" == "nopause" pause
Preparation TasksA Data Migration effort presents a user with a number of choices. For non-relational data structures the decision process will leverage a variety of skills and a broad knowledge base that may be acquired through training, experience, research and assistance. Create a Directory StructureTest Case 01 will focus on the development environment. Explore a Directory Structure for a Development Environment that supports the execution of business applications using Micro Focus Enterprise Server. Configure a Batch Server InstanceThe purpose of this section is to describe how to configure a JES sub-system (or Server Instance) that will run under Micro Focus Enterprise Server. To run all the jobs in Test Case 01 it will be necessary to populate the catalog with a minimum number of Partitioned Data Sets (or PDS's). Explore how to Configure a Batch JES sub-system (or Server Instance) that will run under Micro Focus Enterprise Server and execute batch jobs using JCL. TC01KS10, Create Convert ProgramsTC01KS10 is a VSAM/KSDS (Key-Sequenced-Data-Set). It was downloaded from the mainframe as an EBCDIC-encoded record sequential file (RSEQ). The following will describe a three step process that will start with an EBCDIC-encoded Record Sequential file and produce an ASCII-encoded VSAM/KSDS.
The Record Structure for TC01KS10 is 128 byte records. The key starts in position 1 and is six (6) characters in length. The key field is alpha-numeric and may contain letters and numbers. This will present some special considerations during the EBCDIC to ASCII conversion process due to the difference in the collating sequences of the two encoding schemas. PCF for Record Content ConversionThe following member (TC01CV01.pcf) is the Process Control File (or PCF) that will be used to generate the COBOL source code for a program that will do a record content conversion between EBCDIC and ASCII. This file is a line sequential file with fixed length records. *********************************************************************** * TC01CV01.pcf - a Process Control File * * SimoTime Program Generation Technologies * * (C) Copyright 1987-2019 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * *********************************************************************** * SYSUT1 is a Sequential, 128-byte, fixed, EBCDIC-encoded file. * SYSUT2 is a Sequential, 128-byte, fixed, ASCII-encoded file. * * This procdedure will generate the IO Program, a callable convert * routine and the HTML Documentation for the conversion of an * EBCDIC-encoded record Sequential file to and ASCII-encoded * record Sequential. *********************************************************************** * &SIMOPREP call ..\..\ENV1BASE &USERPREP call USERCONV &CONFORM IBM ©FILE TC01RSB1.cpy &HTMLFILE tc01rsb1.htm &DIALECT C2 *HEAD34 ....:....1....:....2....:....3.... &HEAD34 Read EBCDIC/RSEQ, Write ASCII/RSEQ &IOMODNAME TC01CVC1 &SYSUT1 name=TC01XFER org=Sequential recfm=FIXED rlen=128 &SYSUT2 name=TC01RSEQ org=Sequential recfm=FIXED rlen=128 &TransMODE E2A &TransCALL TC01CVR1 * &END PCF for File Format ConversionThe following member (TC01CV02.pcf) is the Process Control File (or PCF) that will be used to generate the COBOL source code for a program that will do a file format conversion from an RSEQ file to a VSAM/KSDS. This file is a line sequential file with fixed length records. *********************************************************************** * TC01CV02.pcf - a Process Control File * * SimoTime Program Generation Technologies * * (C) Copyright 1987-2019 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * *********************************************************************** * SYSUT1 is a Sequential, 128-byte, fixed, ASCII-encoded file. * SYSUT2 is a VSAM/KSDS, 128-byte, ASCII-encoded file with a primary * key from positions 1-6. * * This procdedure will generate the IO Program, the callable convert * routine and the HTML Documentation for the conversion of an * ASCII-encoded record Sequential file to an ASCII-encoded VSAM, KSDS. *********************************************************************** * &SIMOPREP call ..\..\ENV1BASE &USERPREP call USERCONV &CONFORM IBM ©FILE TC01RSB1.cpy &HTMLFILE tc01rsb1.htm &DIALECT C2 &VSAMload SEQUENTIAL *HEAD34 ....:....1....:....2....:....3.... &HEAD34 Read ASCII/RSEQ, Load ASCII/KSDS &IOMODNAME TC01CVC2 &SYSUT1 name=TC01RSEQ org=Sequential recfm=FIXED rlen=128 &SYSUT2 name=TC01KS10 org=Indexed recfm=VARIABLE rmin=128 rmax=128 kpos=1 klen=6 &TransCOPY from pos 1 len 128 to pos 1 len 128 * &END Generate the Convert ProgramsThe COBOL Conversion programs are generated using technology from SimoTime Enterprises. The Process Control Files and COBOL Copy Files that define the record structures are used in the generation process. Additional information may be obtain from the Micro Focus Sales Team or Micro Focus Professional Services. Execute the Convert ProgramsThe following member (TC01CVW1.cmd) is a Windows Command File that is used to execute the generated COBOL Conversion programs. @echo OFF rem * Text - Process EBCDIC Sequential, create ASCII VSAM/KSDS. rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * The job will process an EBCDIC-encoded Record Sequential (RSEQ) rem * File and create a new ASCII-encoded VSAM/KSDS. rem * rem * ************ rem * * TC01CVW1 * rem * ********cmd* rem * * rem * * rem * ************ rem * * Env1BASE * rem * ********cmd* rem * * rem * * rem * ************ rem * * SimoNOTE * rem * ********cmd* rem * * rem * * rem * ************ rem * * RUN ***************************** rem * ********rts* * rem * * ************ ************ ************ rem * * * TC01XFER ******* TC01CVC1 ******* TC01RSEQ * rem * * *******rseq* ********cbl* *******rseq* rem * * * rem * * ************ rem * * * TC01CVR1 * rem * * ********cbl* rem * * rem * * rem * ************ rem * * RUN ***************************** rem * ********rts* * rem * * ************ ************ ************ rem * * * SORTIN ******* MFSORT ******* SORTOUT * rem * * *******rseq* ********utl* *******rseq* rem * * rem * * rem * ************ rem * * RUN ***************************** rem * ********rts* * rem * * ************ ************ ************ rem * * * TC01RS10 ******* TC01CVC2 ******* TC01KSDS * rem * * *******rseq* ********cbl* *******ksds* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * Start-up, Set Environment Variables rem * set CmdName=TC01CVW1 call ..\Env1BASE rem * call SimoNOTE "*******************************************************%CmdName%" call SimoNOTE "Starting JobName %CmdName%" rem * rem * ******************************************************************* rem * rem * Step 1 of 4, Map File Names and Delete any previously created file... call SimoNOTE "Map File Names, delete previously created files" set TC01XFER=%BaseLib1%\DATA\EBC1\TESTCASE.TC01.TC01XFER.dat set TC01RSEQ=%BaseLib1%\DATA\ASC1\TESTCASE.TC01.TC01WK10.dat if exist %TC01RSEQ% del %TC01RSEQ% rem * rem * ******************************************************************* rem * Step 2 of 4, Read the EBCDIC-encoded Record Sequential File (RSEQ) rem * and write a Record Sequential File (RSEQ) with rem * 128-byte, ASCII-encoded records. rem * call SimoNOTE "Convert EBCDIC-encoded RSEQ to ASCII-encoded RSEQ" run TC01CVC1 if not exist %TC01RS10% set JobStatus=0003 if not "%JobStatus%" == "0000" goto EojNok call SimoNOTE "Produced DataSet %TC01RS10%" rem * rem * ******************************************************************* rem * Step 3 of 4, Sort into ASCII Sequence rem * call SimoNOTE "Identify JobStep Step-2, Sort into ASCII Sequence" set SORTIN=%TC01RSEQ% set SORTOUT=%BaseLib1%\DATA\ASC1\TESTCASE.TC01.TC01RS10.dat MFSORT SORT FIELDS=(1,6,CH,A) use %SORTIN% RECORD F,128 ORG SQ give %SORTOUT% RECORD F,128 ORG SQ rem * rem * ******************************************************************* rem * Step 4 of 4, Read SORTED ASCII/RSEQ, create a new ASCII-encoded KSDS rem * call SimoNOTE "Identify JobStep Step-3, Execute RSEQ to KSDS Conversion" set TC01RSEQ=%BaseLib1%\DATA\ASC1\TESTCASE.TC01.TC01RS10.dat set TC01KS10=%BaseLib1%\DATA\APPL\TESTCASE.TC01.TC01KS10.dat run TC01CVC2 if not "%ERRORLEVEL%" == "0" set JobStatus=0020 if not "%JobStatus%" == "0000" goto :EojNok rem * rem * ******************************************************************* rem * :EojAok call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus%" goto :End :EojNok call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus%" :End call SimoNOTE "Conclude SysLog is %SYSLOG%" if not "%1" == "nopause" pause Note: In this example the generated COBOL programs were compiled on a Windows System using Micro Focus Enterprise Studio. A Windows Command File was used to execute the conversion programs. The generated conversion programs could be compiled and executed on a Linux, UNIX, Windows or Mainframe System using the appropriate scripting language (Korn shell, CMD file or JCL). TC01PHON Compare ProcessTest Case 01 will be executed on the Mainframe System and a Windows System using Micro Focus Enterprise Server. A compare process will validate the results produced by comparing the phone list created on the mainframe with the phone list created in the Micro Focus environment. The validation (or compare) process will present a couple of challenges.
An EBCDIC-encoded copy of this file that was downloaded from the mainframe system and will be used to validate the results produced when the test case is executed in a Micro Focus environment. The file produced by executing this test case in an ASCII-encoded environment will produce and ASCII-encoded file. The Record Structure for TC01PHON is fixed-length of 128 bytes. The records are Text string and do not contain packed or binary data fields. Therefore, the RSEQ to LCSV record content conversion will be done at the field level. Note: The following sub-sections of this document will describe and demonstrate the preparation process required for comparing the two data files. PCF for EBCDIC to ASCII ConvertThe following member (TC01CV09.pcf) is the Process Control File (or PCF) that will be used to generate the COBOL source code for the program that will do the record content conversion between EBCDIC and ASCII. *********************************************************************** * TC01CV09.pcf - a Process Control File * * SimoTime Program Generation Technologies * * (C) Copyright 1987-2019 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * *********************************************************************** * SYSUT1 is a Sequential, 128-byte, fixed, EBCDIC-encoded file. * SYSUT2 is a Sequential, 128-byte, fixed, ASCII-encoded file. * * This procdedure will generate the IO Program, a callable convert * routine and the HTML Documentation for the conversion of an * EBCDIC-encoded record Sequential file to and ASCII-encoded * record Sequential. *********************************************************************** * &SIMOPREP call ..\..\ENV1BASE &USERPREP call USERCONV &CONFORM IBM &DIALECT C2 *HEAD34 ....:....1....:....2....:....3.... &HEAD34 Convert EBCDIC/RSEQ/128 to ASCII &IOMODNAME TC01CVC9 &SYSUT1 name=TC01ZOS2 org=Sequential recfm=FIXED rlen=128 &SYSUT2 name=TC01RTA2 org=Sequential recfm=FIXED rlen=128 &TransMODE E2A &TransLATE from pos 1 len 128 to pos 1 len 128 * &END PCF for Data File CompareThe following member (TC01CPPH.pcf) is the Process Control File (or PCF) that will be used to generate the COBOL source code for the program that will do a data file compare. *********************************************************************** * This is an example of the compare specifications to generate a * * Data File Comparison Program. This is used by SimoZAPS * * SimoTime Technologies * * (C) Copyright 1987-2019 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * *********************************************************************** * * The following group of statements will define the high level * functions and processes to be performed. * &SIMOPREP call ../Env1BASE &USERPREP call USERCOMP &FUNCTION COMPARE &CONFORM IBM &USRMODEL SYSCOMP1.txt * * The following group of statements will define the behavioral * characteristics and environment variable for the file I/O * functions within the Program to be generated. * *HEAD34 ....:....1....:....2....:....3.... &HEAD34 Do a Physical 128-Byte Comparison &PROGID TC01CPC9 &SYSUT1 name=TC01PHD1 org=Sequential recfm=FIXED rlen=128 &SYSUT2 name=TC01PHD2 org=Sequential recfm=FIXED rlen=128 * * The following group of statements will define the behavioral * characteristics and environment variable for the compare functions * within the Program to be generated. * &DELTAMAX 5 EOF &COMPARE PHYSICAL SYSUT1 pos 1 len 128 SYSUT2 pos 1 len 128 * &DFORMAT ASC NOEBC NOHEX NEDETAIL &SYSLOG ENABLED &DISPLAY SYSOUT * &END Generate the Convert & Compare ProgramsThe COBOL Convert and Compare programs are generated using technology from SimoTime Technologies. The Process Control Files and COBOL Copy Files that define the record structures are used in the generation process. For additional information please send an e-mail to: helpdesk@simotime.com or call at (415) 883-6565. We appreciate hearing from you.
Technical DetailsThis section contains information about items that are used by the mainline Job Scripts and/or Programs. JCL to Delete/Define TC01KS01The following JCL member (TC01DDJ1.jcl) is a job that uses IDCAMS to do a DELETE/DEFINE of the VSAM/KSDS used in this Test Case. //TC01DDJ1 JOB SIMOTIME,CLASS=1,MSGCLASS=0,NOTIFY=CSIP1 //* ******************************************************************* //* TC01DDJ1.JCL - a JCL Member for Batch Job Processing * //* This JCL Member is provided by SimoTime Technologies * //* (C) Copyright 1987-2019 All Rights Reserved * //* Web Site URL: http://www.simotime.com * //* e-mail: helpdesk@simotime.com * //* ******************************************************************* //* //* Text - Create an empty VSAM, KSDS data set using IDCAMS. //* Author - SimoTime Technologies //* Date - January 24, 1996 //* //* This job will create a VSAM, KSDS data set. The key is six (6) //* characters starting at the first position in the record. //* The record length is 128 characters. //* //* This set of programs will run on a mainframe under MVS or on a //* Personal Computer with Windows and Micro Focus Mainframe Express. //* //* ******************************************************************* //* Step 1 This is a single step job. //* //KSDSMAKE EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER (NAME(TESTCASE.TC01.TC01KS10) - TRACKS(45,15) - INDEXED) - DATA (NAME(TESTCASE.TC01.TC01KS10.DAT) - KEYS(6,0) - RECORDSIZE(512,512) - FREESPACE(10,15) - CISZ(8192)) - INDEX (NAME(TESTCASE.TC01.TC01KS10.IDX)) /* //* Note: The DELETE/DEFINE will replace an existing data set JCL Procedure (or PROC) for SortingThe following member (TC01SORT.prc) is a JCL Procedure (PROC) that contains the JCL statements for executing the SORT Utility program. //* ******************************************************************* //* TC01SORT.prc - a JCL Procedure Batch Job Processing * //* This JCL Procedure is provided by SimoTime Technologies * //* (C) Copyright 1987-2019 All Rights Reserved * //* Web Site URL: http://www.simotime.com * //* e-mail: helpdesk@simotime.com * //* ******************************************************************* //* //* Subject: Execute the SORT program //* Author: SimoTime Technologies //* Date: January 1,1998 //* //********************************************************************* //TC01SORT PROC //PRCSUBS1 EXEC PGM=SORT //SYSOUT DD SYSOUT=* // PEND //* Note: The PROC's are stored in the PROCLIB Partitioned-Data-Set (PDS). PDS Member, SORT SpecificationsThe following member (TC01SRT1.ctl) is a Partitioned-Data-Set Member (PDSM) that contains the sort specifications and will be used to sort the ASCII-encoded record sequential file into an EBCDIC collating sequence. * Sort using a User-Defined Alternate Collating Sequence, this table * will sort an ASCII-encoded file into an EBCDIC sequence. * ..:....1....:....2....:....3....:....4....:....5....:....6....:....7. SORT FIELDS=(1,6,AQ,A) ALTSEQ CODE=(2040,215A,227F,237B,245B,256C,2650,277D,284D,295D,2A5C, 2B4E,2C6B,2D60,2E4B,2F61,30F0,31F1,32F2,33F3,34F4,35F5, 36F6,37F7,38F8,39F9,3A7A,3B5E,3C4C,3D7E,3E6E,3F6F,407C, 41C1,42C2,43C3,44C4,45C5,46C6,47C7,48C8,49C9,4AD1,4BD2, 4CD3,4DD4,4ED5,4FD6,50D7,51D8,52D9,53E2,54E3,55E4,56E5, 57E6,58E7,59E8,5AE9,5BBA,5CE0,5DBB,5EB0,5F6D,6079,6181, 6282,6383,6484,6585,6686,6787,6888,6989,6A91,6B92,6C93, 6D94,6E95,6F96,7097,7198,7299,73A2,74A3,75A4,76A5,77A6, 78A7,79A8,7AA9,7BC0,7C4F,7DD0,7EA1,8020,A24A,A3B1,A5B2, A66A,AC5F) END Note: The Sort specification files are stored in the PARMLIB Partitioned-Data-Set (PDS). Directives for Program CompilesThis section will describe the directives files that are used when compiling the COBOL programs that are used in Test Case 01. COBOL Compile, Mainframe DialectThe following member (OS390AscCBLBAT.dir) is the directives file that is used to compile the COBOL programs that conform to the OS390 dialect. The compiled programs may be executed using JCL or a Windows Command line. DIALECT"OS390" CHARSET"ASCII" ASSIGN"EXTERNAL" IDXFORMAT"8" IBMCOMP NOTRUNC HOSTNUMMOVE HOSTNUMCOMPARE NOSIGN-FIXUP HOSTARITHMETIC CHECKNUM NOOPTIONAL-FILE NOHOSTFD NOQUERY SSRANGE COBIDY ANIM outdd"SYSOUT 121 L" SHARE-OUTDD DATE TIME DATAMAP settings list() noform COBOL Compile, Micro Focus DialectThe following member (MiFoAscIBMcomp.dir) is the directives file that is used to compile the COBOL programs that conform to the Micro Focus dialect. The compiled programs are typically executed using a Windows Command line. DIALECT"MF" CHARSET"ASCII" ASSIGN"EXTERNAL" IDXFORMAT"8" IBMCOMP NOTRUNC RTNCODE-SIZE"2" NOOPTIONAL-FILE NOHOSTFD NOQUERY COBIDY NOANIM outdd"SYSOUT 121 L" SHARE-OUTDD DATAMAP settings list() noform Set Environment VariablesThe following is a Windows CMD File (ENV1BASE.cmd) that is called to set the common or shared environment variables for a development environment that will support the execution of Test Case 01. @echo OFF rem * ******************************************************************* rem * ENV1BASE.cmd - a Windows Command File * rem * This program is provided by SimoTime Technologies * rem * (C) Copyright 1987-2021 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Provide a single point to set common environment variables. rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * Set the commonly used environment variables. This is used to provide rem * a single point for managing the commonly used environment variables. rem * set SimoLIBR=c:\SimoLIBR set BASELIB1=c:\SIMOSAM1\DEVL set BASELIB8=c:\SimoSAM8 set BaseWIP1=c:\SimoSAM1\WIP1 set DATAZERO=c:\SIMODATA\DEVL\DATA\ZERO set BASEAPP=%BaseLib1% set BASESYS=%BaseLib1%\SYS1 set BASECAT=%BaseLib1%\DATA set UMAPALIB=%BASECAT%\ASC1 set UMAPELIB=%BASECAT%\EBC1 set SYSLOG=%BASESYS%\LOGS\SYSLOG_USER.DAT set SYSOUT=%BASEAPP%\LOGS\SYSOUT_SIMSAM01.txt set SLZMSG=%BASEAPP%\LOGS\SLZMSG_USER.TXT set PostNOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.TXT set SIMONOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.txt set USERPOST=%BASEAPP%\LOGS\ASSIGNED_USER_POST_FILE.txt if [%1]==[] goto NO_POST set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%1.txt call SIMONOTE "+ ENV1BASE *" call SIMONOTE "+ ENV1BASE ********************************************************************%1" call SIMONOTE "+ ENV1BASE is preparing the System Environment..." call SIMONOTE "+ SIMOLIBR is %SIMOLIBR%" call SIMONOTE "+ MIFOSYS1 is %MIFOSYS1%" call SIMONOTE "+ BASELIB1 is %BASELIB1%" :NO_POST call SIMONOTE "+ SIMONOTE Job Log File is %SIMONOTE% " rem * set MQBASE=C:\Program Files\IBM\WebSphere MQ rem * rem * Set the location for the Apache-Tomcat Server... set CATALINA_HOME=C:\APACHETC\apache-tomcat-7.0.52 rem set CATALINA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_112 rem * rem * Set the Environment for the Java Environment... rem set JAVABASE=C:\APACHETC\apache-tomcat-7.0.52 set JAVABASE=C:\Program Files (x86)\Java\jdk1.8.0_112 set JAVASDK="%JAVABASE%\bin" set JAVA_HOME=%JAVABASE% set JRE_HOME=%JAVABASE% set SIMOTCAT=%CATALINA_HOME%\webapps\simotcat set SIMPACKS=%CATALINA_HOME%\webapps\simotcat\WEB-INF\classes\simpacks rem * rem * Set the environment for the Micro Focus technology... set MIFOEDEV=C:\Program Files (x86)\Micro Focus\Enterprise Developer set MIFOVCBL=C:\Program Files (x86)\Micro Focus\Visual COBOL Build Tools set MIFOESTU=C:\Program Files (x86)\Micro Focus\Studio Enterprise Edition 6.0 set MIFOEMFE="C:\Program Files (x86)\Micro Focus\Mainframe Express" rem * rem * Large file support, performance tuning and record locking of the File Handler set EXTFH=%BASESYS%\CONFIG\EXTFHBIG.CFG rem * rem * For IMS Support set ES_IMSLIB=%BASEAPP%\IMSLIB set ES_ACBLIB=%BASEAPP%\IMSLIB rem * rem * EZASOKETS Check EZASOKETS Enabled box or set ES_EZASOKET_SUPPORT=YES set EZACONFG=BASESYS1\CONFIG\EZACONFG.dat rem * rem * Resource Allocation and Performance for SORT and non-Relational Data rem set MFJSENGINE=SYNCSORT set SORTSCHEME=1 set SORTSPACE=750000000 set TMP=C:\SORTWORK rem * set ES_ALLOC_OVERRIDE=%BASESYS%\CONFIG\CATMAPA1.cfg rem * For CORE_ON_ERROR function, ABEND Dump rem * set COBCONFIG_=%BASESYS%\CONFIG\diagnose.cfg rem * rem * Consolidated Trace Facility (CTF) rem * set MFTRACE_CONFIG=%BASESYS%\CONFIG\ctf.cfg rem * set MFTRACE_LOGS=c:\ctflogs rem * rem * For Job Restart, ABEND Recovery set MF_UCC11=Y set ES_JES_RESTART=Y rem * rem * Set environment for MFBSI (Micro Focus Batch Scheduling Interface) set ES_EMP_EXIT_1=mfbsiemx set MFBSI_DIR=%BASESYS%\LOGS\%JESSERVERNAME% set MFBSIEOP_CMD=ENABLE set MFBSIEOP_CSV=ENABLE set MFBSIEOP_HTM=ENABLE set MFBSIEOP_XML=ENABLE rem * rem * Set Behavior and Trace Flags for GETJOBDD rem * Position=12345678/12345678 set JDDFLAGS=nnnWnnnn/YYnnnnnn rem * rem * If not already set then set the PATH for Micro Focus Directories if "%SIMOPATH%" == "Y" goto JUMPPATH if "%MIFOSYS1%" == "EDEV" goto JUMPEDEV if "%MIFOSYS1%" == "VCBL" goto JUMPVCBL if "%MIFOSYS1%" == "ESTU" goto JUMPESTU if "%MIFOSYS1%" == "EMFE" goto JUMPEMFE :JUMPEDEV set path=%BASESYS%\LOADLIB;%MIFOEDEV%\bin;%JAVASDK%;%BASEAPP%\JAVA;%PATH%; set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOEDEV%\CPYLIB set MIFOBASE=%MIFOEDEV% goto JUMPPATH :JUMPVCBL set path=%MIFOVCBL%\bin;%MIFOVCBL%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%; set MIFOBASE=%MIFOVCBL% goto JUMPPATH :JUMPESTU set MIFOBASE=%MIFOESTU%\Base set MIFOBIN=%MIFOBASE%\bin set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%; set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE goto JUMPPATH :JUMPEMFE set MIFOBASE=%MIFOEMFE%\Base set MIFOBIN=%MIFOBASE%\bin set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%; set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE goto JUMPPATH rem * :JUMPPATH set SIMOPATH=Y rem * set MAINFRAME_FLOATING_POINT=true set COBIDY=%BASEAPP%\COBIDY set COBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR% set LIBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR% set TXDIR=%BASESYS%\LOADLIB;%MIFOBASE% set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR% rem * set USERCLASS=%BASELIB1%\LOADLIB set CLASSPATH=. set CLASSPATH=%CLASSPATH%;%JAVABASE% set CLASSPATH=%CLASSPATH%;%JAVABASE%\lib set CLASSPATH=%CLASSPATH%;\%USERCLASS%\simpacks set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes\simpacks rem * if "%MIFOSYS1%" == "ESTU" set CLASSPATH=%CLASSPATH%;%MIFOBIN% if "%MIFOSYS1%" == "EDEV" set CLASSPATH=%CLASSPATH%;%MIFOEDEV% if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL% if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL%\bin\mfcobol.jar rem * set JobStatus=0000 call SIMONOTE "+ ENV1BASE is returning to caller" Display and Log MessagesThe following is a Windows CMD File (SIMONOTE.cmd) that is called to display a user message to the screen and post the message to a log file. This provides a consistent method for viewing a jobs progress during execution or reviewing the job results some time after the job has been executed. @echo OFF rem * ******************************************************************* rem * SIMONOTE.cmd - a Windows Command File * rem * This program is provided by SimoTime Technologies * rem * (C) Copyright 1987-2019 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 Technologies rem * rem * This script may be called from other scripts and expects a single rem * parameter enclosed in double quotes. The double quotes will be rem * removed. Before writing to the log file a date and time stamp rem * 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
SummaryThe primary objective of this test case is to describe and demonstrate how JCL and COBOL programs that are currently executed on an IBM/ZOS Mainframe System can be executed on a Linux, UNIX or Windows (LUW) System using Micro Focus Server. This document may be used as a tutorial for new programmers or as a quick reference for experienced programmers. In the world of programming there are many ways to solve a problem. This 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 contact us using the information in the Contact or Feedback section of this document.
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. Downloads and LinksThis 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. Current Server or Internet AccessThe 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 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 icon. Explore How to Generate a Data File Convert Program using simple specification statements in a Process Control File (PCF). This link to the User Guide includes the information necessary to create a Process Control File and generate the COBOL programs that will do the actual data file conversion. The User Guide contains a list of the PCF statements that are used for the data file convert process. Explore How to Generate a Data File Compare, Validate or Hex-Dump Program using simple specification statements in a Process Control File (PCF). This link to the User Guide includes the information necessary to create a Process Control File and generate the COBOL programs that will do a data file compare, accumulate summary totals with a record count or produce a Hex-Dump of records in a VSAM, KSDS based on a list of user-defined keys. The User Guide contains a list of the PCF statements that are used for the data file compare, validate or dump process. Explore An Enterprise System Model that describes and demonstrates how Applications that were running on a Mainframe System and non-relational data that was located on the Mainframe System were copied and deployed in a Microsoft Windows environment with Micro Focus Enterprise Server. Explore the evolution of application software from conception to retirement. This document includes an overview of how to setup a Development, Test and Production environment on a Windows System using Micro Focus Enterprise Server. Explore the COBOL Connection for more examples of COBOL programming techniques and sample code. 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. Explore The File Status Return Codes that are used to interpret the results of accessing VSAM data sets and/or QSAM files. Internet Access RequiredThe following links will require an internet connection. This suite of programs and documentation is available for download. 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 (including Micro Focus COBOL) and services available from Micro Focus. This link requires an Internet Connection. Glossary of TermsExplore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers. Comments or FeedbackThis document was created and is maintained by SimoTime Technologies. If you have any questions, suggestions, comments or feedback please use the following contact information.
We appreciate hearing from you. Company OverviewSimoTime 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 or check the web site at http://www.simotime.com
|