Data File Validation
Generate a Compare or Validate Program
  Table of Contents  v-16.01.01 - utcomp01.htm 
  Introduction
  System Requirements
  Programming Requirements
  Programming Overview
  Data Validation Overview
  Human Observation
  Data File Compare
  Summary Totals
  Data Validation Tasks
  Data File Compare
  Basic Function
  Moderate Function
  Advanced Function
  Summary Totals and Record Counts
  Hex-Dump for VSAM, KSDS
  The Process Control File
  Ancillary Functionality
  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
  Comments or Feedback
  Company Overview
The SimoTime Home Page 

Table of Contents Previous Section Next Section Introduction

Many companies are looking for ways to transfer, convert and/or validate data files using an IBM Mainframe System and a Distributed System (i.e. Linux, UNIX and/or Windows or "LUW") running Micro Focus sub-systems. This utility program (UTCOMPRT) is intended to assist in the data file validation efforts.

The SimoTime Technologies used for Data Validation are divided into three groups. The first group provides a data file compare. The second group provides a capability for accumulating summary totals and record counts. The third group provides a hexadecimal dump capability to manually view and analyze the records in a VSAM, Key-Sequenced-Data-Set (KSDS).

The SimoTime Utility Programs for Data File Validation run on a Windows System with Micro Focus and will generate the COBOL source code for a program that will do a compare of two data files. The generation of the COBOL source code requires a Windows System with Micro Focus Enterprise Developer, version 2.2 or later.

The capabilities included in the generated program are determined by the content of a Process Control File (or PCF). The Process Control File is an ASCII/Text file. Each record in the control file contains a record identifier, a keyword and possible parameters. The generated COBOL programs that do the actual validation of the data files may be compiled and executed on a variety of systems.


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-2019
SimoTime Technologies and Services
All Rights Reserved

Table of Contents Previous Section Next Section System Requirements

The section describes the system requirements for running the "GENERATION and EXECUTION" phases of preparing for a data validation task and doing an actual data validation task of non-relational data structures.

Table of Contents Previous Section Next Section Programming Requirements

To run the SimoTime Utility Program (UTCOMPRT) requires a Windows System (Windows/7, Windows/8 or Windows Server) with Micro Focus Enterprise Developer, version 2.2 or later. The utility will generate the COBOL source code for a program that will do a data validation task.

As a general rule and once the generation process has completed the resulting COBOL source code may be compiled and executed on an IBM Mainframe System or a Distributed System that is capable of running Micro Focus COBOL. The following table provides additional detail about system (or platform) requirements.

System Description
IBM Mainframe COBOL for OS/390 or later should be used (this provides for Y2K compliance) to compile the generated source code.
Note: the SimoTime Utility program has the capability of generating COBOL Source code that can compare ASCII/Text (or LINE SEQUENTIAL) files. Programs that are generated with Line Sequential dependencies will not compile and execute in the ZOS environment of an IBM Mainframe.
Windows The Windows platform is required to generate the COBOL source code that will do the data file compare.
To compile and execute the generated COBOL programs the Micro Focus Studio is recommended. However, Net Express and Mainframe Express may be used. Once a program is compiled with Micro Focus Studio it may be executed using Micro Focus Server.
Note: the SimoTime Utility program and the generated test cases are tested on Windows/XP, Windows/7 and Windows Server using Micro Focus Studio, version 6.0 and/or later.
Linux To compile and execute the generated COBOL programs the Micro Focus Server Express is recommended. Once a program is compiled with Micro Focus Server Express it may be executed using Micro Focus Server.
UNIX To compile and execute the generated COBOL programs the Micro Focus Server Express is recommended. Once a program is compiled with Micro Focus Server Express it may be executed using Micro Focus Server.
  System Possibilities for Generated Data File Comparison Programs

The SimoTime Utility Program (UTCOMPRT) is dependent on other SimoTime modules for the generation and execution of COBOL programs that do the data file compare. The level of dependency is determined by the functions specified in the Process Control File and incorporated into the compare process. If the SIMOLIBR Enterprise License is used then all compare functions are supported. This is the recommended approach since it provides full functionality and additional utilities such as a Hex Dump utility for files.

Table of Contents Previous Section Next Section Programming Overview

The following is a flowchart of the job that executes the process to generate programs (COBOL Source Code) that do data file comparisons.

                 
UTCOMPL1
lseq
 
 
UTCOMPE1
cmd
Start the Job
   
   
   
   
   
   
if &SIMOPREP
 
 
call
 
 
   
   
   
SIMOPREP
cmd
Set the System (or global) environment variables
   
   
if &USERPREP
 
 
call
 
 
   
   
   
USERPREP
cmd
Set the User (or job specific) environment variables
   
   
   
   
Entry TAG-A
 
 
for /F do LOOP
Read a file of a list of member names
   
   
   
 
 
Yes
 
 
End-of-List?
 
 
No
 
 
SIMOCOMP
cmd
Process each name in the list
   
   
   
 
 
 
 
   
   
   
   
   
Run
 
 
   
   
   
   
   
   
   
UTCOMPD1
PCF
 
 
UTCOMPRT
cbl
   
   
UTCOMPD2genr
cmd
Read the Process Control file,
Create CMD and Specification file
   
   
   
   
   
   
   
UTCOMPD3spec
txt
Specifications File
   
   
   
If Job-Status=0
 
 
Yes
 
 
UTCOMPD2genr
cmd
Execute the newly created CMD file, generate the comparison program
   
No
   
   
ABEND
   
   
   
   
 
 
 
 
   
   
   
   
   
If &HTMLFILE
 
 
call
 
 
   
   
   
   
   
   
   
member-name
CPY
 
 
REC1HTML
cmd
 
 
member-name
HTM
Generate the HTML Document
   
   
   
   
   
If &PROGID
 
 
call
 
 
   
   
   
   
   
   
   
UTCOMPD3spec
TXT
 
 
ZAPSCOMP
cmd
 
 
&PROGID
CBL
Generate the Data File Compare program
   
   
   
 
 
 
 
   
   
   
GOTO TAG-A
   
   
 
 
   
   
EOJ
 
Generate a COBOL Program that will Compare Two Data Files

The main program (UTCOMPRT) will read the process control file and call additional SimoTime programs to generate the COBOL source code for a program that will compare two data files. The details of the comparison process will be determined by the definitions in the process control file and incorporated into the generated COBOL source code. The HTML documentation may be generated based on specifications in the process control file.

Table of Contents Previous Section Next Section Data Validation Overview

In today's environments there are a variety of data validation alternatives. This section will focus on three popular techniques. The 1st technique is Human Observation. The 2nd is a Data File Compare. The 3rd is the accumulation and review of Summary Totals.

Table of Contents Previous Section Next Section Human Observation

One approach to application or data validation is human observation or analysis. This approach is very useful when evaluating the usability and business flow of an application.

Using this approach for data validation presents the following challenges.

1. Introduces additional risk of human error.
2. May be useful for small amounts of data. As the volume of data increases the reliability of the "human observation" approach decreases.
3. Data strings with binary content is not easy to interpret and can be presented in a misleading manner when using a text editor.
4. The structure of some data strings may require specialized knowledge to properly interpret.
5. A "hexadecimal dump" presentation of the data may be required.

Because of these challenges the "human observation" approach is considered as a "reasonability check" or "diagnostic aid". Typically, a programmatic methodology that can be automated and run without human intervention will be a requirement.

Table of Contents Previous Section Next Section Data File Compare

The "Data File Compare" approach is very popular when doing regression testing. At the conclusion of a regression test a copy of a file that contains the "expected" results is compared with the file (actual results) created or updated during the regression test.

Table of Contents Previous Section Next Section Summary Totals

This approach first appeared when users began running applications that created sub-totals and final totals for numeric items. The reports and totals were then manually reviewed by the finance business group. Doing this for currency values quickly became a mandatory requirement.

The use of reports produced by a application remains a very effective validation approach. However, if a problem occurs the problem determination can be very time consuming based on the size and complexity of the application code and data structures.

Therefore, a technology that will focus on the processing of the numeric structures and produce summary totals with record counts could be very useful. SimoTime has the technology to do this by generating COBOL programs that will read a file and produce summary totals based on the user selecting the fields from a COBOL copy file definition of the record layout.

Table of Contents Previous Section Next Section Data Validation Tasks

WIP

Table of Contents Previous Section Next Section Data File Compare

The ability to do a data file compare is a primary requirement for a data validation process. The following will describe and demonstrate the compare capabilities of the SimoTime Technologies.

Table of Contents Previous Section Next Section Basic Function

A sample suite of programs will be used to describe the basic functionality provided by the SimoTime Data File Comparison processes and technology. This suite of programs will do a simple 80/80 Data File Compare of two sequential files that contain fixed length records of 80-byte text strings.

Table of Contents Previous Section Next Section Moderate Function

This suite of sample programs will be used to describe the functionality of moderate complexity that is provided by the SimoTime Data File Comparison processes and technology. This suite of programs will do a compare of two customer files that are keyed sequenced data sets (VSAM KSDS) with 512 byte records of fixed fields with some numeric fields that are packed and binary formats.

Table of Contents Previous Section Next Section Advanced Function

This suite of programs and documentation will describe and demonstrate additional capabilities and advanced data file compare functions for comparing report-oriented files that contain page headers with date and time stamps and user-defined line items. The ability to conditionally omit records from the compare process and to write the results of the compare process to a log file are included.

Table of Contents Previous Section Next Section Summary Totals and Record Counts

This suite of programs and documentation will describe and demonstrate an approach for reading a file, calculating record counts and producing summary totals for a set of pre-defined numeric fields. The approach uses two COBOL programs that are generated using SimoTime technology. The source code for the programs is generated on a Windows System with Micro Focus COBOL and may be compiled and executed on an IBM Mainframe or a Linux, UNIX or Windows System with Micro Focus COBOL.

Table of Contents Previous Section Next Section Hex-Dump for VSAM, KSDS

This suite of programs and documentation will describe and demonstrate an approach for reading a VSAM, Key-Sequenced-Data-Set and producing hexadecimal dump output based on a list of user-defined keys. The approach uses a COBOL program that is generated using SimoTime technology. The program source code is generated on a Windows System with Micro Focus COBOL and may be compiled and executed on an IBM Mainframe or a Linux, UNIX or Windows System with Micro Focus COBOL.

Table of Contents Previous Section Next Section The Process Control File

The Process Control File contains the specifications that will be used to generate the COBOL source code that will be used to compare two data files on a record-by-record basis. The following describes the record layout for the Process Control File.

Position Description
1 This is the record Identifier.
* - an asterisk in position one indicates the record is a comment.
& - an ampersand in position one indicates the record is a control statement.
2-11 This is a keyword. Position 11 is usually a space character.
12-256 This is a text string of parameters associated with the keyword.
  The Process Control File, Record Layout

The following describes the Keywords and Parameters for the statements in the Process Control File.

RecID & Keyword Parameters: the following group of statements will define the high level functions and processes to be performed
&SIMOPREP call ..\Env1BASE ... this text string will be inserted into the generated CMD File. If it is missing the user must explicitly specify the environment variables.
&USERPREP call (No Suggestions) ... this text string will be inserted into the generated CMD File. If it is missing the user must explicitly specify the environment variables.
&CONFORM xxx where XXX is one of the following
IBM COBOL/2 compliant, the "IBM" keyword will cause the record structure (position and length of fields) to be calculated based on the size of COMP or BINARY fields used on the mainframe (i.e. binary fields are 2, 4 or 8 bytes only).
MF Micro Focus COBOL compliant, the "MF" keyword will cause the record structure (position and length of fields) to be calculated based on the size of COMP or BINARY fields used on the Wintel or UNIX platforms (i.e. binary fields are based on the number of digit in the picture clause and may be 1, 2, 3, 4 , 5, 6, 7 or 8 bytes).
&COPYFILE xxxxxxxx.ext where XXXXXXXX is an eight character copy file name and the ext is the file extension. This is usually CPY for a copy file.
&HTMLFILE xxxxxxxx.ext where XXXXXXXX is an eight character HTML file name and the ext is the file extension. This is usually HTM for an HTML file. It is important to note that if the WEB Server for the HTML documents is a UNIX Server the name will be case-sensitive.
RecID & Keyword Parameters: the following group of statements will define the behavioral characteristics and environment variable for the file I/O Program to be generated. The generated program may do the file copy and/or record content conversion or it may call a second program to do the record content conversion.
&PROGID xxxxxxxx where XXXXXXXX is an eight character program name
&HEAD34 A short (34 characters) description of the program that is used at execution time to identify the program output.
&SYSUT1 NAME=xxxxxxxx ORG=xxxxxxxxxx RECFM=xxxxxxxx rlen=nnnnn KLEN=nnnn KPOS=nnnn
name   This keyword=parameter defines the 8-character (or less) DD name for SYSUT1. The default value is SYSUT1.
name=TEMPOUT defines the DDNAME for SYSUT2.
org   This keyword=parameter defines the file organization.
org=SEQUENTIAL defines a sequential file.
org=INDEXED defines a a keyed-index file or VSAM Data Set (KSDS).
org=ASCII/CRLF defines an ASCII/Text file with Carriage Return and LIne Feed used as record separators.
org=ASCII/TEXT is the same as ASCII/CRLF.
recfm   This keyword=parameter defines the format of the records within the file.
recfm=FIXED defines the records as fixed length.
recfm=VARIABLE defines the records as variable length
rlen   This keyword=parameter defines the fixed record length of each record in the file.
rlen=nnnnn where nnnnn is the fixed record length. For variable length records refer to RMIN and RMAX.
rmin   This keyword=parameter defines the minimum record length of records in the file.
rmin=nnnnn where nnnnn is the minimum record length. For fixed record length files refer to RLEN.
rmax   This keyword=parameter defines the maximum record length of records in the file.
rmax=nnnnn where nnnnn is the maximum record length. For fixed record length files refer to RLEN.
block   This keyword=parameter defines the block length.
block=nnnnn where nnnnn is the block length
klen   This keyword=parameter defines the length of the key.
klen=nnnnn where nnnnn is the key length.
kpos   This keyword=parameter defines the starting postion of the key within the record.
kpos=nnnnn where nnnnn is the key starting position within a record.
recmode   This keyword will cause the RECORDING MODE to be added to the FD statement using the RECFM value.
recvary   This keyword will cause the RECORD VARYING to be added to the FD statement using the RMIN and RMAX values. This will add the DEPENDING ON to the FD statement using the eight-byte filename-LRECL field name.
&SYSUT2 NAME=xxxxxxxx ORG=xxxxxxxxxx RECFM=xxxxxxxx rlen=nnnnn KLEN=nnnn KPOS=nnnn
name   This keyword=parameter defines the 8-character (or less) DD name for SYSUT2. The default value is SYSUT2.
name=TEMPOUT defines the DDNAME for SYSUT2.
org   This keyword=parameter defines the file organization.
org=SEQUENTIAL defines a sequential file.
org=INDEXED defines a a keyed-index file or VSAM Data Set (KSDS).
org=ASCII/CRLF defines an ASCII/Text file with Carriage Return and LIne Feed used as record separators.
org=ASCII/TEXT is the same as ASCII/CRLF.
recfm   This keyword=parameter defines the format of the records within the file.
recfm=FIXED defines the records as fixed length.
recfm=VARIABLE defines the records as variable length
rlen   This keyword=parameter defines the fixed record length of each record in the file.
rlen=nnnnn where nnnnn is the fixed record length. For variable length records refer to RMIN and RMAX.
rmin   This keyword=parameter defines the minimum record length of records in the file.
rmin=nnnnn where nnnnn is the minimum record length. For fixed record length files refer to RLEN.
rmax   This keyword=parameter defines the maximum record length of records in the file.
rmax=nnnnn where nnnnn is the maximum record length. For fixed record length files refer to RLEN.
block   This keyword=parameter defines the block length.
block=nnnnn where nnnnn is the block length
klen   This keyword=parameter defines the length of the key.
klen=nnnnn where nnnnn is the key length.
kpos   This keyword=parameter defines the starting postion of the key within the record.
kpos=nnnnn where nnnnn is the key starting position within a record.
recmode   This keyword will cause the RECORDING MODE to be added to the FD statement using the RECFM value.
recvary   This keyword will cause the RECORD VARYING to be added to the FD statement using the RMIN and RMAX values. This will add the DEPENDING ON to the FD statement using the eight-byte filename-LRECL field name.
RecID & Keyword Parameters: the following statements are used to define the compare functions to be performed and what to do when a not-equal condition occurs.
&COMPARE PHYSICAL SYSUT1 pos 1 len 80 SYSUT2 pos 1 len 80
Type-of-Compare
PHYSICAL
LOGICAL
&VINITUT1 Initialize the SYSUT1 buffer prior to a read. This is typically used with a file that contains variable-length records. The buffer will be initialized with the character value specified in the parameter. The following shows the possible parameter values.
SPACES or SPACE - initialize the buffer with space characters. For the ASCII environment this will be x'32', for the EBCDIC environment this will be x'40'.
LOW-VALUES or LOW-VALUE - initialize the buffer with LOW-VALUE characters (x'00').
&VINITUT2 Initialize the SYSUT2 buffer prior to a read. This is typically used with a file that contains variable-length records. The buffer will be initialized with the character value specified in the parameter. The following shows the possible parameter values.
SPACES or SPACE - initialize the buffer with space characters. For the ASCII environment this will be x'32', for the EBCDIC environment this will be x'40'.
LOW-VALUES or LOW-VALUE - initialize the buffer with LOW-VALUE characters (x'00').
&DELTAMAX limit action
The limit is a numeric value with a maximum length of nine (9) digits that tells the program to stop the logging function when the non-equal count reaches the limit count.
The action should be EOF or QUIT. The EOF will continue to read to End-of-File for both files and supply the record counts. The QUIT will cause an immediate End-of-Job (or ABEND) when the non-equal limit has been reached.
&IFNECODE nnnn - This is a four digit number that is used as the Return Code when a Not-Equal compare is encountered and the program terminates with an ABEND condition.
&DFORMAT ASC HEX EBC RPI DETAIL
Determine the output when a non-equal record compare is found. The default is ASC HEX EBC RPI DETAIL.
ASC will cause a possible ASCII line to be displayed. NOASC will suppress this output.
HEX will cause two lines of the two-byte hex values to be displayed. NOHEX will suppress this output.
EBC will cause a possible EBCDIC line to be displayed. NOEBC will suppress this output.
RPI will cause a Record Position Indicator line to be displayed. NORPI will supress this output.
DETAIL will cause the detailed information about the Not Equal condition to be displayed or written to SYSLOG depending on the setting of the &DISPLAY or &SYSLOG functions. NODETAIL will suppress the output for detailed information.
&SYSOUT ENABLED or DISABLED
ENABLED - the summary information for the data file compare wil be posted to the SYSOUT device.
DISABLED - the summary information for the data file compare wil not be posted to the SYSOUT device.
&SYSLOG &SYSLOG mode format
Options for mode
SIMOV32K - the output for a "NOT Equal" condition will be written to a record sequential (RSEQ) file
SIMOL32K - the output for a "NOT Equal" condition will be written to a line sequential (LSEQ or ASCII/Text) file
Options for format
TEXT - the record structure is a text string
HTML - the record structure is a text string with html tags.
&SYSCON ENABLED or DISABLED
ENABLED - the summary information for the data file compare wil be posted to the system console.
DISABLED - the summary information for the data file compare wil not be posted to the system console.
&DISPLAY NONE, SYSOUT or CONSOLE
This function is being replaced with the &SYSCON and &SYSOUT functions.
RecID & Keyword Parameters: The following statements are used when generating a program to read a file and calculate Record Counts and Summary Totals for user-defined numeric fields.
&NUMCAL The name of the program that will be generated to do the numeric totals.
&NUMREC This is the field name of the group item that defines the record structure. This is the name that is specified in a COBOL copy file.
&HEX20 HEX20_TAG   If a user-defined, numeric field contains all ASCII-encoded space characters then add 1 to a counter associated with the field.
HEX40_CVT   If a user-defined, numeric field contains all ASCII-encoded space characters then convert to all EBCDIC-encoded space characters.
ZERO_ADJ   If a user-defined, numeric field contains all ASCII-encoded space characters then adjust the value to zero for the totals calculation. The record in the file is not changed.
ZERO_FIX   If a user-defined, numeric field contains all ASCII-encoded space characters then convert the value to zero. The record in the file will be updated.
&HEX40 HEX40_TAG   If a user-defined, numeric field contains all EBCDIC-encoded space characters then add 1 to a counter associated with the field.
HEX20_CVT   If a user-defined, numeric field contains all EBCDIC-encoded space characters then convert to all ASCII-encoded space characters.
ZERO_ADJ   If a user-defined, numeric field contains all EBCDIC-encoded space characters then adjust the value to zero for the totals calculation. The record in the file is not changed.
ZERO_FIX   If a user-defined, numeric field contains all EBCDIC-encoded space characters then convert the value to zero. The record in the file will be updated.
&UT1TOTAL This is the field name of a numeric field that will be used to calculate a summary total. This is the name that is specified in a COBOL copy file.
RecID & Keyword Parameters: Identify the end of the Process Control Statements.
&END End of control statements, this statement is optional.
  The Process Control File for Data File Compare, Statement Keywords and Parameters

Table of Contents Previous Section Next Section Ancillary Functionality

This section provides additional detail about the secondary CMD files and programs that are used in this set of sample programs.

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-2019 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
     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  *
rem  * Set the Environment for the Java Environment...
     set JAVABASE=C:\Program Files (x86)\Java\jdk1.8.0_112
     set JAVASDK="%JAVABASE%\bin"
     set JAVA_HOME=%JAVABASE%
     set JRE_HOME=%JAVABASE%
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
     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  *
     set MAINFRAME_FLOATING_POINT=true
     set COBIDY=%BASEAPP%\COBIDY
     set COBPATH=.;%BASEAPP%\LOADLIB;%BASESYS%\LOADLIB;%SimoLIBR%
     set LIBPATH=.;%BASEAPP%\LOADLIB;%BASESYS%\LOADLIB;%SimoLIBR%
     set TXDIR=%BASESYS%\LOADLIB;%MIFOBASE%
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%
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;%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 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
     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%\mfcobol.jar
rem  *
     set JobStatus=0000
     call SimoNOTE "* Settings CmdName ENV1BASE.cmd, Version 18.09.15, %MIFOSYS1%"
     call SimoNOTE "* BaseAPP ..... %BASEAPP%"
rem *      call SimoNOTE "* MFBSIDIR .... %MFBSI_DIR% "
     call SimoNOTE "* MIFOSYS1 is %MIFOSYS1% "
     call SimoNOTE "* MIFOBASE is %MIFOBASE% "
     call SimoNOTE "* SIMOLIBR is %SIMOLIBR% "

Table of Contents Previous Section Next Section Display and Log Messages

The following Windows command file (SIMONOTE.cmd) is a listing of the contents of the command that displays information to the screen and writes to a log file with a date and time stamp.

@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

The data comparison or data validation process should be a repeatable process with an audit or validation trail. The process should be executable as an automated, unattended process. Requiring operator input during the data file validation process introduces an exposure point for error. The callable SIMONOTE command provides a consistent method for creating an audit or validation trail by writing information to a log file with a date and time stamp.

Table of Contents Previous Section Next Section Summary

This utility program (UTCOMPRT) is intended to assist in the data file validation efforts. 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 greater awareness of the Data Management and Application Processing alternatives.

The documentation and software were developed and tested on systems that are configured for a SIMOTIME environment based on the hardware, operating systems, user requirements and security requirements. Therefore, adjustments may be needed to execute the jobs and programs when transferred to a system of a different architecture or configuration.

SIMOTIME Services has experience in moving or sharing data or application processing across a variety of systems. For additional information about SIMOTIME Services or Technologies please send an e-mail to: helpdesk@simotime.com or call 415 883-6565. We appreciate hearing from you.

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 the Principles of Data File Validation. This link includes guidelines for defining requirements and determining the scope of effort for a data validation effort. This effort includes a data file compare process, a technique for accumulating summary totals with a record count and a technique for reading a VSAM, KSDS and producing a hex-dump output based on a list of user-defined keys.

Link to Internet   Link to Server   Explore the Principles of Data File Conversion. This link includes guidelines for defining requirements and determining the scope of effort for a data conversion effort.

Link to Internet   Link to Server   Explore How to Generate a Data File Convert Program using simple specification statements in a Process Control File (PCF). This link to the User Guide includes the information necessary to create a Process Control File and generate the COBOL programs that will do the actual data file conversion. The User Guide contains a list of the PCF statements that are used for the data file convert process.

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

Link to Internet   Link to Server   Explore 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 to interpret the results of accessing VSAM data sets and/or QSAM files.

Table of Contents Previous Section Next Section Internet Access Required

The following links will require an internet connection.

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 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 Comments or Feedback

This document was created and is copyrighted and maintained by SimoTime Technologies.

If you have any questions, suggestions, comments or feedback please call at 1 415 827-7045 or send an e-mail to: helpdesk@simotime.com

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 at 1 415 827-7045 or send an e-mail to: helpdesk@simotime.com

Also, check the web site at http://www.simotime.com


Return-to-Top
Data Validation, How to Generate and Execute a Program
Copyright © 1987-2019
SimoTime Technologies and Services
All Rights Reserved
When technology complements business
http://www.simotime.com