Customer Information Simple 80 Byte Record Structure |
The SimoTime Home Page |
The primary objective of this test case is to describe and demonstrate the execution of business processing logic and the sharing a data across a network of systems of varying architectures such as an IBM Mainframe, a Windows System or a Linux Platform.
This Test Case includes job scripts and programs that describe and demonstrate the use of file access methods used by SimoTime. The programs describe and demonstrate a variety of data file accessing and data management techniques such as accessing, analyzing, viewing, converting or comparing data files of known or unknown structure or content. The viewing (or human observation) is provided in a hexadecimal (or hex) dump format with a possible EBCDIC or ASCII translation.
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-2021
SimoTime Technologies and Services
All Rights Reserved
This test case includes a number of functional tests of various file accessing techniques available with the COBOL programming language and used by SimoTime for regression testing.
1. | Execute a Test Case using a multiple-step job script. |
1.1. | Job Step 01 of 07, Prepare the System and Job environments. |
1.2. | Job Step 02 of 07, Create an ASC-encoded Line Sequential (ASC-LSEQ) File using instream data from the job script. |
1.3. | Job Step 03 of 07, Convert the previously created ASC-encoded Line Sequential (ASC-LSEQ) to a new ASC-encoded Record Sequential (ASC-RSEQ) |
1.4. | Job Step 04 of 07, Convert the previously created ASC-encoded Line Sequential (ASC-LSEQ) to a new EBC-encoded Record Sequential (EBSC-RSEQ) |
1.5. | Job Step 05 of 07, Convert the previously created ASC-encoded Record Sequential (ASC-RSEQ) file to an ASC-encoded Indexed file (ASC-KSDS or VSAM Key-Sequenced-Data-Set). |
1.6. | Job Step 06 of 07, Extract user-defined data strings by field name from the previously created Indexed (ASC-KSDS) to a new ASC-encoded Line Sequential (ASC-LCSV) file containing a Comma-Separated-Values (CSV) record structure. |
1.7. | Job Step 07 of 07, End of job processing |
The following link will provide additional information about the file types that are accessed or created by this test case.
Explore the File Formats and various Numeric Formats being used in a multi-system complex consisting of Mainframe (z/OS), Linux, UNIX or Windows systems.
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. If the jobs and programs are transferred to a system of a different architecture or configuration then adjustments may be needed to execute.
If an environment is configured similar to a SimoTime environment then the batch jobs may be executed as described in the following sections of this document.
A Windows Command File is used as batch job scripts to prepare the job environment and execute the programs that do the Quality Assurance Testing. A job script may be executed from a File Explorer window by simply double-clicking on the Command File Member name.
This job script references an environment variable name BASELIB1 when mapping physical file names to logical file names. When this test case is being executed on a SIMOTIME Test system this environment variable is set to the following value.
set BASELIB1=C:\AC2020\SP07\DEVL
The following is the Windows Command file (CU80MKW8.cmd) that is required to run as a job on a Windows System using Micro Focus COBOL technology.
@echo OFF set CmdName=CU80MKW8 rem * ************************************************************************ rem * This Job Script 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 - Create files with customer data to be used for QA Testing. rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * This procedure uses the following abbreviations. rem * rem * LSEQ - a Line Sequential File or ASCII/Text File rem * RSEQ - a Record Sequential File. This example uses a file of rem * 80-byte records that may be ASCII or EBCDIC encoded. rem * rem * This job script contains multiple job steps that do the following. rem * rem * 1. Prepare the System and Job environments. rem * 1.1. Call ENV1BASE to prepare the System Environment.. rem * 1.2. Prepare the Job environment. rem * 1.3. Call SIMONOTE to post information to user. rem * 2. Create a Line Sequential (LSEQ_ASC) File. rem * 2.1. Use the Microsoft ECHO command rem * 2.2. Access JOB_STEP=Instream data from the Job Script. rem * 2.3. Create LSEQ0080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt rem * 3. Convert Line Sequential (LSEQ_ASC) to Record Sequential (RSEQ_ASC). rem * 3.1. run CV80ALAR, A COBOL program rem * 3.2. Access GETLS080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt rem * 3.3. Create PUTRS080=C:\AC2020\SP07\DEVL\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT rem * 4. Convert Line Sequential (LSEQ_ASC) to Record Sequential (RSEQ_EBC) rem * 4.1. run CV80ALER, A COBOL program rem * 4.2. Access GETLS080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt rem * 4.3. Create PUTRS080=C:\AC2020\SP07\DEVL\DATA\EBC1\SIMOTIME.DATA.CU0080D1.DAT rem * 5. Convert Record Sequential (RSEQ_ASC) to Indexed (KSDS_ASC) rem * 5.1. run CV80ARAK, A COBOL program rem * 5.2. Access SYSUT1=C:\AC2020\SP07\DEVL\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT rem * 5.3. Create SYSUT2=C:\AC2020\SP07\DEVL\DATA\APPL\SIMOTIME.KSDS.CU0080D1.DAT rem * 6. Extract Fields from Indexed (KSDS_ASC) to Line Sequential (LCSV_ASC) rem * 6.1. run CU80EXC5, A COBOL program rem * 6.2. Access SYSUT1=C:\AC2020\SP07\DEVL\DATA\APPL\SIMOTIME.KSDS.CU0080D1.DAT rem * 6.3. Header CSVHDR=C:\AC2020\SP07\DEVL\PARMLIB\CUST80B1_EXTRACT.txt rem * 6.4. Create SYSUT2=SYSUT2=C:\AC2020\SP07\DEVL\DATA\CSV1\CU0080D2.csv rem * 7. End of Job Processing. rem * rem * For more information or questions please contact SimoTime rem * Technologies. The version control number is 20.00.00 rem * rem * Our e-mail address is: helpdesk@simotime.com rem * Also, visit our Web Site at http://www.simotime.com rem * ******************************************************************* rem * call ..\ENV1BASE %CmdName% rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 07" call SIMONOTE "* Job_Step 01 of 07, Preparing the System and Job environments" set JobStatus=0 call SIMONOTE "* Continue JobName %CmdName%, Job Status is %JobStatus%, Begin User Testing " rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 07" call SIMONOTE "* Job_Step 02 of 07, Create a Line Sequential (ASC-LSEQ) File" call SIMONOTE "* Job Step Synopsis: Create a new output file containing customer information." call SIMONOTE "* Use the 'echo' command provided with Microsoft Windows, " call SIMONOTE "* Pipe instream data to a new ASCII/Text file (ASC-LSEQ)." set LSEQ0080=%BASELIB1%\DATA\TXT1\CU0080D1.txt if exist %LSEQ0080% del %LSEQ0080% rem ....:....1....:....2....:....3....:....4....:....5....:....6....:....7....:....8 echo 000100 Anderson Adrian 111 Peachtree Plaza Atlanta GA 26101 >%LSEQ0080% echo 000200 Brown Billie 222 Baker Boulevard Baltimore MD 35702 >>%LSEQ0080% echo 000300 Carson Cameron 333 Crenshaw Blvd. Cupertino CA 96154 >>%LSEQ0080% echo 000400 Davidson Dion 444 Main Street Wilmington DE 27323 >>%LSEQ0080% echo 000500 Everest Evan 555 5TH Avenue New York NY 10341 >>%LSEQ0080% echo 000600 Franklin Francis 666 66TH Avenue Bedrock NY 11903 >>%LSEQ0080% echo 000700 Garfunkel Gwen 777 77TH Street New York NY 16539 >>%LSEQ0080% echo 000800 Harrison Hilary 888 88TH Street Pocatello ID 79684 >>%LSEQ0080% echo 000900 Isley Isabel 999 99TH Avenue Indianapolis IN 38762 >>%LSEQ0080% echo 001000 Johnson Jamie 1010 Jersey Cove, #10 Larkspur CA 90504 >>%LSEQ0080% echo 001100 Kemper Kelly 1111 Oak Circle Kansas City KS 55651 >>%LSEQ0080% echo 001200 Lemond Lesley 1212 Lockwood Road Mohave Desert AZ 80303 >>%LSEQ0080% echo 001300 Mitchell Marlow 1313 Miller Creek Road Anywhere TX 77123 >>%LSEQ0080% echo 001400 Newman Noel 1414 Park Avenue Santa Monica CA 90210 >>%LSEQ0080% echo 001500 Osborn Owen 1515 Center Stage Rolling Rock PA 36613 >>%LSEQ0080% echo 001600 Powell Pierce PO Box 1616 Ventura CA 97712 >>%LSEQ0080% echo 001700 Quigley Quincy 1717 Farm Hill Road Oshkosh WI 43389 >>%LSEQ0080% echo 001800 Ripley Ray 1818 Alien Lane Wayout KS 55405 >>%LSEQ0080% echo 001900 Smith Sammy 1919 Carnoustie Drive Novato CA 94919 >>%LSEQ0080% echo 002000 Tucker Taylor 2020 Sanger Lane St. Paul MN 43998 >>%LSEQ0080% echo 002100 Underwood Ulysses 2121 Wall Street New York NY 17623 >>%LSEQ0080% echo 002200 Van Etten Valerie 2222 Vine Street Hollywood CA 98775 >>%LSEQ0080% echo 002300 Wilson Wiley 2323 Main Street Boston MA 01472 >>%LSEQ0080% echo 002400 Xray Xavier 2424 24TH Street Nashville TN 44190 >>%LSEQ0080% echo 002500 Young Yanni 2525 Yonge Street Toronto ON 6B74A6>>%LSEQ0080% echo 002600 Zenith Zebulon 2626 26TH Street Dallas TX 71922 >>%LSEQ0080% echo 123456 Doe John 123 Main Street Anywhere OR 88156 >>%LSEQ0080% rem * if not exist %LSEQ0080% set JobStatus=20 if not "%JobStatus%" == "0" goto EOJTAG call SIMONOTE "* Access JOB_STEP=Instream data from within the Job Script " call SIMONOTE "* Create LSEQ0080=%LSEQ0080% " rem * call SIMONOTE "* --------------------------------------------------------------------------- *03 of 07" call SIMONOTE "* Job_Step 03 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ)" call SIMONOTE "* Job Step Synopsis: Execute CV80ALAR" call SIMONOTE "* Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ), " call SIMONOTE "* write to an ASC-encoded Record Sequential File (ASC-RSEQ) of 80-byte records." set GETLS080=%LSEQ0080% set PUTRS080=%BASELIB1%\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT if exist %PUTRS080% del %PUTRS080% run CV80ALAR if not exist %PUTRS080% set JobStatus=30 if not "%JobStatus%" == "0" goto EOJTAG call SIMONOTE "* Access GETLS080=%GETLS080% " call SIMONOTE "* Create PUTRS080=%PUTRS080% " rem * call SIMONOTE "* --------------------------------------------------------------------------- *04 of 07" call SIMONOTE "* Job_Step 04 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ)" call SIMONOTE "* Job Step Synopsis: Execute CV80ALER" call SIMONOTE "* Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ)," call SIMONOTE "* write to an EBC-encoded Record Sequential File (EBC-RSEQ) of 80-byte records." set GETLS080=%LSEQ0080% set PUTRS080=%BASELIB1%\DATA\EBC1\SIMOTIME.DATA.CU0080D1.DAT if exist %PUTRS080% del %PUTRS080% run CV80ALER if not exist %PUTRS080% set JobStatus=40 if not "%JobStatus%" == "0" goto EOJTAG call SIMONOTE "* Access GETLS080=%GETLS080% " call SIMONOTE "* Create PUTRS080=%PUTRS080% " rem * call SIMONOTE "* --------------------------------------------------------------------------- *05 of 07" call SIMONOTE "* Job_Step 05 of 07, Convert Record Sequential (ASC-RSEQ) to Indexed (ASC-KSDS)" call SIMONOTE "* Job Step Synopsis: Execute CU80ARAK" call SIMONOTE "* Read the previously created ASC-encoded Record Sequential File (ASC-RSEQ), " call SIMONOTE "* Write to an ASC-encoded Indexed File (ASC-KSDS) of 80-byte records." call SIMONOTE "* Note: the starting key position is 1 and the key length is 6 bytes." set SYSUT1=%BASELIB1%\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT set SYSUT2=%BASELIB1%\DATA\APPL\SIMOTIME.KSDS.CU0080D1.DAT if exist %SYSUT2% del %SYSUT2% run CU80ARAK if not exist %SYSUT2% set JobStatus=50 if not "%JobStatus%" == "0" goto EOJTAG call SIMONOTE "* Access SYSUT1=%SYSUT1% " call SIMONOTE "* Create SYSUT2=%SYSUT2% " rem * call SIMONOTE "* --------------------------------------------------------------------------- *06 of 07" call SIMONOTE "* Job_Step 06 of 07, Extract Indexed (ASC-KSDS) to Line Sequential (ASC-LCSV)" call SIMONOTE "* Job Step Synopsis: Execute CU80EXC5, calls CU80EXR5" call SIMONOTE "* Read the previously created ASC-encoded Indexed File (ASC-KSDS), " call SIMONOTE "* Write to an ASC-encoded Line Sequential File (ASC-LCSV)." call SIMONOTE "* The ASC-LCSV (Comma Separated-Values) file contains Variable length records." call SIMONOTE "* The first record in the ASC-LCSV file contains the field names." set SYSUT1=%BASELIB1%\DATA\APPL\SIMOTIME.KSDS.CU0080D1.dat set SYSUT2=%BASELIB1%\DATA\CSV1\CU0080D2.csv if exist %SYSUT2% del %SYSUT2% set CSVHDR=%BASELIB1%\PARMLIB\CUST80B1_EXTRACT.txt run CU80EXC5 if not exist %SYSUT2% set JobStatus=50 if not "%JobStatus%" == "0" goto EOJTAG call SIMONOTE "* Access SYSUT1=%SYSUT1% " call SIMONOTE "* Header CSVHDR=%CSVHDR% " call SIMONOTE "* Create SYSUT2=%SYSUT2% " rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *07 of 07" call SIMONOTE "* Job_Step 07 of 07, End of job processing" call SIMONOTE "* Conclude JOBLOB is %SIMONOTE% " call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%JobStatus%" == "0" goto EojNok rem * :EojAok call SIMONOTE "* Finished JobName %CmdName%, Job Status is %JobStatus% " goto :End :EojNok call SIMONOTE "* ABENDING JobName %CmdName%, Job Status is %JobStatus% " :End if not "%1" == "nopause" pause
The results of the preceding job script may be reviewed by observing the content of the files created and viewing the JOBLOG file. The following sections of this document will describe the techniques for reviewing the results.
The following is an overview of the individual job steps defined within the job script.
1. | Job_Step 01 of 07, Preparing the System and Job environments |
2. | Job_Step 02 of 07, Create a Line Sequential (ASC-LSEQ) File |
2.1. | Job Step Synopsis: Create a new output file containing customer information. |
2.1.1. | Use the 'echo' command provided with Microsoft Windows, |
2.1.2. | Pipe instream data to a new ASCII/Text file (ASC-LSEQ). |
3. | Job_Step 03 of 07, Convert Line Sequential (ASC-LSEQ) to Record Sequential (ASC-RSEQ) |
3.1. | Job Step Synopsis: Execute CV80ALAR - Do a File Format conversion and maintain ASC-Encoding for record content. |
3.1.1. | Read the previously created Line Sequential File (LSEQ), |
3.1.2. | Write to a Record Sequential File (RSEQ) of 80-byte, ASCII-encoded records. |
4. | Job_Step 04 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ) |
4.1. | Job Step Synopsis: Execute CV80ALER - Do a File Format conversion and a Record Content Conversion between ASC and EBC. |
4.1.1. | Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ), |
4.1.2. | write to an EBC-encoded Record Sequential File (EBC-RSEQ) of 80-byte records. |
5. | Job_Step 05 of 07, Convert an ASC-encoded Record Sequential file (ASC-RSEQ) to an ASC-encoded Indexed file (ASC-KSDS) or VSAM, Key-Sequenced-Data-Set and maintain ASC-Encoding for record content. |
5.1. | Job Step Synopsis: Execute CV80ARAK - Do a File Format conversion from Record Sequential (ASC-RSEQ) to Indexed (ASC-KSDS) |
5.1.1. | Read the previously created ASC-encoded Record Sequential File (ASC-RSEQ), |
5.1.2. | Write to an ASC-encoded Indexed File (ASC-KSDS) of 80-byte records. |
5.1.3. | Note: the starting key position is 1 and the key length is 6 bytes. |
6. | Job_Step 06 of 07, Extract Fields of Data from records within an Indexed (ASC-KSDS) and write the Fields of Data to records within a Line Sequential (ASC-LCSV) |
6.1. | Job Step Synopsis: Execute program CU80EXC5, calls CU80EXR5 Do a File Format and Record Content conversion. |
6.1.1. | Read the previously created ASC-encoded Indexed File (ASC-KSDS), |
6.1.2. | Write to an ASC-encoded Line Sequential File (ASC-LCSV). |
6.1.2.1. | The ASC-LCSV (Comma Separated-Values) file contains Variable length records. |
6.1.2.2. | The first record in the ASC-LCSV file contains the field names. |
7. | Job_Step 07 of 07, End of job processing |
The following shows the content of the job log file that is produced as the job script is executed. The same job information is displayed to the system console.
Wed 12/09/2020 13:48:43.59 *******************************************************************************CU80MKW8 Wed 12/09/2020 13:48:43.61 * ENV1BASE is preparing the System Environment... Wed 12/09/2020 13:48:43.63 * SIMOLIBR is C:\SIMOLIBR Wed 12/09/2020 13:48:43.64 * MIFOSYS1 is VCBL Wed 12/09/2020 13:48:43.66 * BASELIB1 is C:\AC2020\SP07\DEVL Wed 12/09/2020 13:48:43.68 * ENV1BASE is returning to caller Wed 12/09/2020 13:48:43.71 * --------------------------------------------------------------------------- *01 of 07 Wed 12/09/2020 13:48:43.73 * Job_Step 01 of 07, Preparing the System and Job environments Wed 12/09/2020 13:48:43.75 * Continue JobName CU80MKW8, Job Status is 0, Begin User Testing Wed 12/09/2020 13:48:43.76 * --------------------------------------------------------------------------- *02 of 07 Wed 12/09/2020 13:48:43.78 * Job_Step 02 of 07, Create a Line Sequential (ASC-LSEQ) File Wed 12/09/2020 13:48:43.79 * Job Step Synopsis: Create a new output file containing customer information. Wed 12/09/2020 13:48:43.81 * Use the 'echo' command provided with Microsoft Windows, Wed 12/09/2020 13:48:43.83 * Pipe instream data to a new ASCII/Text file (ASC-LSEQ). Wed 12/09/2020 13:48:43.93 * Access JOB_STEP=Instream data from within the Job Script Wed 12/09/2020 13:48:43.95 * Create LSEQ0080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt Wed 12/09/2020 13:48:43.96 * --------------------------------------------------------------------------- *03 of 07 Wed 12/09/2020 13:48:43.98 * Job_Step 03 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ) Wed 12/09/2020 13:48:43.99 * Job Step Synopsis: Execute CV80ALAR Wed 12/09/2020 13:48:44.01 * Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ), Wed 12/09/2020 13:48:44.01 * write to an ASC-encoded Record Sequential File (ASC-RSEQ) of 80-byte records. Wed 12/09/2020 13:48:44.15 * Access GETLS080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt Wed 12/09/2020 13:48:44.16 * Create PUTRS080=C:\AC2020\SP07\DEVL\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT Wed 12/09/2020 13:48:44.19 * --------------------------------------------------------------------------- *04 of 07 Wed 12/09/2020 13:48:44.21 * Job_Step 04 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ) Wed 12/09/2020 13:48:44.21 * Job Step Synopsis: Execute CV80ALER Wed 12/09/2020 13:48:44.23 * Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ), Wed 12/09/2020 13:48:44.25 * write to an EBC-encoded Record Sequential File (EBC-RSEQ) of 80-byte records. Wed 12/09/2020 13:48:44.36 * Access GETLS080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt Wed 12/09/2020 13:48:44.38 * Create PUTRS080=C:\AC2020\SP07\DEVL\DATA\EBC1\SIMOTIME.DATA.CU0080D1.DAT Wed 12/09/2020 13:48:44.40 * --------------------------------------------------------------------------- *05 of 07 Wed 12/09/2020 13:48:44.42 * Job_Step 05 of 07, Convert Record Sequential (ASC-RSEQ) to Indexed (ASC-KSDS) Wed 12/09/2020 13:48:44.43 * Job Step Synopsis: Execute CU80ARAK Wed 12/09/2020 13:48:44.45 * Read the previously created ASC-encoded Record Sequential File (ASC-RSEQ), Wed 12/09/2020 13:48:44.46 * Write to an ASC-encoded Indexed File (ASC-KSDS) of 80-byte records. Wed 12/09/2020 13:48:44.48 * Note: the starting key position is 1 and the key length is 6 bytes. Wed 12/09/2020 13:48:44.59 * Access SYSUT1=C:\AC2020\SP07\DEVL\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT Wed 12/09/2020 13:48:44.62 * Create SYSUT2=C:\AC2020\SP07\DEVL\DATA\APPL\SIMOTIME.KSDS.CU0080D1.DAT Wed 12/09/2020 13:48:44.63 * --------------------------------------------------------------------------- *06 of 07 Wed 12/09/2020 13:48:44.66 * Job_Step 06 of 07, Extract Indexed (ASC-KSDS) to Line Sequential (ASC-LCSV) Wed 12/09/2020 13:48:44.68 * Job Step Synopsis: Execute CU80EXC5, calls CU80EXR5 Wed 12/09/2020 13:48:44.69 * Read the previously created ASC-encoded Indexed File (ASC-KSDS), Wed 12/09/2020 13:48:44.72 * Write to an ASC-encoded Line Sequential File (ASC-LCSV). Wed 12/09/2020 13:48:44.73 * The ASC-LCSV (Comma Separated-Values) file contains Variable length records. Wed 12/09/2020 13:48:44.76 * The first record in the ASC-LCSV file contains the field names. Wed 12/09/2020 13:48:44.89 * Access SYSUT1=C:\AC2020\SP07\DEVL\DATA\APPL\SIMOTIME.KSDS.CU0080D1.dat Wed 12/09/2020 13:48:44.92 * Header CSVHDR=C:\AC2020\SP07\DEVL\PARMLIB\CUST80B1_EXTRACT.txt Wed 12/09/2020 13:48:44.93 * Create SYSUT2=C:\AC2020\SP07\DEVL\DATA\CSV1\CU0080D2.csv Wed 12/09/2020 13:48:44.96 * --------------------------------------------------------------------------- *07 of 07 Wed 12/09/2020 13:48:44.98 * Job_Step 07 of 07, End of job processing Wed 12/09/2020 13:48:45.00 * Conclude JOBLOB is C:\AC2020\SP07\DEVL\LOGS\JOBLOG_USER.txt Wed 12/09/2020 13:48:45.02 * Conclude SYSOUT is C:\AC2020\SP07\DEVL\LOGS\SYSOUT_USER.txt Wed 12/09/2020 13:48:45.03 * Finished JobName CU80MKW8, Job Status is 0
The preceding shows the content of the job log file that is produced as the job script is executed. The same job information is displayed to the system console. The following sub-sections show additional detail about each of the job steps.
This job step will prepare the environment and post the following information to the JOBLOG File.
Wed 12/09/2020 13:48:43.59 *******************************************************************************CU80MKW8 Wed 12/09/2020 13:48:43.61 * ENV1BASE is preparing the System Environment... Wed 12/09/2020 13:48:43.63 * SIMOLIBR is C:\SIMOLIBR Wed 12/09/2020 13:48:43.64 * MIFOSYS1 is VCBL Wed 12/09/2020 13:48:43.66 * BASELIB1 is C:\AC2020\SP07\DEVL Wed 12/09/2020 13:48:43.68 * ENV1BASE is returning to caller Wed 12/09/2020 13:48:43.71 * --------------------------------------------------------------------------- *01 of 07 Wed 12/09/2020 13:48:43.73 * Job_Step 01 of 07, Preparing the System and Job environments Wed 12/09/2020 13:48:43.75 * Continue JobName CU80MKW8, Job Status is 0, Begin User Testing
At the completion of Job Step 1 of 7 the system is prepared and ready to execute the remaining Job steps.
This job step will prepare the primary data that will be used to create additional test files in a variety of file formats with a combination of record structures and record content (ASCII or EBCDIC encoding).
2. | Job_Step 02 of 07, Create a Line Sequential (ASC-LSEQ) File |
2.1. | Job Step Synopsis: Create a new output file containing customer information. |
2.1.1. | Use the 'echo' command provided with Microsoft Windows, |
2.1.2. | Pipe instream data to a new ASCII/Text file (ASC-LSEQ). |
2.1.3. | Review the new ASCII/Text file with a text editor of choice. |
2.1.3.1. | LSEQ0080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt |
2.1.3.2. | For a Windows System the text editor is typically NotePAD. |
This job step will post the following information to the JOBLOG File. The last two (2) statements will identify the data resources accessed or created by this job step.
Wed 12/09/2020 13:48:43.76 * --------------------------------------------------------------------------- *02 of 07 Wed 12/09/2020 13:48:43.78 * Job_Step 02 of 07, Create a Line Sequential (ASC-LSEQ) File Wed 12/09/2020 13:48:43.79 * Job Step Synopsis: Create a new output file containing customer information. Wed 12/09/2020 13:48:43.81 * Use the 'echo' command provided with Microsoft Windows, Wed 12/09/2020 13:48:43.83 * Pipe instream data to a new ASCII/Text file (ASC-LSEQ). Wed 12/09/2020 13:48:43.93 * Access JOB_STEP=Instream data from within the Job Script Wed 12/09/2020 13:48:43.95 * Create LSEQ0080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt
The following shows the content of the ASCII/Text file created by this job step.
000100 Anderson Adrian 111 Peachtree Plaza Atlanta GA 26101 000200 Brown Billie 222 Baker Boulevard Baltimore MD 35702 000300 Carson Cameron 333 Crenshaw Blvd. Cupertino CA 96154 000400 Davidson Dion 444 Main Street Wilmington DE 27323 000500 Everest Evan 555 5TH Avenue New York NY 10341 000600 Franklin Francis 666 66TH Avenue Bedrock NY 11903 000700 Garfunkel Gwen 777 77TH Street New York NY 16539 000800 Harrison Hilary 888 88TH Street Pocatello ID 79684 000900 Isley Isabel 999 99TH Avenue Indianapolis IN 38762 001000 Johnson Jamie 1010 Jersey Cove, #10 Larkspur CA 90504 001100 Kemper Kelly 1111 Oak Circle Kansas City KS 55651 001200 Lemond Lesley 1212 Lockwood Road Mohave Desert AZ 80303 001300 Mitchell Marlow 1313 Miller Creek Road Anywhere TX 77123 001400 Newman Noel 1414 Park Avenue Santa Monica CA 90210 001500 Osborn Owen 1515 Center Stage Rolling Rock PA 36613 001600 Powell Pierce PO Box 1616 Ventura CA 97712 001700 Quigley Quincy 1717 Farm Hill Road Oshkosh WI 43389 001800 Ripley Ray 1818 Alien Lane Wayout KS 55405 001900 Smith Sammy 1919 Carnoustie Drive Novato CA 94919 002000 Tucker Taylor 2020 Sanger Lane St. Paul MN 43998 002100 Underwood Ulysses 2121 Wall Street New York NY 17623 002200 Van Etten Valerie 2222 Vine Street Hollywood CA 98775 002300 Wilson Wiley 2323 Main Street Boston MA 01472 002400 Xray Xavier 2424 24TH Street Nashville TN 44190 002500 Young Yanni 2525 Yonge Street Toronto ON 6B74A6 002600 Zenith Zebulon 2626 26TH Street Dallas TX 71922 123456 Doe John 123 Main Street Anywhere OR 88156
At the completion of Job Step 2 of 7 the ASCII/Text File (LSEQ0080) may be viewed with a text editor of choice.
This job step will create the ASCII-encoded Record Sequential file that will be used for this test case.
3. | Job_Step 03 of 07, Convert Line Sequential (ASC-LSEQ) to Record Sequential (ASC-RSEQ) |
3.1. | Job Step Synopsis: Execute CV80ALAR - Do a File Format conversion and maintain ASC-Encoding for record content. |
3.1.1. | Read the previously created Line Sequential File (LSEQ), |
3.1.2. | Write to a Record Sequential File (RSEQ) of 80-byte, ASCII-encoded records. |
This job step will post the following information to the JOBLOG File. The last two (2) statements will identify the data resources accessed or created by this job step.
Wed 12/09/2020 13:48:43.96 * --------------------------------------------------------------------------- *03 of 07 Wed 12/09/2020 13:48:43.98 * Job_Step 03 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ) Wed 12/09/2020 13:48:43.99 * Job Step Synopsis: Execute CV80ALAR Wed 12/09/2020 13:48:44.01 * Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ), Wed 12/09/2020 13:48:44.01 * write to an ASC-encoded Record Sequential File (ASC-RSEQ) of 80-byte records. Wed 12/09/2020 13:48:44.15 * Access GETLS080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt Wed 12/09/2020 13:48:44.16 * Create PUTRS080=C:\AC2020\SP07\DEVL\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT
The following link shows the content of records stored in an ASCII-encoded, Record Sequential File (ASC-RSEQ).
Explore the ASC-encoded Record Content within a Record Sequential File or ASC-RSEQ. The data may be viewed in a HEX-Dump format with a possible ASCII or EBCDIC interpretation.
Refer to the HEX-Dump of ASC-RSEQ section of this document for a stand alone job script that will provide a HEX-Dump view.
This job step will create the EBCDIC-encoded Record Sequential file that will be used for this test case.
4. | Job_Step 04 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ) |
4.1. | Job Step Synopsis: Execute CV80ALER - Do a File Format conversion and a Record Content Conversion between ASC and EBC. |
4.1.1. | Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ), |
4.1.2. | write to an EBC-encoded Record Sequential File (EBC-RSEQ) of 80-byte records. |
This job step will post the following information to the JOBLOG File. The last two (2) statements will identify the data resources accessed or created by this job step.
Wed 12/09/2020 13:48:44.19 * --------------------------------------------------------------------------- *04 of 07 Wed 12/09/2020 13:48:44.21 * Job_Step 04 of 07, Convert Line Sequential (LSEQ) to Record Sequential (RSEQ) Wed 12/09/2020 13:48:44.21 * Job Step Synopsis: Execute CV80ALER Wed 12/09/2020 13:48:44.23 * Read the previously created ASC-encoded Line Sequential File (ASC-LSEQ), Wed 12/09/2020 13:48:44.25 * write to an EBC-encoded Record Sequential File (EBC-RSEQ) of 80-byte records. Wed 12/09/2020 13:48:44.36 * Access GETLS080=C:\AC2020\SP07\DEVL\DATA\TXT1\CU0080D1.txt Wed 12/09/2020 13:48:44.38 * Create PUTRS080=C:\AC2020\SP07\DEVL\DATA\EBC1\SIMOTIME.DATA.CU0080D1.DAT
The following link shows the content of records stored in an ASCII-encoded, Record Sequential File (ASC-RSEQ).
Explore the EBC-encoded Record Content within a Record Sequential File or EBC-RSEQ. The data may be viewed in a HEX-Dump format with a possible ASCII or EBCDIC interpretation.
Refer to the HEX-Dump of EBC-RSEQ section of this document for a stand alone job script that will provide a HEX-Dump view.
This job step will create and load an ASCII-encoded, Key-Sequenced-Data-Set (VSAM, KSDS) that will be used for this test case.
5. | Job_Step 05 of 07, Convert an ASC-encoded Record Sequential file (ASC-RSEQ) to an ASC-encoded Indexed file (ASC-KSDS) or VSAM, Key-Sequenced-Data-Set. |
5.1. | Job Step Synopsis: Convert Record Sequential (ASC-RSEQ) to Indexed (ASC-KSDS) |
5.1.1. | Read the previously created ASC-encoded Record Sequential File (ASC-RSEQ), |
5.1.2. | Write to an ASC-encoded Indexed File (ASC-KSDS) of 80-byte records. |
5.1.3. | Note: the starting key position is 1 and the key length is 6 bytes. |
This job step will post the following information to the JOBLOG File. The last two (2) statements will identify the data resources accessed or created by this job step.
Wed 12/09/2020 13:48:44.40 * --------------------------------------------------------------------------- *05 of 07 Wed 12/09/2020 13:48:44.42 * Job_Step 05 of 07, Convert Record Sequential (ASC-RSEQ) to Indexed (ASC-KSDS) Wed 12/09/2020 13:48:44.43 * Job Step Synopsis: Execute CU80ARAK Wed 12/09/2020 13:48:44.45 * Read the previously created ASC-encoded Record Sequential File (ASC-RSEQ), Wed 12/09/2020 13:48:44.46 * Write to an ASC-encoded Indexed File (ASC-KSDS) of 80-byte records. Wed 12/09/2020 13:48:44.48 * Note: the starting key position is 1 and the key length is 6 bytes. Wed 12/09/2020 13:48:44.59 * Access SYSUT1=C:\AC2020\SP07\DEVL\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT Wed 12/09/2020 13:48:44.62 * Create SYSUT2=C:\AC2020\SP07\DEVL\DATA\APPL\SIMOTIME.KSDS.CU0080D1.DAT
WIP
The following link shows the content of records stored in an Indexed file (or VSAM, KSDS).
Explore the ASC-encoded Record Content within an Indexed File or VSAM, KSDS. The data may be viewed in a HEX-Dump format with a possible ASCII or EBCDIC interpretation.
WIP
This job step will create an ASCII/Text file. The record structure will use a Comma-Separated-Values (CSV) format and the record content will be ASC-encoded.
6. | Job_Step 06 of 07, Extract Fields of Data from records within an Indexed (ASC-KSDS) and write the Fields of Data to records within a Line Sequential (ASC-LCSV) |
6.1. | Job Step Synopsis: Execute program CU80EXC5, calls CU80EXR5 |
6.1.1. | Read the previously created ASC-encoded Indexed File (ASC-KSDS), |
6.1.2. | Write to an ASC-encoded Line Sequential File (ASC-LCSV). |
6.1.2.1. | The ASC-LCSV (Comma Separated-Values) file contains Variable length records. |
6.1.2.2. | The first record in the ASC-LCSV file contains the field names. |
This job step will post the following information to the JOBLOG File. The last three (3) statements will identify the data resources accessed or created by this job step.
Wed 12/09/2020 13:48:44.63 * --------------------------------------------------------------------------- *06 of 07 Wed 12/09/2020 13:48:44.66 * Job_Step 06 of 07, Extract Indexed (ASC-KSDS) to Line Sequential (ASC-LCSV) Wed 12/09/2020 13:48:44.68 * Job Step Synopsis: Execute CU80EXC5, calls CU80EXR5 Wed 12/09/2020 13:48:44.69 * Read the previously created ASC-encoded Indexed File (ASC-KSDS), Wed 12/09/2020 13:48:44.72 * Write to an ASC-encoded Line Sequential File (ASC-LCSV). Wed 12/09/2020 13:48:44.73 * The ASC-LCSV (Comma Separated-Values) file contains Variable length records. Wed 12/09/2020 13:48:44.76 * The first record in the ASC-LCSV file contains the field names. Wed 12/09/2020 13:48:44.89 * Access SYSUT1=C:\AC2020\SP07\DEVL\DATA\APPL\SIMOTIME.KSDS.CU0080D1.dat Wed 12/09/2020 13:48:44.92 * Header CSVHDR=C:\AC2020\SP07\DEVL\PARMLIB\CUST80B1_EXTRACT.txt Wed 12/09/2020 13:48:44.93 * Create SYSUT2=C:\AC2020\SP07\DEVL\DATA\CSV1\CU0080D2.csv
WIP
WIP
This job step will post the following End-of-Job information to the JOBLOG File and the system console.
Wed 12/09/2020 13:48:44.96 * --------------------------------------------------------------------------- *07 of 07 Wed 12/09/2020 13:48:44.98 * Job_Step 07 of 07, End of job processing Wed 12/09/2020 13:48:45.00 * Conclude JOBLOB is C:\AC2020\SP07\DEVL\LOGS\JOBLOG_USER.txt Wed 12/09/2020 13:48:45.02 * Conclude SYSOUT is C:\AC2020\SP07\DEVL\LOGS\SYSOUT_USER.txt Wed 12/09/2020 13:48:45.03 * Finished JobName CU80MKW8, Job Status is 0
The last statement of the preceding JOBLOG information indicates a successful execution of the job script
This section provides technical detail about the supporting scripts and programs used or called during the processing of the primary user functions.
This Quality Assurance Testing process creates a number of files in a variety of file formats with a combination of record structures and record content (ASC or EBC encoding schemas). The following sub-sections describe and demonstrate how to view the record contents of these files.
This job script will execute a HEX-Dump program that will sequentially access an ASC-encoded, Record Sequential file (SYSUT1). The records to be selected for HEX-Dump processing are defined in a control file (SYSUT3) that contains the specifications for a range of relative record numbers. The Hexadecimal dump information will be written to an output file that is defined by SYSLUSER.
The following Windows Command File (CU80HLW3.cmd) is the job script used to view the records in a file that is ASC-encoded.
@echo OFF set CmdName=CU80HLW3 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * This Job Script 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 - Hex Dump of a customer file (RSEQ) rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * The programs have been tested on the following systems. rem * rem * Operating System Programming Languages and Job Scripting files rem * ----------------- --------------------------------------------- rem * Microsoft Windows Micro Focus COBOL and Microsoft CMD Files rem * Ubuntu Linux GNU COBOL and BASH Files rem * rem * This job will execute a program that does the following. rem * rem * 1. Sequentially access a Record Sequential file (SYSUT1, RSEQ). rem * rem * 2. The records to be selected from SYSUT1 are defined in a file rem * (SYSUT3) that defines a range of relative record numbers. rem * rem * 3. The Hexadecimal dump information will be written to an output rem * file that is defined by the HEX DUMP Device or SYSLUSER. rem * rem * For more information or questions please contact SimoTime rem * Technologies. The version control number is 20.00.00 rem * rem * Our e-mail address is: helpdesk@simotime.com rem * Also, visit our Web Site at http://www.simotime.com rem * ******************************************************************* rem * rem * ************ rem * * CU80HLW3 * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * instream *-----* echo *-----* SYSUT3 * rem * *******data* ********cmd* *******lseq* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* HX80RSC3 *--*--* SYSOUT * rem * *******rseq* * ********cbl* * *******lseq* rem * * * * rem * * * * ************ rem * * * *--* call * rem * * * ************ rem * * * * rem * ************ * * ************ ************ rem * * SYSUT3 *--* * * SIMOL32K *-----* SYSLUSER * rem * *******lseq* * ********cbl* *******lseq* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * call ..\ENV1BASE %CmdName% set JobStatus=0 if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG rem * call SimoNOTE "*-----------------------------------------------------------------------------*01 of 04" call SimoNOTE "* Job_Step 01 of 04, Preparing the System and job environments rem * set SYSUT1=%BaseLib1%\DATA\ASC1\SIMOTIME.DATA.CU0080D1.DAT set SYSUT3=%BaseLib1%\PARMLIB\CU80GRAB.txt set SYSLUSER=%BaseLib1%\LOGS\SYSLUSER_%CmdName%.htm set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.txt if exist %SYSOUT% erase %SYSOUT% call SimoNOTE "* Access SYSUT1=%SYSUT1% " call SimoNOTE "* Select SYSUT3=%SYSUT3% " call SimoNOTE "* Create SYSLUSER=%SYSLUSER% " rem * call SimoNOTE "*-----------------------------------------------------------------------------*02 of 04" call SimoNOTE "* Job_Step 02 of 04, Create a Control File to Select a Range of Records" echo /RANGE 1 10>%SYSUT3% rem * call SimoNOTE "*-----------------------------------------------------------------------------*03 of 04" call SimoNOTE "* Job_Step 03 of 04, Execute the Hex_Dump Program" run HX80RSC3 if not "%ERRORLEVEL%" == "0" set JobStatus=10 rem * :EOJTAG call SimoNOTE "*-----------------------------------------------------------------------------*04 of 04" call SimoNOTE "* Job_Step 04 of 04, End of Job processing" if not %JobStatus% == 0 goto :EojNok :EojAok call SimoNOTE "* Access SYSUT1=%SYSUT1% " call SimoNOTE "* Select SYSUT3=%SYSUT3% " call SimoNOTE "* Create SYSLUSER=%SYSLUSER% " call SimoNOTE "* Create SYSOUT=%SYSOUT% " if not "SIMOGENS" == "BATCH" start "C:\Program Files\Mozilla Firefox\firefox.exe" %SYSLUSER% call SimoNOTE "* Finished JobName %CmdName%, Job Status is %JobStatus% " goto :EOJEND :EojNok call SimoNOTE "* ABENDING JobName %CmdName%, Job Status is %JobStatus% " :EOJEND if not "SIMOGENS" == "BATCH" pause
The following link shows the content of ASCII-encoded records stored in the input file (SYSUT1).
Explore the ASC-encoded Record Content within a Record Sequential File or ASC-RSEQ. The data may be viewed in a HEX-Dump format with a possible ASCII or EBCDIC interpretation.
This job script will execute a HEX-Dump program that will sequentially access an ASC-encoded, Record Sequential file (SYSUT1). The records to be selected for HEX-Dump processing are defined in a control file (SYSUT3) that contains the specifications for a range of relative record numbers. The Hexadecimal dump information will be written to an output file that is defined by SYSLUSER.
The following Windows Command File (CU80HLW5.cmd) is the job script used to view the records in a file that is EBC-encoded.
@echo OFF set CmdName=CU80HLW5 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * This Job Script 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 - Hex Dump of a customer file (RSEQ) rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * The programs have been tested on the following systems. rem * rem * Operating System Programming Languages and Job Scripting files rem * ----------------- --------------------------------------------- rem * Microsoft Windows Micro Focus COBOL and Microsoft CMD Files rem * Ubuntu Linux GNU COBOL and BASH Files rem * rem * This job will execute a program that does the following. rem * rem * 1. Sequentially access a Record Sequential file (SYSUT1, RSEQ). rem * rem * 2. The records to be selected from SYSUT1 are defined in a file rem * (SYSUT3) that defines a range of relative record numbers. rem * rem * 3. The Hexadecimal dump information will be written to an output rem * file that is defined by the HEX DUMP Device or SYSLUSER. rem * rem * For more information or questions please contact SimoTime rem * Technologies. The version control number is 20.00.00 rem * rem * Our e-mail address is: helpdesk@simotime.com rem * Also, visit our Web Site at http://www.simotime.com rem * ******************************************************************* rem * rem * ************ rem * * CU80HLW5 * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * instream *-----* echo *-----* SYSUT3 * rem * *******data* ********cmd* *******lseq* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* HX80RSC3 *--*--* SYSOUT * rem * *******rseq* * ********cbl* * *******lseq* rem * * * * rem * * * * ************ rem * * * *--* call * rem * * * ************ rem * * * * rem * ************ * * ************ ************ rem * * SYSUT3 *--* * * SIMOL32K *-----* SYSLUSER * rem * *******lseq* * ********cbl* *******lseq* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * call ..\ENV1BASE %CmdName% set JobStatus=0 if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG rem * call SimoNOTE "*-----------------------------------------------------------------------------*01 of 04" call SimoNOTE "* Job_Step 01 of 04, Preparing the System and job environments rem * set SYSUT1=%BaseLib1%\DATA\EBC1\SIMOTIME.DATA.CU0080D1.DAT set SYSUT3=%BaseLib1%\PARMLIB\CU80GRAB.txt set SYSLUSER=%BaseLib1%\LOGS\SYSLUSER_%CmdName%.htm set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.txt if exist %SYSOUT% erase %SYSOUT% call SimoNOTE "* Access SYSUT1=%SYSUT1% " call SimoNOTE "* Select SYSUT3=%SYSUT3% " call SimoNOTE "* Create SYSLUSER=%SYSLUSER% " rem * call SimoNOTE "*-----------------------------------------------------------------------------*02 of 04" call SimoNOTE "* Job_Step 02 of 04, Create a Control File to Select a Range of Records" echo /RANGE 1 10>%SYSUT3% rem * call SimoNOTE "*-----------------------------------------------------------------------------*03 of 04" call SimoNOTE "* Job_Step 03 of 04, Execute the Hex_Dump Program" run HX80RSC3 if not "%ERRORLEVEL%" == "0" set JobStatus=10 rem * :EOJTAG call SimoNOTE "*-----------------------------------------------------------------------------*04 of 04" call SimoNOTE "* Job_Step 04 of 04, End of Job processing" if not %JobStatus% == 0 goto :EojNok :EojAok call SimoNOTE "* Access SYSUT1=%SYSUT1% " call SimoNOTE "* Select SYSUT3=%SYSUT3% " call SimoNOTE "* Create SYSLUSER=%SYSLUSER% " call SimoNOTE "* Create SYSOUT=%SYSOUT% " if not "SIMOGENS" == "BATCH" start "C:\Program Files\Mozilla Firefox\firefox.exe" %SYSLUSER% call SimoNOTE "* Finished JobName %CmdName%, Job Status is %JobStatus% " goto :EOJEND :EojNok call SimoNOTE "* ABENDING JobName %CmdName%, Job Status is %JobStatus% " :EOJEND if not "SIMOGENS" == "BATCH" pause
The following link shows the content of EBCDIC-encoded records stored in the input file (SYSUT1).
Explore the EBC-encoded Record Content within a Record Sequential File or EBC-RSEQ. The data may be viewed in a HEX-Dump format with a possible ASCII or EBCDIC interpretation.
This job script will execute a HEX-Dump program that will randomly access an ASC-encoded input file (SYSUT1, a VSAM, KSDS). The records to be read from SYSUT1 are defined in a control file (SYSUT3) that contains a list of primary record keys. The Hexadecimal dump information will be written to an output file that is defined by SYSLUSER.
The following Windows Command File (CU80HXW3.cmd) is the job script used to view the records in a file that is ASC-encoded.
@echo OFF set CmdName=CU80HXW3 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * This Job Script 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 - Hex Dump of a customer file (KSDS) rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * The programs have been tested on the following systems. rem * rem * Operating System Programming Languages and Job Scripting files rem * ----------------- --------------------------------------------- rem * Microsoft Windows Micro Focus COBOL and Microsoft CMD Files rem * Ubuntu Linux GNU COBOL and BASH Files rem * rem * This job will execute a program that does the following. rem * rem * 1. Randomly access an input file (SYSUT1, a VSAM, KSDS). rem * rem * 2. The records to be read from SYSUT1 are defined in a control rem * file (SYSUT3) that contains a list of primary record keys. rem * rem * 3. The Hexadecimal dump information will be written to an output rem * file that is defined by the HEX DUMP Device or SYSLUSER. rem * rem * For more information or questions please contact SimoTime rem * Technologies. The version control number is 20.00.00 rem * rem * Our e-mail address is: helpdesk@simotime.com rem * Also, visit our Web Site at http://www.simotime.com rem * ******************************************************************* rem * rem * ************ rem * * CUHEXDW3 * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * instream *-----* echo *-----* SYSUT3 * rem * *******data* ********cmd* *******lseq* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* CUDUMPC3 *--*--* SYSOUT * rem * *******ksds* * ********cbl* * *******lseq* rem * * * * rem * * * * ************ rem * * * *--* call * rem * * * ************ rem * * * * rem * ************ * * ************ ************ rem * * SYSUT3 *--* * * SIMOL32K *-----* SYSLUSER * rem * *******lseq* * ********cbl* *******lseq* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * call ..\ENV1BASE %CmdName% set JobStatus=0 if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG rem * call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 01 of 04, Preparing the System and job environments rem * set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.KSDS.CU0080D1.dat set SYSUT3=%BaseLib1%\PARMLIB\CU80HXT3.txt set SYSLUSER=%BaseLib1%\LOGS\SYSLUSER_%CmdName%.htm call SimoNOTE "* SYSUT1 is %SYSUT1% " call SimoNOTE "* SYSUT3 is %SYSUT3% " call SimoNOTE "* SYSLUSER is %SYSLUSER% " rem * call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 02 of 04, Create a Control File for Hex_Dump Program" echo /USERKEY 000600>%SYSUT3% echo /USERKEY 001300>>%SYSUT3% rem * call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 03 of 04, Execute the Hex_Dump Program" run CU80HXC3 if not "%ERRORLEVEL%" == "0" set JobStatus=10 rem * :EOJTAG call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 04 of 04, End of Job processing" if not %JobStatus% == 0 goto :EojNok :EojAok call SimoNOTE "* Finished JobName %CmdName%, Job Status is %JobStatus% " goto :EOJEND :EojNok call SimoNOTE "* ABENDING JobName %CmdName%, Job Status is %JobStatus% " :EOJEND if not "SIMOGENS" == "BATCH" start "C:\Program Files\Mozilla Firefox\firefox.exe" %SYSLUSER% if not "SIMOGENS" == "BATCH" pause
The following link shows the content of ASCII-encoded records stored in an Indexed file (or VSAM, KSDS).
Explore the ASC-encoded Record Content within an Indexed File or VSAM, KSDS. The data may be viewed in a HEX-Dump format with a possible ASCII or EBCDIC interpretation.
The job script will execute a HEX-Dump program that will randomly access an EBC-encoded input file (SYSUT1, a VSAM, KSDS). The records to be read from SYSUT1 are defined in a control file (SYSUT3) that contains a list of primary record keys. The Hexadecimal dump information will be written to an output file that is defined by SYSLUSER.
The following Windows Command File (CU80HXW5.cmd) is the job script used to view the records in a file that is EBC-encoded.
@echo OFF set CmdName=CU80HXW5 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * This Job Script 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 - Hex Dump of a customer file (KSDS) rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * The programs have been tested on the following systems. rem * rem * Operating System Programming Languages and Job Scripting files rem * ----------------- --------------------------------------------- rem * Microsoft Windows Micro Focus COBOL and Microsoft CMD Files rem * Ubuntu Linux GNU COBOL and BASH Files rem * rem * This job will execute a program that does the following. rem * rem * 1. Randomly access an input file (SYSUT1, a VSAM, KSDS). rem * rem * 2. The records to be read from SYSUT1 are defined in a control rem * file (SYSUT3) that contains a list of primary record keys. rem * rem * 3. The Hexadecimal dump information will be written to an output rem * file that is defined by the HEX DUMP Device or SYSLUSER. rem * rem * For more information or questions please contact SimoTime rem * Technologies. The version control number is 20.00.00 rem * rem * Our e-mail address is: helpdesk@simotime.com rem * Also, visit our Web Site at http://www.simotime.com rem * ******************************************************************* rem * rem * ************ rem * * CUHEXDW5 * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * instream *-----* echo *-----* SYSUT3 * rem * *******data* ********cmd* *******lseq* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* CUDUMPC5 *--*--* SYSOUT * rem * *******ksds* * ********cbl* * *******lseq* rem * * * * rem * * * * ************ rem * * * *--* call * rem * * * ************ rem * * * * rem * ************ * * ************ ************ rem * * SYSUT3 *--* * * SIMOL32K *-----* SYSLUSER * rem * *******lseq* * ********cbl* *******lseq* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * call ..\ENV1BASE %CmdName% set JobStatus=0 if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG rem * call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 01 of 04, Preparing the System and job environments rem * set SYSUT1=%BaseLib1%\DATA\EBC1\SIMOTIME.KSDS.CU0080D1.dat set SYSUT3=%BaseLib1%\PARMLIB\CU80HXT3.txt set SYSLUSER=%BaseLib1%\LOGS\SYSLUSER_%CmdName%.htm call SimoNOTE "* SYSUT1 is %SYSUT1% " call SimoNOTE "* SYSUT3 is %SYSUT3% " call SimoNOTE "* SYSLUSER is %SYSLUSER% " rem * call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 02 of 04, Create a Control File for Hex_Dump Program" echo /USERKEY 000600>%SYSUT3% echo /USERKEY 001300>>%SYSUT3% rem * call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 03 of 04, Execute the Hex_Dump Program" run CU80HXC5 if not "%ERRORLEVEL%" == "0" set JobStatus=10 rem * :EOJTAG call SimoNOTE "*-----------------------------------------------------------------------------*" call SimoNOTE "* Job_Step 04 of 04, End of Job processing" if not %JobStatus% == 0 goto :EojNok :EojAok call SimoNOTE "* Finished JobName %CmdName%, Job Status is %JobStatus% " goto :EOJEND :EojNok call SimoNOTE "* ABENDING JobName %CmdName%, Job Status is %JobStatus% " :EOJEND if not "SIMOGENS" == "BATCH" start "C:\Program Files\Mozilla Firefox\firefox.exe" %SYSLUSER% if not "SIMOGENS" == "BATCH" pause
The following link shows the content of EBCDIC-encoded records stored in an Indexed file (or VSAM, KSDS).
Explore the EBC-encoded Record Content within an Indexed File or VSAM, KSDS. The data may be viewed in a HEX-Dump format with a possible ASCII or EBCDIC interpretation.
The Logical Compare or Reasonability Check provides the capability of comparing a primary file that has a record content that uses an ASCII encoded schema with a secondary file that has a record content that uses an EBCDIC encoded schema.
The following Windows Command File (CL80KARE.cmd) is the job script used to do the logical compare.
@echo OFF set CmdName=CL80KARE rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * This Job Script 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 - Logical Compare of ASC-KSDS file and EBC-RSEQ file rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * The Logical Compare or Reasonability Check provides the capability rem * of comparing a primary file that has a a record content that uses rem * an ASCII encoded schema with a secondary file that has a record rem * content that uses an EBCDIC encoded schema. rem * rem * The programs have been tested on the following systems. rem * rem * Operating System Programming Languages and Job Scripting files rem * ----------------- --------------------------------------------- rem * Microsoft Windows Micro Focus COBOL and Microsoft CMD Files rem * Ubuntu Linux GNU COBOL and BASH Files rem * rem * ******************************************************************* rem * rem * ************ rem * * CL80KARE * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* CL80KARE *-----* Call * rem * *******ksds* * ********cbl* ************ rem * * * * rem * ************ * * ************ ************ rem * * SYSUT2 *--* * * SIMOL32K *-----* SYSLUSER * rem * *******rseq* * ********cbl* *******html* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * call ..\ENV1BASE %CmdName% rem * call SIMONOTE "* --------------------------------------------------------------------------- * call SIMONOTE "* Job_Step 01 of 03, Prepare the System and Job Environments" set JobStatus=0 if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG set SYSLUSER=%BaseLib1%\LOGS\SYSLUSER_%CmdName%.htm call SIMONOTE "* SYSLUSER is %SYSLUSER% " rem * call SIMONOTE "* --------------------------------------------------------------------------- * call SIMONOTE "* Job_Step 02 of 03, Logical Compare or Reasonability Check of two files" call SIMONOTE "* Job Step Synopsis: Access two files using matching record logic." call SIMONOTE "* Read an 80-byte ASCII-encoded, VSAM-KSDS (Key Position-Length is 1-6)" call SIMONOTE "* Read an 80-byte EBCDIC-encoded, Record Sequential (RSEQ) File." call SIMONOTE "* Do a Logical Compare of the preceding two records." call SIMONOTE "* Post the compare results a Line Sequential file (HTML Format)." call SIMONOTE "* Note: the comparison results may be viewed with a browser of choice." set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.KSDS.CU0080D2.DAT set SYSUT2=%BaseLib1%\DATA\EBC1\SIMOTIME.DATA.CU0080D1.DAT call SIMONOTE "* SYSUT1 is %SYSUT1% " call SIMONOTE "* SYSUT2 is %SYSUT2% " run CL80KARE if not "%ERRORLEVEL%" == "0" set JobStatus=%ERRORLEVEL% rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- * call SIMONOTE "* Job_Step 03 of 03, End of Job processing" call SIMONOTE "* SYSLUSER is %SYSLUSER% " call SIMONOTE "* SYSLUSER may be viewed with a browser of choice... " if not "%JobStatus%" == "0" goto EojNOK :EojAok call SIMONOTE "* Finished JobName %CmdName%, Job Status is %JobStatus% " goto :End :EojNok call SIMONOTE "* ABENDING JobName %CmdName%, Job Status is %JobStatus% " :End if not "SIMOGENS" == "BATCH" pause
This section contains technical details that may provide helpful insight when performing problem analysis and problem resolution after an unexpected condition is encountered.
The following link provides additional details about the 80-byte record structure of a simple file containing customer information.
Explore a simple Record Structure for the Customer File by viewing a generated HTML document based on a User-Defined COBOL copyfile that defines an 80 byte record structure.
The following shows the content of a COBOL Copy File that defines the fields within the 80-byte record structure of a simple file containing customer information.
***************************************************************** * CUST80B1.CPY is a COBOL Copy File * * Copy File for an 80-byte, fixed-length record. * * This is an 80-byte record structure for Customer Data * * Copyright (C) 1987-2021 SimoTime Technologies * * All Rights Reserved * ***************************************************************** * Provided by SimoTime Technologies * * Our e-mail address is: helpdesk@simotime.com * * Also, visit our Web Site at http://www.simotime.com * ***************************************************************** 01 CUST-80-RECORD. 05 CUST-80-KEY PIC X(6). 05 CUST-80-STATUS PIC X. 05 CUST-80-LNAME PIC X(15). 05 CUST-80-FNAME PIC X(10). 05 CUST-80-STREET PIC X(24). 05 CUST-80-CITY PIC X(15). 05 CUST-80-STATE PIC X(3). 05 CUST-80-ZIP PIC X(6). * *** CUST80B1 - End-of-Copy File - - - - - - - - - - - CUST80B1 * ***************************************************************** *
This Test Case includes job scripts and COBOL programs that describe and demonstrate the use of file access methods used by SimoTime. This document may be used to assist 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 Comments or Feedback section of this document.
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.
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.
The following links may be to the current server or to the Internet.
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 to interpret the results of accessing VSAM data sets and/or QSAM files.
Explore the File Formats and various Numeric Formats being used in a multi-system complex consisting of Mainframe (z/OS), Linux, UNIX or Windows systems.
The following links will require an internet connect.
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.
Explore the GnuCOBOL Technologies available from SourceForge. SourceForge is an Open Source community resource dedicated to helping open source projects be as successful as possible. GnuCOBOL (formerly OpenCOBOL) is a COBOL compiler with run time support. The compiler (cobc) translates COBOL source to executable using intermediate C, designated C compiler and linker. This link will require an Internet Connection.
Explore The Java Development and Run Time products and services available from Oracle. This link requires an Internet Connection.
Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.
This document was created and is maintained by SimoTime Technologies. If you have any questions, suggestions, comments or feedback please use the following contact information.
1. | Send an e-mail to our helpdesk. |
1.1. | helpdesk@simotime.com. |
2. | Our telephone numbers are as follows. |
2.1. | 1 415 763-9430 office-helpdesk |
2.2. | 1 415 827-7045 mobile |
We appreciate hearing from you.
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 or check the web site at http://www.simotime.com
Return-to-Top |
Customer Information, 80 Byte Record Structure |
Copyright © 1987-2021 SimoTime Technologies and Services All Rights Reserved |
When technology complements business |
http://www.simotime.com |