| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Start the Quality Assurance Process |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Read CUSTMAST, write to SYSOUT Device |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Determine if EOF for CUSTMAST |
|
|
|
|
|
|
|
|
Calculate Summary Totals |
|
|
|
|
|
|
|
|
Return to calling program |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End-Of-Job |
|
|
|
|
|
|
|
|
|
Accumulate Summary Totals for a Customer Master File
|
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.
Job Scripts
A job script may be defined as a text file containing job setup information followed by job steps that identify programs to be executed along with parameters unique to the job step. A job script may be created using a text editor. The naming of a job script is determined by the Operating System. A simple job script may contain a single job step that performs a single function. A typical job script will contain multiple job steps executed in a predefined sequence. The status of each job step may be tested at the end of each job step.
Windows CMD Files
This set of job scripts for a Windows System has two CMD members. The first CMD member will execute the demonstration program. The second CMD member will create the test files used by the first CMD member as input.
Quality Assurance Test
The following is the command (CUTOTSW1.cmd) required to run the demonstration program on a Windows System with Micro Focus COBOL technologies.
@echo OFF
set CmdName=CUTOTSW1
rem * *******************************************************************
rem * Job Script - 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 VSAM, KSDS of 512-byte records that
rem * contains numeric fields within the records. The primary key starts
rem * in position 1 and is 12 bytes.
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 * * CUTOTSW1 *
rem * ********cmd*
rem * *
rem * *
rem * ************
rem * ************ * CUTOTSC1 * ************
rem * * CUSTMAST *******---call---******* SYSOUT *
rem * *******ksds* * CUTOTSR1 * *******lseq*
rem * ********cbl*
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"
set CUSTMAST=%BaseLib1%\DATA\APPL\SIMOTIME.DATA.CUSTMAST.DAT
set SYSOUT=%BaseLib1%\DATA\SPOOL\SYSOUT_%CmdName%.TXT
if exist %SYSOUT% erase %SYSOUT%
call SIMONOTE "DataTake %CUSTMAST%"
call SIMONOTE "DataMake %SYSOUT%"
run CUTOTSC1
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
Technical Details
This section provides additional technical details about the modules that are included in the batch job example.
COBOL Source Members
This sample job uses the following COBOL source members to build the executable load member that accesses the stub program.
Primary Program
This program (CUTOTSC1.cbl) is the source member that is used to do the file I/O and call a secondary program that will accumulate summary totals.
IDENTIFICATION DIVISION.
PROGRAM-ID. CUTOTSC1.
AUTHOR. SIMOTIME TECHNOLOGIES.
*****************************************************************
* This program was generated by SimoZAPS *
* A product of SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
* *
* Generation Date: 2019-08-16 Generation Time: 01:22:20:47 *
* *
* Record Record Key *
* Function Name Organization Format Max-Min Pos-Len *
* PRIMARY CUSTMAST INDEXED VARIABLE 00512 00001 *
* 00512 00012 *
* *
*****************************************************************
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CUSTMAST-FILE ASSIGN TO CUSTMAST
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS CUSTMAST-PKEY-00001-00012
FILE STATUS IS CUSTMAST-STATUS.
*****************************************************************
DATA DIVISION.
FILE SECTION.
FD CUSTMAST-FILE
DATA RECORD IS CUSTMAST-REC
.
01 CUSTMAST-REC.
05 CUSTMAST-PKEY-00001-00012 PIC X(00012).
05 CUSTMAST-DATA-00013-00500 PIC X(00500).
*****************************************************************
* This set of programs will create summary totals for *
* pre-defined user-fields. The SYSNTOT1.TXT template file was *
* used to create this program. This program has the option to *
* process packed fields with non-numeric values or all space *
* characters. The fields with invalid characters or all spacces *
* are set to a zero value prior to being used to calculate the *
* summary totals. The input file is NOT updated. *
* *
* If Packed fields (i.e. COMP-3) are used and the packed fields *
* contain SPACE characters this program may ABEND with a *
* Mainframe S0C7 error or a Micro Foocus 163 Error. *
* *
* On the Mainframe System the NUMPROC(NOPFD) Compiler option *
* may be used to avoid the S0C7 ABEND. *
* *
* In the Micro Focus environment the SIGNFIXUP Compiler *
* directive may be used in conjunction with not using the *
* CHECKNUM Compiler directive. *
* *
* Note: the process that causes the packed fields to contain *
* SPACE characters should be addressed. The Compiler options *
* only prevent the error message but may produce in incorrect *
* results when used in arithmetic processing. *
* *
* The End-of-Job processing will post the summary totals and *
* record count information to the SYSOUT device. *
* *
* For more information or questions please contact SimoTime *
* Technologies. The version control number is 18.06.01 *
* *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
* *
*****************************************************************
WORKING-STORAGE SECTION.
01 SIM-TITLE.
05 T1 pic X(11) value '* CUTOTSC1 '.
05 T2 pic X(34) value 'CUSTMAST, Summary Totals & Counts '.
05 T3 pic X(10) value ' v19.00.00'.
05 T4 pic X(24) value ' helpdesk@simotime.com'.
01 SIM-COPYRIGHT.
05 C1 pic X(11) value '* CUTOTSC1 '.
05 C2 pic X(32) value 'A Program to Calculate Totals wa'.
05 C3 pic X(32) value 's generated by SimoTime Technolo'.
05 C4 pic X(04) value 'gies'.
01 SIM-THANKS-01.
05 C1 pic X(11) value '* CUTOTSC1 '.
05 C2 pic X(32) value 'Program to Calculate Totals gene'.
05 C3 pic X(32) value 'rated by using SimoTime Technolo'.
05 C4 pic X(04) value 'gies'.
01 SIM-THANKS-02.
05 C1 pic X(11) value '* CUTOTSC1 '.
05 C2 pic X(32) value 'Please send all comments or sugg'.
05 C3 pic X(32) value 'estions to the helpdesk@simotime'.
05 C4 pic X(04) value '.com'.
01 CUSTMAST-STATUS.
05 CUSTMAST-STATUS-L pic X.
05 CUSTMAST-STATUS-R pic X.
01 CUSTMAST-EOF pic X value 'N'.
01 CUSTMAST-OPEN-FLAG pic X value 'C'.
01 SYSUT2-STATUS.
05 SYSUT2-STATUS-L pic X.
05 SYSUT2-STATUS-R pic X.
01 SYSUT2-EOF pic X value 'N'.
01 SYSUT2-OPEN-FLAG pic X value 'C'.
*****************************************************************
* The following buffers are used to create a four-byte status *
* code that may be displayed. *
*****************************************************************
01 IO-STATUS.
05 IO-STAT1 pic X.
05 IO-STAT2 pic X.
01 IO-STATUS-04.
05 IO-STATUS-0401 pic 9 value 0.
05 IO-STATUS-0403 pic 999 value 0.
01 TWO-BYTES-BINARY pic 9(4) BINARY.
01 TWO-BYTES-ALPHA redefines TWO-BYTES-BINARY.
05 TWO-BYTES-LEFT pic X.
05 TWO-BYTES-RIGHT pic X.
*****************************************************************
* Message Buffer used by the Z-DISPLAY-MESSAGE-TEXT routine. *
*****************************************************************
01 MESSAGE-BUFFER.
05 MESSAGE-HEADER pic X(011) value '* CUTOTSC1 '.
05 MESSAGE-TEXT.
10 MESSAGE-TEXT-1 pic X(068) value SPACES.
10 MESSAGE-TEXT-2 pic X(188) value SPACES.
01 MSG-LSB pic 9(5) value 267.
*****************************************************************
01 APPL-RESULT pic S9(9) comp.
88 APPL-AOK value 0.
88 APPL-EOF value 16.
01 HEX20-PARM pic X(16) value 'DISABLE '.
01 HEX40-PARM pic X(16) value 'DISABLE '.
01 HEXPK-PARM pic X(16) value 'DISABLE '.
01 HEXTR-PARM pic X(16) value 'DISABLE '.
01 NUMCHK-PARM pic X(16) value 'ENABLE '.
01 CUSTMAST-LRECL pic 9(5) value 00512.
01 LEN-1 pic 9(5) value 128.
01 POS-1 pic 9(5) value 1.
01 CUSTMAST-TOTAL.
05 filler pic X(25) value 'Record count for CUSTMAST'.
05 filler pic X(20) value SPACES.
05 CUSTMAST-RDR pic 9(9) value 0.
01 FORMAT-TYPE pic X value 'B'.
01 PT-1 pic 999 value 0.
01 PT-2 pic 999 value 0.
01 PT-3 pic 999 value 0.
01 WORK-32 pic X(32) value SPACES.
01 DECIMAL-CHR pic X value '.'.
COPY PANTOTB1.
COPY CUSTCB01.
*****************************************************************
PROCEDURE DIVISION.
perform JOB-STARTING
perform until CUSTMAST-STATUS not = '00'
perform CUSTMAST-READ
move CUSTMAST-REC to CUST-RECORD
if CUSTMAST-STATUS = '00'
add CUSTMAST-RDR to ZERO giving PA-NTOT-RRN
call 'CUTOTSR1' using PA-NTOT-GROUP
CUST-RECORD
end-if
end-perform
perform JOB-FINISHED
GOBACK.
*****************************************************************
JOB-FINISHED.
perform CUSTMAST-CLOSE
move all '*' to MESSAGE-TEXT(1:108)
perform Z-DISPLAY-MESSAGE-TEXT
move 'Field Name' to MESSAGE-TEXT
move 'Summary.Total' to MESSAGE-TEXT(48:13)
move ' HEX40' to MESSAGE-TEXT(75:7)
move ' HEX20' to MESSAGE-TEXT(85:7)
move ' NUMCHK' to MESSAGE-TEXT(95:7)
move 'TYPE' to MESSAGE-TEXT(103:4)
perform Z-DISPLAY-MESSAGE-TEXT
if PA-NTOT-HOT > ZERO
add 1 to ZERO giving PA-NTOT-IDX
perform until PA-NTOT-IDX > PA-NTOT-HOT
move ZERO to PT-1
move ZERO to PT-2
move ZERO to PT-3
move PA-NTOT-NUMB(PA-NTOT-IDX) to WORK-32
perform varying PT-1 from 1 by 1 until PT-1 > 31
if WORK-32(PT-1:1) = DECIMAL-CHR
add PT-1 to ZERO giving PT-2
end-if
if WORK-32(PT-1:1) = 0
or WORK-32(PT-1:1) > 0
and WORK-32(PT-1:1) < 9
or WORK-32(PT-1:1) = 9
add PT-1 to ZERO giving PT-3
end-if
end-perform
if PT-2 > 0
and PT-3 > PT-2
compute PT-1 = 56 - PT-3 + (PT-3 - PT-2)
else
if PT-3 > 0
compute PT-1 = 55 - PT-3
else
add 37 to ZERO giving PT-1
end-if
end-if
move PA-NTOT-DESC(PA-NTOT-IDX) to MESSAGE-TEXT
move PA-NTOT-NUMB(PA-NTOT-IDX) to MESSAGE-TEXT(PT-1:32)
if PA-HEX40-CTR(PA-NTOT-IDX) > 0
move PA-HEX40-CTR(PA-NTOT-IDX)
to MESSAGE-TEXT(75:7)
end-if
if PA-HEX20-CTR(PA-NTOT-IDX) > 0
move PA-HEX20-CTR(PA-NTOT-IDX)
to MESSAGE-TEXT(85:7)
end-if
if PA-NUMCHK-CTR(PA-NTOT-IDX) > 0
move PA-NUMCHK-CTR(PA-NTOT-IDX)
to MESSAGE-TEXT(95:7)
end-if
if PA-NTOT-TYPE(PA-NTOT-IDX) not = SPACES
move PA-NTOT-TYPE(PA-NTOT-IDX)
to MESSAGE-TEXT(103:2)
end-if
move PA-NTOT-SIGN(PA-NTOT-IDX) to MESSAGE-TEXT(105:3)
perform Z-DISPLAY-MESSAGE-TEXT
add 1 to PA-NTOT-IDX
end-perform
end-if
move CUSTMAST-TOTAL to MESSAGE-TEXT
perform Z-DISPLAY-MESSAGE-TEXT
move 'Field Name' to MESSAGE-TEXT
move 'Summary.Total' to MESSAGE-TEXT(48:13)
move ' HEX40' to MESSAGE-TEXT(75:7)
move ' HEX20' to MESSAGE-TEXT(85:7)
move ' NUMCHK' to MESSAGE-TEXT(95:7)
move 'TYPE' to MESSAGE-TEXT(103:4)
perform Z-DISPLAY-MESSAGE-TEXT
move all '*' to MESSAGE-TEXT(1:108)
perform Z-DISPLAY-MESSAGE-TEXT
perform Z-THANK-YOU.
exit.
*****************************************************************
JOB-STARTING.
perform Z-POST-COPYRIGHT
perform Z-DETERMINE-ENVIRONMENT
initialize PA-NTOT-GROUP
add 256 to ZERO giving PA-NTOT-LTD
perform CUSTMAST-OPEN
exit.
*****************************************************************
* I/O Routines for the Primary File... *
*****************************************************************
CUSTMAST-CLOSE.
add 8 to ZERO giving APPL-RESULT.
close CUSTMAST-FILE
if CUSTMAST-STATUS = '00'
subtract APPL-RESULT from APPL-RESULT
else
add 12 to ZERO giving APPL-RESULT
end-if
if APPL-AOK
CONTINUE
else
move 'CLOSE Failure with CUSTMAST' to MESSAGE-TEXT
perform Z-DISPLAY-MESSAGE-TEXT
move CUSTMAST-STATUS to IO-STATUS
perform Z-DISPLAY-IO-STATUS
perform Z-ABEND-PROGRAM
end-if
exit.
*---------------------------------------------------------------*
CUSTMAST-READ.
read CUSTMAST-FILE
if CUSTMAST-STATUS = '00'
subtract APPL-RESULT from APPL-RESULT
add 1 to CUSTMAST-RDR
else
if CUSTMAST-STATUS = '10'
add 16 to ZERO giving APPL-RESULT
else
add 12 to ZERO giving APPL-RESULT
end-if
end-if
if APPL-AOK
CONTINUE
else
if APPL-EOF
move 'Y' to CUSTMAST-EOF
else
move 'READ Failure with CUSTMAST' to MESSAGE-TEXT
perform Z-DISPLAY-MESSAGE-TEXT
move CUSTMAST-STATUS to IO-STATUS
perform Z-DISPLAY-IO-STATUS
perform Z-ABEND-PROGRAM
end-if
end-if
exit.
*---------------------------------------------------------------*
CUSTMAST-OPEN.
add 8 to ZERO giving APPL-RESULT.
open input CUSTMAST-FILE
if CUSTMAST-STATUS = '00'
subtract APPL-RESULT from APPL-RESULT
move 'O' to CUSTMAST-OPEN-FLAG
else
add 12 to ZERO giving APPL-RESULT
end-if
if APPL-AOK
CONTINUE
else
move 'OPEN Failure with CUSTMAST' to MESSAGE-TEXT
perform Z-DISPLAY-TO-CONSOLE
perform Z-DISPLAY-MESSAGE-TEXT
move CUSTMAST-STATUS to IO-STATUS
perform Z-DISPLAY-IO-STATUS
perform Z-ABEND-PROGRAM
end-if
exit.
*****************************************************************
* The following Z-ROUTINES provide administrative functions *
* for this program. *
*****************************************************************
* ABEND the program, post a message to the console and issue *
* a STOP RUN. *
*****************************************************************
Z-ABEND-PROGRAM.
if MESSAGE-TEXT not = SPACES
perform Z-DISPLAY-MESSAGE-TEXT
end-if
move 'PROGRAM-IS-ABENDING...' to MESSAGE-TEXT
perform Z-DISPLAY-MESSAGE-TEXT
add 12 to ZERO giving RETURN-CODE
STOP RUN.
* exit.
*****************************************************************
Z-DETERMINE-ENVIRONMENT.
move '* HEX20 parameter is ' to MESSAGE-TEXT
move HEX20-PARM to MESSAGE-TEXT(23:16)
perform Z-DISPLAY-MESSAGE-TEXT
move '* HEX40 parameter is ' to MESSAGE-TEXT
move HEX40-PARM to MESSAGE-TEXT(23:16)
perform Z-DISPLAY-MESSAGE-TEXT
move '* HEXTR parameter is ' to MESSAGE-TEXT
move HEXTR-PARM to MESSAGE-TEXT(23:16)
perform Z-DISPLAY-MESSAGE-TEXT
move '* NUMCHK parameter is ' to MESSAGE-TEXT
move NUMCHK-PARM to MESSAGE-TEXT(23:16)
perform Z-DISPLAY-MESSAGE-TEXT
exit.
*****************************************************************
Z-CALCULATE-MESSAGE-LSB.
add 267 to ZERO giving MSG-LSB
perform until MSG-LSB < 80
or MESSAGE-BUFFER(MSG-LSB:1) not = SPACE
if MESSAGE-BUFFER(MSG-LSB:1) = SPACE
subtract 1 from MSG-LSB
end-if
end-perform
exit.
*****************************************************************
* Display to SYSOUT Device... *
*****************************************************************
Z-DISPLAY-MESSAGE-TEXT.
perform Z-CALCULATE-MESSAGE-LSB
display MESSAGE-BUFFER(1:MSG-LSB)
move all SPACES to MESSAGE-TEXT
exit.
*****************************************************************
* Display CONSOLE messages... *
*****************************************************************
Z-DISPLAY-TO-CONSOLE.
perform Z-CALCULATE-MESSAGE-LSB
display MESSAGE-BUFFER(1:MSG-LSB) upon console
exit.
*****************************************************************
* Display the file status bytes. This routine will display as *
* four digits. If the full two byte file status is numeric it *
* will display as 00nn. If the 1st byte is a numeric nine (9) *
* the second byte will be treated as a binary number and will *
* display as 9nnn. *
*****************************************************************
Z-DISPLAY-IO-STATUS.
if IO-STATUS not NUMERIC
or IO-STAT1 = '9'
move IO-STAT1 to IO-STATUS-04(1:1)
subtract TWO-BYTES-BINARY from TWO-BYTES-BINARY
move IO-STAT2 to TWO-BYTES-RIGHT
add TWO-BYTES-BINARY to ZERO giving IO-STATUS-0403
move 'File Status is: nnnn' to MESSAGE-TEXT
move IO-STATUS-04 to MESSAGE-TEXT(17:4)
perform Z-DISPLAY-TO-CONSOLE
perform Z-DISPLAY-MESSAGE-TEXT
else
move '0000' to IO-STATUS-04
move IO-STATUS to IO-STATUS-04(3:2)
move 'File Status is: nnnn' to MESSAGE-TEXT
move IO-STATUS-04 to MESSAGE-TEXT(17:4)
perform Z-DISPLAY-TO-CONSOLE
perform Z-DISPLAY-MESSAGE-TEXT
end-if
exit.
*****************************************************************
Z-POST-COPYRIGHT.
move SIM-TITLE to MESSAGE-BUFFER
perform Z-DISPLAY-MESSAGE-TEXT
move SIM-COPYRIGHT to MESSAGE-BUFFER
perform Z-DISPLAY-MESSAGE-TEXT
exit.
*****************************************************************
Z-THANK-YOU.
move SIM-THANKS-01 to MESSAGE-BUFFER
perform Z-DISPLAY-MESSAGE-TEXT
move SIM-THANKS-02 to MESSAGE-BUFFER
perform Z-DISPLAY-MESSAGE-TEXT
exit.
*****************************************************************
* This program was generated by SimoZAPS *
* A product of SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
* *
* Generation Date: 2019-08-16 Generation Time: 01:22:20:49 *
*****************************************************************
Secondary Program
This program (CUTOTSR1.cbl) is the source member that will accumulate summary totals.
IDENTIFICATION DIVISION.
PROGRAM-ID. CUTOTSR1.
AUTHOR. SIMOTIME TECHNOLOGIES.
*****************************************************************
* This routine was generated by SimoREC1 *
* A product of SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
* Generation Date: 2019/08/16 Generation Time: 01:22:20:52 *
*****************************************************************
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NTOT-FLD-00001 PIC 9(18) value 0.
01 NTOT-CHR-00001.
05 NTOT-EDT-00001 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZZ,ZZ9-.
01 NTOT-FLD-00002 PIC S9(18) value 0.
01 NTOT-CHR-00002.
05 NTOT-EDT-00002 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZZ,ZZ9-.
01 NTOT-FLD-00003 PIC S9(15)V9(03) value 0.
01 NTOT-CHR-00003.
05 NTOT-EDT-00003 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZ9.999-.
01 NTOT-FLD-00004 PIC S9(18) value 0.
01 NTOT-CHR-00004.
05 NTOT-EDT-00004 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZZ,ZZ9-.
01 NTOT-FLD-00005 PIC S9(15)V9(03) value 0.
01 NTOT-CHR-00005.
05 NTOT-EDT-00005 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZ9.999-.
01 NTOT-FLD-00006 PIC S9(18) value 0.
01 NTOT-CHR-00006.
05 NTOT-EDT-00006 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZZ,ZZ9-.
01 NTOT-FLD-00007 PIC S9(15)V9(03) value 0.
01 NTOT-CHR-00007.
05 NTOT-EDT-00007 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZ9.999-.
01 NTOT-FLD-00008 PIC 9(18) value 0.
01 NTOT-CHR-00008.
05 NTOT-EDT-00008 PIC ZZZ,ZZZ,ZZZ,ZZZ,ZZZ,ZZ9-.
01 IX-P1 pic 9(9) value 0.
01 IX-P2 pic 9(9) value 0.
01 IX-NP pic 9(5) value 0.
01 IX-L1 pic 9(9) value 0.
01 RA-P1 pic 9(3) value 0.
01 RA-P2 pic 9(3) value 0.
01 FIRST-TIME pic X value 'Y'.
01 PERFORM-QUIT pic X value 'N'.
*
*****************************************************************
LINKAGE SECTION.
COPY PANTOTB1.
COPY CUSTCB01.
*
*****************************************************************
PROCEDURE DIVISION USING PA-NTOT-GROUP,
CUST-RECORD.
if FIRST-TIME = 'Y'
or PA-NTOT-RESET = 'Y'
perform FIRST-TIME-LOGIC
end-if
* HEX20 Parameter is DISABLE
* HEX40 Parameter is DISABLE
* HEXTR Parameter is DISABLE
* NUMCHK Parameter is ENABLE
if CUST-CREDIT-LIMIT not NUMERIC
move ZERO to CUST-CREDIT-LIMIT
add 1 to PA-NUMCHK-CTR(00001)
end-if
add CUST-CREDIT-LIMIT to NTOT-FLD-00001
move NTOT-FLD-00001 to NTOT-EDT-00001
move NTOT-CHR-00001 to PA-NTOT-NUMB(00001)
move 'PK' to PA-NTOT-TYPE(00001)
move ' ' to PA-NTOT-SIGN(00001)
add CUST-DISCOUNT-CODE(1) to NTOT-FLD-00002
move NTOT-FLD-00002 to NTOT-EDT-00002
move NTOT-CHR-00002 to PA-NTOT-NUMB(00002)
move 'BN' to PA-NTOT-TYPE(00002)
move 'S ' to PA-NTOT-SIGN(00002)
if CUST-DISCOUNT-RATE(1) not NUMERIC
move ZERO to CUST-DISCOUNT-RATE(1)
add 1 to PA-NUMCHK-CTR(00003)
end-if
add CUST-DISCOUNT-RATE(1) to NTOT-FLD-00003
move NTOT-FLD-00003 to NTOT-EDT-00003
move NTOT-CHR-00003 to PA-NTOT-NUMB(00003)
move 'ZD' to PA-NTOT-TYPE(00003)
move 'S ' to PA-NTOT-SIGN(00003)
add CUST-DISCOUNT-CODE(2) to NTOT-FLD-00004
move NTOT-FLD-00004 to NTOT-EDT-00004
move NTOT-CHR-00004 to PA-NTOT-NUMB(00004)
move 'BN' to PA-NTOT-TYPE(00004)
move 'S ' to PA-NTOT-SIGN(00004)
if CUST-DISCOUNT-RATE(2) not NUMERIC
move ZERO to CUST-DISCOUNT-RATE(2)
add 1 to PA-NUMCHK-CTR(00005)
end-if
add CUST-DISCOUNT-RATE(2) to NTOT-FLD-00005
move NTOT-FLD-00005 to NTOT-EDT-00005
move NTOT-CHR-00005 to PA-NTOT-NUMB(00005)
move 'ZD' to PA-NTOT-TYPE(00005)
move 'S ' to PA-NTOT-SIGN(00005)
add CUST-DISCOUNT-CODE(3) to NTOT-FLD-00006
move NTOT-FLD-00006 to NTOT-EDT-00006
move NTOT-CHR-00006 to PA-NTOT-NUMB(00006)
move 'BN' to PA-NTOT-TYPE(00006)
move 'S ' to PA-NTOT-SIGN(00006)
if CUST-DISCOUNT-RATE(3) not NUMERIC
move ZERO to CUST-DISCOUNT-RATE(3)
add 1 to PA-NUMCHK-CTR(00007)
end-if
add CUST-DISCOUNT-RATE(3) to NTOT-FLD-00007
move NTOT-FLD-00007 to NTOT-EDT-00007
move NTOT-CHR-00007 to PA-NTOT-NUMB(00007)
move 'ZD' to PA-NTOT-TYPE(00007)
move 'S ' to PA-NTOT-SIGN(00007)
if CUST-TOKEN not NUMERIC
move ZERO to CUST-TOKEN
add 1 to PA-NUMCHK-CTR(00008)
end-if
add CUST-TOKEN to NTOT-FLD-00008
move NTOT-FLD-00008 to NTOT-EDT-00008
move NTOT-CHR-00008 to PA-NTOT-NUMB(00008)
move 'ZD' to PA-NTOT-TYPE(00008)
move ' ' to PA-NTOT-SIGN(00008)
GOBACK.
*****************************************************************
FIRST-TIME-LOGIC.
add 1 to ZERO giving PA-NTOT-IDX
move 'N' to FIRST-TIME
move 'CUST-CREDIT-LIMIT' to PA-NTOT-DESC(00001)
move 'CUST-DISCOUNT-CODE(1)' to PA-NTOT-DESC(00002)
move 'CUST-DISCOUNT-RATE(1)' to PA-NTOT-DESC(00003)
move 'CUST-DISCOUNT-CODE(2)' to PA-NTOT-DESC(00004)
move 'CUST-DISCOUNT-RATE(2)' to PA-NTOT-DESC(00005)
move 'CUST-DISCOUNT-CODE(3)' to PA-NTOT-DESC(00006)
move 'CUST-DISCOUNT-RATE(3)' to PA-NTOT-DESC(00007)
move 'CUST-TOKEN' to PA-NTOT-DESC(00008)
add 00008 to ZERO giving PA-NTOT-HOT
exit.
*****************************************************************
* This routine was generated by SimoREC1 *
* A product of SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
* Generation Date: 2019/08/16 Generation Time: 01:22:20:52 *
*****************************************************************
PANTOTB1 Copy Member
This source member (PANTOTB1.cpy) is the COBOL copy file that defines the first data structure within a Pass Area that is used when the primary COBOL program calls the secondary COBOL program.
*****************************************************************
* PANTOTB1.cpy is a COBOL Copy Member *
* Pass Area for the Numeric Totals. *
* Copyright (C) 1987-2019 SimoTime Technologies *
* All Rights Reserved *
* Provided by SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
*****************************************************************
01 PA-NTOT-GROUP.
05 PA-NTOT-TABLE occurs 256 times.
10 PA-NTOT-DESC pic X(32).
10 PA-NTOT-NUMB pic X(32).
10 PA-HEX40-CTR pic 9(7).
10 PA-HEX20-CTR pic 9(7).
10 PA-NUMCHK-CTR pic 9(7).
10 PA-NTOT-TYPE pic X(2).
10 PA-NTOT-SIGN pic X(3).
05 PA-NTOT-IDX pic 9(3).
05 PA-NTOT-LTD pic 9(3).
05 PA-NTOT-HOT pic 9(3).
05 PA-NTOT-RRN pic 9(9).
05 PA-NTOT-RESET pic X.
*** PANTOTB1 - End-of-Copy File - - - - - - - - - - - PANTOTB1 *
*****************************************************************
*
CUSTCB01 Copy Member
This source member (CUSTCB01.cpy) is the COBOL copy file that defines the second data structure within a Pass Area that is used when the primary COBOL program calls the secondary COBOL program.
*****************************************************************
* CUSTCB01.cpy - a COBOL Copy Member *
* Customer Master File used for Quality Assurance Testing *
* This is a VSAM Keyed-Sequential-Data-Set or KSDS *
* Copyright (C) 1987-2020 SimoTime Technologies *
* All Rights Reserved *
* Provided by SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
*****************************************************************
* CUST-RECORD size is 512 bytes.
* RMIN is 512 RMAX is 512
* KPOS is 1 KLEN is 012
*
....:.*..1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
01 CUST-RECORD.
05 CUST-NUMBER PIC X(12). col A
05 CUST-DATA.
10 CUST-STATUS PIC X. col B
10 CUST-NAME.
15 CUST-LAST-NAME PIC X(28). col C
15 CUST-FIRST-NAME PIC X(20). col D
15 CUST-MID-NAME PIC X(20). col E
10 CUST-ADDRESS-1 PIC X(48). col F
10 CUST-ADDRESS-2 PIC X(48). col G
10 CUST-CITY PIC X(28). col H
10 CUST-STATE PIC X(28). col I
10 CUST-POSTAL-CODE PIC X(12). col J
10 CUST-PHONE-HOME PIC X(18). col K
10 CUST-PHONE-WORK PIC X(18). col L
10 CUST-PHONE-CELL PIC X(18). col M
10 CUST-CREDIT-LIMIT PIC 9(7) COMP-3. col N
10 CUST-DISCOUNT OCCURS 3 TIMES.
15 CUST-DISCOUNT-CODE PIC S9(3) COMP. col ORU
15 CUST-DISCOUNT-RATE PIC S9(2)V999. col PSV
15 CUST-DISCOUNT-DATE PIC X(8). col QTW
10 CUST-LADATE PIC X(8). col X
10 CUST-LATIME PIC X(8). col Y
10 CUST-TOKEN PIC 9(3). col Z
10 FILLER PIC X(145).
*
*** CUSTCB01 - End-of-Copy File - - - - - - - - - - - CUSTCB01 *
*****************************************************************
*
Explore the Record Structure for the Customer Master File by viewing a generated HTML document based on a User-Defined COBOL copyfile.
Ancillary Functions
This section provides information about program members that are used by this suite of programs and shared with other tasks or applications. These ancillary program members are available as a separate package or as part of the SIMOTIME Enterprise package.
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.
For convenience, the ancillary functions used by this QAT process are described in the following sections of this document.
Batch Jobs, Windows
The following members are for the Windows Environment. The Job Scripts use Command Files.
Set the Base Environment
The following (ENV1BASE.cmd) is a Windows Command file that will set the commonly used environment variables. This member is used to provide a single point for managing the commonly used environment variables.
@echo OFF
rem * *******************************************************************
rem * ENV1BASE.cmd - a Windows Command File *
rem * This program is provided by SimoTime Technologies *
rem * (C) Copyright 1987-2021 All Rights Reserved *
rem * Web Site URL: http://www.simotime.com *
rem * e-mail: helpdesk@simotime.com *
rem * *******************************************************************
rem *
rem * Text - Provide a single point to set common environment variables.
rem * Author - SimoTime Technologies
rem * Date - January 24, 1996
rem *
rem * Set the commonly used environment variables. This is used to provide
rem * a single point for managing the commonly used environment variables.
rem *
set SimoLIBR=c:\SimoLIBR
set BASELIB1=c:\SIMOSAM1\DEVL
set BASELIB8=c:\SimoSAM8
set BaseWIP1=c:\SimoSAM1\WIP1
set DATAZERO=c:\SIMODATA\DEVL\DATA\ZERO
set BASEAPP=%BaseLib1%
set BASESYS=%BaseLib1%\SYS1
set BASECAT=%BaseLib1%\DATA
set UMAPALIB=%BASECAT%\ASC1
set UMAPELIB=%BASECAT%\EBC1
set SYSLOG=%BASESYS%\LOGS\SYSLOG_USER.DAT
set SYSOUT=%BASEAPP%\LOGS\SYSOUT_SIMSAM01.txt
set SLZMSG=%BASEAPP%\LOGS\SLZMSG_USER.TXT
set PostNOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.TXT
set SIMONOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.txt
set USERPOST=%BASEAPP%\LOGS\ASSIGNED_USER_POST_FILE.txt
if [%1]==[] goto NO_POST
set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%1.txt
call SIMONOTE "+ ENV1BASE *"
call SIMONOTE "+ ENV1BASE ********************************************************************%1"
call SIMONOTE "+ ENV1BASE is preparing the System Environment..."
call SIMONOTE "+ SIMOLIBR is %SIMOLIBR%"
call SIMONOTE "+ MIFOSYS1 is %MIFOSYS1%"
call SIMONOTE "+ BASELIB1 is %BASELIB1%"
:NO_POST
call SIMONOTE "+ SIMONOTE Job Log File is %SIMONOTE% "
rem *
set MQBASE=C:\Program Files\IBM\WebSphere MQ
rem *
rem * Set the location for the Apache-Tomcat Server...
set CATALINA_HOME=C:\APACHETC\apache-tomcat-7.0.52
rem set CATALINA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_112
rem *
rem * Set the Environment for the Java Environment...
rem set JAVABASE=C:\APACHETC\apache-tomcat-7.0.52
set JAVABASE=C:\Program Files (x86)\Java\jdk1.8.0_112
set JAVASDK="%JAVABASE%\bin"
set JAVA_HOME=%JAVABASE%
set JRE_HOME=%JAVABASE%
set SIMOTCAT=%CATALINA_HOME%\webapps\simotcat
set SIMPACKS=%CATALINA_HOME%\webapps\simotcat\WEB-INF\classes\simpacks
rem *
rem * Set the environment for the Micro Focus technology...
set MIFOEDEV=C:\Program Files (x86)\Micro Focus\Enterprise Developer
set MIFOVCBL=C:\Program Files (x86)\Micro Focus\Visual COBOL Build Tools
set MIFOESTU=C:\Program Files (x86)\Micro Focus\Studio Enterprise Edition 6.0
set MIFOEMFE="C:\Program Files (x86)\Micro Focus\Mainframe Express"
rem *
rem * Large file support, performance tuning and record locking of the File Handler
set EXTFH=%BASESYS%\CONFIG\EXTFHBIG.CFG
rem *
rem * For IMS Support
set ES_IMSLIB=%BASEAPP%\IMSLIB
set ES_ACBLIB=%BASEAPP%\IMSLIB
rem *
rem * EZASOKETS Check EZASOKETS Enabled box or set ES_EZASOKET_SUPPORT=YES
set EZACONFG=BASESYS1\CONFIG\EZACONFG.dat
rem *
rem * Resource Allocation and Performance for SORT and non-Relational Data
rem set MFJSENGINE=SYNCSORT
set SORTSCHEME=1
set SORTSPACE=750000000
set TMP=C:\SORTWORK
rem *
set ES_ALLOC_OVERRIDE=%BASESYS%\CONFIG\CATMAPA1.cfg
rem * For CORE_ON_ERROR function, ABEND Dump
rem * set COBCONFIG_=%BASESYS%\CONFIG\diagnose.cfg
rem *
rem * Consolidated Trace Facility (CTF)
rem * set MFTRACE_CONFIG=%BASESYS%\CONFIG\ctf.cfg
rem * set MFTRACE_LOGS=c:\ctflogs
rem *
rem * For Job Restart, ABEND Recovery
set MF_UCC11=Y
set ES_JES_RESTART=Y
rem *
rem * Set environment for MFBSI (Micro Focus Batch Scheduling Interface)
set ES_EMP_EXIT_1=mfbsiemx
set MFBSI_DIR=%BASESYS%\LOGS\%JESSERVERNAME%
set MFBSIEOP_CMD=ENABLE
set MFBSIEOP_CSV=ENABLE
set MFBSIEOP_HTM=ENABLE
set MFBSIEOP_XML=ENABLE
rem *
rem * Set Behavior and Trace Flags for GETJOBDD
rem * Position=12345678/12345678
set JDDFLAGS=nnnWnnnn/YYnnnnnn
rem *
rem * If not already set then set the PATH for Micro Focus Directories
if "%SIMOPATH%" == "Y" goto JUMPPATH
if "%MIFOSYS1%" == "EDEV" goto JUMPEDEV
if "%MIFOSYS1%" == "VCBL" goto JUMPVCBL
if "%MIFOSYS1%" == "ESTU" goto JUMPESTU
if "%MIFOSYS1%" == "EMFE" goto JUMPEMFE
:JUMPEDEV
set path=%BASESYS%\LOADLIB;%MIFOEDEV%\bin;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOEDEV%\CPYLIB
set MIFOBASE=%MIFOEDEV%
goto JUMPPATH
:JUMPVCBL
set path=%MIFOVCBL%\bin;%MIFOVCBL%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
set MIFOBASE=%MIFOVCBL%
goto JUMPPATH
:JUMPESTU
set MIFOBASE=%MIFOESTU%\Base
set MIFOBIN=%MIFOBASE%\bin
set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE
goto JUMPPATH
:JUMPEMFE
set MIFOBASE=%MIFOEMFE%\Base
set MIFOBIN=%MIFOBASE%\bin
set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE
goto JUMPPATH
rem *
:JUMPPATH
set SIMOPATH=Y
rem *
set MAINFRAME_FLOATING_POINT=true
set COBIDY=%BASEAPP%\COBIDY
set COBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR%
set LIBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR%
set TXDIR=%BASESYS%\LOADLIB;%MIFOBASE%
set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%
rem *
set USERCLASS=%BASELIB1%\LOADLIB
set CLASSPATH=.
set CLASSPATH=%CLASSPATH%;%JAVABASE%
set CLASSPATH=%CLASSPATH%;%JAVABASE%\lib
set CLASSPATH=%CLASSPATH%;\%USERCLASS%\simpacks
set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes
set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes\simpacks
rem *
if "%MIFOSYS1%" == "ESTU" set CLASSPATH=%CLASSPATH%;%MIFOBIN%
if "%MIFOSYS1%" == "EDEV" set CLASSPATH=%CLASSPATH%;%MIFOEDEV%
if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL%
if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL%\bin\mfcobol.jar
rem *
set JobStatus=0000
call SIMONOTE "+ ENV1BASE is returning to caller"
Display & Log Messages
The following (SIMONOTE.cmd) is a Windows Command file that may be called from other scripts and expects a single parameter enclosed in double quotes. The double quotes will be removed. The text message will be displayed to the screen. Before writing to the log file a date and time stamp will be inserted in front of the message text.
@echo OFF
rem * *******************************************************************
rem * SIMONOTE.cmd - a Windows Command File *
rem * This program is provided by SimoTime Technologies *
rem * (C) Copyright 1987-2019 All Rights Reserved *
rem * Web Site URL: http://www.simotime.com *
rem * e-mail: helpdesk@simotime.com *
rem * *******************************************************************
rem *
rem * Text - Display message on screen and write to a log file.
rem * Author - SimoTime Technologies
rem *
rem * This script may be called from other scripts and expects a single
rem * parameter enclosed in double quotes. The double quotes will be
rem * removed. Before writing to the log file a date and time stamp
rem * will be inserted in front of the message text.
rem *
rem * Note: The tilde (~) removes leading/trailing double-quotes.
rem *
if "%SimoNOTE%" == "" set SimoNOTE=c:\SimoLIBR\LOGS\SimoTime.LOG
echo %date% %time% %~1>> %SimoNOTE%
echo %~1
Summary
This Job Script is used as a Quality Assurance Test (QAT) for validating the integrity of numeric values that are stored within each record of a Customer Master File. This document may be used to assist as a tutorial for new assembler programmers or as a quick reference for experienced programmers. The samples focus on the coding techniques of the individual instructions. As always, it is the programmer's responsibility to thoroughly test all programs.
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.
Software Agreement and Disclaimer
Permission to use, copy, modify and distribute this software, documentation or training material for any purpose requires a fee to be paid to SimoTime Technologies. Once the fee is received by SimoTime the latest version of the software, documentation or training material will be delivered and a license will be granted for use within an enterprise, provided the SimoTime copyright notice appear on all copies of the software. The SimoTime name or Logo may not be used in any advertising or publicity pertaining to the use of the software without the written permission of SimoTime Technologies.
SimoTime Technologies makes no warranty or representations about the suitability of the software, documentation or learning material for any purpose. It is provided "AS IS" without any expressed or implied warranty, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement. SimoTime Technologies shall not be liable for any direct, indirect, special or consequential damages resulting from the loss of use, data or projects, whether in an action of contract or tort, arising out of or in connection with the use or performance of this software, documentation or training material.
Downloads and Links
This section includes links to documents with additional information that are beyond the scope and purpose of this document. The first group of documents may be available from a local system or via an internet connection, the second group of documents will require an internet connection.
Note: A SimoTime License is required for the items to be made available on a local system or server.
Current Server or Internet Access
The following links may be to the current server or to the Internet.
Explore The Binary or COMP format for numeric data strings. This numeric structure is supported by COBOL and may be explicitly defined with the "USAGE IS COMP" or "USAGE IS BINARY" clause.
Explore The Edited for Display format for numeric data strings. This numeric structure is supported by COBOL and may be used with an edit-mask to prepare the presentation for readability by human beings.
Explore The Packed-Decimal or COMP-3 format for numeric data strings. This numeric structure is supported by COBOL and may be explicitly defined with the "USAGE IS COMP-3" clause.
Explore The Zoned-Decimal format for numeric data strings. This numeric structure is the default numeric for COBOL and may be explicitly defined with the "USAGE IS DISPLAY" clause.
Explore the COBOL Connection for more examples of COBOL programming techniques and sample code.
Explore The ASCII and EBCDIC Translation Tables. These tables are provided for individuals that need to better understand the bit structures and differences of the encoding formats.
Explore The File Status Return Codes that are used to interpret the results of accessing VSAM data sets and/or QSAM files.
Internet Access Required
The following links will require an internet connect.
A good place to start is
The SimoTime Home Page
for access to white papers, program examples and product information. This link requires an Internet Connection
Explore
The Micro Focus Web Site
for more information about products (including Micro Focus COBOL) and services available from Micro Focus. This link requires an Internet Connection.
Glossary of Terms
Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.
Contact or Feedback
This document was created and is maintained by SimoTime Technologies. If you have any questions, suggestions, comments or feedback please use the following contact information.
|
1.
|
Send an e-mail to our helpdesk.
|
|
2.
|
Our telephone numbers are as follows.
|
|
2.1.
|
1 415 763-9430 office-helpdesk
|
|
2.2.
|
1 415 827-7045 mobile
|
We appreciate hearing from you.
Company Overview
SimoTime Technologies was founded in 1987 and is a privately owned company. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. Our customers include small businesses using Internet technologies to corporations using very large mainframe systems.
Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems. We specialize in preparing applications and the associated data that are currently residing on a single platform to be distributed across a variety of platforms.
Preparing the application programs will require the transfer of source members that will be compiled and deployed on the target platform. The data will need to be transferred between the systems and may need to be converted and validated at various stages within the process. SimoTime has the technology, services and experience to assist in the application and data management tasks involved with doing business in a multi-system environment.
Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com
| Return-to-Top |
|
Accumulate Summary Totals for a Customer Master File
|
Copyright © 1987-2025 SimoTime Technologies and Services All Rights Reserved |
| When technology complements business |
| http://www.simotime.com |
|