Quality Assurance Testing
Create, Modify & Monitor Customer Data
  Table of Contents  v-24.01.01 - cusmk108.htm 
  Introduction
  QAT, an Overview
  Create a Suite of Test Files
  Step 1, Prepare Environment
  Step 2, Define Data using LSEQ
  Step 3, Define Data using RSEQ
  Step 4, Create ASC VSAM, KSDS
  Step 5, Convert ASC-KSDS to ASC-LCSV
  Step 6, Create an EBC-RSEQ File
  Step 7, Convert EBC-RSEQ to ASC-KSDS
  Step 8, Compare EBC-RSEQ and ASC-KSDS
  Step 9, Modify an ASC-KSDS
  Step 10 Compare EBC-RSEQ and ASC-KSDS
  Step 11 Create a List of Customer Numbers
  Step 12 Hex-Dump of ASC-KSDS Records
  Step 13, End of Job Processing
  Modify a Test File
  Review Records within KSDS
  The COBOL Copy File
  HTML Document for Record Structure
  Ancillary Tasks
  Set the Environment
  Display and Log Messages
  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

This Quality Assurance Tesing (QAT) process is used to describe how to create, modify and monitor a suite of VSAM, Key-Sequenced-Data-Sets (KSDS with customer information).

The following is an overview of the steps involved in a QAT cycle.

1 Create a new customer master file
2 Make a copy of the customer master file
3 Make a change to a customer master file
4 Compare the Customer Master file with the copy of the Customer Master file
  Tasks within a QAT to Create and change the Customer Master File

We have made a significant effort to ensure the documents and software technologies are correct and accurate. We reserve the right to make changes without notice at any time. The function delivered in this version is based upon the enhancement requests from a specific group of users. The intent is to provide changes as the need arises and in a timeframe that is dependent upon the availability of resources.

Copyright © 1987-2025
SimoTime Technologies and Services
All Rights Reserved

Table of Contents Previous Section Next Section QAT, an Overview

This section provides the detailed information needed to execute each step in a regression cycle.

             
CUSMK1W8
cmd
Set System and Shared Environment Variables
 
 
 
 
 
 
 
Job Step 01
 
 
 
 
 
 
 
Define System and Shared Environment Variables
 
ENV1BASE
cmd
Set System and Shared Environment Variables
 
 
 
 
 
 
 
Job Step 02
 
 
 
 
 
 
 
Create a Control File, LSEQ
 
instream
 
 
echo
cmd
 
 
OBFCTL80
lseq
Windows "echo" command
 
 
 
 
 
 
 
Job Step 03
 
 
 
 
 
 
 
Create a Control File, RSEQ
 
OBFCTL80
lseq
 
 
CV80ALAR
cbl
 
 
OBFCTL80
rseq
Convert LSEQ to RSEQ
 
 
 
 
 
 
 
Job Step 04
 
 
 
 
 
 
 
Populate CUSTMAST, a VSAM, KSDS
 
OBFDATC2
 
 
CUSTMAST
Populate the VSAM Data Set with Customer Data
OBFCTL80
 
 
OBFCTLC1
Sequential data file for surnames
LASTNAME
   
   
OBFDATR1
Sequential data file for surnames
FNAMEF01
   
   
Sequential data file for feminine first names
FNAMEM01
   
   
Sequential data file for masculine first names
STREET01
   
   
Sequential data file for street names
POSTCODE
   
   
Sequential data file for City, State and Zip codeinfo
 
 
 
 
 
 
 
Job Step 05
 
 
 
 
 
 
 
Convert ASC-KSDS to ASC-LCSV
 
CUSTMAST
 
 
CUSEXTC5
 
 
CUSTLCSV
Execute IDCAMS Program using DEFINE Function
   
CUSEXTR5
Define the VSAM Cluster for Baseline Copy
 
 
 
 
 
 
 
Job Step 06
 
 
 
 
 
 
 
Create an EBC-encoded Customer File
 
CUSKA512
 
 
CUKAREC1
 
 
CUSRE512
Convert ASC-KSDS to EBC-RSEQ
   
CUKARER1
Convert Record Content
 
 
 
 
 
 
 
Job Step 07
 
 
 
 
 
 
 
Convert EBC-encoded RSEQ to ASC-KSDS
 
CUSRE512
 
 
CUREKAC1
 
 
CUSKA512
Convert EBC-RSEQ to ASC-KSDS to ASC-KSDS
   
CUREKAR1
Convert Record Content
 
 
 
 
 
 
 
Job Step 08
 
 
 
 
 
 
 
Logical Compare EBC-RSEQ and ASC-KSDS, EQ
 
KSDS0512
   
   
CL0512C2
Compare Files using COBOL Programs
   
   
RSEQ0512
   
   
SIMOL32K
 
 
SYSLUSER
Post Results
 
 
 
 
 
 
 
Job Step 09
 
 
 
 
 
 
 
Modify ASC-KSDS to ASC-LCSV
 
CUSTLCSV
 
 
CUSIMPU5
 
 
CUSTMAST
Modify a record in ASC-KSDS
   
CUSIMPR5
Convert Record content
 
 
 
 
 
 
 
Job Step 10
 
 
 
 
 
 
 
Logical Compare EBC-RSEQ and ASC-KSDS, NE
 
KSDS0512
   
   
CL0512C2
Compare Files using COBOL Programs
   
   
RSEQ0512
   
   
SIMOL32K
 
 
SYSLUSER
Post Results
 
 
 
 
 
 
 
Job Step 11
 
 
 
 
 
 
 
Create a List of Customer Numbers
 
instream
 
 
echo
cmd
 
 
SYSUT3
lseq
Windows "echo" command
 
 
 
 
 
 
 
Job Step 12
 
 
 
 
 
 
 
Create Hex-Dump of user defined records
 
SYSUT1
   
   
CUHEXKC5
   
   
SYSUT2
Post Hex-Dump Information
   
   
SYSUT3
   
   
   
   
SYSOUT
Post Program execution notes
 
 
 
 
 
 
 
Job Step 13
 
 
 
 
 
 
 
End of Job processing
 
End of Job
 
Quality Assurance Testing, Create Test Files

Table of Contents Previous Section Next Section Create a Suite of Test Files

This is a multiple-step batch job (Windows Command File) that will create, modify and validate (File compare and Hex-Dump) a suite of test files that contain customer information and control specifications. This batch job will describe and demonstrate techniques that may be used when converting, sharing, reviewing or comparing data across a network of systems. The network may contain a variety of system architectures such as an IBM Mainframe System, a Microsoft Windows System or a Linux System. The following is a listing of the Windows Command File

@echo OFF
     set CmdName=CUSMK1W8
rem  * *******************************************************************
rem  *                Job Script - a Windows Command File                *
rem  *       This test case is provided by SimoTime Technologies         *
rem  *           (C) Copyright 1987-2020 All Rights Reserved             *
rem  *             Web Site URL:   http://www.simotime.com               *
rem  *                   e-mail:   helpdesk@simotime.com                 *
rem  * *******************************************************************
rem  *
rem  * Text   - Create a suite of Test Files with Customer Information.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1996
rem  *
rem  * The job will read various data files to get First and Last name
rem  * and City, State and Postal Code information. This information
rem  * is then used to create a Customer Master files.
rem  *
rem  * This program uses a Sequential ADD methodology. Therefore,
rem  * the records being added to the file need to be in sequence
rem  * by the record key. Since this does an OPEN for OUTPUT it is used
rem  * to create a new file.
rem  *
rem  * *******************************************************************
rem  * Step 1, Preparing the System and Job Environments...
rem  *
     call ..\ENV1BASE
     set AOK_Count=0
     set NOK_Count=0
rem  *
     call SimoNOTE "*******************************************************************************%CmdName% "
     call SimoNOTE "* Starting JobName %CmdName%"
     if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 01 of 13, Preparing the System and Job Environments"
rem  *
     set JobStatus=0
     set RecordCount=25000
rem  *   Override the default value for the SYSOUT Device
     set /A AOK_Count=%AOK_Count% + 1
     set SYSOUT=%BASELIB1%\LOGS\SYSOUT_%CmdName%.txt
     call SimoNOTE "* Job_Step 01 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 02 of 13, Create a Control File, ASC_LSEQ Format"
rem  *
     set OBFCTL80=%BASECAT%\ASC1\SIMOTIME.TEST.CUSCTL80.txt
     call SimoNOTE "* DataMAKE OBFCTL80 %OBFCTL80% "
rem  *
rem  ....:....1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
echo * A comment is identified by an asterisk (*) in position one (1)>%OBFCTL80%
echo * ..:....1....:....2....:....3....:....4....:....5....:....6....>>%OBFCTL80%
echo /CTL FLAGS=FFFF0100         >>%OBFCTL80%
echo /CTL RECORDS=%RecordCount%  >>%OBFCTL80%
rem  *
     if exist %OBFCTL80% (
         set /A AOK_Count=%AOK_Count% + 1
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 02 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 03 of 13, Create a Control File, ASC_RSEQ Format"
rem  *
     set GETLS080=%OBFCTL80%
     set PUTRS080=%BASECAT%\ASC1\SIMOTIME.TEST.CUSCTL80.DAT
     if exist %PUTRS080% del %PUTRS080%
     call SimoNOTE "* DataTAKE GETLS080 %GETLS080% "
     call SimoNOTE "* DataMAKE PUTRS080 %PUTRS080% "
     run CV80ALAR
     if exist %PUTRS080% (
         set /A AOK_Count=%AOK_Count% + 1
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 03 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 04 of 13, Create the 1st Customer File"
rem  *
     set FNAMEM01=%BASECAT%\APPL\SIMOTIME.DATA.FNAMEM01.DAT
     set FNAMEF01=%BASECAT%\APPL\SIMOTIME.DATA.FNAMEF01.DAT
     set LASTNAME=%BASECAT%\APPL\SIMOTIME.DATA.LASTNAME.DAT
     set POSTCODE=%BASECAT%\APPL\SIMOTIME.DATA.POSTCODE.DAT
     set STREET01=%BASECAT%\APPL\SIMOTIME.DATA.STREET01.DAT
     set OBF1CUST=%BASECAT%\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set OBFCTL80=%PUTRS080%
rem  *
     call SimoNOTE "* DataCNTL OBFCTL80 %OBFCTL80% "
     call SimoNOTE "* DataTAKE FNAMEM01 %FNAMEM01% "
     call SimoNOTE "* DataTAKE FNAMEF01 %FNAMEF01% "
     call SimoNOTE "* DataTAKE LASTNAME %LASTNAME% "
     call SimoNOTE "* DataTAKE POSTCODE %POSTCODE% "
     call SimoNOTE "* DataTAKE STREET01 %STREET01% "
     call SimoNOTE "* DataMAKE OBF1CUST %OBF1CUST% "
rem  *
     run OBFDATC2
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced DataSet %OBF1CUST% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 04 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 05 of 13, Convert ASC-KSDS to ASC-LCSV"
     set CUSTMAST=%BASECAT%\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set CUSTLCSV=%BASECAT%\XLSS\SIMOTIME.TEST.CUSTQAT5.csv
     if exist %CUSTLCSV% del %CUSTLCSV%
rem  *
     call SimoNOTE "* CUSTMAST %CUSTMAST% "
     call SimoNOTE "* CUSTLCSV %CUSTLCSV% "
rem  *
     run CUSEXTC5
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced DataSet %CUSTLCSV% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 05 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 06 of 13, Create an EBC-encoded Customer File"
     set CUSKA512=%BASECAT%\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set CUSRE512=%BASECAT%\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
rem  *
     call SimoNOTE "* CUSKA512 %CUSKA512% "
     call SimoNOTE "* CUSRE512 %CUSRE512% "
rem  *
     run CUKAREC1
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced DataSet %CUSRE512% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 06 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 07 of 13, Convert EBC-encoded RSEQ to ASC-encoded VSAM, KSDS"
     set CUSRE512=%BASECAT%\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
     set CUSKA512=%BASECAT%\ASC1\SIMOTIME.TEST.CUSTQAT2.DAT
rem  *
     call SimoNOTE "* CUSRE512 %CUSRE512% "
     call SimoNOTE "* CUSKA512 %CUSKA512% "
rem  *
     run CUREKAC1
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced DataSet %CUSKA512% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 07 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 08 of 11, Logical Compare EBC-encoded RSEQ and ASC-encoded KSDS, EQ"
     set KSDS0512=%BASECAT%\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set RSEQ0512=%BASECAT%\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
     set SYSLUSER=%BASELIB1%\LOGS\SYSLUSER_%CmdName%_EQ.htm
rem  *
     call SimoNOTE "* KSDS0512 %KSDS0512% "
     call SimoNOTE "* RSEQ0512 %RSEQ0512% "
     call SimoNOTE "* SYSLUSER %SYSLUSER% "
rem  *
     run CL0512C2
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced an EQUAL Result for File COMPARE Function"
         call SimoNOTE "* Data_Log %SYSLUSER% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
         call SimoNOTE "* Produced a NOT EQUAL Result for File COMPARE Function"
     )
     call SimoNOTE "* Job_Step 08 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 09 of 13, Modify an ASC-encoded KSDS"
     set CUSTLCSV=%BaseLib1%\DATA\XLSS\SIMOTIME.TEST.CUSTQAT3.csv
     set CUSTMAST=%BaseLib1%\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
rem  *
     call SimoNOTE "* DataTake CUSTLCSV %CUSTLCSV% "
     call SimoNOTE "* DataMake CUSTMAST %CUSTMAST% "
rem  *
     run CUSIMPU5
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Modified %CUSTMAST% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 09 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 10 of 13, Logical Compare EBC-encoded RSEQ and ASC-encoded KSDS, NE"
     set KSDS0512=%BASECAT%\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set RSEQ0512=%BASECAT%\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
     set SYSLUSER=%BASELIB1%\LOGS\SYSLUSER_%CmdName%_NE.htm
rem  *
     call SimoNOTE "* KSDS0512 %KSDS0512% "
     call SimoNOTE "* RSEQ0512 %RSEQ0512% "
     call SimoNOTE "* SYSLUSER %SYSLUSER% "
rem  *
     run CL0512C2
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced an EQUAL Result for File COMPARE Function"
         call SimoNOTE "* Data_Log %SYSLUSER% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
         call SimoNOTE "* Produced a NOT EQUAL Result for File COMPARE Function"
     )
     call SimoNOTE "* Job_Step 10 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SIMONOTE "* --------------------------------------------------------------------------- *"
     call SIMONOTE "* Job_Step 11 of 13, Create a file that is a list of Customer Numbers"
     set SYSUT1=%BaseLib1%\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set SYSUT2=%BaseLib1%\DATA\WRK1\SIMOTIME.TEST.CUSHX512.txt
     set SYSUT3=%BaseLib1%\DATA\WRK1\SIMOTIME.TEST.USERKEYS.txt
     call SIMONOTE "* DataKEYS SYSUT3 %SYSUT3% "
rem  *    ....:....1....:....2....:....3....:....4....:....5....:....6....
     echo /USERKEY   000000000010>%SYSUT3%
     echo /USERKEY   123456789012>>%SYSUT3%
     echo /USERKEY   000000000225>>%SYSUT3%
     echo /USERKEY   000000000194>>%SYSUT3%
     echo /USERKEY   000000000020>>%SYSUT3%
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced %SYSUT3% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 11 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
     call SIMONOTE "* --------------------------------------------------------------------------- *"
     call SIMONOTE "* Job_Step 12 of 13, Execute the Hex-Dump Program"
     set SYSUT1=%BaseLib1%\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set SYSUT2=%BaseLib1%\DATA\WRK1\SIMOTIME.TEST.CUSHX512.txt
     set SYSUT3=%BaseLib1%\DATA\WRK1\SIMOTIME.TEST.USERKEYS.txt
     call SIMONOTE "* DataTAKE SYSUT1 %SYSUT1% "
     call SIMONOTE "* DataDUMP SYSUT2 %SYSUT2% "
     call SIMONOTE "* DataKEYS SYSUT3 %SYSUT3% "
     run CUHEXKC5
     if %ERRORLEVEL% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
         call SimoNOTE "* Produced %SYSUT2% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     call SimoNOTE "* Job_Step 12 of 13, End of Step, NOKcount=%NOK_Count%, AOKcount=%AOK_Count% "
rem  *
:EOJTAG
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "* Job_Step 13 of 13, End of Job processing"
     call SimoNOTE "* SIMONOTE Job Log is %SIMONOTE% "
     if %NOK_Count% EQU 0 (
         set /A AOK_Count=%AOK_Count% + 1
        call SimoNOTE "* Produced %SYSUT2% "
        ) else (
         set /A NOK_Count=%NOK_Count% + 1
     )
     if "%NOK_Count%" == "0" goto EOJAOK
:EOJNOK
     call SimoNOTE "* ABENDING JobName %CmdName% "
     goto :EOJEND
:EOJAOK
     call SimoNOTE "* Finished JobName %CmdName% "
     goto :EOJEND
:EOJEND
     call SimoNOTE "* Total Job Step Count for AOK is %AOK_Count% "
     call SimoNOTE "* Total Job Step Count for NOK is %NOK_Count% "
     call SimoNOTE "* Conclude SYSOUT is %SYSOUT% "
     if not "%SIMOGENS%" == "BATCH" pause

Table of Contents Previous Section Next Section Step 1, Prepare Environment

This Job Step will prepare the system and Job environment.

Table of Contents Previous Section Next Section Step 2, Define Data using LSEQ

This Job Step will create a control file containing the program behavior specifications for how the customer information is to be generated and the data parameters that defined the number of records to be created. The content of the control file is determined from instream data included within the job script and the format of the control file will be ASCII/Text or Line Sequential (LSEQ).

1. Map the Program File names to the Physical File names.
1.1. OBFCTL80 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSCTL80.txt
2. Use the Windows "ECHO" command to pipe (or write) records to a control file. The following two statements determine how the customer information is generated and the number of records to be included in the Customer Master file to be created in a subsequent Job Step.
2.1. /CTL FLAGS=FFFF0100
2.2. /CTL RECORDS=25000
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 3, Define Data using RSEQ

This Job Step will create a control file. The format of the new control file will be a Record Sequential (RSEQ) file. The new control file is created by doing a simple file format conversion of the LSEQ File created in the previous job step.

1. Map the Program File names to the Physical File names.
1.1. GETLS080 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSCTL80.txt
1.2. PUTRS080 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSCTL80.DAT
2. Perform a file format conversion using a COBOL program named CV80ALAR.
2.1. Read the Line Sequential (or ASCII/Text) file created in the previous Job Step.
2.2. Write the Record Content to a new Record Sequential File.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 4, Create ASC VSAM, KSDS

This Job Step will create a new ASCII-encoded, VSAM, KSDS that contains customer information. The Maximum record length is 512 bytes. The key length is 12 bytes and starts in position 1. The record content will contain numeric values that are stored in various formats suct as Zoned-decimal, Packed-decimal and Binary.

1. Map the Program File names to the Physical File names.
1.1. OBFCTL80 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSCTL80.DAT
1.2. FNAMEM01 c:\SIMOSAM1\DEVL\DATA\APPL\SIMOTIME.DATA.FNAMEM01.DAT
1.3. FNAMEF01 c:\SIMOSAM1\DEVL\DATA\APPL\SIMOTIME.DATA.FNAMEF01.DAT
1.4. LASTNAME c:\SIMOSAM1\DEVL\DATA\APPL\SIMOTIME.DATA.LASTNAME.DAT
1.5. POSTCODE c:\SIMOSAM1\DEVL\DATA\APPL\SIMOTIME.DATA.POSTCODE.DAT
1.6. STREET01 c:\SIMOSAM1\DEVL\DATA\APPL\SIMOTIME.DATA.STREET01.DAT
1.7. OBF1CUST c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
2. Generate a new Customer Master File using a COBOL program named OBFDATC2.
2.1. Read the Control file created in the previous Job Step.
2.2. Read the Record Sequential files containing customer data and build a new record.
2.3. Write the Record Content to a new ASC-encoded, VSAM, KSDS.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 5, Convert ASC-KSDS to ASC-LCSV

This Job Step will convert the ASCII-encoded VSAM, KSDS to an ASC-encoded Line Sequential (LSEQ) file. The record structure will be a Comma-Separated-Values (CSV) format.

1. Map the Program File names to the Physical File names.
1.1. CUSTMAST c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
1.2. CUSTLCSV c:\SIMOSAM1\DEVL\DATA\XLSS\SIMOTIME.TEST.CUSTQAT5.csv
2. Convert the ASCII-encoded, VSAM, KSDS and create a new ASCII/Text file using a COBOL program named CUSEXTC5.
2.1. Read the ASCII-encoded, VSAM, KSDS containing customer data and build a new record.
2.2. Write the Record Content into a new ASCII/Text file containing variable length fields and records.
2.2.1. The output File Format is Line Sequential.
2.2.2. The Record Format is Comma-Delimited-Values (or CSV) format.
2.2.2.1. Text strings will maintain their ASCII-Encoding.
2.2.2.2. Numeric strings that are stored as Packed-Decimal of Binary will be converted to a Zoned Decimal (or text) format with a separate byte for the sign. If required, an explicit decimal point will be inserted.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 6, Create an EBC-RSEQ File

This Job Step will convert the ASCII-encoded VSAM, KSDS to an EBCDIC-encoded Record Sequential (RSEQ) file. The record structure will be based on the field definitions from a COBOL Copy File.

1. Map the Program File names to the Physical File names.
1.1. CUSKA512 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
1.2. CUSRE512 c:\SIMOSAM1\DEVL\DATA\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
2. Convert the ASCII-encoded, VSAM, KSDS and create a new EBCDIC-encoded Record Sequential file using a COBOL program named CUKAREC1.
2.1. Read the ASCII-encoded, VSAM, KSDS containing customer data and build a new record.
2.2. Write the Record Content into a new EBCDIC-encoded file containing fixed length fields and records.
2.2.1. The output File Format is Record Sequential.
2.2.2. The Record Format contains concatenated fields of fixed length.
2.2.2.1. Text strings will be converted from ASCII-Encoding to EBCDIC-encoding.
2.2.2.2. Numeric strings that are stored as Packed-Decimal of Binary will maintain their numeric formats.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 7, Convert EBC-RSEQ to ASC-KSDS

This Job Step will convert an EBCDIC-encoded Record Sequential (RSEQ) file to an ASCII-encoded VSAM, KSDS. The record structure will be based on the field definitions from a COBOL Copy File.

1. Map the Program File names to the Physical File names.
1.1. CUSRE512 c:\SIMOSAM1\DEVL\DATA\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
1.2. CUSKA512 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT2.DAT
2. Convert the EBCDIC-encoded Record Sequential file to a new ASCII-encoded, VSAM, KSDS using a COBOL program named CUREKAC1.
2.1. Read the EBCDIC-encoded, Record Sequential file containing customer data and build a new record.
2.2. Write the converted Record Content into a new ASCII-encoded VSAM, KSDS containing fixed length fields and records.
2.2.1. The output File Format is Record Sequential.
2.2.2. The Record Format contains concatenated fields of fixed length.
2.2.2.1. Text strings will be converted from EBCDIC-Encoding to ASCII-encoding.
2.2.2.2. Numeric strings that are stored as Packed-Decimal of Binary will maintain their numeric formats.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 8, Compare EBC-RSEQ and ASC-KSDS

This Job Step will do a Logical Compare of an EBC-encoded, RSEQ File with an ASC-encoded, VSAM, KSDS.This job step is expected to produce an "EQUAL" result for the compare.

1. Map the Program File names to the Physical File names.
1.1. KSDS0512 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
1.2. RSEQ0512 c:\SIMOSAM1\DEVL\DATA\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
1.3. SYSLUSER c:\SIMOSAM1\DEVL\LOGS\SYSLUSER_CUSMK1W8_EQ.htm
2. Compare the ASCII-encoded, VSAM, KSDS with the EBCDIC-encoded Record Sequential file using a COBOL program named CL0512C2.
2.1. Read the EBCDIC-encoded, Record Sequential file containing customer data and build a new record.
2.2. Compare the records and post the results to the SYSLUSER file.
2.2.1. The output File Format is Line Sequential.
2.2.2. The output Record Format contains embedded HTML commands.
2.2.3. The output File (SYSLUSER) may be viewed using a browser of choice.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 9, Modify an ASC-KSDS

This Job Step will use the customer information stored in an ASC-encoded, Line Sequential File to update the customer information in an ASC-encoded, VSAM, KSDS Data Set.

1. Map the Program File names to the Physical File names.
1.1. CUSTLCSV c:\SIMOSAM1\DEVL\DATA\XLSS\SIMOTIME.TEST.CUSTQAT3.csv
1.2. CUSTMAST c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
2. Convert the EBCDIC-encoded Record Sequential file to a new ASCII-encoded, VSAM, KSDS using a COBOL program named CUSIMPU5.
2.1. Read the ASCII-encoded, Line Sequential file containing customer data and build a new record.
2.2. Write the converted Record Content into a new ASCII-encoded VSAM, KSDS containing fixed length fields and records.
2.2.1. The output File Format is VSAM, KSDS.
2.2.2. The out Record Format contains concatenated fields of fixed length.
2.2.2.1. Text strings will maintain their ASCII-encoding.
2.2.2.2. Numeric strings that are stored as Packed-Decimal of Binary will maintain their numeric formats based on the field definition within a COBOL Copy File.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 10 Compare EBC-RSEQ and ASC-KSDS

This Job Step will do a Logical Compare of an EBC-encoded, RSEQ, File with an ASC-encoded, VSAM, KSDS. This job step is expected to produce an "NOT EQUAL" result for the compare.

1. Map the Program File names to the Physical File names.
1.1. KSDS0512 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
1.2. RSEQ0512 c:\SIMOSAM1\DEVL\DATA\EBC1\SIMOTIME.TEST.CUSTQAT3.DAT
1.3. SYSLUSER c:\SIMOSAM1\DEVL\LOGS\SYSLUSER_CUSMK1W8_NE.htm
2. Compare the ASCII-encoded, VSAM, KSDS with the EBCDIC-encoded Record Sequential file using a COBOL program named CL0512C2.
2.1. Read the EBCDIC-encoded, Record Sequential file containing customer data and build a new record.
2.2. Compare the records and post the results to the SYSLUSER file.
2.2.1. The output File Format is Line Sequential.
2.2.2. The output Record Format contains embedded HTML commands.
2.2.3. The output File (SYSLUSER) may be viewed using a browser of choice.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 11 Create a List of Customer Numbers

This Job Step will create a control file containing a list of customer numbers. The content of the control file is determined from instream data included within the job script and the format of the control file will be ASCII/Text or Line Sequential (LSEQ).

1. Map the Program File names to the Physical File names.
1.1. SYSUT3 c:\SIMOSAM1\DEVL\DATA\WRK1\SIMOTIME.TEST.USERKEYS.txt
2. Use the Windows "ECHO" command to pipe (or write) records to a control file. The following list of customer numbers will be used to access records within the Customer File (or VSAM, KSDS).
2.1. /USERKEY 000000000010
2.2. /USERKEY 123456789012
2.3. /USERKEY 000000000225
2.4. /USERKEY 000000000194
2.5. /USERKEY 000000000020
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 12 Hex-Dump of ASC-KSDS Records

This Job Step will read an ASC-encoded, VSAM, KSDS (SYSUT1) and produce a log file of Hex-Dump information (SYSUT2) based on the user-defined record keys provided in a control file (SYSUT3).

1. Map the Program File names to the Physical File names.
1.1. DataTAKE SYSUT1 c:\SIMOSAM1\DEVL\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
1.2. DataDUMP SYSUT2 c:\SIMOSAM1\DEVL\DATA\WRK1\SIMOTIME.TEST.CUSHX512.txt
1.3. DataKEYS SYSUT3 c:\SIMOSAM1\DEVL\DATA\WRK1\SIMOTIME.TEST.USERKEYS.txt
2. Compare the ASCII-encoded, VSAM, KSDS with the EBCDIC-encoded Record Sequential file using a COBOL program named CUHEXKC5.
2.1. Read an ASC-encoded, VSAM, KSDS and write customer information in HEX-Dump format to a log file.
2.2. Compare the records and post the results to the SYSLUSER file.
2.2.1. The output File Format is Line Sequential.
2.2.2. The output Record Format contains Hex-Dump information along with a possible ASCII and EBCDIC translation.
2.2.3. The output File may be viewed using a text editor of choice.
3. Validate the status of the Job Step Execution

 

Table of Contents Previous Section Next Section Step 13, End of Job Processing

This Job Step will determine the completion status of previous job steps within this batch job. The results will be posted to a user display and a job log file.

1. Post the End-of-Job information to the Job Log file using a call to SIMONOTE.cmd.
1.1. SIMONOTE Job Log is c:\SIMOSAM1\DEVL\LOGS\JOBLOG_SIMONOTE.txt
2. The following is an example of information that may be poster to the job log file.
2.1. ABENDING JobName CUSMK1W8
2.2. Total Job Step Count for AOK is 11
2.3. Total Job Step Count for NOK is 2
2.4. Conclude SYSOUT is c:\SIMOSAM1\DEVL\LOGS\SYSOUT_CUSMK1W8.txt
3. Review the job log file usung a text editor of choice

 

Table of Contents Previous Section Next Section Modify a Test File

This Batch Job will use the customer information stored in an ASC-encoded, Line Sequential File to update the customer information in an ASC-encoded, VSAM, KSDS Data Set.

@echo OFF
     set CmdName=CUSMD1W5
rem  * *******************************************************************
rem  *                Job Script - a Windows Command File                *
rem  *       This test case is provided by SimoTime Technologies         *
rem  *           (C) Copyright 1987-2020 All Rights Reserved             *
rem  *             Web Site URL:   http://www.simotime.com               *
rem  *                   e-mail:   helpdesk@simotime.com                 *
rem  * *******************************************************************
rem  *
rem  * Text   - Read a sequential CSV file, modify a Customer Master.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1996
rem  *
rem  * The job will read a line sequential (LSEQ) file that will
rem  * contain all text data with the fields separated by a comma and
rem  * update (or modify) a Customer Master File (KSDS).
rem  *
rem  * Numeric fields that are defined as packed or binary will be
rem  * converted.
rem  *
rem  * For this test case both files are ASCII encoded.
rem  *
rem  *
rem  *    ************
rem  *    * CUSMD1W5 *
rem  *    ********cmd*
rem  *         *
rem  *         *
rem  *    ************     ************
rem  *    * SIMONOTE *-----*  JOBLOG  *
rem  *    ********cmd*     *******lseq*
rem  *         *
rem  *         *
rem  *    ************
rem  *    *   run    *****************************
rem  *    *******mifo*                           *
rem  *         *                                 *
rem  *         *                                 *
rem  *         *                                 *
rem  *         *           ************     ************     ************
rem  *         *           * CUSTLCSV ******* CUSIMPC5 ******* CUSTMAST *
rem  *         *           *******lseq*     ********cbl*     *******ksds*
rem  *         *                                 *
rem  *         *                            ************
rem  *         *                            * CUSIMPR5 *
rem  *         *                            ********cbl*
rem  *         *
rem  *    ************
rem  *    *   EOJ    *
rem  *    ************
rem  *
rem  * *******************************************************************
rem  * Step 1 of 3, Set Environment Variables for File Names,
rem  *              Delete any previously created file...
rem  *
     call ..\ENV1BASE %CmdName%
rem  *
     call SimoNOTE "*******************************************************************************%CmdName% "
     call SimoNOTE "Starting JobName %CmdName%, User is %USERNAME%"
rem  *
     call SimoNOTE "Job_Step 1 of 3, Preparing the System and Job environment"
     set JobStatus=0
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.txt
     set CUSTLCSV=%BaseLib1%\DATA\XLSS\SIMOTIME.TEST.CUSTQAT3.csv
     set CUSTMAST=%BaseLib1%\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "Job_Step 2 of 3, Import Customer Info, create a new KSDS file"
     call SimoNOTE "DataTake LSA CUSTLCSV=%CUSTLCSV% "
     call SimoNOTE "DataMake KSA CUSTMAST=%CUSTMAST% "
     run CUSIMPU5
     if not "%ERRORLEVEL%" == "0" set JobStatus=10
     if not "%JobStatus%" == "0" goto EOJTAG
     if not exist %CUSTMAST% set JobStatus=0020
     if not "%JobStatus%" == "0000" goto EOJTAG
rem  *
:EOJTAG
     call SimoNOTE "* --------------------------------------------------------------------------- *"
     call SimoNOTE "Job_Step 3 of 3, End of Job processing"
     if not "%JobStatus%" == "0" goto EOJNOK
:EOJAOK
     call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus% "
     goto :EOJEND
:EOJNOK
     call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus% "
:EOJEND
     call SimoNOTE "Conclude SYSOUT is %SYSOUT%"
     if not "%1" == "nopause" pause

Table of Contents Previous Section Next Section Review Records within KSDS

WIP

@echo OFF
     set CmdName=CUSHX1W5
rem  * *******************************************************************
rem  *                Job Script - a Windows Command File                *
rem  *       This test case is provided by SimoTime Technologies         *
rem  *           (C) Copyright 1987-2020 All Rights Reserved             *
rem  *             Web Site URL:   http://www.simotime.com               *
rem  *                   e-mail:   helpdesk@simotime.com                 *
rem  * *******************************************************************
rem  *
rem  * Text   - Read KSDS, write HEX-Dump RSEQ.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1996
rem  *
rem  * The job will read an existing VSAM, KSDS and write HEX-Dump
rem  * information to a new Line Sequential (LSEQ) file.
rem  *
rem  *    ************
rem  *    * CUSHX1W5 *
rem  *    ********cmd*
rem  *         *
rem  *         *
rem  *    ************
rem  *    * ENV1BASE *
rem  *    ********cmd*
rem  *         *
rem  *         *
rem  *    ************     ************
rem  *    * SIMONOTE *-----*  JOBLOG  *
rem  *    ********cmd*     *******lseq*
rem  *         *
rem  *         *
rem  *    ************     ************
rem  *    *   ECHO   *-----*  JOBLOG  *
rem  *    ********cmd*     *******lseq*
rem  *         *
rem  *         *
rem  *    ************
rem  *    *   RUN    *---------------------------*
rem  *    ********rts*                           *
rem  *         *           ************     ************     ************
rem  *         *           *  SYSUT1  *--*--* CUHEXKC5 *--*--*  SYSUT2  *
rem  *         *           *******ksds*  *  ********cbl*  *  *******lseq*
rem  *         *                         *                *
rem  *         *           ************  *                *  ************
rem  *         *           *  SYSUT3  *--*                *--*  SYSOUT  *
rem  *         *           *******lseq*                      *******lseq*
rem  *    ************
rem  *    *   EOJ    *
rem  *    ************
rem  *
rem  *    Note: The ENV1BASE CMD File is called to set the System
rem  *          and Shared Environment Variables.
rem  *    Note: The SIMONOTE CMD File is called to post user messages
rem  *          to a display device and a log file.
rem  *
rem  * *******************************************************************
rem  * Step 1, Set the System and Shared Environment Variables
rem  *         Delete any previously created work  file...
rem  *
     call ..\ENV1BASE
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.txt
     set JobStatus=0
rem  *
     call SIMONOTE "*******************************************************************************%CmdName% "
     call SIMONOTE "* Job_Step 01 of 04, Preparing the System and Job Environment"
     set SYSUT1=%BaseLib1%\DATA\ASC1\SIMOTIME.TEST.CUSTQAT1.DAT
     set SYSUT2=%BaseLib1%\DATA\WRK1\SIMOTIME.TEST.CUSHX512.txt
     set SYSUT3=%BaseLib1%\DATA\WRK1\SIMOTIME.TEST.USERKEYS.txt
rem  *
     call SIMONOTE "* --------------------------------------------------------------------------- *"
     call SIMONOTE "* Job_Step 02 of 04, Create a file that is a list of Customer Numbers"
     set SYSWORK=%BaseLib1%\DATA\TXT1\SIMOTIME.HEXDUMP.USERKEYS.txt
     if exist %SYSWORK% del %SYSWORK%
rem  * ..:....1....:....2....:....3....:....4....:....5....:....6....
     echo /USERKEY   000000000010>%SYSUT3%
     echo /USERKEY   123456789012>>%SYSUT3%
     echo /USERKEY   000000000225>>%SYSUT3%
     echo /USERKEY   000000000194>>%SYSUT3%
     echo /USERKEY   000000000020>>%SYSUT3%
     if not "%ERRORLEVEL%" == "0" set JobStatus=30
     if not "%JobStatus%" == "0" goto EOJTAG
rem  *
     call SIMONOTE "* --------------------------------------------------------------------------- *"
     call SIMONOTE "* Job_Step 03 of 04, Execute the Hex-Dump Program"
     call SIMONOTE "* DataTake is SYSUT1=%SYSUT1%"
     call SIMONOTE "* DataDump is SYSUT2=%SYSUT2%"
     call SIMONOTE "* DataKeys is SYSUT3=%SYSUT3%"
     run CUHEXKC5
     if not "%ERRORLEVEL%" == "0" set JobStatus=0010
     if not "%JobStatus%" == "0" goto EOJTAG
rem  *
:EOJTAG
     call SIMONOTE "* --------------------------------------------------------------------------- *"
     call SIMONOTE "* Job_Step 04 of 04, End of Job processing"
     if "%JobStatus%" == "0" goto :EOJAOK
:EOJNOK
     call SIMONOTE "* ABENDING CmdName %CmdName%, Job Status is %JobStatus% "
     goto :EOJEND
:EOJAOK
     call SIMONOTE "* Finished CmdName %CmdName%, Job Status is %JobStatus% "
     goto :EOJEND
:EOJEND
     call SIMONOTE "* Conclude SYSOUT is  %SYSOUT% "
     if not "SIMOGENS" == "BATCH" pause

Table of Contents Previous Section Next Section The COBOL Copy File

The following (CUSTCB01) is a COBOL copy file that is used to define the record structure.

      *****************************************************************
      *               CUSTCB01.cpy - a COBOL Copy Member              *
      *    Customer Master File used for Quality Assurance Testing    *
      *       This is a VSAM Keyed-Sequential-Data-Set or KSDS        *
      *         Copyright (C) 1987-2020 SimoTime Technologies         *
      *                     All Rights Reserved                       *
      *              Provided by SimoTime Technologies                *
      *        Our e-mail address is: helpdesk@simotime.com           *
      *     Also, visit our Web Site at http://www.simotime.com       *
      *****************************************************************
      *    CUST-RECORD size is 512 bytes.
      *    RMIN is 512    RMAX is 512
      *    KPOS is   1    KLEN is 012
      *
....:.*..1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
       01  CUST-RECORD.
           05  CUST-NUMBER             PIC X(12).                       col A
           05  CUST-DATA.
               10  CUST-STATUS         PIC X.                           col B
               10  CUST-NAME.
                   15  CUST-LAST-NAME  PIC X(28).                       col C
                   15  CUST-FIRST-NAME PIC X(20).                       col D
                   15  CUST-MID-NAME   PIC X(20).                       col E
               10  CUST-ADDRESS-1      PIC X(48).                       col F
               10  CUST-ADDRESS-2      PIC X(48).                       col G
               10  CUST-CITY           PIC X(28).                       col H
               10  CUST-STATE          PIC X(28).                       col I
               10  CUST-POSTAL-CODE    PIC X(12).                       col J
               10  CUST-PHONE-HOME     PIC X(18).                       col K
               10  CUST-PHONE-WORK     PIC X(18).                       col L
               10  CUST-PHONE-CELL     PIC X(18).                       col M
               10  CUST-CREDIT-LIMIT   PIC 9(7)        COMP-3.          col N
               10  CUST-DISCOUNT       OCCURS 3 TIMES.
                   15  CUST-DISCOUNT-CODE  PIC S9(3)   COMP.            col ORU
                   15  CUST-DISCOUNT-RATE  PIC S9(2)V999.               col PSV
                   15  CUST-DISCOUNT-DATE  PIC X(8).                    col QTW
               10  CUST-LADATE         PIC X(8).                        col X
               10  CUST-LATIME         PIC X(8).                        col Y
               10  CUST-TOKEN          PIC 9(3).                        col Z
               10  FILLER              PIC X(145).
      *
      ***  CUSTCB01 - End-of-Copy File - - - - - - - - - - - CUSTCB01 *
      *****************************************************************
      *

Table of Contents Previous Section Next Section HTML Document for Record Structure

The SimoTime Technologies have the ability to scan a COBOL copy file and create an HTML document of a record structure or record layout. The HTML documentation provides information that is not easy to obtain by viewing the COBOL copy file. For example, the physical position of a field within a record as calculated during the copy file scan and placed in the HTML document.

Link to Internet   Link to Server   Explore the Record Structure for the Customer Master File by viewing a generated HTML document based on a User-Defined COBOL copyfile.

Table of Contents Previous Section Next Section Ancillary Tasks

This section provides technical detail about the supporting scripts and programs used or called by the primary jobs.

Table of Contents Previous Section Next Section Set the Environment

A command file (ENV1BASE.cmd) is called from other command files to set commonly used environment variables. This provides a single point of definition. The following is a listing of the contents of the command file.

@echo OFF
rem  * *******************************************************************
rem  *               ENV1BASE.cmd - a Windows Command File               *
rem  *        This program is provided by SimoTime Technologies          *
rem  *           (C) Copyright 1987-2021 All Rights Reserved             *
rem  *             Web Site URL:   http://www.simotime.com               *
rem  *                   e-mail:   helpdesk@simotime.com                 *
rem  * *******************************************************************
rem  *
rem  * Text   - Provide a single point to set common environment variables.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1996
rem  *
rem  * Set the commonly used environment variables. This is used to provide
rem  * a single point for managing the commonly used environment variables.
rem  *
     set SimoLIBR=c:\SimoLIBR
     set BASELIB1=c:\SIMOSAM1\DEVL
     set BASELIB8=c:\SimoSAM8
     set BaseWIP1=c:\SimoSAM1\WIP1
     set DATAZERO=c:\SIMODATA\DEVL\DATA\ZERO
     set BASEAPP=%BaseLib1%
     set BASESYS=%BaseLib1%\SYS1
     set BASECAT=%BaseLib1%\DATA
     set UMAPALIB=%BASECAT%\ASC1
     set UMAPELIB=%BASECAT%\EBC1
     set SYSLOG=%BASESYS%\LOGS\SYSLOG_USER.DAT
     set SYSOUT=%BASEAPP%\LOGS\SYSOUT_SIMSAM01.txt
     set SLZMSG=%BASEAPP%\LOGS\SLZMSG_USER.TXT
     set PostNOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.TXT
     set SIMONOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.txt
     set USERPOST=%BASEAPP%\LOGS\ASSIGNED_USER_POST_FILE.txt
     if [%1]==[] goto NO_POST
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%1.txt
     call SIMONOTE "+ ENV1BASE *"
     call SIMONOTE "+ ENV1BASE ********************************************************************%1"
     call SIMONOTE "+ ENV1BASE is preparing the System Environment..."
     call SIMONOTE "+ SIMOLIBR is %SIMOLIBR%"
     call SIMONOTE "+ MIFOSYS1 is %MIFOSYS1%"
     call SIMONOTE "+ BASELIB1 is %BASELIB1%"
:NO_POST
     call SIMONOTE "+ SIMONOTE Job Log File is %SIMONOTE% "
rem  *
     set MQBASE=C:\Program Files\IBM\WebSphere MQ
rem  *
rem  * Set the location for the Apache-Tomcat Server...
     set CATALINA_HOME=C:\APACHETC\apache-tomcat-7.0.52
rem     set CATALINA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_112
rem  *
rem  * Set the Environment for the Java Environment...
rem     set JAVABASE=C:\APACHETC\apache-tomcat-7.0.52
     set JAVABASE=C:\Program Files (x86)\Java\jdk1.8.0_112
     set JAVASDK="%JAVABASE%\bin"
     set JAVA_HOME=%JAVABASE%
     set JRE_HOME=%JAVABASE%
     set SIMOTCAT=%CATALINA_HOME%\webapps\simotcat
     set SIMPACKS=%CATALINA_HOME%\webapps\simotcat\WEB-INF\classes\simpacks
rem  *
rem  * Set the environment for the Micro Focus technology...
     set MIFOEDEV=C:\Program Files (x86)\Micro Focus\Enterprise Developer
     set MIFOVCBL=C:\Program Files (x86)\Micro Focus\Visual COBOL Build Tools
     set MIFOESTU=C:\Program Files (x86)\Micro Focus\Studio Enterprise Edition 6.0
     set MIFOEMFE="C:\Program Files (x86)\Micro Focus\Mainframe Express"
rem  *
rem  * Large file support, performance tuning and record locking of the File Handler
     set EXTFH=%BASESYS%\CONFIG\EXTFHBIG.CFG
rem  *
rem  * For IMS Support
     set ES_IMSLIB=%BASEAPP%\IMSLIB
     set ES_ACBLIB=%BASEAPP%\IMSLIB
rem  *
rem  * EZASOKETS Check EZASOKETS Enabled box or set ES_EZASOKET_SUPPORT=YES
     set EZACONFG=BASESYS1\CONFIG\EZACONFG.dat
rem  *
rem  * Resource Allocation and Performance for SORT and non-Relational Data
rem  set MFJSENGINE=SYNCSORT
     set SORTSCHEME=1
     set SORTSPACE=750000000
     set TMP=C:\SORTWORK
rem  *
     set ES_ALLOC_OVERRIDE=%BASESYS%\CONFIG\CATMAPA1.cfg
rem  * For CORE_ON_ERROR function, ABEND Dump
rem  *     set COBCONFIG_=%BASESYS%\CONFIG\diagnose.cfg
rem  *
rem  * Consolidated Trace Facility (CTF)
rem  *     set MFTRACE_CONFIG=%BASESYS%\CONFIG\ctf.cfg
rem  *     set MFTRACE_LOGS=c:\ctflogs
rem  *
rem  * For Job Restart, ABEND Recovery
     set MF_UCC11=Y
     set ES_JES_RESTART=Y
rem  *
rem  * Set environment for MFBSI (Micro Focus Batch Scheduling Interface)
     set ES_EMP_EXIT_1=mfbsiemx
     set MFBSI_DIR=%BASESYS%\LOGS\%JESSERVERNAME%
     set MFBSIEOP_CMD=ENABLE
     set MFBSIEOP_CSV=ENABLE
     set MFBSIEOP_HTM=ENABLE
     set MFBSIEOP_XML=ENABLE
rem  *
rem  * Set Behavior and Trace Flags for GETJOBDD
rem  *   Position=12345678/12345678
     set JDDFLAGS=nnnWnnnn/YYnnnnnn
rem  *
rem  * If not already set then set the PATH for Micro Focus Directories
     if "%SIMOPATH%" == "Y" goto JUMPPATH
     if "%MIFOSYS1%" == "EDEV" goto JUMPEDEV
     if "%MIFOSYS1%" == "VCBL" goto JUMPVCBL
     if "%MIFOSYS1%" == "ESTU" goto JUMPESTU
     if "%MIFOSYS1%" == "EMFE" goto JUMPEMFE
:JUMPEDEV
     set path=%BASESYS%\LOADLIB;%MIFOEDEV%\bin;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOEDEV%\CPYLIB
     set MIFOBASE=%MIFOEDEV%
     goto JUMPPATH
:JUMPVCBL
     set path=%MIFOVCBL%\bin;%MIFOVCBL%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set MIFOBASE=%MIFOVCBL%
     goto JUMPPATH
:JUMPESTU
     set MIFOBASE=%MIFOESTU%\Base
     set MIFOBIN=%MIFOBASE%\bin
     set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE
     goto JUMPPATH
:JUMPEMFE
     set MIFOBASE=%MIFOEMFE%\Base
     set MIFOBIN=%MIFOBASE%\bin
     set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE
     goto JUMPPATH
rem  *
:JUMPPATH
     set SIMOPATH=Y
rem  *
     set MAINFRAME_FLOATING_POINT=true
     set COBIDY=%BASEAPP%\COBIDY
     set COBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR%
     set LIBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR%
     set TXDIR=%BASESYS%\LOADLIB;%MIFOBASE%
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%
rem  *
     set USERCLASS=%BASELIB1%\LOADLIB
     set CLASSPATH=.
     set CLASSPATH=%CLASSPATH%;%JAVABASE%
     set CLASSPATH=%CLASSPATH%;%JAVABASE%\lib
     set CLASSPATH=%CLASSPATH%;\%USERCLASS%\simpacks
     set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes
     set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes\simpacks
rem  *
     if "%MIFOSYS1%" == "ESTU" set CLASSPATH=%CLASSPATH%;%MIFOBIN%
     if "%MIFOSYS1%" == "EDEV" set CLASSPATH=%CLASSPATH%;%MIFOEDEV%
     if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL%
     if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL%\bin\mfcobol.jar
rem  *
     set JobStatus=0000
     call SIMONOTE "+ ENV1BASE is returning to caller"


Table of Contents Previous Section Next Section Display and Log Messages

The following (SIMONOTE.cmd) is a listing of the contents of the SIMONOTE command file.

@echo OFF
rem  * *******************************************************************
rem  *               SIMONOTE.cmd - a Windows Command File               *
rem  *         This program is provided by SimoTime Technologies         *
rem  *            (C) Copyright 1987-2019 All Rights Reserved            *
rem  *              Web Site URL:   http://www.simotime.com              *
rem  *                    e-mail:   helpdesk@simotime.com                *
rem  * *******************************************************************
rem  *
rem  * Text    - Display message on screen and write to a log file.
rem  * Author  - SimoTime Technologies
rem  *
rem  * This script may be called from other scripts and expects a single
rem  * parameter enclosed in double quotes. The double quotes will be
rem  * removed. Before writing to the log file a date and time stamp
rem  * will be inserted in front of the message text.
rem  *
rem  * Note: The tilde (~) removes leading/trailing double-quotes.
rem  *
if "%SimoNOTE%" == "" set SimoNOTE=c:\SimoLIBR\LOGS\SimoTime.LOG
echo %date% %time% %~1>> %SimoNOTE%
echo %~1

Table of Contents Previous Section Next Section Summary

This Quality Assurance Tesing (QAT) process is used to describe how to create, modify and monitor a suite of VSAM, Key-Sequenced-Data-Sets (KSDS with customer information). 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 document and the links to other documents are intended to provide a choice of alternatives.

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 How to Create a New or Update an Existing Customer Data Set that is a VSAM Key-Sequenced-Data-Set (KSDS). This document will describe the jobs and programs that create and maintain a Customer Data Set. The program will run on an IBM Mainframe System or a Linux, UNIX or Windows System with Micro Focus COBOL Support.

Link to Internet   Link to Server   Explore The Generated COBOL Source Code that does a record-by-record compare of two VSAM Key-Sequenced-Data-Sets (KSDS's) that are used as the Customer Master Files.

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 connect.

A good place to start is The SimoTime Home Page for access to white papers, program examples and product information. This link requires an Internet Connection

Explore The Micro Focus Web Site for more information about products (including Micro Focus COBOL) and services available from Micro Focus. This link requires an Internet Connection.

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
Quality Assurance Testing, the Customer Master File, Create and Monitor Changes
Copyright © 1987-2025
SimoTime Technologies and Services
All Rights Reserved
When technology complements business
http://www.simotime.com