Data String Manipulation
Regression Test, Bytes or Bits
  Table of Contents  v-18.09.15 - rtw00101.htm 
  Introduction
  Job Flow Diagram
  Job Flow Overview
  Function Testing
  Horizontal Alignment of Text String
  Right-Adjust, Zero-Fill
  Bit Manipulation
  Digits to Words
  Technical Details
  Primary Job Script
  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 access or manipulate Bytes or Bits within a data string using COBOL programs.


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

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

Table of Contents Previous Section Next Section Job Flow Diagram

The following shows the sequencing of events and processing tasks that are used to access or manipulate Bytes or Bits within a data string using COBOL programs.

               
RTW001W1
* Primary Job Script
   
call
 
 
ENV1BASE
* Prepare the System Environment
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* System Preparation
* Function Test 01 (FT01)
   
* Horizontal Text Alignment
   
   
   
   
   
   
call
 
 
   
   
* Function 01.01
   
   
   
INSTREAM
 
 
CBLJUSE2
   
   
JUSTTXT1
ascii/text
* Create test data
   
   
   
JUSTRS80
ascii
   
   
   
JUSTRS80
ebcdic
   
   
call
 
 
   
   
* Function 01.02
   
   
   
JUSTRS80
 
 
CBLJUSE1
 
 
JUSTPUT1
ascii
* Execute Test Case for Justify
   
   
   
run
 
 
   
   
* Function 01.03
   
   
   
RS0080D1
   
   
CPRS80C1
 
 
SYSLOG
* Validate Results
   
RS0080D2
   
   
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Function Test 01 (FT01)
* Function Test 02 (FT02)
   
* Right-Adjust, Zero Fill
   
   
   
   
   
   
call
 
 
   
   
* Function 02.01
   
   
   
INSTREAM
 
 
CBLRAZE2
   
   
RA12TXT1
ascii/text
* Create test data
   
   
   
RA12RS80
ascii
   
   
   
RA12RS80
ebcdic
   
   
call
 
 
   
   
* Function 02.02
   
   
   
RA12GET
 
 
CBLRAZE1
 
 
RA12PUT1
ascii
* Execute Test Case for Right-Adjust
   
   
   
run
 
 
   
   
* Function 02.03
   
   
   
RS0080D1
   
   
CPRS80C1
 
 
SYSLOG
* Validate Results
   
RS0080D2
   
   
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Function Test 02 (FT02)
* Function Test 03 (FT03)
   
* Bit Manipulation using COBOL
   
   
   
   
   
   
call
 
 
   
   
* Function 03.01
   
   
   
INSTREAM
 
 
CBLBITE1
 
 
SYSOUT
* Execute Test Case for Bit Manipulation
   
   
   
run
 
 
   
   
* Function 03.02
   
   
   
SYSUT1
   
   
VLS121C1
 
 
SYSLUSER
* Validate Results
   
SYSUT22
   
   
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Function Test 03 (FT03)
* Function Test 04 (FT04)
   
* Digits to Words
   
   
   
   
   
   
call
 
 
   
   
* Function 04.01
   
   
   
INSTREAM
 
 
CBLTXNE2
   
   
TXTNGET1
ascii/text
* Create test data
   
   
   
TXTNGET1
ascii
   
   
call
 
 
   
   
* Function 04.02
   
   
   
TXTNGET
 
 
CBLTXNE1
 
 
TXTNPUT1
ascii
* Execute Test Case for Digits to Words
   
   
   
run
 
 
   
   
* Function 04.03
   
   
   
SYSUT1
   
   
CPT256C1
 
 
SYSLUSER
* Validate Results
   
SYSUT2
   
   
   
   
   
   
 
 
FUNCTION
 
 
 
 
 
 
 
 
 
 
* Function Test 04 (FT4)
* 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 do byte and bit processing of data strings.
Test Cases for Byte and Bit Processing of Data Strings

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 access or manipulate Bytes or Bits within a data string using COBOL programs.

1. Execute Function Test 01, Do horizontal alignment (or text justification) of a text string within a data buffer.
1.1. Call a Job Script (CBLJUSE2.cmd) that will create the test data.
1.2. Call a Job Script (CBLJUSE1.cmd) that will execute the program that does text alignment.
1.3. Validate the results by running a generated data file compare program.
2. Execute Function Test 02, Do a Right-Adjust with Zero-Fill of a numeric value.
2.1. Call a Job Script that will create the test data
2.2. Call a Job Script that will execute the program that does right-adjust, zero-fill.
2.3. Validate the results by running a generated data file compare program.
3. Execute Function Test 03, do bit manipulation using a COBOL program.
3.1. Call a Job Script that will execute the program.
Note: the test data is included within the program.
3.2. Validate the results by running a generated data file compare program.
4. Execute Function Test 04, Convert a text string of digits to a text string of words.
4.1. Call a Job Script that will create the test data.
4.2. Call a Job Script that will execute the program that will do a digits to words conversion.
4.3. Validate the results by running a generated data file compare program.

 

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. Position as text string within a data buffer using left, right or center justification.
2. Do a right-justify with zero-fill of a numeric string of digits.
3. Perform Bit manipulation within a byte of data.
4. Convert a string of digits to a string of words.

 

Note: The preceding tests will execute COBOL programs that are replacements for High-Level Assembler (HLASM) programs that were in use on an IBM Mainframe System.

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 Horizontal Alignment of Text String

This function test will position as text string within a data buffer. The positioning within the data buffer may be left, right or center justified.

Link to Internet   Link to Server   Explore How to Center, Left or Right Justify a text string within a field using a COBOL program. This suite of programs includes Job Scripts to create test data and execute the COBOL programs. The Job Scripts include JCL Members for an IBM Mainframe System, CMD Files for a Windows System and Bash Script Files for a Linux or UNIX System.

,

Table of Contents Previous Section Next Section Right-Adjust, Zero-Fill

This function test will right-justify a string of digits within a data buffer. The leading space characters will be converted to zeroes.

Link to Internet   Link to Server   Explore How to Right Justify with Zero Fill for a string of digits within a numeric field using a COBOL program.

,

Table of Contents Previous Section Next Section Bit Manipulation

This function test will access or modify bits within a byte of data..

Link to Internet   Link to Server   Explore Bit Manipulation using a COBOL program calling COBOL to do the accessing of individuals bits within a byte.

,

Table of Contents Previous Section Next Section Digits to Words

This function test will convert a string of digits to a string of words.

Link to Internet   Link to Server   Explore How to create an English-oriented text data string from a numeric field of digits. This example reads a data string (or field) containing numbers and creates a data string (or field) of words.

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 Primary Job Script

The following (RTW001W1.cmd) is the primary Job Script that is used for regression testing.

@echo OFF
     set RtwName=RTW001W1
rem  * *******************************************************************
rem  *               RTW001W1.cmd - a Windows Command File               *
rem  *       This Job Script 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   - Regression Test
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1996
rem  *
rem  * Windows Job Script for Regression Test 001, RTW001W1.cmd
rem  *
rem  * 1.   Left, Right or Center Justification of a text string within
rem  *      a data structure.
rem  *      1.1.   Job Step 01 will create the test data.
rem  *      1.2.   Job Step 02 will execute the program that does the
rem  *             text justifcation function.
rem  *      1.3.   Job Step 03 will validate the results using a data
rem  *             file compare of actual results and expected results.
rem  * 2.   Right Adjust with Zero Fill of a string of numbers within
rem  *      a numeric field.
rem  *      2.1.   Job Step 04 will create the test data.
rem  *      2.2.   Job Step 05 will execute the program that does the
rem  *             right-adjust with zero fill function.
rem  *      2.3.   Job Step 06 will validate the results using a data
rem  *             file compare of actual results and expected results.
rem  * 3.   Bit Manipulation using COBOL.
rem  *      3.1.   Job Step 07 will execute the program that does the
rem  *             bit manipulation functions.
rem  *      3.2.   Job Step 08 will validate the results using a data
rem  *             file compare of actual results and expected results.
rem  * 4.   Convert a numeric string of digits into a text string of
rem  *      words.
rem  *      4.1.   Job Step 09 will create the test data.
rem  *      4.2.   Job Step 10 will execute the program that converts
rem  *             Digits to a Text String.
rem  *      4.3.   Job Step 11 will validate the results using a data
rem  *             file compare of actual results and expected results.
rem  *
rem  * *******************************************************************
rem  *
rem  * Prepare the System Environment.
     call ..\ENV1BASE %RtwName%
     set SYSOUT_RESTORE=%SYSOUT%
     set JobStatus=0000
     set NOJS=12
     set NBRUTASK=12
     if "%SYSLOG%" == "" set syslog=c:\SimoLIBR\LOGS\SimoTime.LOG
     set SIMOMODE=BATCH
     set AOK_Count=0
     set NOK_Count=0
rem  *
     call SIMONOTE "*********************************************************************%RtwName%"
     call SIMONOTE "* Regression Test Cases for Byte and Bit Processing of Data Strings *"
rem  *
     call SIMONOTE "* Function, Align a Text String (Left, right or center) ----------- *FT01_TAG"
     call SIMONOTE "* ----------------------------------------------------------------- *PREPARE"
     call SIMONOTE "* Call the Job Script to Create Test Data ------------------------- *FT01.01"
     call CBLJUSE2
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
rem  *
     call SIMONOTE "* ----------------------------------------------------------------- *EXECUTE"
     call SIMONOTE "* Call the Job Script to Execute the Justify Program -------------- *FT01.02"
     call CBLJUSE1
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
rem  *
     call SIMONOTE "* ----------------------------------------------------------------- *VALIDATE"
     call SIMONOTE "* Run the program to Validate Results ----------------------------- *FT01.03"
     set RS0080D1=%BASECAT%\Wrk1\JUSTPUT1.DAT.
     set RS0080D2=%BASECAT%\ZERO\SIMOTIME.DATA.JUSTPUT1.DAT
     call SIMONOTE "* OBTAINED is %RS0080D1%"
     call SIMONOTE "* EXPECTED is %RS0080D2%"
     run CPRS80C1
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
     call SIMONOTE "* ----------------------------------------------------------------- *FT01_END"
rem  *
     call SIMONOTE "* Function, Right-Adjust with Zero-Fill --------------------------- *FT02_TAG
     call SIMONOTE "* ----------------------------------------------------------------- *PREPARE"
     call SIMONOTE "* Call the Job Script to Create Test Data ------------------------- *FT02.01"
     call CBLRAZE2
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
rem  *
     call SIMONOTE "* ----------------------------------------------------------------- *EXECUTE"
     call SIMONOTE "* Call the Job Script to Execute the Program ---------------------- *FT02.02"
     call CBLRAZE1
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
rem  *
     call SIMONOTE "* ----------------------------------------------------------------- *VALIDATE"
     call SIMONOTE "* Run the program to Validate Results of CBLRAZE1 Job ------------- *FT02.03"
     set RS0080D1=%BASECAT%\WRK1\RA12PUT1.DAT
     set RS0080D2=%BASECAT%\ZERO\SIMOTIME.DATA.RA12PUT1.DAT
     call SIMONOTE "* OBTAINED is %RS0080D1%"
     call SIMONOTE "* EXPECTED is %RS0080D2%"
     run CPRS80C1
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
     call SIMONOTE "* ----------------------------------------------------------------- *FT02_END"
rem  *
     call SIMONOTE "* Function, Bit Manipulation using COBOL -------------------------- *FT03_TAG"
     call SIMONOTE "* ----------------------------------------------------------------- *EXECUTE"
     call SIMONOTE "* Call the Job Script to Execute the Program ---------------------- *FT03.01"
     call CBLBITE1 nopause
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     set SYSOUT=%SYSOUT_RESTORE%
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
rem  *
     call SIMONOTE "* ----------------------------------------------------------------- *VALIDATE"
     call SIMONOTE "* Run the program to Validate Results of CBLBITE1 Job ------------- *FT03.02"
     set SYSUT1=%BASELIB1%\LOGS\SYSOUT_CBLBITE1.txt
     set SYSUT2=%BASECAT%\ZERO\SYSOUT_CBLBITE1.txt
     set SYSLUSER=%BASELIB1%\LOGS\SYSLUSER_CBLBITE1.txt
     call SIMONOTE "* OBTAINED is %SYSUT1%"
     call SIMONOTE "* EXPECTED is %SYSUT2%"
     call SIMONOTE "* SYSLUSER is %SYSLUSER%"
     run VLS121C1
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
     call SIMONOTE "* ----------------------------------------------------------------- *FT03_END"
rem  *
     call SIMONOTE "* Function, Convert Digits to a Text String ----------------------- *FT04_TAG"
     call SIMONOTE "*  ---------------------------------------------------------------- *PREPARE"
     call SIMONOTE "* Call the Job Script to Create Test Data ------------------------- *FT04.01"
     call CBLTXNE2 nopause
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
rem  *
     call SIMONOTE "* ----------------------------------------------------------------- *EXECUTE"
     call SIMONOTE "* Call the Job Script to Execute the Program ---------------------- *FT04.02"
     call CBLTXNE1 nopause
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
rem  *
     call SIMONOTE "* ----------------------------------------------------------------- *VALIDATE"
     call SIMONOTE "* Run the program to Validate Results of CBLTXNE1 Job ------------- *FT04.03"
     set SYSUT1=%BaseLib1%\DATA\Wrk1\TXTNPUT1.DAT
     set SYSUT2=%BaseLib1%\DATA\ZERO\TXTNPUT1.DAT
     set SYSLUSER=%BASELIB1%\LOGS\SYSLUSER_CBLTXNE1.txt
     call SIMONOTE "* OBTAINED is %SYSUT1%"
     call SIMONOTE "* EXPECTED is %SYSUT2%"
     call SIMONOTE "* SYSLUSER is %SYSLUSER%"
     run CPT256C1
     IF %ERRORLEVEL% EQU 0 (set /A AOK_Count=%AOK_Count% + 1) ELSE (set /A NOK_Count=%NOK_Count% + 1)
     call SIMONOTE "* AOKcount Generate Count for AOK is %AOK_Count% "
     call SIMONOTE "* NOKcount Generate Count for NOK is %NOK_Count% "
     call SIMONOTE "* ----------------------------------------------------------------- *FT04_END"
rem  *
:Eoj
     call SIMONOTE "* ----------------------------------------------------------------- *"
     call SIMONOTE "* Job_Step 12 of %NOJS%, End of Job Processing "
     if "%NOK_Count%" == "0" goto EojAok
     goto EojNok
:EojAok
     call SIMONOTE "* Finished %RtwName%, Exit Status is 0 "
     goto :End
:EojNok
     call SIMONOTE "* ABENDING %RtwName%, Exit Status is 16 "
:End
     pause

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 Center, Left or Right Justify a text string within a field using a COBOL program. This suite of programs includes Job Scripts to create test data and execute the COBOL programs. The Job Scripts include JCL Members for an IBM Mainframe System, CMD Files for a Windows System and Bash Script Files for a Linux or UNIX System.

Link to Internet   Link to Server   Explore How to Right Justify with Zero Fill for a string of digits within a numeric field using a COBOL program.

Link to Internet   Link to Server   Explore Bit Manipulation using a COBOL program calling COBOL to do the accessing of individuals bits within a byte.

Link to Internet   Link to Server   Explore How to create an English-oriented text data string from a numeric field of digits. This example reads a data string (or field) containing numbers and creates a data string (or field) of words.

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 Byte and Bit Processing
Copyright © 1987-2025
SimoTime Technologies and Services
All Rights Reserved
When technology complements business
http://www.simotime.com