Validate Numeric Integrity
Regression Test, Packed Decimal
  Table of Contents  v-18.09.15 - rtw00701.htm 
  Introduction
  Job Flow Diagram
  Job Flow Overview
  Function Testing
  Numeric Check & Summary Totals
  Numeric Adjustment & Summary Totals
  Numeric Fix & Summary Totals
  Create Test Data
  CMD File, Create Test Data
  Record Layout, COBOL Copy File
  Technical Details
  Validate Packed-Decimal Numbers
  Generate Test Programs
  Basic Validation with Numeric Check
  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

This Job Script will describe and demonstrate how to validate the Numeric Integrity of Packed-Decimal fields. The test cases are used to identify possible S0C7 or RTS-173 errors (non-numeric value in a numeric field) that may cause an application program to abnormally terminate.


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

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

Table of Contents Previous Section Next Section Job Flow Diagram

The following shows the sequencing of events and processing tasks that are used to generate, transfer and compile a suite of programs that will accumulate Summary Totals and perform various types of numeric integrity checking and make optional adjustments to numeric values that are stored in a Packed-Decimal format.

               
RTW007W1
* Primary Job Script
   
call
 
 
ENV1BASE
* Prepare the System Environment
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* System Preparation
* Data Preparation
   
* Create Test Data
call
 
 
   
   
   
   
   
   
   
   
NBRPK3W8
* Create test data
   
   
   
INSTREAM
 
 
NBRPK3C8
 
 
SYSUT2
asc_rseq
* Execute Test Case for Packed-Decimal
   
   
   
SYSUT1
 
 
HX80RSC1
 
 
SYSUT2
* Hex Dump of Data File
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Data Preparation
* Function Test 01 (FT01)
   
* Packed-Decimal, NUMCHK
call
 
 
   
   
* Function 01.01
   
   
   
   
   
   
NBRPK3W1
 
 
JOBLOG
simonote
* Execute Test Case with Numeric Chack
   
   
   
SYSUT1
 
 
NBRPK3C1
 
 
SYSOUT
* Display Summary Totals to SYSOUT
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Function Test 01 (FT01)
* Function Test 02 (FT02)
   
* Packed-Decimal, ZERO_ADJ
call
 
 
   
   
* Function 02.01
   
   
   
   
   
   
NBRPKW2
 
 
JOBLOG
simonote
* Execute Test Case with Zero Adjust
   
   
   
SYSUT1
 
 
NBRPK3C2
 
 
SYSOUT
* Display Summary Totals to SYSOUT
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Function Test 02 (FT02)
* Function Test 03 (FT03)
   
* Packed-Decimal, ZERO_FIX
call
 
 
   
   
* Function 03.01
   
   
   
   
   
   
NBRPK3W3
 
 
JOBLOG
simonote
* Fix Space Characters
   
   
   
SYSUT1
 
 
NBRPK3C3
   
   
SYSOUT
* Display Summary Totals to SYSOUT
   
   
   
SYSUT1
* Update the Data File
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Function Test 03 (FT03)
* End of Job Processing
   
EOJ
* End of Job Processing
 
Objective: The technical objective for this Job Script is to execute a series of job steps that will accumulate summary totals for Packed-Decimal numbers.
Test Cases for Numeric Validation of Packed-Decimal Numeric Values

Color Associations: The  light-green  boxes are unique to SIMOTIME Technologies using an IBM Mainframe System or Micro Focus Enterprise Developer. The  light-red  boxes are unique to the SIMOTIME Technologies using a Linux, UNIX or Windows System and COBOL Technologies such as Micro Focus. The  light-yellow  boxes are SIMOTIME Technologies, Third-party Technologies, decision points or program transitions in the processing logic or program generations. The  light-blue  boxes identify the input/output data structures such as Documents, Spreadsheets, Data Files, VSAM Data Sets, Partitioned Data Set Members (PDSM's) or Relational Tables. The  light-gray  boxes identify a system function or an informational item.

Table of Contents Previous Section Next Section Job Flow Overview

The following describes the Job Scripts and Programs that are used to generate, transfer and compile a suite of programs that will accumulate Summary Totals and perform various types of numeric integrity checking and make optional adjustments to numeric values that are stored in a Packed-Decimal format.

1. Call a Job Script (NBRPK3W8.cmd) that will create the test data.
1.1. Map logical file names to physical location and file names for Data Create Job Step.
1.1.1. set SYSUT2=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
1.2. Map logical file names to physical location and file names for HEX-Dump Job Step.
1.2.1. set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
1.2.2. set SYSUT2=%BaseLib1%\LOGS\SYSUT2_NBRPK3W8.txt
2. Execute Function Test 01, Do a basic validation of the packed-decimal, numeric values.
2.1. Call a Job Script (NBRPK3W1.cmd) that will accumulate summary totals.
2.2. Map logical file names to physical location and file names.
2.2.1. set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
2.2.2. set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.TXT
2.3. Accumulate Summary Totals without making adjustments or changes to the numeric values.
3. Execute Function Test 02, Do a validation of the packed-decimal, numeric values.
3.1. Call a Job Script (NBRPK3W2.cmd) that will accumulate summary totals and test for space characters.
3.1.1. set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
3.1.2. set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.TXT
3.2. Accumulate Summary Totals and make adjustments to numeric values that contain all space characters.
3.3. The adjustments are used for accumulating totals and the original file is not updated.
4. Execute Function Test 03, Do a validation and file update of the packed-decimal, numeric values.
4.1. Call a Job Script (NBRPK3W3.cmd) that will accumulate summary totals and test for space characters.
4.1.1. set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
4.1.2. set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.TXT
4.2. Accumulate Summary Totals and make corrections to numeric values that contain all space characters.
4.3. Update the file by changing the space values to zeroes.

 

Table of Contents Previous Section Next Section Function Testing

The following is an overview of the function tests that are performed by this Job Script.

1. Check for valid numeric values and accumulate summary totals.
2. Check for space characters and adjust to zero value before accumulating summary totals.
3. Check for space characters and correct to zero value with update to file before accumulating summary totals.

 

Note: The following link will describe a suite of job scripts that may be used for Unit Testing and may be executed on demand.

Link to Internet   Link to Server   Explore how to process non-Numeric Values stored in a Packed-Decimal format. This document will use examples to show how to manage a situation where non-numeric values (such as Space Characters) are placed in a Packed-Decimal field and then managed to avoid a S0C7 or RTS 163 error message and an abnormal termination of the program.

The following provides additional detail about each of the function tests that are performed by this Job Script.

Table of Contents Previous Section Next Section Numeric Check & Summary Totals

This function test will process the test file and accumulate summary totals. A simple numeric check is done before a numeric field is used in a calculation. If the numeric test fails the value is not used in the calculation.

@echo OFF
     set CmdName=NBRPK3W1
rem  * *******************************************************************
rem  *               NBRPK3W1.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   - Read a file, Calculate record count and numeric totals.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1988
rem  *
rem  The job will read a record sequential file of 80-byte records that
rem  contains numeric fields within the records.
rem  The programs will read the file and calculate summary totals and a
rem  record count for the user-defined numeric fields. The information
rem  will then be posted to the SYSOUT device.
rem  *
rem  *                     ************
rem  *                     * NBRPK3W1 *
rem  *                     ********cmd*
rem  *                          *
rem  *                          *
rem  *    ************     ************     ************
rem  *    *  SYSUT1  ******* NBRPK3C1 *******  SYSOUT  *
rem  *    *******rseq*     ********cbl*     *******lseq*
rem  *                          *
rem  *                          *
rem  *                     ************
rem  *                     *   EOJ    *
rem  *                     ************
rem  *
rem  * *******************************************************************
rem  * Read a File, Calculate Record Counts and Summary Totals...
rem  *
     call ..\Env1BASE %CmdName%
     if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG
rem  *
     call SimoNOTE "*******************************************************%CmdName%"
     call SimoNOTE "Starting CmdName %CmdName%"
     call SimoNOTE "StepInfo Execute the Program to Calculate Totals"
rem  *
rem  * The following set statements will map the file names used by the
rem  * program to the actual physical file names.
     set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.TXT
rem  *
     if exist %SYSOUT% erase %SYSOUT%
     call SimoNOTE "DataTake %SYSUT1%"
     call SimoNOTE "DataMake %SYSOUT%"
     run NBRPK3C1
     if not "%ERRORLEVEL%" == "0" set JobStatus=0010
     if not %JobStatus% == 0000 goto :EojNok
     if exist %SYSOUT% type %SYSOUT%
     goto :EojAok
:EojAok
     call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus%"
     goto :End
:EojNok
     call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus%"
:End
     if not "%1" == "nopause" pause

Table of Contents Previous Section Next Section Numeric Adjustment & Summary Totals

This function test will process the test file and accumulate summary totals. If a numeric field contains all space characters the value is not used in the calculation and a running total of records containing space characters will be displayed during the processing for End of Job.

@echo OFF
     set CmdName=NBRPK3W2
rem  * *******************************************************************
rem  *               NBRPK3W2.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   - Read a file, Calculate record count and numeric totals.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1988
rem  *
rem  The job will read a record sequential file of 80-byte records that
rem  contains numeric fields within the records.
rem  The programs will read the file and calculate summary totals and a
rem  record count for the user-defined numeric fields. The information
rem  will then be posted to the SYSOUT device.
rem  *
rem  *                     ************
rem  *                     * NBRPK3W2 *
rem  *                     ********cmd*
rem  *                          *
rem  *                          *
rem  *    ************     ************     ************
rem  *    * NBRPK3D1 ******* NBRPK3C2 *******  SYSOUT  *
rem  *    *******rseq*     ********cbl*     *******lseq*
rem  *                          *
rem  *                          *
rem  *                     ************
rem  *                     *   EOJ    *
rem  *                     ************
rem  *
rem  * *******************************************************************
rem  * Read a File, Calculate Record Counts and Summary Totals...
rem  *
     call ..\ENV1BASE %CmdName%
     if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG
rem  *
     call SimoNOTE "*******************************************************%CmdName%"
     call SimoNOTE "Starting CmdName %CmdName%"
     call SimoNOTE "StepInfo Execute the Program to Calculate Totals"
rem  *
rem  * The following set statements will map the file names used by the
rem  * program to the actual physical file names.
     set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.TXT
rem  *
     if exist %SYSOUT% erase %SYSOUT%
     call SimoNOTE "DataTake %SYSUT1%"
     call SimoNOTE "DataMake %SYSOUT%"
     run NBRPK3C2
     if not "%ERRORLEVEL%" == "0" set JobStatus=0010
     if not %JobStatus% == 0000 goto :EojNok
     if exist %SYSOUT% type %SYSOUT%
     goto :EojAok
:EojAok
     call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus%"
     goto :End
:EojNok
     call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus%"
:End
     if not "%1" == "nopause" pause

Table of Contents Previous Section Next Section Numeric Fix & Summary Totals

This function test will process the test file and accumulate summary totals. If a numeric field contains all space characters the value is not used in the calculation. A summary total of records containing space characters will be accumulated. The field value will be converted to a zero value and the test file will be updated. the accumulated summary totals will be displayed during the processing for End of Job.

Note: When EBCDIC encoded data files are transferred from an IBM Mainframe System and converted to use ASCII encoding then additional effort may be required to validate the integrity of numeric values. SimoTime provides expertise and services to assist in this effort.

@echo OFF
     set CmdName=NBRPK3W3
rem  * *******************************************************************
rem  *               NBRPK3W3.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   - Read a file, Calculate record count and numeric totals.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1988
rem  *
rem  The job will read a record sequential file of 80-byte records that
rem  contains numeric fields within the records.
rem  The programs will read the file and calculate summary totals and a
rem  record count for the user-defined numeric fields. The information
rem  will then be posted to the SYSOUT device.
rem  If a numeric fields contains an ASCII or EBCDIC space characters then
rem  the value is set to zero before the calculation of the summary total.
rem  Also, the record in the file is updated.
rem  *
rem  *                     ************
rem  *                     * NBRPK3W3 *
rem  *                     ********cmd*
rem  *                          *
rem  *                          *
rem  *    ************     ************     ************
rem  *    * NBRPK3D1 ******* NBRPK3C3 *******  SYSOUT  *
rem  *    *******rseq*     ********cbl*  *  *******lseq*
rem  *                          *        *
rem  *                          *        *  ************
rem  *                          *        **** NBRPK3D1 *
rem  *                          *           *******rseq*
rem  *                          *
rem  *                     ************
rem  *                     *   EOJ    *
rem  *                     ************
rem  *
rem  * *******************************************************************
rem  * Read a File, Calculate Record Counts and Summary Totals...
rem  *
     call ..\ENV1BASE %CmdName%
     if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG
rem  *
     call SimoNOTE "*******************************************************%CmdName%"
     call SimoNOTE "Starting CmdName %CmdName%"
     call SimoNOTE "StepInfo Execute the Program to Calculate Totals"
rem  *
rem  * The following set statements will map the file names used by the
rem  * program to the actual physical file names.
     set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.txt
rem  *
     if exist %SYSOUT% erase %SYSOUT%
     call SimoNOTE "DataTake %SYSUT1%"
     call SimoNOTE "DataMake %SYSOUT%"
     run NBRPK3C3
     if not "%ERRORLEVEL%" == "0" set JobStatus=0010
     if not %JobStatus% == 0000 goto :EojNok
     if exist %SYSOUT% type %SYSOUT%
     goto :EojAok
:EojAok
     call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus%"
     goto :End
:EojNok
     call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus%"
:End
     if not "%1" == "nopause" pause

Table of Contents Previous Section Next Section Create Test Data

This section describes the Job Scripts that are used to create the test data. The test data is a record sequential file of 80-byte fixed-length records. Each record contains a record ID field and four (4) numeric fields in packed-decimal (COMP-3) format. Some of the packed fields will contain space characters that are invalid and will cause a SOC7 error (non-numeric in numeric field) message. The purpose of this example is to process packed-decimal fields that contain space characters or invalid values.

Table of Contents Previous Section Next Section CMD File, Create Test Data

The following (NBRPK3W8.cmd) is the Windows CMD that is used to create the test data.

@echo OFF
     set CmdName=NBRPK3W8
rem  * *******************************************************************
rem  *               NBRPK3W8.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   - Create a Record Sequential Data Set
rem  * Author - SimoTime Technologies
rem  * Date   = January 24, 1996
rem  *
rem  * The 1ST step will map the logical file name used by the program
rem  * to the fully-qualified physical file name.
rem  * The 2ND step will create a new test file.
rem  * The 3RD step will read the test file and create a HEX-Dump file.
rem  *
rem  * This set of programs will run on a Windows System with Micro Focus
rem  * Enterprise Developer.
rem  *
     call ..\Env1BASE %CmdName%
     if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG
rem  *
rem  * *******************************************************************
rem  * Step 1 of 3, Prepare the environment...
rem  *
     call SimoNOTE "*******************************************************%CmdName%"
     call SimoNOTE "Starting CmdName %CmdName%, User is %USERNAME%"
     call SimoNOTE "StepInfo Delete previously created files"
rem  *
rem  * The following set statement will map the file name used by the
rem  * program to the actual physical file name.
     set SYSUT2=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
rem  *
     if exist %SYSUT2% del %SYSUT2%
     set JobStatus=0000
rem  *
rem  * *******************************************************************
rem  * Step 2 of 3, Create and populate a new RSEQ file...
rem  *
     call SimoNOTE "StepInfo Create the Record Sequential File"
     run NBRPK3C8
     if not "%ERRORLEVEL%" == "0" set JobStatus=0010
     if not "%JobStatus%" == "0000" goto :EojNOK
     call SimoNOTE "DataMake %SYSUT2%"
rem  *
rem  * *******************************************************************
rem  * Step 3 of 3, Hex Dump of the RSEQ file...
rem  *
     call SimoNOTE "StepInfo HEX-Dump of the Record Sequential File"
rem  *
rem  * The following set statements will map the file names used by the
rem  * program to the actual physical file names.
     set SYSUT1=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.NBRPK3D1.DAT
     set SYSUT2=%BaseLib1%\LOGS\SYSUT2_NBRPK3W8.txt
rem  *
     run HX80RSC1
     if not "%ERRORLEVEL%" == "0" set JobStatus=0020
     if not "%JobStatus%" == "0000" goto :EojNOK
     call SimoNOTE "DataTake %SYSUT1%"
     call SimoNOTE "DataMake %SYSUT2%"
rem  *
rem  * *******************************************************************
:EojAok
     call SimoNOTE "Finished CmdName %CmdName%, Job Status is %JobStatus% "
     goto :End
:EojNok
     call SimoNOTE "NOTE ABENDING CmdName %CmdName%, Job Status is %JobStatus% "
:End
     if not "%1" == "nopause" pause

Table of Contents Previous Section Next Section Record Layout, COBOL Copy File

The following (NBRPK3B1.cpy) is the COBOL Copy File that defines the record structure for the test data.

Link to Internet   Link to Server   Explore an HTML document of the COBOL Copy File for NBRPK3B1. This document will provide additional information about each of the fields in the record structure that is used for the packed-decimal regression testing.

Table of Contents Previous Section Next Section Technical Details

The following provides an in-depth look at the Job Scripts used by this suite of test cases

Table of Contents Previous Section Next Section Validate Packed-Decimal Numbers

The following link will describe a suite of job scripts that may be used for Unit Testing and may be executed on demand.

Link to Internet   Link to Server   Explore how to process non-Numeric Values stored in a Packed-Decimal format. This document will use examples to show how to manage a situation where non-numeric values (such as Space Characters) are placed in a Packed-Decimal field and then managed to avoid a S0C7 or RTS 163 error message and an abnormal termination of the program.

Table of Contents Previous Section Next Section Generate Test Programs

WIP

Table of Contents Previous Section Next Section Basic Validation with Numeric Check

The following (NBRPK301.pcf) is the Process Control File (PCF) that is used to generate the validation program.

***********************************************************************
*                NBRPK301.pcf - a Process Control File                *
*               SimoTime Program Generation Technologies              *
*             (C) Copyright 1987-2019 All Rights Reserved             *
*               Web Site URL:   http://www.simotime.com               *
*                     e-mail:   helpdesk@simotime.com                 *
***********************************************************************
* SYSUT1 is the Sequential File with 80-byte records.
***********************************************************************
* This Process Control File will be used to generate a set of COBOL
* programs that will accumulate totals for user-defined numeric fields
* and provide a record count.
*
* Refer to http://www.simotime.com/utcomp01.htm for additional detail
* about the PCF statements for Data Validate, Dump and Compare.
*
* The following group of statements will define the high level
* functions and processes to be performed.
*
&SIMOPREP  call ..\Env1BASE
&USERPREP  call UserCOGI
&CONFORM   IBM
&COPYFILE  NBRPK3B1.cpy
&HTMLFILE  nbrpk3b1.htm
*
* The following group of statements will define the behavioral
* characteristics and environment variable for the file I/O Program
* to be generated.
*
*HEAD34    ....:....1....:....2....:....3....
&HEAD34    Packed Numeric Field with SPACES
&PROGID    NBRPK3C1
&SYSUT1    org=Sequential recfm=FIXED rlen=80
*
* The following group of statements will define the behavioral
* characteristics and environment variables for the record content
* conversion program to be generated.
* The following defines the name of the callable routine for special
* numeric processing.
*
&NUMCALL   NBRPK3R1
&NUMREC    NBRPK3B1-RECORD-01
*
* The following group of statements will look at the user-defined
* numeric fields and compensate when the field contains all space
* characters.
*
&HEX40     DISABLE
&HEX20     DISABLE
&NUMCHK    ENABLE
*
* The following group of statements will define the type of processing
* and the name of the numeric fields.
*
&UT1TOTAL  NBRPK3B1-FIELD-01
&UT1TOTAL  NBRPK3B1-FIELD-02
&UT1TOTAL  NBRPK3B1-FIELD-03
&UT1TOTAL  NBRPK3B1-FIELD-04
*
&END

Table of Contents Previous Section Next Section Ancillary Functionality

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

Link to Internet   Link to Server   Explore How to use Common or Shared Routines that perform repetitive tasks in a consistent manner. This link will provide information about setting common environment variables and many other utilitarian tasks.

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

A command file (SIMONOTE.cmd) is called from other command files to display and write messages to a log file. The following is a listing of the contents of the 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

The purpose of this document is 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

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.

Link to Internet   Link to Server   Explore How to do Regression Testing for Batch Processing on a Windows System. This document will describe and demonstrate how to prepare test data, execute a regression test and review the results.

Link to Internet   Link to Server   Explore how to process non-Numeric Values stored in a Packed-Decimal format. This document will use examples to show how to manage a situation where non-numeric values (such as Space Characters) are placed in a Packed-Decimal field and then managed to avoid a S0C7 or RTS 163 error message and an abnormal termination of the program.

Link to Internet   Link to Server   Explore The ASCII and EBCDIC Translation Tables. These tables are provided for individuals that need to better understand the bit structures and differences of the encoding formats.

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

Table of Contents Previous Section Next Section Internet Access Required

The following links will require an internet connection.

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 Comments 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
Execute PD Integrity
Copyright © 1987-2024
SimoTime Technologies and Services
All Rights Reserved
When technology complements business
http://www.simotime.com