Validate or Diagnose Review Results - Advanced Functions |
The SimoTime Home Page |
The primary objective for this test case is to describe and demonstrate techniques for maintaining and validating data integrity in a multi-system, multi-user environment. This includes data file convert, compare and numeric checking. The techniques are used to validate and review data as it moves through various transition processes. Also, the tools may be used as in problem determination effort when an unexpected condition occurs such as a S0C7 or RTS163 (or RTS 163) error occurs. When files are transferred between systems the transfer process may require additional validation. The conversion process may need to execute on systems of different architectures. Therefore, the validation techniques will have the same requirements. This process will include the assessment, preparation, mapping, execution, and validation of data in a pre and post transition or sharing of data and possible sharing of processing segments.
Also, this includes data file convert, compare, review and numeric checking. The review process via human observation may be enhanced by presenting the record content in a format that includes text format of possible ASCII or EBCDIC characters along with a Hexadecimal dump format. The techniques are used to validate and review data as it moves through various transition processes. Also, the tools may be used in a problem determination effort when an unexpected condition such as a S0C7 or RTS163 error occurs.
1. | Create Test Data |
2. | Review content of Data Files |
2.1. | Hexadecimal Dump Formats |
2.1.1. | Hexadecimal Dump by Record |
2.1.2. | Hexadecimal Dump by Field |
2.1.3. | Hexadecimal Dump by Byte |
3. | Validate numeric integrity |
3.1. | Accumulate Summary Totals |
3.2. | Accumulate Record Count |
3.3. | Identify Variances in Numeric Integrity |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note-1: Read the Handmade Test Data (SYSUT1) and create a Record Sequential File of Fixed-Field and Fixed-Record length (SYSUT2). The record content will be ASCII encoded. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note-2: Read the ASCII-encoded Record Sequential File created in a previous step and create a Record Sequential file with an EBCDIC encoded record content. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note-3: Read the ASCII-encoded Record Sequential File created in a previous step and create an ASCII-encoded, Key-Sequenced Data Set. |
Overview of Process to Create Primary Test Data |
Describe how to provide post-migration checks to ensure all data has been correctly transferred and meets the required business objectives.
Describe how to provide post-migration checks to ensure that numeric integrity is maintained with an emphasis on numeric values for currency content.
Provide a capability of viewing record content that includes an option for hexadecimal notation at the record or field level.
Additional information about this program may be obtained by sending an e-mail to: helpdesk@simotime.com
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
WIP1
WIP2
The record structure is defined via a COBOL Copy File.
***************************************************************** * X80REVB1.CPY - a COBOL Copy File * * COBOL Copy File for a file with various numeric types * * Copyright (C) 1987-2024 SimoTime Technologies * * All Rights Reserved * * Provided by SimoTime Technologies and Services * * Our e-mail address is: helpdesk@simotime.com * * Also, visit our Web Site at http://www.simotime.com * ***************************************************************** * The field names used in this copy file are based on * Data Usage, Business Clarity and the naming guidelines for * the SimoTime Test Cases. * 01 X80REV01-RECORD. * *---------------------------------------------------------------* * Field naming convention for Alpha-Numeric Data Strings. * COBOL USAGE Clause is default_value is USAGE IS DISPLAY * ** Logic_ID User_Name PIC info and USAGE * -------- ------------ --------------------------------- 05 X80REV01-ID-KEY PIC X(6). 05 X80REV01-DESCRIPTION PIC X(32). 05 X80REV01-STATUS PIC X. * *---------------------------------------------------------------* * Field naming convention for Numeric-Values. * -------- --------- * X80REV01-ZDx Zoned-Decimal format * X80REV01-PKx Packed-Decimal format * X80REV01-BNx Binary format * where x=S(igned) or U(nsign) * -ii-dd ii=count of integer positions * dd=count of decimal positions * Note: For purposes of discussion the following terms may * be used and should be associated with the following * definitions. * Integer - a number that is a positive, negative or * zero value * Number - or Whole Number is a number that is * a positive or zero value * Signed - an integer * Unsign - a whole number or implied positive * *---------------------------------------------------------------* * Prepare numeric values for Zoned-Decimal * COBOL USAGE Clause default_value is USAGE IS DISPLAY 05 X80REV01-ZDU-09-00 PIC 9(9). 05 X80REV01-ZDS-09-00 PIC S9(9). *---------------------------------------------------------------* * Prepare numeric values for Packed-Decimal * COBOL USAGE Clause COMP-3 or USAGE IS COMPUTATIONAL-3 05 X80REV01-PKU-09-00 PIC 9(9) COMP-3. 05 X80REV01-PKS-09-00 PIC S9(9) COMP-3. *---------------------------------------------------------------* * Prepare numeric values for Binary * COBOL USAGE Clause COMP or USAGE IS COMPUTATIONAL 05 X80REV01-BNU-09-00 PIC 9(9) COMP. 05 X80REV01-BNS-09-00 PIC S9(9) COMP. * *---------------------------------------------------------------* 05 FILLER PIC X(5). * *** X80REVB1 - End-of-Copy File - - - - - - - - - - - X80REVB1 * ***************************************************************** *
To review additional information about the COBOL Copy File click on one of the following Current Browser Site or SimoTime Web Site.
WIP2
@echo OFF set JOB_NAME=X80IMPW8 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Read LSEQ_CSV, Make RSEQ containing Packed-Decimal. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * Create - 1996.01.24 rem * Update - 2024.01.01 rem * rem * The job will execute a program that will read an ASCII encoded, rem * Line Sequential (LSEQ) file that contains a Comma-Separated-Values rem * (CSV) Record structure. rem * Next, the program will write to a new ASCII encoded, rem * Record Sequential file that contains various numeric values stored rem * in a zoned-decimal or packed-decimal or binary format. rem * rem * ************ rem * * X80IMPW8 * 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 * * * SYSUT1 *--*--* TCNIMPC5 *--*--* SYSUT2 * rem * * * Note-1 * * ********cbl* * * Note-2 * rem * * *******lseq* * * *******rseq* rem * * * * rem * * ************ * * ************ rem * * * CSVHDR *--* *--* SYSOUT * rem * * * Note-3 * * Note-4 * rem * * *******lseq* *******lseq* rem * ************ rem * * EOJ * rem * ************ rem * rem * Note-1: SYSUT1 is an ASCII-encoded,Line Sequential (LSEQ) file. rem * Also, referred to as an ASCII/Text File. rem * The record format is Comma-Separated-values (CSV). rem * rem * Note-2: SYSUT2 is an ASCII-encoded, record sequential (RSEQ) rem * file. The record content imcludes numeric values that rem * are stored in a Zoned-Decimal, Packed-Decimal or rem * Binary format. rem * rem * Note-3: This file contains a list of field names that are rem * extracted and re-formatted. The field names are obtained rem * from a COBOL Copy File. rem * This file is used to insert header information as the rem * first record of the SYSUT2 file. rem * Note: This is optional optional feature. rem * rem * Note-4: SYSOUT is an ASCII-encoded, line sequential (LSEQ) rem * file. rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created ASCII-encoded file... rem * call ..\ENV1BASE rem * call SIMONOTE "*******************************************************************************%JOB_NAME% " call SIMONOTE "* Starting JobName %JOB_NAME%, User is %USERNAME% " call SIMONOTE "* Job_Step 01 of 03, Prepare the System and Job Environments" set JobStatus=0 set PGMFLAGS=NNNNNNNN/NNNNYNNN set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt set SYSUT1=%BaseLib1%\DATA\ZERO\HANDMADE_LCSV_FOR_X80REVB1.csv set SYSUT2=%BaseLib1%\DATA\ASC1\X80REVD8.DAT set CSVHDR=%BaseLib1%\DATA\GENS\IMPO_X80REVB1.txt if exist %SYSUT2% del %SYSUT2% rem * call SIMONOTE "* --------------------------------------------------------------------------- * " call SIMONOTE "* Job_Step 02 of 03, Execute LSEQ_CSV to RSEQ_FFL Conversion" call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* DataMake SYSUT2=%SYSUT2% " run X80IMPC1 if not "%ERRORLEVEL%" == "0" set JobStatus=10 if not "%JobStatus%" == "0" goto EOJTAG if exist %SYSUT2% goto EOJTAG set JobStatus=20 rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- * " call SIMONOTE "* Job_Step 03 of 03, End of Job Processing" if not "%JobStatus%" == "0" goto EojNOK :EojAOK call SIMONOTE "* Produced %SYSUT2% " call SIMONOTE "* Finished JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :EojNOK call SIMONOTE "* ABENDING JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :End call SIMONOTE "* Conclude SysOut is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JobStatus%
To review additional information about the COBOL Copy File click on one of the following Current Browser Site or SimoTime Web Site.
WIP2
@echo OFF set JOB_NAME=X80EXPW8 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Convert File Format, Record Format and Record Content. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * Extract Fixed-length Fields from within the records of an RSEQ or rem * Record Sequential File. The record structure is a fixed-field rem * format of 512 characters. The text fields are ASCII-encoded. rem * The record content contains text strings and numeric values. rem * rem * Write Variable-length fields to records of a Line Sequential file. rem * The record structure uses a Comma-Separated-Values (CSV) format of rem * variable=length records. The record content contains text strings rem * and numeric values. rem * rem * ************ rem * * X80EXPW8 * rem * ********cmd* rem * * rem * * rem * ************ rem * * ENV1BASE * rem * ********cmd* rem * * rem * * rem * ************ rem * * SIMONOTE * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *-----* TCNEXTC1 *--*--* SYSUT2 * rem * * Note-1 * *---call---* * * Note-2 * rem * *******rseq* *--* UTCHDRC1 *--* *******lseq* rem * * *---call---* rem * ************ * * NPDEXTR1 * rem * * CSVHDR *--* * Note-4 * rem * * Note-3 * ********cbl* rem * *******lseq* * rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * Note-1: SYSUT1 an ASCII-encoded, RSEQ. rem * The record structure is a fixed-field format of rem * 512 characters. The record content contains rem * text strings and numeric values. rem * rem * Note-2: SYSUT2 is an ASCII-encoded, Line Sequential (LSEQ) rem * file. rem * The record structure is a comma-separated-value rem * or CSV format. The record content contains rem * text strings and numeric values. rem * rem * Note-3: Write a header record to the CSV File. The names for rem * the columns in the header record will be based on the rem * field names in a COBOL Copy File. rem * rem * Note-4: Converts the record structure and content. rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created ASCII-encoded file... rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03 call SIMONOTE "* Job_Step 01 of 03, Prepare the System and Job Environments" set JobStatus=0 set CSVHDR=%BaseLib1%\ADM1\PREP\GFLD\EXPO_X80REVB1.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03 call SIMONOTE "* Job_Step 02 of 03, Access ASCII-encoded RSEQ, Create a CSV formatted file" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD1.dat set SYSUT2=%BaseLib1%\DATA\TXT1\LCSV_X80REVW2.csv if exist %SYSUT2% del %SYSUT2% call SIMONOTE "* DataTake SYSUT1 is %SYSUT1% " call SIMONOTE "* DataMake SYSUT2 is %SYSUT2% " call SIMONOTE "* DataCNTL CSVHDR is %CSVHDR% " run X80EXTC1 if not "%ERRORLEVEL%" == "0" set JobStatus=10 if not "%JobStatus%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03 call SIMONOTE "* Job_Step 03 of 03, End of Job processing" if not "%JobStatus%" == "0" goto EojNOK if exist %SYSUT2% goto EojAOK set JobStatus=20 :EojAOK call SIMONOTE "* Produced %SYSUT2% " call SIMONOTE "* Finished JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :EojNOK call SIMONOTE "* ABENDING JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :End call SIMONOTE "* Log_Info JOBLOG is %SIMONOTE% " call SIMONOTE "* Log_Info SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JobStatus%
@echo OFF set JOB_NAME=X80IMPW8 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Read LSEQ_CSV, Make RSEQ containing Packed-Decimal. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * Create - 1996.01.24 rem * Update - 2024.01.01 rem * rem * The job will execute a program that will read an ASCII encoded, rem * Line Sequential (LSEQ) file that contains a Comma-Separated-Values rem * (CSV) Record structure. rem * Next, the program will write to a new ASCII encoded, rem * Record Sequential file that contains various numeric values stored rem * in a zoned-decimal or packed-decimal or binary format. rem * rem * ************ rem * * X80IMPW8 * 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 * * * SYSUT1 *--*--* TCNIMPC5 *--*--* SYSUT2 * rem * * * Note-1 * * ********cbl* * * Note-2 * rem * * *******lseq* * * *******rseq* rem * * * * rem * * ************ * * ************ rem * * * CSVHDR *--* *--* SYSOUT * rem * * * Note-3 * * Note-4 * rem * * *******lseq* *******lseq* rem * ************ rem * * EOJ * rem * ************ rem * rem * Note-1: SYSUT1 is an ASCII-encoded,Line Sequential (LSEQ) file. rem * Also, referred to as an ASCII/Text File. rem * The record format is Comma-Separated-values (CSV). rem * rem * Note-2: SYSUT2 is an ASCII-encoded, record sequential (RSEQ) rem * file. The record content imcludes numeric values that rem * are stored in a Zoned-Decimal, Packed-Decimal or rem * Binary format. rem * rem * Note-3: This file contains a list of field names that are rem * extracted and re-formatted. The field names are obtained rem * from a COBOL Copy File. rem * This file is used to insert header information as the rem * first record of the SYSUT2 file. rem * Note: This is optional optional feature. rem * rem * Note-4: SYSOUT is an ASCII-encoded, line sequential (LSEQ) rem * file. rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created ASCII-encoded file... rem * call ..\ENV1BASE rem * call SIMONOTE "*******************************************************************************%JOB_NAME% " call SIMONOTE "* Starting JobName %JOB_NAME%, User is %USERNAME% " call SIMONOTE "* Job_Step 01 of 03, Prepare the System and Job Environments" set JobStatus=0 set PGMFLAGS=NNNNNNNN/NNNNYNNN set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt set SYSUT1=%BaseLib1%\DATA\ZERO\HANDMADE_LCSV_FOR_X80REVB1.csv set SYSUT2=%BaseLib1%\DATA\ASC1\X80REVD8.DAT set CSVHDR=%BaseLib1%\DATA\GENS\IMPO_X80REVB1.txt if exist %SYSUT2% del %SYSUT2% rem * call SIMONOTE "* --------------------------------------------------------------------------- * " call SIMONOTE "* Job_Step 02 of 03, Execute LSEQ_CSV to RSEQ_FFL Conversion" call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* DataMake SYSUT2=%SYSUT2% " run X80IMPC1 if not "%ERRORLEVEL%" == "0" set JobStatus=10 if not "%JobStatus%" == "0" goto EOJTAG if exist %SYSUT2% goto EOJTAG set JobStatus=20 rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- * " call SIMONOTE "* Job_Step 03 of 03, End of Job Processing" if not "%JobStatus%" == "0" goto EojNOK :EojAOK call SIMONOTE "* Produced %SYSUT2% " call SIMONOTE "* Finished JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :EojNOK call SIMONOTE "* ABENDING JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :End call SIMONOTE "* Conclude SysOut is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JobStatus%
To review additional information about the COBOL Copy File click on one of the following Current Browser Site or SimoTime Web Site.
WIP2
WIP2
WIP1
This Test Case will describe and demonstrate a series of programs that will convert the file format and record content for files with records containing 80 byte logical records. The files are commonly referred to as card files or control files. This reference is based on an historical beginning that used 80 column cards and small decks of cards that contained control information. This information was used to determine the behavior of a utility program or a user written program.
WIP1
This Job Script (X80E2AW2.cmd) will read an EBCDIC encoded, Record Sequential file and create an ASCII encoded Record Sequential file.
@echo OFF set JOB_NAME=X80E2AW2 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Convert Records in a Sequential File from EBC to ASC. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * This job script calls the following Windows Command Files. The rem * following describes each of the steps within this job. rem * rem * 1. Prepare the System and Job Environments. rem * 2. The text strings will be converted from EBCDIC to ASCII. rem * Numeric integrity is maintained by keeping the Binary and rem * Packed Decimal values in their original format. rem * The Zoned-Decimal values will be converted from EBCDIC rem * to ASCII with special considerations for signed rem * numeric values. rem * 3. End of Job Processing, the exit /b nnnn statement will rem * return to the caller with ERRORLEVEL set to xxxx (this rem * may be a number or a reference to a variable that rem * contains a numeric value). rem * rem * rem * ************ rem * * X80E2AW2 * 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 * * * SYSUT1 *--*--* X80E2AC1 *--*--* SYSUT2 * rem * * * Note-1 * * X80E2AR1 * * * Note-2 * rem * * *******lseq* ********cbl* * *******rseq* rem * * * rem * * * ************ rem * * *--* SYSOUT * rem * * * Note-3 * rem * * *******lseq* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * Note-1: SYSUT1 is a Record Sequential file. The record content rem * includes text strings that are EBCDIC-encoded and rem * numeric values that are stored in a Binary (COMP), rem * Packed-Decimal COMP-3) or Zoned-Decimal format. rem * rem * Note-2: SYSUT2 is a Record Sequential file. The record content rem * includes text strings that are ASCII-encoded and rem * numeric values that are stored in a Binary (COMP), rem * Packed-Decimal COMP-3) or Zoned-Decimal format. rem * rem * Note-3: SYSOUT is an ASCII-encoded, line sequential (LSEQ) rem * file. rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created ASCII-encoded file... rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Starting JobName %JOB_NAME%, User is %USERNAME% " call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job Environments" set JOB_STATUS=0 set PGMFLAGS=NNNNNNNN/NNNNYNNN set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Convert EBCDIC to ASCII" set SYSUT1=%BaseLib1%\DATA\EBC1\X80REVD2.DAT set SYSUT2=%BaseLib1%\DATA\ASC1\X80REVD2.DAT if exist %SYSUT2% del %SYSUT2% call SIMONOTE "* TAKE_EBC SYSUT1=%SYSUT1% " call SIMONOTE "* MAKE_ASC SYSUT2=%SYSUT2% " run X80E2AC1 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=20 if not exist %SYSUT2% set JOB_STATUS=22 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* Job_Step 03 of 03, End of Job Processing" if not "%JOB_STATUS%" == "0" goto EojNOK :EojAOK call SIMONOTE "* Finished JOB_NAME %JOB_NAME%, Job Status is %JOB_STATUS% " goto :End :EojNOK call SIMONOTE "* ABENDING JOB_NAME %JOB_NAME%, Job Status is %JOB_STATUS% " goto :End :End call SIMONOTE "* Conclude SysOut is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JOB_STATUS% rem *
WIP2
This job script will process a file that has been properly managed and numeric integrity has been maintained. The results should be a successful execution with a normal EOJ.
WIP
To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.
This job script will process a file that has been properly managed and numeric integrity has been maintained. The results should be a successful execution with a normal EOJ.
This job script will process a file that has corrupted numeric values. The results should be an unsuccessful execution with an ABEND EOJ.
WIP
To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.
The following shows the content of the job script member.
@echo OFF set JOB_NAME=VR80RSW2 rem * ******************************************************************* rem * A Batch Job Script for a Windows * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Create a Hex-Dump of a Record Sequential file. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * This Job Script executes a program that will will read a Record rem * Sequential File (RSEQ) containing fixed length records of 80 bytes. rem * The record content consist of concatenated text data strings rem * and numeric values that are stored in a Binary, Packed-Decimal or rem * Zoned Decimal Format. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ................. USAGE IS COMP rem * 2. Packed-Decimal ......... USAGE IS COMP-3 rem * 3. Signed-Zoned-Decimal ... USAGE IS DISPLAY rem * rem * The HEX-Dump information will be written to a new ASCII-encoded rem * line sequential or ASCII/Text File. The HEX-Dump information is rem * provided in a text format with HTML tags and may be viewed with rem * a browser of choice. rem * ******************************************************************* rem * call ..\ENV1BASE %JOB_NAME% set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute the HEX_DUMP by record of a Sequential File" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD9.DAT set SYSUT3=%BaseLib1%\PARMLIB\VR80RST2.txt echo /RANGE 1 10>%SYSUT3% set SYSLUSER=%BaseLib1%\LOGS\sysluser_hex_vr80rsw2.htm if exist %SYSLUSER% del %SYSLUSER% call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* HEX_DUMP SYSLUSER=%SYSLUSER% " call SIMONOTE "* DataCNTL SYSUT3=%SYSUT3% " run VR80RSC3 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=30 if not "%JOB_STATUS%" == "0" goto EOJTAG if not exist %SYSLUSER% set JOB_STATUS=32 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%1" == "nopause" pause exit /B %JOB_STATUS%
This job script will access a record sequential File (RSEQ) that will be opened for input with a read-only capability. The fixed length, 80 byte record structure contains concatenated ASCII-encoded text strings and numeric values that are stored in a Binary, Packed-Decimal or Zoned-Decimal format.
The numeric strings within the input file (SYSUT1) should contain corrupted values. The program will check the content of a numeric string for proper numeric values and avoid the error message of S0C7 or RTS163. The record will be identified as containing a corrupt numeric value and processing will continue.
The following shows the "Summary Totals" and "Variance" information that is written to the SYSOUT Device.
* VT80RSC2 Validate Numeric Fields for_RSEQ v22.01.01 helpdesk@simotime.com * VT80RSC2 A Program to Calculate Totals was generated by SimoTime Technologies * VT80RSC2 * HEX20 parameter is ZERO_ADJ * VT80RSC2 * HEX40 parameter is ZERO_ADJ * VT80RSC2 * HEXTR parameter is ENABLE * VT80RSC2 * NUMCHK parameter is ZERO_ADJ * VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040 * VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040 * VARIANCE (000000003/0000058:0000005) X80REV01-PKU-09-00, HEX=0000FF005F * VT80RSC2 ************************************************************************************************************ * VT80RSC2 Field Name Summary.Total HEX40 HEX20 NUMCHK TYPE * VT80RSC2 X80REV01-ZDU-09-00 178 ZD * VT80RSC2 X80REV01-ZDS-09-00 58- ZDS * VT80RSC2 X80REV01-PKU-09-00 519 0000001 0000002 PK * VT80RSC2 X80REV01-PKS-09-00 371- PKS * VT80RSC2 X80REV01-BNU-09-00 884 BN * VT80RSC2 X80REV01-BNS-09-00 684- BNS * VT80RSC2 Record count for SYSUT1 000000012 * VT80RSC2 Field Name Summary.Total HEX40 HEX20 NUMCHK TYPE * VT80RSC2 ************************************************************************************************************ * VT80RSC2 Program to Calculate Totals generated by using SimoTime Technologies * VT80RSC2 Please send all comments or suggestions to the helpdesk@simotime.com
* VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
Positions 01-10 is * VARIANCE
Positions 11-11 is a space separator
Positions 12-38 defines the (record number/position within record:length of field)
Positions 39-39 is a space separator
Positions 40-nn shows the field name that is terminated with a comma followed by a space separator and a "HEX=" parameter that shows the content of the field using hexadecimal notation.
The preceding shows the results of processing a data file that contains numeric values that have not been properly maintained.
The following shows the content of this job script.
@echo OFF set JOB_NAME=VT80RSW3 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Identify and post Numeric Variances to the SYSOUT device. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script will access a record sequential File (RSEQ) that rem * will be opened for input with a read-only capability. rem * The fixed length, 80 byte record structure contains concatenated rem * ASCII-encoded text strings and numeric values that are stored in rem * a Binary, Packed-Decimal or Zoned-Decimal format. rem * rem * The numeric strings within the input file (SYSUT1) should contain rem * corrupted values. rem * The program will check the content of a numeric string for proper rem * numeric values and avoid the error message of S0C7 or RTS163. rem * The record will be identified as containing a corrupt numeric rem * value (or variance) and processing will continue. rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * The program executed by this job will read a Record Sequential rem * File (RSEQ) containing fixed length records of 80 bytes. rem * The record content consist of concatenated text data strings rem * and numeric values that are stored in a Binary (COMP), rem * Packed-Decimal (COMP-3) or Zoned-Decimal format. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ............. USAGE IS COMPUTATIONAL rem * 2. Packed-Decimal ..... USAGE IS COMPUTATIONAL-3 rem * 3. Zoned-Decimal ...... USAGE IS DISPLAY rem * rem * The Summary Totals will be written to a new ASCII-encoded line rem * sequential or ASCII/Text File. Summary Totals are stored in a rem * text format and may be viewed with a text editor of choice. rem * ******************************************************************* rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt if exist %SYSOUT% erase %SYSOUT% rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute Summary Totals for Packed-Decimal Values" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD9.DAT call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " run VT80RSC2 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=20 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JOB_STATUS%
WIP2
This job script will process a file that has been properly managed and numeric integrity has been maintained. The results should be a successful execution with a normal EOJ.
WIP
To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.
WIP1
WIP2
This Job Script (X80E2AW2.cmd) will read an EBCDIC encoded, Record Sequential file and create an ASCII encoded Record Sequential file.
To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.
The following shows the content of the job script member.
@echo OFF set JOB_NAME=VR80RSW1 rem * ******************************************************************* rem * A Batch Job Script for a Windows * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Create a Hex-Dump of a Record Sequential file. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * This Job Script executes a program that will will read a Record rem * Sequential File (RSEQ) containing fixed length records of 80 bytes. rem * The record content consist of concatenated text data strings rem * and numeric values that are stored in a Binary, Packed-Decimal or rem * Zoned Decimal Format. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ................. USAGE IS COMP rem * 2. Packed-Decimal ......... USAGE IS COMP-3 rem * 3. Signed-Zoned-Decimal ... USAGE IS DISPLAY rem * rem * The HEX-Dump information will be written to a new ASCII-encoded rem * line sequential or ASCII/Text File. The HEX-Dump information is rem * provided in a text format with HTML tags and may be viewed with rem * a browser of choice. rem * ******************************************************************* rem * call ..\ENV1BASE %JOB_NAME% set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute the HEX_DUMP by record of a Sequential File" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD1.DAT set SYSUT3=%BaseLib1%\PARMLIB\VR80RST1.txt echo /RANGE 1 10>%SYSUT3% set SYSLUSER=%BaseLib1%\LOGS\sysluser_hex_vr80rsw1.htm if exist %SYSLUSER% del %SYSLUSER% call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* HEX_DUMP SYSLUSER=%SYSLUSER% " call SIMONOTE "* DataCNTL SYSUT3=%SYSUT3% " run VR80RSC3 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=30 if not "%JOB_STATUS%" == "0" goto EOJTAG if not exist %SYSLUSER% set JOB_STATUS=32 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND if not "SIMOGENS" == "BATCH" start firefox %SYSLUSER% if not "SIMOGENS" == "BATCH" call SIMONOTE "* The HEX-Dump information should be shown in a separate window " call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%1" == "nopause" pause exit /B %JOB_STATUS%
This job script will process a file that has corrupted numeric values. The results should be an unsuccessful execution with an ABEND EOJ.
To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.
The following shows the content of the job script member.
@echo OFF set JOB_NAME=VR80RSW2 rem * ******************************************************************* rem * A Batch Job Script for a Windows * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Create a Hex-Dump of a Record Sequential file. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * This Job Script executes a program that will will read a Record rem * Sequential File (RSEQ) containing fixed length records of 80 bytes. rem * The record content consist of concatenated text data strings rem * and numeric values that are stored in a Binary, Packed-Decimal or rem * Zoned Decimal Format. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ................. USAGE IS COMP rem * 2. Packed-Decimal ......... USAGE IS COMP-3 rem * 3. Signed-Zoned-Decimal ... USAGE IS DISPLAY rem * rem * The HEX-Dump information will be written to a new ASCII-encoded rem * line sequential or ASCII/Text File. The HEX-Dump information is rem * provided in a text format with HTML tags and may be viewed with rem * a browser of choice. rem * ******************************************************************* rem * call ..\ENV1BASE %JOB_NAME% set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute the HEX_DUMP by record of a Sequential File" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD9.DAT set SYSUT3=%BaseLib1%\PARMLIB\VR80RST2.txt echo /RANGE 1 10>%SYSUT3% set SYSLUSER=%BaseLib1%\LOGS\sysluser_hex_vr80rsw2.htm if exist %SYSLUSER% del %SYSLUSER% call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* HEX_DUMP SYSLUSER=%SYSLUSER% " call SIMONOTE "* DataCNTL SYSUT3=%SYSUT3% " run VR80RSC3 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=30 if not "%JOB_STATUS%" == "0" goto EOJTAG if not exist %SYSLUSER% set JOB_STATUS=32 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%1" == "nopause" pause exit /B %JOB_STATUS%
WIP3
To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.
The following shows the content of the job script member.
@echo OFF set JOB_NAME=VR80RSW3 rem * ******************************************************************* rem * A Batch Job Script for a Windows * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Create a Hex-Dump of a Record Sequential file. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * This Job Script executes a program that will will read a Record rem * Sequential File (RSEQ) containing fixed length records of 80 bytes. rem * The record content consist of concatenated text data strings rem * and numeric values that are stored in a Binary, Packed-Decimal or rem * Zoned Decimal Format. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ................. USAGE IS COMP rem * 2. Packed-Decimal ......... USAGE IS COMP-3 rem * 3. Signed-Zoned-Decimal ... USAGE IS DISPLAY rem * rem * The HEX-Dump information will be written to a new ASCII-encoded rem * line sequential or ASCII/Text File. The HEX-Dump information is rem * provided in a text format with HTML tags and may be viewed with rem * a browser of choice. rem * ******************************************************************* rem * call ..\ENV1BASE %JOB_NAME% set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute the HEX_DUMP by record of a Sequential File" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD9.DAT set SYSUT3=%BaseLib1%\PARMLIB\VR80RST3.txt echo /RANGE 1 10>%SYSUT3% set SYSLUSER=%BaseLib1%\LOGS\sysluser_hex_vr80rsw3.htm if exist %SYSLUSER% del %SYSLUSER% call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* HEX_DUMP SYSLUSER=%SYSLUSER% " call SIMONOTE "* DataCNTL SYSUT3=%SYSUT3% " run VR80RSC3 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=30 if not "%JOB_STATUS%" == "0" goto EOJTAG if not exist %SYSLUSER% set JOB_STATUS=32 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%1" == "nopause" pause exit /B %JOB_STATUS%
Execute a program that will read an ASCII encoded, Record Sequential (RSEQ) file that contains various numeric values stored in a Binary, Packed-Decimal (COMP-3) or Zoned-Decimal format. The records that are read from SYSUT1 are selected for processing by the specifications from a control file (SYSUT3) that define a range of records to be processed. The Text Strings and Hexadecimal dump information will be written to the SYSOUT Device.
* VF80RSC1 Peek X80REVB1 to SYSOUT via SYSUT3 v23.01.01 helpdesk@simotime.com * VF80RSC1 This Data File FldPEEK Member was generated by SimoTime Technologies * VF80RSC1 SYSUT3 Opened for User Parameters... * VF80RSC1 /RANGE 1 3 * VF80RSC1 /Range Low=00000000001, High=00000000003 * VF80RSC1 *-----------------------------------------------------------------------------------------------------* * VF80RSC1 000000001 - Record count for SYSUT1 * VF80RSR1 X80REV01-ID-KEY TXT=000010 * VF80RSR1 (00001:00006) 1st=333333 * VF80RSR1 (00001:00006) 2nd=000010 * VF80RSR1 X80REV01-DESCRIPTION TXT=Numerics are 001-006 * VF80RSR1 (00007:00032) 1st=47667667267623332333222222222222 * VF80RSR1 (00007:00032) 2nd=E5D5293301250001D006000000000000 * VF80RSR1 X80REV01-STATUS TXT=A * VF80RSR1 (00039:00001) 1st=4 * VF80RSR1 (00039:00001) 2nd=1 * VF80RSR1 X80REV01-ZDU-09-00 NBR=000000001 * VF80RSR1 (00040:00009) HEX=303030303030303031 * VF80RSR1 X80REV01-ZDS-09-00 NBR=+000000002 * VF80RSR1 (00049:00009) HEX=303030303030303032 * VF80RSR1 X80REV01-PKU-09-00 NBR=000000003 * VF80RSR1 (00058:00005) HEX=000000003F * VF80RSR1 X80REV01-PKS-09-00 NBR=+000000004 * VF80RSR1 (00063:00005) HEX=000000004C * VF80RSR1 X80REV01-BNU-09-00 NBR=000000005 * VF80RSR1 (00068:00004) HEX=00000005 * VF80RSR1 X80REV01-BNS-09-00 NBR=+000000006 * VF80RSR1 (00072:00004) HEX=00000006 * VF80RSC1 *-----------------------------------------------------------------------------------------------------* * VF80RSC1 000000002 - Record count for SYSUT1 * VF80RSR1 X80REV01-ID-KEY TXT=000020 * VF80RSR1 (00001:00006) 1st=333333 * VF80RSR1 (00001:00006) 2nd=000020 * VF80RSR1 X80REV01-DESCRIPTION TXT=Numerics are 002-007 * VF80RSR1 (00007:00032) 1st=47667667267623332333222222222222 * VF80RSR1 (00007:00032) 2nd=E5D5293301250002D007000000000000 * VF80RSR1 X80REV01-STATUS TXT=A * VF80RSR1 (00039:00001) 1st=4 * VF80RSR1 (00039:00001) 2nd=1 * VF80RSR1 X80REV01-ZDU-09-00 NBR=000000002 * VF80RSR1 (00040:00009) HEX=303030303030303032 * VF80RSR1 X80REV01-ZDS-09-00 NBR=+000000003 * VF80RSR1 (00049:00009) HEX=303030303030303033 * VF80RSR1 X80REV01-PKU-09-00 NBR=000000004 * VF80RSR1 (00058:00005) HEX=000000004F * VF80RSR1 X80REV01-PKS-09-00 NBR=+000000005 * VF80RSR1 (00063:00005) HEX=000000005C * VF80RSR1 X80REV01-BNU-09-00 NBR=000000006 * VF80RSR1 (00068:00004) HEX=00000006 * VF80RSR1 X80REV01-BNS-09-00 NBR=+000000007 * VF80RSR1 (00072:00004) HEX=00000007 * VF80RSC1 *-----------------------------------------------------------------------------------------------------* * VF80RSC1 000000003 - Record count for SYSUT1 * VF80RSR1 X80REV01-ID-KEY TXT=000030 * VF80RSR1 (00001:00006) 1st=333333 * VF80RSR1 (00001:00006) 2nd=000030 * VF80RSR1 X80REV01-DESCRIPTION TXT=Numerics are 003-008 * VF80RSR1 (00007:00032) 1st=47667667267623332333222222222222 * VF80RSR1 (00007:00032) 2nd=E5D5293301250003D008000000000000 * VF80RSR1 X80REV01-STATUS TXT=A * VF80RSR1 (00039:00001) 1st=4 * VF80RSR1 (00039:00001) 2nd=1 * VF80RSR1 X80REV01-ZDU-09-00 NBR=000000003 * VF80RSR1 (00040:00009) HEX=303030303030303033 * VF80RSR1 X80REV01-ZDS-09-00 NBR=+000000004 * VF80RSR1 (00049:00009) HEX=303030303030303034 * VF80RSR1 X80REV01-PKU-09-00 NBR=000000005 * VF80RSR1 (00058:00005) HEX=000000005F * VF80RSR1 X80REV01-PKS-09-00 NBR=+000000006 * VF80RSR1 (00063:00005) HEX=000000006C * VF80RSR1 X80REV01-BNU-09-00 NBR=000000007 * VF80RSR1 (00068:00004) HEX=00000007 * VF80RSR1 X80REV01-BNS-09-00 NBR=+000000008 * VF80RSR1 (00072:00004) HEX=00000008 * VF80RSC1 This Data File FldPEEK Member was generated by SimoTime Technologies * VF80RSC1 Please send all comments or suggestions to the helpdesk@simotime.com
The preceding shows the results of processing a data file that contains numeric values that have been properly maintained.
The following shows the content of this job script.
@echo OFF set JOB_NAME=VF80RSW1 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Field Peek Sequential File of Numeric Strings to Hex-Dump rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This Job Script will run on a Windows System. The following rem * describes each of the steps within this job. rem * rem * 1. Prepare the System and Job Environments. rem * 2. Create a Control File that will define a range of relative rem * record numbers to be use to select records for processing. rem * 3. Execute a program that will read an ASCII encoded, rem * Record Sequential (RSEQ) file that contains various numeric rem * values stored in a Binary, Packed-Decimal (COMP-3) or Zoned- rem * Decimal format. The records that are read from SYSUT1 are rem * selected for processing by the specifications from a control rem * file (SYSUT3) that define a range of records to be processed. rem * The Text Strings and Hexadecimal dump information will be rem * written to the SYSOUT Device. rem * 4. End of Job processing. rem * rem * For more information or questions please contact SimoTime rem * Technologies. The version control number is 22.01.01 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 * * VF80RSW1 * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * instream *-----* echo *-----* SYSUT3 * rem * *******data* ********cmd* *******lseq* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* VF80RSC1 *--*----------------*--* SYSOUT * rem * *******rseq* * ********cbl* * * *******lseq* rem * * * * * rem * * * * ********** * rem * * * *---* call * * rem * * * ********** * rem * * * * * rem * ************ * * ************ * rem * * SYSUT3 *--* * * VF80RSR1 *--* rem * *******lseq* * ********cbl* rem * * * rem * * ************ rem * * * STPEEKC1 * rem * * ********cbl* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL 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\X80REVD1.DAT set SYSUT3=%BaseLib1%\PARMLIB\USERANGE.txt set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt call SimoNOTE "* SYSUT1 is %SYSUT1% " call SimoNOTE "* SYSUT3 is %SYSUT3% " call SimoNOTE "* SYSOUT is %SYSOUT% " if exist %SYSOUT% erase %SYSOUT% rem * call SimoNOTE "*-----------------------------------------------------------------------------*02 of 04" call SimoNOTE "* Job_Step 02 of 04, Create a Control File for Record Selection" echo /RANGE 1 3 >%SYSUT3% rem * call SimoNOTE "*-----------------------------------------------------------------------------*03 of 04" call SimoNOTE "* Job_Step 03 of 04, Execute the Field Peek Program" run VF80RSC1 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 "* Finished JobName %JOB_NAME%, Job Status is %JobStatus% " goto :EOJEND :EojNok call SimoNOTE "* ABENDING JobName %JOB_NAME%, Job Status is %JobStatus% " :EOJEND if not "SIMOGENS" == "BATCH" start notepad %SYSOUT% if not "SIMOGENS" == "BATCH" call SIMONOTE "* The Field Display information should be shown in a separate window " :End call SimoNOTE "* Log_Info JOBLOG is %SIMONOTE% " call SimoNOTE "* Log_Info SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JobStatus%
WIP3
Execute a program that will read a Key-Sequenced-Data-Set (KSDS) file that contains various numeric values stored in a Binary, Packed-Decimal (COMP-3) or Zoned-Decimal format. The records that are read from SYSUT1 are selected for processing by the specifications from a control file (SYSUT3) that define a starting key and a count for the number of records to be processed. The Text Strings and Hexadecimal dump information will be written to the SYSOUT Device.
* VF80KSC7 Field Hex-Peek of X80KSD to SYSOUT v24.01.01 helpdesk@simotime.com * VF80KSC7 This Data Field PEEK Function was generated by SimoTime Technologies * VF80KSC7 * * VF80KSC7 * ..:....1....:....2....:....3....:....4....:....5....:....6....:....7....:.... * VF80KSC7 /START 000030 100 * VF80KSC7 /START 000030 00000000100 * VF80KSC7 User Field Length is EQ to SYSUT1 Field Length * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000001 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000030 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000030 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 003-008 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250003D008000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000003 * VF80KSR7 (00040:00009) HEX=303030303030303033 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000004 * VF80KSR7 (00049:00009) HEX=303030303030303034 * VF80KSR7 X80REV01-PKU-09-00 NOK=ERROR - non-numeric in numeric field * VF80KSR7 (00058:00005) HEX=0000FF005F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000006 * VF80KSR7 (00063:00005) HEX=000000006C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000007 * VF80KSR7 (00068:00004) HEX=00000007 * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000008 * VF80KSR7 (00072:00004) HEX=00000008 * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000002 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000040 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000040 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 004-009 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250004D009000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000004 * VF80KSR7 (00040:00009) HEX=303030303030303034 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000005 * VF80KSR7 (00049:00009) HEX=303030303030303035 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000006 * VF80KSR7 (00058:00005) HEX=000000006F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000007 * VF80KSR7 (00063:00005) HEX=000000007C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000008 * VF80KSR7 (00068:00004) HEX=00000008 * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000009 * VF80KSR7 (00072:00004) HEX=00000009 * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000003 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000050 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000050 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 005-010 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250005D010000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000005 * VF80KSR7 (00040:00009) HEX=303030303030303035 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000006 * VF80KSR7 (00049:00009) HEX=303030303030303036 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000007 * VF80KSR7 (00058:00005) HEX=000000007F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000008 * VF80KSR7 (00063:00005) HEX=000000008C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000009 * VF80KSR7 (00068:00004) HEX=00000009 * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000010 * VF80KSR7 (00072:00004) HEX=0000000A * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000004 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000060 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000060 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 006-011 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250006D011000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000006 * VF80KSR7 (00040:00009) HEX=303030303030303036 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000007 * VF80KSR7 (00049:00009) HEX=303030303030303037 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000008 * VF80KSR7 (00058:00005) HEX=000000008F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000009 * VF80KSR7 (00063:00005) HEX=000000009C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000010 * VF80KSR7 (00068:00004) HEX=0000000A * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000011 * VF80KSR7 (00072:00004) HEX=0000000B * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000005 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000070 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000070 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 007-012 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250007D012000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000007 * VF80KSR7 (00040:00009) HEX=303030303030303037 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000008 * VF80KSR7 (00049:00009) HEX=303030303030303038 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000009 * VF80KSR7 (00058:00005) HEX=000000009F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000010 * VF80KSR7 (00063:00005) HEX=000000010C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000011 * VF80KSR7 (00068:00004) HEX=0000000B * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000012 * VF80KSR7 (00072:00004) HEX=0000000C * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000006 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000080 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000080 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 008-013 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250008D013000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000008 * VF80KSR7 (00040:00009) HEX=303030303030303038 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000009 * VF80KSR7 (00049:00009) HEX=303030303030303039 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000010 * VF80KSR7 (00058:00005) HEX=000000010F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000011 * VF80KSR7 (00063:00005) HEX=000000011C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000012 * VF80KSR7 (00068:00004) HEX=0000000C * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000013 * VF80KSR7 (00072:00004) HEX=0000000D * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000007 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000090 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000090 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 009-014 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250009D014000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000009 * VF80KSR7 (00040:00009) HEX=303030303030303039 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000010 * VF80KSR7 (00049:00009) HEX=303030303030303130 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000011 * VF80KSR7 (00058:00005) HEX=000000011F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000012 * VF80KSR7 (00063:00005) HEX=000000012C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000013 * VF80KSR7 (00068:00004) HEX=0000000D * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000014 * VF80KSR7 (00072:00004) HEX=0000000E * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000008 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000100 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000100 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 010-015 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250010D015000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000010 * VF80KSR7 (00040:00009) HEX=303030303030303130 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000011 * VF80KSR7 (00049:00009) HEX=303030303030303131 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000012 * VF80KSR7 (00058:00005) HEX=000000012F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000013 * VF80KSR7 (00063:00005) HEX=000000013C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000014 * VF80KSR7 (00068:00004) HEX=0000000E * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000015 * VF80KSR7 (00072:00004) HEX=0000000F * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000009 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000110 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000110 * VF80KSR7 X80REV01-DESCRIPTION TXT=Plus-Minus Values * VF80KSR7 (00007:00032) 1st=56772466772566767222222222222222 * VF80KSR7 (00007:00032) 2nd=0C53DD9E53061C553000000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000123 * VF80KSR7 (00040:00009) HEX=303030303030313233 * VF80KSR7 X80REV01-ZDS-09-00 NBR=-000000123 * VF80KSR7 (00049:00009) HEX=303030303030313273 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000456 * VF80KSR7 (00058:00005) HEX=000000456F * VF80KSR7 X80REV01-PKS-09-00 NBR=-000000456 * VF80KSR7 (00063:00005) HEX=000000456D * VF80KSR7 X80REV01-BNU-09-00 NBR=000000789 * VF80KSR7 (00068:00004) HEX=00000315 * VF80KSR7 X80REV01-BNS-09-00 NBR=-000000789 * VF80KSR7 (00072:00004) HEX=FFFFFCEB * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000010 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000120 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000120 * VF80KSR7 X80REV01-DESCRIPTION TXT=Zero Value * VF80KSR7 (00007:00032) 1st=56762566762222222222222222222222 * VF80KSR7 (00007:00032) 2nd=A52F061C550000000000000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000000 * VF80KSR7 (00040:00009) HEX=303030303030303030 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000000 * VF80KSR7 (00049:00009) HEX=303030303030303030 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000000 * VF80KSR7 (00058:00005) HEX=000000000F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000000 * VF80KSR7 (00063:00005) HEX=000000000C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000000 * VF80KSR7 (00068:00004) HEX=00000000 * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000000 * VF80KSR7 (00072:00004) HEX=00000000 * VF80KSC7 *END-START--------------------------------------------------------------------------------------------* * VF80KSC7 /START 000005 2 * VF80KSC7 /START 000005 00000000002 * VF80KSC7 User Field Length is EQ to SYSUT1 Field Length * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000011 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000010 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000010 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 001-006 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250001D006000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000001 * VF80KSR7 (00040:00009) HEX=303030303030303031 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000002 * VF80KSR7 (00049:00009) HEX=303030303030303032 * VF80KSR7 X80REV01-PKU-09-00 NBR=000000003 * VF80KSR7 (00058:00005) HEX=000000003F * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000004 * VF80KSR7 (00063:00005) HEX=000000004C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000005 * VF80KSR7 (00068:00004) HEX=00000005 * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000006 * VF80KSR7 (00072:00004) HEX=00000006 * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 000000012 - Line count for SYSUT1 * VF80KSR7 X80REV01-ID-KEY TXT=000020 * VF80KSR7 (00001:00006) 1st=333333 * VF80KSR7 (00001:00006) 2nd=000020 * VF80KSR7 X80REV01-DESCRIPTION TXT=Numerics are 002-007 * VF80KSR7 (00007:00032) 1st=47667667267623332333222222222222 * VF80KSR7 (00007:00032) 2nd=E5D5293301250002D007000000000000 * VF80KSR7 X80REV01-STATUS TXT=A * VF80KSR7 (00039:00001) 1st=4 * VF80KSR7 (00039:00001) 2nd=1 * VF80KSR7 X80REV01-ZDU-09-00 NBR=000000002 * VF80KSR7 (00040:00009) HEX=303030303030303032 * VF80KSR7 X80REV01-ZDS-09-00 NBR=+000000003 * VF80KSR7 (00049:00009) HEX=303030303030303033 * VF80KSR7 X80REV01-PKU-09-00 NOK=ERROR - non-numeric in numeric field * VF80KSR7 (00058:00005) HEX=4040404040 * VF80KSR7 X80REV01-PKS-09-00 NBR=+000000005 * VF80KSR7 (00063:00005) HEX=000000005C * VF80KSR7 X80REV01-BNU-09-00 NBR=000000006 * VF80KSR7 (00068:00004) HEX=00000006 * VF80KSR7 X80REV01-BNS-09-00 NBR=+000000007 * VF80KSR7 (00072:00004) HEX=00000007 * VF80KSC7 *END-START--------------------------------------------------------------------------------------------* * VF80KSC7 /JUNK 000005 2 * VF80KSC7 ! Warning, Preceding request is invalid and will be ignored * VF80KSC7 *-----------------------------------------------------------------------------------------------------* * VF80KSC7 This Data Field PEEK Function was generated by SimoTime Technologies * VF80KSC7 Please send all comments or suggestions to the helpdesk@simotime.com
The preceding shows the results of processing a data file that contains numeric values that have been properly maintained.
The following shows the content of this job script.
@echo OFF set JOB_NAME=VF80KSW7 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Field Peek KSDS of Text & Numeric Strings to Hex-Dump rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This Job Script will run on a Windows System. The following rem * describes each of the steps within this job. rem * rem * 1. Prepare the System and Job Environments. rem * 2. Create a Control File that will define a range of relative rem * record numbers to be use to select records for processing. rem * 3. Execute a program that will read an ASCII encoded, rem * Key-Sequenced-Data-Set (KSDS) that contains various numeric rem * values stored in a Binary, Packed-Decimal (COMP-3) or Zoned- rem * Decimal format. The records that are read from SYSUT1 are rem * selected for processing by the specifications from a control rem * file (SYSUT3) that define a starting key and a count for rem * the number of records to be processed. rem * The Text Strings and Hexadecimal dump information will be rem * written to the SYSOUT Device. rem * 4. End of Job processing. rem * rem * For more information or questions please contact SimoTime rem * Technologies. The version control number is 22.01.01 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 * * VF80KSW7 * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * instream *-----* echo *-----* SYSUT3 * rem * *******data* ********cmd* *******lseq* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* VF80KSC7 *--*----------------*--* SYSOUT * rem * *******rseq* * ********cbl* * * *******lseq* rem * * * * * rem * * * * ********** * rem * * * *---* call * * rem * * * ********** * rem * * * * * rem * ************ * * ************ * rem * * SYSUT3 *--* * * VF80KSR1 *--* rem * *******lseq* * ********cbl* rem * * * rem * * ************ rem * * * STPEEKC1 * rem * * ********cbl* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL 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\X80KSDD9.DAT set SYSUT3=%BaseLib1%\PARMLIB\USERKSD7.txt set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt call SimoNOTE "* SYSUT1 is %SYSUT1% " call SimoNOTE "* SYSUT3 is %SYSUT3% " call SimoNOTE "* SYSOUT is %SYSOUT% " if exist %SYSOUT% erase %SYSOUT% rem * call SimoNOTE "*-----------------------------------------------------------------------------*02 of 04" call SimoNOTE "* Job_Step 02 of 04, Create a Control File for Record Selection" echo * >%SYSUT3% echo * ..:....1....:....2....:....3....:....4....:....5....:....6....:....7....:.... >>%SYSUT3% echo /START 000030 100 >>%SYSUT3% echo /START 000005 2 >>%SYSUT3% echo /JUNK 000005 2 >>%SYSUT3% rem * call SimoNOTE "*-----------------------------------------------------------------------------*03 of 04" call SimoNOTE "* Job_Step 03 of 04, Execute the Field Peek Program" run VF80KSC7 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 "* Finished JobName %JOB_NAME%, Job Status is %JobStatus% " goto :EOJEND :EojNok call SimoNOTE "* ABENDING JobName %JOB_NAME%, Job Status is %JobStatus% " :EOJEND if not "SIMOGENS" == "BATCH" start notepad %SYSOUT% if not "SIMOGENS" == "BATCH" call SIMONOTE "* The Field Display information should be shown in a separate window " :End call SimoNOTE "* Log_Info JOBLOG is %SIMONOTE% " call SimoNOTE "* Log_Info SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JobStatus%
WIP3
Numeric integrity is validated by scanning the file and analyzing the numeric values based on their definitions as defined in a COBOL Copy File. If an invalid digit or invalid sign is detected a variance message will be posted to the SYSOUT device.
This job script (VT80RSW1.cmd) will access a record sequential File (RSEQ) and will be opened for input with read-only capability. The fixed length, 80 byte record structure contains concatenated ASCII-encoded text strings and numeric values that are stored in a Binary, Packed-Decimal or Zoned-Decimal format. The numeric strings within the input file (SYSUT1) have been properly maintained. The job script should post a normal End of Job (EOJ) with a zero (0) return code.
The following describes each of the steps within this job
1. | Prepare the System and Job Environments. |
2. | The program executed by this job step will read a Record Sequential File (RSEQ) containing fixed length records of 80 bytes. The record content consist of concatenated text data strings and numeric values that are stored in a Binary (COMP), Packed-Decimal (COMP-3) or Zoned-Decimal format. The Summary Totals and record count will be written to the SYSOUT device. |
3. | End of Job processing. |
The following shows the "Summary Totals" information that is written to the SYSOUT Device.
* VT80RSC1 Accumulate Summary Totals for RSEQ v22.01.01 helpdesk@simotime.com * VT80RSC1 A Program to Calculate Totals was generated by SimoTime Technologies * VT80RSC1 * HEX20 parameter is HEX20_TAG * VT80RSC1 * HEX40 parameter is HEX40_TAG * VT80RSC1 * HEXTR parameter is ENABLE * VT80RSC1 * NUMCHK parameter is NUMCHK_TAG * VT80RSC1 ************************************************************************************************************ * VT80RSC1 Field Name Summary.Total HEX40 HEX20 NUMCHK TYPE * VT80RSC1 X80REV01-ZDU-09-00 178 ZD * VT80RSC1 X80REV01-ZDS-09-00 58- ZDS * VT80RSC1 X80REV01-PKU-09-00 531 PK * VT80RSC1 X80REV01-PKS-09-00 371- PKS * VT80RSC1 X80REV01-BNU-09-00 884 BN * VT80RSC1 X80REV01-BNS-09-00 684- BNS * VT80RSC1 Record count for SYSUT1 000000012 * VT80RSC1 Field Name Summary.Total HEX40 HEX20 NUMCHK TYPE * VT80RSC1 ************************************************************************************************************ * VT80RSC1 Program to Calculate Totals generated by using SimoTime Technologies * VT80RSC1 Please send all comments or suggestions to the helpdesk@simotime.com
The preceding shows the results of processing a data file that contains numeric values that have been properly maintained.
The following shows the content of this job script.
@echo OFF set JOB_NAME=VT80RSW1 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Accumulate and post Summary Totals to the SYSOUT device. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script will access a record sequential File (RSEQ) and rem * will be opened for a read-only capability. rem * The fixed length, 80 byte record structure contains concatenated rem * ASCII-encoded text strings and numeric values that are stored in rem * a Binary, Packed-Decimal or Zoned-Decimal format. rem * The numeric strings within the input file (SYSUT1) have been rem * properly maintained. rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * The following describes each of the steps within this job. rem * rem * 1. Prepare the System and Job Environments. rem * 2. The program executed by this job step will read a Record rem * Sequential File (RSEQ) containing fixed length records rem * of 80 bytes. The record content consist of concatenated rem * text data strings and numeric values that are stored in rem * a Binary (COMP), Packed-Decimal (COMP-3) or Zoned-Decimal rem * format. The Summary Totals will be written to the SYSOUT rem * device. rem * 3. End of Job processing. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ............. USAGE IS COMPUTATIONAL rem * 2. Packed-Decimal ..... USAGE IS COMPUTATIONAL-3 rem * 3. Zoned-Decimal ...... USAGE IS DISPLAY rem * rem * The Summary Totals will be written to a new ASCII-encoded, line rem * sequential or ASCII/Text File. Summary Totals are stored in a rem * text format and may be viewed with a text editor of choice. rem * ******************************************************************* rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt if exist %SYSOUT% erase %SYSOUT% rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute Summary Totals for Numeric strings" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD1.DAT call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* The numeric strings within the input file (SYSUT1) have been" call SIMONOTE "* properly maintained." run VT80RSC1 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=20 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JOB_STATUS%
This job script (VT80RSW2.cmd) will access a record sequential File (RSEQ) and will be opened for a read-only capability. The fixed length, 80 byte record structure contains concatenated ASCII-encoded text strings and numeric values that are stored in a Binary, Packed-Decimal or Zoned-Decimal format.
Some of the numeric strings within the input file (SYSUT1) should contain corrupted values.
On an IBM Mainframe this is expected to cause an S0C7 error message that results in an abnormal ending (ABEND) of the program.
On a Micro Focus system this is expected to cause an RTS163 error message that results in the abnormal ending (ABEND) of the program.
The program executed by this job will read a Record Sequential File (RSEQ) containing fixed length records of 80 bytes. The record content consist of concatenated text data strings and numeric values that are stored in a Binary (COMP), Packed-Decimal (COMP-3) or Zoned-Decimal format.
The following shows the "Summary Totals" information that is written to the SYSOUT Device.
* VT80RSC1 Accumulate Summary Totals for RSEQ v22.01.01 helpdesk@simotime.com * VT80RSC1 A Program to Calculate Totals was generated by SimoTime Technologies * VT80RSC1 * HEX20 parameter is HEX20_TAG * VT80RSC1 * HEX40 parameter is HEX40_TAG * VT80RSC1 * HEXTR parameter is ENABLE * VT80RSC1 * NUMCHK parameter is NUMCHK_TAG * VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040
The preceding shows the results of processing a data file that contains numeric values that have not been properly maintained. Notice the last statement (starts with * VARIANCE) shows the record number and field information. The following shows the format of the variance statement.
* VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
Positions 01-10 is * VARIANCE
Positions 11-11 is a space separator
Positions 12-38 defines the (record number/position within record:length of field)
Positions 39-39 is a space separator
Positions 40-nn shows the field name that is terminated with a comma followed by a space separator and a "HEX=" parameter that shows the content of the field using hexadecimal notation.
The following shows the content of this job script.
@echo OFF set JOB_NAME=VT80RSW2 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Expected to ABEND with S0C7 or RTS163. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script will access a record sequential File (RSEQ) and rem * will be opened for a read-only capability. rem * The fixed length, 80 byte record structure contains concatenated rem * ASCII-encoded text strings and numeric values that are stored in rem * a Binary, Packed-Decimal or Zoned-Decimal format. rem * rem * The numeric strings within the input file (SYSUT1) should contain rem * corrupted values. rem * On an IBM Mainframe this is expected to cause an S0C7 error rem * message that results in an abnormal ending (ABEND) of the rem * program. rem * On a Micro Focus system this is expected to cause an RTS163 rem * error message that results in the abnormal ending (ABEND) of rem * the program. rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * The program executed by this job will read a Record Sequential rem * File (RSEQ) containing fixed length records of 80 bytes. rem * The record content consist of concatenated text data strings rem * and numeric values that are stored in a Binary (COMP), rem * Packed-Decimal (COMP-3) or Zoned-Decimal format. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ............. USAGE IS COMPUTATIONAL rem * 2. Packed-Decimal ..... USAGE IS COMPUTATIONAL-3 rem * 3. Zoned-Decimal ...... USAGE IS DISPLAY rem * rem * The Summary Totals will be written to a new ASCII-encoded, line rem * sequential or ASCII/Text File. Summary Totals are stored in a rem * text format and may be viewed with a text editor of choice. rem * ******************************************************************* rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt if exist %SYSOUT% erase %SYSOUT% rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute Summary Totals for Packed-Decimal Values" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD9.DAT call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " call SIMONOTE "* The numeric strings within the input file (SYSUT1) should contain" call SIMONOTE "* corrupted values." call SIMONOTE "* On an IBM Mainframe this is expected to cause an S0C7 error" call SIMONOTE "* message that results in an abnormal ending (ABEND) of the" call SIMONOTE "* program." call SIMONOTE "* On a Micro Focus system this is expected to cause an RTS163" call SIMONOTE "* error message that results in the abnormal ending (ABEND) of" call SIMONOTE "* the program." run VT80RSC1 echo *** %ERRORLEVEL% if not "%ERRORLEVEL%" == "0" set JOB_STATUS=%ERRORLEVEL% if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /b %JOB_STATUS%
This job script will access a record sequential File (RSEQ) that will be opened for input with a read-only capability. The fixed length, 80 byte record structure contains concatenated ASCII-encoded text strings and numeric values that are stored in a Binary, Packed-Decimal or Zoned-Decimal format.
The numeric strings within the input file (SYSUT1) should contain corrupted values. The program will check the content of a numeric string for proper numeric values and avoid the error message of S0C7 or RTS163. The record will be identified as containing a corrupt numeric value and processing will continue.
The following shows the "Summary Totals" and "Variance" information that is written to the SYSOUT Device.
* VT80RSC2 Validate Numeric Fields for_RSEQ v22.01.01 helpdesk@simotime.com * VT80RSC2 A Program to Calculate Totals was generated by SimoTime Technologies * VT80RSC2 * HEX20 parameter is ZERO_ADJ * VT80RSC2 * HEX40 parameter is ZERO_ADJ * VT80RSC2 * HEXTR parameter is ENABLE * VT80RSC2 * NUMCHK parameter is ZERO_ADJ * VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040 * VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040 * VARIANCE (000000003/0000058:0000005) X80REV01-PKU-09-00, HEX=0000FF005F * VT80RSC2 ************************************************************************************************************ * VT80RSC2 Field Name Summary.Total HEX40 HEX20 NUMCHK TYPE * VT80RSC2 X80REV01-ZDU-09-00 178 ZD * VT80RSC2 X80REV01-ZDS-09-00 58- ZDS * VT80RSC2 X80REV01-PKU-09-00 519 0000001 0000002 PK * VT80RSC2 X80REV01-PKS-09-00 371- PKS * VT80RSC2 X80REV01-BNU-09-00 884 BN * VT80RSC2 X80REV01-BNS-09-00 684- BNS * VT80RSC2 Record count for SYSUT1 000000012 * VT80RSC2 Field Name Summary.Total HEX40 HEX20 NUMCHK TYPE * VT80RSC2 ************************************************************************************************************ * VT80RSC2 Program to Calculate Totals generated by using SimoTime Technologies * VT80RSC2 Please send all comments or suggestions to the helpdesk@simotime.com
* VARIANCE (000000002/0000058:0000005) X80REV01-PKU-09-00, HEX=4040404040
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
Positions 01-10 is * VARIANCE
Positions 11-11 is a space separator
Positions 12-38 defines the (record number/position within record:length of field)
Positions 39-39 is a space separator
Positions 40-nn shows the field name that is terminated with a comma followed by a space separator and a "HEX=" parameter that shows the content of the field using hexadecimal notation.
The preceding shows the results of processing a data file that contains numeric values that have not been properly maintained.
The following shows the content of this job script.
@echo OFF set JOB_NAME=VT80RSW3 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Identify and post Numeric Variances to the SYSOUT device. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script will access a record sequential File (RSEQ) that rem * will be opened for input with a read-only capability. rem * The fixed length, 80 byte record structure contains concatenated rem * ASCII-encoded text strings and numeric values that are stored in rem * a Binary, Packed-Decimal or Zoned-Decimal format. rem * rem * The numeric strings within the input file (SYSUT1) should contain rem * corrupted values. rem * The program will check the content of a numeric string for proper rem * numeric values and avoid the error message of S0C7 or RTS163. rem * The record will be identified as containing a corrupt numeric rem * value (or variance) and processing will continue. rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * The program executed by this job will read a Record Sequential rem * File (RSEQ) containing fixed length records of 80 bytes. rem * The record content consist of concatenated text data strings rem * and numeric values that are stored in a Binary (COMP), rem * Packed-Decimal (COMP-3) or Zoned-Decimal format. rem * rem * Numeric Type COBOL Notation rem * -------------------- --------------------------------------- rem * 1. Binary ............. USAGE IS COMPUTATIONAL rem * 2. Packed-Decimal ..... USAGE IS COMPUTATIONAL-3 rem * 3. Zoned-Decimal ...... USAGE IS DISPLAY rem * rem * The Summary Totals will be written to a new ASCII-encoded line rem * sequential or ASCII/Text File. Summary Totals are stored in a rem * text format and may be viewed with a text editor of choice. rem * ******************************************************************* rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL set JOB_STATUS=0 rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job environments" set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt if exist %SYSOUT% erase %SYSOUT% rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Execute Summary Totals for Packed-Decimal Values" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD9.DAT call SIMONOTE "* DataTake SYSUT1=%SYSUT1% " run VT80RSC2 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=20 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* JOB_STEP 03 of 03, End of Job Processing" call SIMONOTE "* SIMONOTE Job Log is %SIMONOTE% " if "%JOB_STATUS%" == "0" goto EOJAOK :EOJNOK call SIMONOTE "* ABENDING JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJAOK call SIMONOTE "* Finished JOB_STATUS=%JOB_STATUS% JobName %JOB_NAME% " goto :EOJEND :EOJEND call SIMONOTE "* Conclude SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JOB_STATUS%
WIP2
WIP3
To review the compare results for a NOT Equal click on one of the following Current Browser Site or SimoTime Web Site.
WIP3
@echo OFF set JOB_NAME=X80CP1W9 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Compare the Record Content of two sequential files rem * Note - Processing the files should produce a NOT Equal result rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * The following describes each of the steps within this job. rem * rem * 1. Prepare the System and Job Environments. rem * 2. Execute a program that will compare two files containing rem * slightly different record content. The results should rem * produce a "NOT Equal Compare" with a Zero return code. rem * The results will be posted to the SYSLUSER device. rem * 3. End of Job processing. rem * rem * The following describes the two data files that will be used rem * for the compare. rem * rem * 1. The 1st input (SYSUT1) is a record sequential (RSEQ) file rem * containing fixed-length records. The record structure rem * contains text fields are ASCII encoded and numeric values rem * that are stored in a Binary, Packed-Decimal or Zoned-Decimal rem * format. rem * rem * 2. The 2nd input (SYSUT2) is a record sequential (RSEQ) file rem * containing fixed-length records. The record structure rem * contains text fields are ASCII-encoded and numeric values rem * that are stored in a Binary, Packed-Decimal or Zoned-Decimal rem * format. rem * rem * ************ rem * * X80CP1W9 * rem * ********cmd* rem * * rem * * rem * ************ rem * * ENV1BASE * rem * ********cmd* rem * * rem * * rem * ************ rem * * SIMONOTE * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *--*--* NPDCP1C1 *--*--* SYSLUSER * rem * * Note-1 * * *---call---* * * Note-3 * rem * *******rseq* * * SIMOL32K * * *******lseq* rem * * ********cbl* * rem * * * * rem * ************ * * * ************ rem * * SYSUT2 * * * *--* SYSOUT * rem * * Note-2 *--* * *******lseq* rem * *******rseq* * rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * Note-1: SYSUT1 an ASCII-encoded, record sequential file. rem * The record structure is a fixed-field format of rem * 512 characters. The record content contains rem * text strings and numeric values. rem * rem * Note-2: SYSUT2 an ASCII-encoded, record sequential file. rem * The record structure is a fixed-field format of rem * 512 characters. The record content contains rem * text strings and numeric values. rem * rem * Note-3: SYSLUSER is an ASCII/Text File that contains the results rem * of the file compare processing. rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created ASCII-encoded file... rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03 call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job Environments" set JOB_STATUS=0 set SYSLUSER_LC=sysluser_x80cp1w9.htm rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03 call SIMONOTE "* Job_Step 02 of 03, Compare an ASC-encoded RSEQ with an ASC-encoded RSEQ" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD1.dat set SYSUT2=%BaseLib1%\DATA\ASC1\X80REVD9.dat set SYSLUSER=%BaseLib1%\LOGS\%SYSLUSER_LC% call SIMONOTE "* SYSUT1.....%SYSUT1% " call SIMONOTE "* SYSUT2.....%SYSUT2% " call SIMONOTE "* SYSLUSER...%SYSLUSER% " run X80CP1C1 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=%ERRORLEVEL% if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03 call SIMONOTE "* Job_Step 03 of 03, End of Job processing" if not "%JOB_STATUS%" == "0" goto EojNOK if exist %SYSUT2% goto EojAOK set JOB_STATUS=30 :EojAOK call SIMONOTE "* Produced %SYSLUSER% " call SIMONOTE "* Finished JOB_NAME %JOB_NAME%, Job Status is %JOB_STATUS% " goto :End :EojNOK call SIMONOTE "* ABENDING JOB_NAME %JOB_NAME%, Job Status is %JOB_STATUS% " goto :End :End call SIMONOTE "* Log_Info JOBLOG is %SIMONOTE% " call SIMONOTE "* Log_Info SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /b %JOB_STATUS% rem *
WIP3
WIP3
WIP1
WIP2
WIP1
WIP1
WIP1
WIP1
WIP1
WIP2
This Job Script (PREP_REVRES01_CSV2PCF_CONV_LOOP.cmd) will read a record sequential (RSEQ) file containing ASCII encoded, fixed-length records that use a fixed-length field (or row-column) format and create a new record sequential file containing EBCDIC encoded, fixed-length records that use a fixed-length field (or row-column) format.
WIP1
This Job Script (PREP_REVRES01_PCF2CBL_CONV_LOOP.cmd) will read a record sequential (RSEQ) file containing ASCII encoded, fixed-length records that use a fixed-length field (or row-column) format and create a new record sequential file containing EBCDIC encoded, fixed-length records that use a fixed-length field (or row-column) format.
WIP1
WIP2
This Job Script (X80IMPW8.cmd) will read the line sequential (LCSV) file containing records that use a Comma-Separated-Values (CSV) format and create a new record sequential file containing fixed-length records that use a fixed-length field (or row-column) format.
The LCSV file was handmade using spreadsheet software Microsoft Excel or the CALC function of LibreOffice with the data being saved as a CSV File.
Note: The LCSV file may be maintained in an "XLSX" formatted file for ease of use. Once the data entry is complete a final copy should be saved as a "CSV" formatted file.
WIP2
This Job Script (X80A2EW2.cmd) will read a record sequential (RSEQ) file containing ASCII encoded, fixed-length records that use a fixed-length field (or row-column) format and create a new record sequential file containing EBCDIC encoded, fixed-length records that use a fixed-length field (or row-column) format.
WIP1
This Job Script (X80KSDW8.cmd) will read a record sequential (RSEQ) file containing ASCII encoded, fixed-length records that use a fixed-length field (or row-column) format and create a new VSAM, Key-Sequenced-Data-Set (LCSV file containing ASCII encoded, fixed-length records that use a fixed-length field (or row-column) format. The record key starts in position one (1) of each record and the key length is six (6).
The following shows the content of this job script.
@echo OFF set JOB_NAME=X80KSDW8 rem * ******************************************************************* rem * Batch Job Script - a Windows Command File * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Convert File Format from Sequential File to a VSAM, KSDS. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * Job Step 01, prepare the System and Job Environments. rem * rem * Job Step 02, execute a program that will read an ASCII encoded, rem * Record Sequential{RSEQ) file that contains various numeric rem * values stored in a Packed (or COMP-3) format. rem * If the read is successful the program will write to a new ASCII rem * encoded, VSAM, Key Sequenced Data Set (or KSDS) that contains rem * various numeric values stored in a Packed (or COMP-3) format. rem * rem * Job Step 03, End of Job processing. rem * ******************************************************************* rem * rem * ************ rem * * X80KSDW8 * 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 * * * SYSUT1 *--*--* X80KSDC8 *--*--* SYSUT2 * rem * * * Note-1 * * * * * Note-2 * rem * * *******lseq* ********cbl* * *******rseq* rem * * * rem * * * ************ rem * * *--* SYSOUT * rem * * * Note-3 * rem * * *******lseq* rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * Note-1: SYSUT1 is a Record Sequential file. The record content rem * includes text strings that are ASCII-encoded and rem * numeric values that are stored in a Binary (COMP), rem * Packed-Decimal COMP-3) or Zoned-Decimal format. rem * rem * Note-2: SYSUT2 will be a VSAM, Key Sequenced Data Set. rem * The record content includes text strings that are rem * ASCII-encoded and numeric values that are stored rem * in a Binary (COMP), Packed-Decimal COMP-3) or\ rem * Zoned-Decimal format. rem * rem * Note-3: SYSOUT is an ASCII-encoded, line sequential (LSEQ) rem * file. rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created ASCII-encoded file... rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03" call SIMONOTE "* Starting JobName %JOB_NAME%, User is %USERNAME% " call SIMONOTE "* Job_Step 01 of 03, Preparing the System and Job Environments" set JOB_STATUS=0 set PGMFLAGS=NNNNNNNN/NNNNYNNN set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%JOB_NAME%.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03" call SIMONOTE "* Job_Step 02 of 03, Convert a Sequential File to a VSAM, KSDS" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD1.DAT set SYSUT2=%BaseLib1%\DATA\ASC1\X80KSDD8.DAT if exist %SYSUT2% del %SYSUT2% call SIMONOTE "* TAKE_EBC SYSUT1=%SYSUT1% " call SIMONOTE "* MAKE_ASC SYSUT2=%SYSUT2% " run X80KSDC8 if not "%ERRORLEVEL%" == "0" set JOB_STATUS=30 if not exist %SYSUT2% set JOB_STATUS=32 if not "%JOB_STATUS%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03" call SIMONOTE "* Job_Step 03 of 03, End of Job Processing" if not "%JOB_STATUS%" == "0" goto EojNOK :EojAOK call SIMONOTE "* Finished JOB_NAME %JOB_NAME%, Job Status is %JOB_STATUS% " goto :End :EojNOK call SIMONOTE "* ABENDING JOB_NAME %JOB_NAME%, Job Status is %JOB_STATUS% " goto :End :End call SIMONOTE "* Conclude SysOut is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JOB_STATUS%
WIP3
This Job Script (X80EXTW8.cmd) will read a VSAM, Key-Sequenced-Data-Set (KSDS) file containing ASCII encoded, fixed-length records that use a fixed-length field (or row-column) format. The record key starts in position one (1) of each record and the key length is six (6) and create a new VSAM, Key-Sequenced-Data-Set (LCSV file containing ASCII encoded, variable-length records that use a Comma-Separated-Values (CSV) format.
The following shows the content of this job script.
@echo OFF set JOB_NAME=X80EXPW8 rem * ******************************************************************* rem * A Batch Job Script for a Windows System * rem * Provided by SimoTime Technologies and Services * rem * (C) Copyright 1987-2024 All Rights Reserved * rem * Web Site URL: http://www.simotime.com * rem * e-mail: helpdesk@simotime.com * rem * ******************************************************************* rem * rem * Text - Convert File Format, Record Format and Record Content. rem * Author - SimoTime Technologies and Services rem * Date - January 24, 1996 rem * rem * This job script calls the following Windows Command Files. rem * rem * 1. ENV1BASE.cmd - this provides a single point for preparing rem * the System and Job environments. rem * 2. SIMONOTE.cmd - this provides a consistent process to display rem * messages to the screen and write messages to a rem * job log file. rem * rem * Extract Fixed-length Fields from within the records of an RSEQ or rem * Record Sequential File. The record structure is a fixed-field rem * format of 512 characters. The text fields are ASCII-encoded. rem * The record content contains text strings and numeric values. rem * rem * Write Variable-length fields to records of a Line Sequential file. rem * The record structure uses a Comma-Separated-Values (CSV) format of rem * variable=length records. The record content contains text strings rem * and numeric values. rem * rem * ************ rem * * X80EXPW8 * rem * ********cmd* rem * * rem * * rem * ************ rem * * ENV1BASE * rem * ********cmd* rem * * rem * * rem * ************ rem * * SIMONOTE * rem * ********cmd* rem * * rem * * rem * ************ ************ ************ rem * * SYSUT1 *-----* TCNEXTC1 *--*--* SYSUT2 * rem * * Note-1 * *---call---* * * Note-2 * rem * *******rseq* *--* UTCHDRC1 *--* *******lseq* rem * * *---call---* rem * ************ * * NPDEXTR1 * rem * * CSVHDR *--* * Note-4 * rem * * Note-3 * ********cbl* rem * *******lseq* * rem * * rem * ************ rem * * EOJ * rem * ************ rem * rem * Note-1: SYSUT1 an ASCII-encoded, RSEQ. rem * The record structure is a fixed-field format of rem * 512 characters. The record content contains rem * text strings and numeric values. rem * rem * Note-2: SYSUT2 is an ASCII-encoded, Line Sequential (LSEQ) rem * file. rem * The record structure is a comma-separated-value rem * or CSV format. The record content contains rem * text strings and numeric values. rem * rem * Note-3: Write a header record to the CSV File. The names for rem * the columns in the header record will be based on the rem * field names in a COBOL Copy File. rem * rem * Note-4: Converts the record structure and content. rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created ASCII-encoded file... rem * if "%ENV1BASE_CALL%" == "OFF" goto SKIP_CALL call ..\ENV1BASE %JOB_NAME% :SKIP_CALL rem * call SIMONOTE "* --------------------------------------------------------------------------- *01 of 03 call SIMONOTE "* Job_Step 01 of 03, Prepare the System and Job Environments" set JobStatus=0 set CSVHDR=%BaseLib1%\ADM1\PREP\GFLD\EXPO_X80REVB1.txt rem * call SIMONOTE "* --------------------------------------------------------------------------- *02 of 03 call SIMONOTE "* Job_Step 02 of 03, Access ASCII-encoded RSEQ, Create a CSV formatted file" set SYSUT1=%BaseLib1%\DATA\ASC1\X80REVD1.dat set SYSUT2=%BaseLib1%\DATA\TXT1\LCSV_X80REVW2.csv if exist %SYSUT2% del %SYSUT2% call SIMONOTE "* DataTake SYSUT1 is %SYSUT1% " call SIMONOTE "* DataMake SYSUT2 is %SYSUT2% " call SIMONOTE "* DataCNTL CSVHDR is %CSVHDR% " run X80EXTC1 if not "%ERRORLEVEL%" == "0" set JobStatus=10 if not "%JobStatus%" == "0" goto EOJTAG rem * :EOJTAG call SIMONOTE "* --------------------------------------------------------------------------- *03 of 03 call SIMONOTE "* Job_Step 03 of 03, End of Job processing" if not "%JobStatus%" == "0" goto EojNOK if exist %SYSUT2% goto EojAOK set JobStatus=20 :EojAOK call SIMONOTE "* Produced %SYSUT2% " call SIMONOTE "* Finished JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :EojNOK call SIMONOTE "* ABENDING JOB_NAME %JOB_NAME%, Job Status is %JobStatus% " goto :End :End call SIMONOTE "* Log_Info JOBLOG is %SIMONOTE% " call SIMONOTE "* Log_Info SYSOUT is %SYSOUT% " if not "%SIMOGENS%" == "BATCH" pause exit /B %JobStatus%
WIP3
WIP1
WIP1
WIP2
***************************************************************** * X80REVB1.CPY - a COBOL Copy File * * COBOL Copy File for a file with various numeric types * * Copyright (C) 1987-2024 SimoTime Technologies * * All Rights Reserved * * Provided by SimoTime Technologies and Services * * Our e-mail address is: helpdesk@simotime.com * * Also, visit our Web Site at http://www.simotime.com * ***************************************************************** * The field names used in this copy file are based on * Data Usage, Business Clarity and the naming guidelines for * the SimoTime Test Cases. * 01 X80REV01-RECORD. * *---------------------------------------------------------------* * Field naming convention for Alpha-Numeric Data Strings. * COBOL USAGE Clause is default_value is USAGE IS DISPLAY * ** Logic_ID User_Name PIC info and USAGE * -------- ------------ --------------------------------- 05 X80REV01-ID-KEY PIC X(6). 05 X80REV01-DESCRIPTION PIC X(32). 05 X80REV01-STATUS PIC X. * *---------------------------------------------------------------* * Field naming convention for Numeric-Values. * -------- --------- * X80REV01-ZDx Zoned-Decimal format * X80REV01-PKx Packed-Decimal format * X80REV01-BNx Binary format * where x=S(igned) or U(nsign) * -ii-dd ii=count of integer positions * dd=count of decimal positions * Note: For purposes of discussion the following terms may * be used and should be associated with the following * definitions. * Integer - a number that is a positive, negative or * zero value * Number - or Whole Number is a number that is * a positive or zero value * Signed - an integer * Unsign - a whole number or implied positive * *---------------------------------------------------------------* * Prepare numeric values for Zoned-Decimal * COBOL USAGE Clause default_value is USAGE IS DISPLAY 05 X80REV01-ZDU-09-00 PIC 9(9). 05 X80REV01-ZDS-09-00 PIC S9(9). *---------------------------------------------------------------* * Prepare numeric values for Packed-Decimal * COBOL USAGE Clause COMP-3 or USAGE IS COMPUTATIONAL-3 05 X80REV01-PKU-09-00 PIC 9(9) COMP-3. 05 X80REV01-PKS-09-00 PIC S9(9) COMP-3. *---------------------------------------------------------------* * Prepare numeric values for Binary * COBOL USAGE Clause COMP or USAGE IS COMPUTATIONAL 05 X80REV01-BNU-09-00 PIC 9(9) COMP. 05 X80REV01-BNS-09-00 PIC S9(9) COMP. * *---------------------------------------------------------------* 05 FILLER PIC X(5). * *** X80REVB1 - End-of-Copy File - - - - - - - - - - - X80REVB1 * ***************************************************************** *
To review additional information about the COBOL Copy File click on one of the following Current Browser Site or SimoTime Web Site.
WIP2
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note: 1 Read the SYSUT1 Handmade Test Data and create SYSUT2 (a Record Sequential File with ASCII encoded and Binary content). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note: 2 Read SYSUT1 (a Record Sequential File with ASCII encoded and Binary content). Create SYSUT2 (a Record Sequential File with EBCDIC encoded and Binary content). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note: 3 Read SYSUT1 (a Record Sequential File with ASCII encoded and Binary content). Create SYSUT2 (a Key Sequenced Data Set with ASCII encoded and Binary content). |
Overview of Process to Create Primary Test Data |
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 Contact 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.
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 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 COBOL Connection for more examples of COBOL programming techniques and sample code.
Explore an Extended List of Software Technologies that are available for review and evaluation. The software technologies (or Z-Packs) provide individual programming examples, documentation and test data files in a single package. The Z-Packs are usually in zip format to reduce the amount of time to download.
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.
The following links will require an internet connection.
This suite of programs and documentation is available for download.
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 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 |
Validate or Diagnose |
Copyright © 1987-2025 SimoTime Technologies and Services All Rights Reserved |
When technology complements business |
http://www.simotime.com |