|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Set System and Shared Environment Variables |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Define System and Shared Environment Variables |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Set System and Shared Environment Variables |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create a Control File, LSEQ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Windows "echo" command |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create a Control File, RSEQ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert LSEQ to RSEQ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Populate CUSTMAST, a VSAM, KSDS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Populate the VSAM Data Set with Customer Data |
|
|
|
|
|
|
|
Sequential data file for surnames |
|
|
|
|
|
|
|
Sequential data file for surnames |
|
|
|
|
|
|
|
Sequential data file for feminine first names |
|
|
|
|
|
|
|
Sequential data file for masculine first names |
|
|
|
|
|
|
|
Sequential data file for street names |
|
|
|
|
|
|
|
Sequential data file for City, State and Zip codeinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert ASC-KSDS to ASC-LCSV |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Execute IDCAMS Program using DEFINE Function |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Define the VSAM Cluster for Baseline Copy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create an EBC-encoded Customer File |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert ASC-KSDS to EBC-RSEQ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert Record Content |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert EBC-encoded RSEQ to ASC-KSDS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert EBC-RSEQ to ASC-KSDS to ASC-KSDS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert Record Content |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Logical Compare EBC-RSEQ and ASC-KSDS, EQ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Compare Files using COBOL Programs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Post Results |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Modify ASC-KSDS to ASC-LCSV |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Modify a record in ASC-KSDS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Convert Record content |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Logical Compare EBC-RSEQ and ASC-KSDS, NE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Compare Files using COBOL Programs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Post Results |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create a List of Customer Numbers |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Windows "echo" command |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create Hex-Dump of user defined records |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Post Hex-Dump Information |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Post Program execution notes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Quality Assurance Testing, Create Test Files
|
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
Step 1, Prepare Environment
This Job Step will prepare the system and Job environment.
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.
|
3.
|
Validate the status of the Job Step Execution
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
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
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 *
*****************************************************************
*
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.
Explore the Record Structure for the Customer Master File by viewing a generated HTML document based on a User-Defined COBOL copyfile.
Ancillary Tasks
This section provides technical detail about the supporting scripts and programs used or called by the primary jobs.
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"
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
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.
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.
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.
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 icon. If a user has a SimoTime Enterprise License the Documents and Program Suites may be available on a local server and accessed using the icon.
Explore How to 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.
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.
Explore The ASCII and EBCDIC Translation Tables. These tables are provided for individuals that need to better understand the bit structures and differences of the encoding formats.
Explore The File Status Return Codes that are used to interpret the results of accessing VSAM data sets and/or QSAM files.
Internet Access 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.
Glossary of Terms
Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.
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.
|
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.
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 |
|