Validate or Diagnose
Review Results - Advanced Functions
  Table of Contents  v-24.01.01 - revres01.htm 
  Introduction
  Execute
  Convert RSEQ_EBC to RSEQ_ASC
  Execute, Successful
  Review, Successful
  Execute, S0C7 or RTS163
  Review, S0C7 or RTS163
  Identify Numeric Variances
  Convert RSEQ_ASC to KSDS_ASC
  Execute, Normal EOJ
  Review, Normal EOJ
  Validate or Diagnose
  Hex Dump
  Hex-Dump by Record, Normal EOJ
  Hex-Dump by Record, S0C7 or RTS163
  Hex-Dump by Record, Variances
  Hex-Peek by Field (RSEQ)
  Hex-Peek by Field (KSDS)
  Numeric Validations
  Normal EOJ with Good Data
  ABEND with S0C7 or RTS-163
  Identify Numeric Variances
  Programmatic File Compare
  Compare Physical Content for NE
  Compare Logical Content
  Prepare
  Prepare Programs & Jobs
  Prepare to Convert CSV to PCF
  Prepare to Convert PCF to CBL
  Prepare or Review Test Data
  Convert LCSV to RSEQ_ASC
  Convert RSEQ_ASC to RSEQ_EBC
  Convert RSEQ_ASC to KSDS_ASC
  Convert KSDS_ASC to LCSV
  Technical Details
  COBOL Copy File
  Create Test Data
  Summary
  Software Agreement and Disclaimer
  Downloads and Links
  Current Server or Internet Access
  Internet Access Required
  Glossary of Terms
  Contact or Feedback
  Company Overview
The SimoTime Home Page 

Table of Contents Previous Section Next Section Introduction

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

 

             
Entry Point
ZOS
Entry Point
Windows
   
   
CBLDAYJ1
jcl
M80TSTW8
cmd
Create primary test data
   
   
IEFBR14
Utility
IF Exist
statement
Delete previously created test data
   
   
 
 
   
   
 
 
   
   
SYSUT1
lseq
 
 
X80IMPW8
cbl
 
 
SYSUT2
rseq
Read the SYSUT1 Handmade Test Data and create SYSUT2 (RSEQ_ASC).
   
SYSUT1
rseq_asc
 
 
X80A2EW8
cbl
 
 
SYSUT2
rseq_ebc
Read the SYSUT1 Handmade Test Data and create SYSUT2 (RSEQ_ASC).
   
SYSUT1
rseq_asc
 
 
X80KSDW8
cbl
 
 
SYSUT2
KSDS_ASC
Read the SYSUT1 Handmade Test Data and create SYSUT2 (RSEQ_ASC).
   
   
   
End-of-File
Yes
No
   
call
 
 
   
   
   
CBLDAYC2
cbl
Calculate difference in days.
   
   
   
SIMODATE
cbl
Validate, format and convert the date.
   
   
   
   
EOJ
End-Of-Job
 
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-2024
SimoTime Technologies and Services
All Rights Reserved

Table of Contents Previous Section Next Section Execute

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

Table of Contents Previous Section Next Section Convert RSEQ_EBC to RSEQ_ASC

WIP2

Table of Contents Previous Section Next Section Execute, Successful

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.

Table of Contents Previous Section Next Section Review, Successful

WIP

To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.

Table of Contents Previous Section Next Section Execute, S0C7 or RTS163

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.

Table of Contents Previous Section Next Section Review, S0C7 or RTS163

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%

Table of Contents Previous Section Next Section Identify Numeric Variances

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                                  21                                                ZD
* VT80RSC2 X80REV01-ZDS-09-00                                  27                                                ZDS
* VT80RSC2 X80REV01-PKU-09-00                                  21                    0000001             0000002 PK
* VT80RSC2 X80REV01-PKS-09-00                                  39                                                PKS
* VT80RSC2 X80REV01-BNU-09-00                                  45                                                BN
* VT80RSC2 X80REV01-BNS-09-00                                  51                                                BNS
* VT80RSC2 Record count for SYSUT1                      000000006
* 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.<BR>The program will check the content of a
rem  * numeric string for proper numeric values and avoid the error
rem  * message of S0C7 or RTS163. The record will be identified as
rem  * containing a corrupt numeric value 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%

Table of Contents Previous Section Next Section Convert RSEQ_ASC to KSDS_ASC

WIP2

Table of Contents Previous Section Next Section Execute, Normal EOJ

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.

Table of Contents Previous Section Next Section Review, Normal EOJ

WIP

To review the hexadecimal dump information click on one of the following Current Browser Site or SimoTime Web Site.

Table of Contents Previous Section Next Section Validate or Diagnose

WIP1

Table of Contents Previous Section Next Section Hex Dump

WIP2

Table of Contents Previous Section Next Section Hex-Dump by Record, Normal EOJ

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.

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%

Table of Contents Previous Section Next Section Hex-Dump by Record, S0C7 or RTS163

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%

Table of Contents Previous Section Next Section Hex-Dump by Record, Variances

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%

Table of Contents Previous Section Next Section Hex-Peek by Field (RSEQ)

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-2023 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-Deciml (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

Table of Contents Previous Section Next Section Hex-Peek by Field (KSDS)

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 *-----------------------------------------------------------------------------------------------------*
* 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                 NBR=000000005
* VF80KSR7 (00058:00005)                      HEX=000000005F
* 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 *END-START--------------------------------------------------------------------------------------------*
* VF80KSC7 /START     000005 2
* VF80KSC7 /START     000005 00000000002
* VF80KSC7 *-----------------------------------------------------------------------------------------------------*
* VF80KSC7 000000010 - 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 000000011 - 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                 NBR=000000004
* VF80KSR7 (00058:00005)                      HEX=000000004F
* 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-Deciml (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\X80KSDD8.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

Table of Contents Previous Section Next Section Numeric Validations

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.

Table of Contents Previous Section Next Section Normal EOJ with Good Data

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                      000000011
* 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%

Table of Contents Previous Section Next Section ABEND with S0C7 or RTS-163

This job script 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%

Table of Contents Previous Section Next Section Identify Numeric Variances

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                                  21                                                ZD
* VT80RSC2 X80REV01-ZDS-09-00                                  27                                                ZDS
* VT80RSC2 X80REV01-PKU-09-00                                  21                    0000001             0000002 PK
* VT80RSC2 X80REV01-PKS-09-00                                  39                                                PKS
* VT80RSC2 X80REV01-BNU-09-00                                  45                                                BN
* VT80RSC2 X80REV01-BNS-09-00                                  51                                                BNS
* VT80RSC2 Record count for SYSUT1                      000000006
* 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.<BR>The program will check the content of a
rem  * numeric string for proper numeric values and avoid the error
rem  * message of S0C7 or RTS163. The record will be identified as
rem  * containing a corrupt numeric value 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%

Table of Contents Previous Section Next Section Programmatic File Compare

WIP2

Table of Contents Previous Section Next Section Compare Physical Content for NE

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

Table of Contents Previous Section Next Section Compare Logical Content

WIP3

Table of Contents Previous Section Next Section Prepare

WIP1

Table of Contents Previous Section Next Section Prepare Programs & Jobs

WIP2

Table of Contents Previous Section Next Section Prepare to Convert CSV to PCF

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

Table of Contents Previous Section Next Section Prepare to Convert PCF to CBL

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

Table of Contents Previous Section Next Section Prepare or Review Test Data

WIP2

Table of Contents Previous Section Next Section Convert LCSV to RSEQ_ASC

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

Table of Contents Previous Section Next Section Convert RSEQ_ASC to RSEQ_EBC

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

Table of Contents Previous Section Next Section Convert RSEQ_ASC to KSDS_ASC

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

Table of Contents Previous Section Next Section Convert KSDS_ASC to LCSV

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=X80EXTW8
rem  * *******************************************************************
rem  *              A Batch Job Script for a Windows System              *
rem  *          Provided by SimoTime Technologies and Services           *
rem  *           (C) Copyright 1987-2023 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  *                      * X80EXTW8 *
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

Table of Contents Previous Section Next Section Technical Details

WIP1

Table of Contents Previous Section Next Section COBOL Copy File

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.

Table of Contents Previous Section Next Section Create Test Data

WIP2

             
Entry Point
ZOS
Entry Point
Windows
   
   
CBLDAYJ1
jcl
M80TSTW8
cmd
Create primary test data
   
   
IEFBR14
Utility
IF Exist
statement
Delete previously created test data
   
   
 
 
   
   
 
 
   
   
SYSUT1
lseq
 
 
X80IMPW8
cbl
 
 
SYSUT2
rseq
Refer to Note-1
   
SYSUT1
rseq_asc
 
 
X80A2EW8
cbl
 
 
SYSUT2
rseq_ebc
Refer to Note-2
   
SYSUT1
rseq_asc
 
 
X80KSDW8
cbl
 
 
SYSUT2
KSDS_ASC
Refer to Note-3
   
   
   
End-of-File
Yes
No
   
call
 
 
   
   
   
CBLDAYC2
cbl
Calculate difference in days.
   
   
   
SIMODATE
cbl
Validate, format and convert the date.
   
   
   
   
EOJ
End-Of-Job
 
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

Table of Contents Previous Section Next Section Summary

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.

Table of Contents Previous Section Next Section 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.

Table of Contents Previous Section Next Section Downloads and Links

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.

Table of Contents Previous Section Next Section Current Server or Internet Access

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 Link to Internet 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 Link to Server icon.

Link to Internet   Link to Server   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.

Link to Internet   Link to Server   Explore the COBOL Connection for more examples of COBOL programming techniques and sample code.

Link to Internet   Link to Server   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.

Link to Internet   Link to Server   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.

Link to Internet   Link to Server   Explore The File Status Return Codes that are used to interpret the results of accessing VSAM data sets and/or QSAM files.

Table of Contents Previous Section Next Section Internet Access Required

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.

Table of Contents Previous Section Next Section Glossary of Terms

Link to Internet   Link to Server   Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.

Table of Contents Previous Section Next Section Contact or Feedback

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.

Table of Contents Previous Section Next Section Company Overview

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-2024
SimoTime Technologies and Services
All Rights Reserved
When technology complements business
http://www.simotime.com