|
COBOL Print & Display Remove Non-Print Characters |
![]() |
| The SimoTime Home Page |
A data string that is going to be printed or displayed on a display device should not contain binary data (i.e. non-display or non-printable characters). The binary characters may be the same value as a print or display control character that could result in the incorrect presentation of the data. This suite of programs provides an example of how a COBOL program may be used to define a binary table and then display data strings that have embedded binary (or non-display and non-print) values by removing the binary characters. This is accomplished by replacing the binary characters with space characters.
The sample programs will attempt to display the data strings with the binary values and then use a routine that replaces non-display or non-print values with spaces prior to displaying or printing. The intent of this example is to show how binary values may conflict with control or formatting characters for display devices or printers. The results may be slightly different depending on the display device or printer used when running this example.
The COBOL program is written using the IBM COBOL for OS/390 dialect and will also work with IBM Enterprise COBOL. A JCL member is provided to run the job as an MVS batch job on an IBM mainframe or as a project with Micro Focus Mainframe Express (MFE) running on a PC with Windows. A batch or command file is provided to run the job as a Windows batch job on a Wintel platform using Micro Focus Net Express.
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
This example illustrates the following functions.
| ||||||
| Managing the Print and non-Print Characters in a Data String |
The following shows the input and output for the program. The x'nn' represents a single byte for the actual binary value.
TEST-01-ROUTINE is Starting... Test-000,x'00',End-of-Text-String... Test-001,x'01',End-of-Text-String... Test-002,x'02',End-of-Text-String... Test-003,x'03',End-of-Text-String... Test-004,x'04',End-of-Text-String... Test-005,x'05' ,End-of-Text-String... Test-006,x'06',End-of-Text-String... Test-007,x'07',End-of-Text-String... Test-008,x'08',End-of-Text-String... Test-009,x'09',End-of-Text-String... Test-010,x'0A' Test-011,x'0B',End-of-Text-String... Test-012,x'0C',End-of-Text-String... Test-013,x'0D',End-of-Text-String... Test-014,x'0E',End-of-Text-String... Test-015,x'0F',End-of-Text-String... Test-016,x'10',End-of-Text-String... TEST-01-ROUTINE is Finished... TEST-02-ROUTINE is Starting... Test-000, ,End-of-Text-String... Test-001, ,End-of-Text-String... Test-002, ,End-of-Text-String... Test-003, ,End-of-Text-String... Test-004, ,End-of-Text-String... Test-005, ,End-of-Text-String... Test-006, ,End-of-Text-String... Test-007, ,End-of-Text-String... Test-008, ,End-of-Text-String... Test-009, ,End-of-Text-String... Test-010, ,End-of-Text-String... Test-011, ,End-of-Text-String... Test-012, ,End-of-Text-String... Test-013, ,End-of-Text-String... Test-014, ,End-of-Text-String... Test-015, ,End-of-Text-String... Test-016, ,End-of-Text-String... TEST-02-ROUTINE is Finished... TEST-03-ROUTINE is Starting... Next two lines should be identical... Test-0D0A End-of-Text-String Test-0D0A End-of-Text-String TEST-03-ROUTINE is Finished...
This suite of samples programs will run on the following platforms.
| ||||||
| Operating Systems and Supporting Software |
This program will create a text string with non-display binary data mixed with display data and then attempt to display (refer to TEST-01-ROUTINE). The same test is then performed (refer to TEST-02-ROUTINE) but the message display routine will scan the display buffer to remove any non-display values from the text string. A third test (refer to TEST-03-ROUTINE) will insert a x'0D0A' into the text string and attempt to display the string with the binary (or non-display) values. Also, the third test will display the string using the display routine that replaces non-display values with spaces.
The COBOL program will first do a perform loop 17 times and create text strings that will contain a binary value from x'00' to x'10'. During each iteration of the programming loop a routine will be called that will attempt to display the text strings with the included binary values.
Next, the COBOL program will do a perform loop 17 times and create text strings that will contain a binary value from x'00' to x'10'. During each iteration of the programming loop a routine will be called that will replace the binary values with space characters before displaying the text strings.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Note-1: Attempt to display text strings with embedded binary values and then display same text strings with binary values replaced by space characters. Also, write the text strings to a file. |
| Overview of the Edit Functions for a Print or Display Text String |
Color Associations: The
The following is the Windows CMD (CBLPRTE1.cmd) required to run the sample COBOL program. This is a two step job. The first step (identified by the :DELETEQSAM statement) will delete the file that was created from a previous run of this job. The second step (identified by the :CREATEQSAM statement) will execute the sample program.
@echo OFF
rem * *******************************************************************
rem * CBLPRTE1.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 File of 80-byte records.
rem * Author - SimoTime Technologies
rem * Date - January 24, 1996
rem *
rem * The first job step (DeleteQSAM) will delete any previously created
rem * file.
rem *
rem * The second job step (CreateQSAM) will create a new file of 80-byte
rem * records.
rem * For this program to work the COBOL program must be compiled with
rem * the ASSIGN(EXTERNAL) and SEQUENTIAL(LINE) directives under
rem * Net Express.
rem *
rem * This set of programs will run on a Linux. UNIX or Windows system
rem * with Micro Focus technology.
rem *
rem * ********************************************************************
rem * Step 1 of 2 Set the global environment variables,
rem * Delete any previously created file...
rem *
set CmdName=CBLPRTE1
call ..\ENV1BASE
rem *
call SimoNOTE "*******************************************************%CmdName%"
call SimoNOTE "Starting JobName %CmdName%, User is %USERNAME%"
call SimoNOTE "Identify JobStep DeleteQSAM"
:DeleteQSAM
set SYSMEMO1=%BaseLib1%\DATA\WRK1\SYSMEMO1.DAT
if exist %SYSMEMO1% erase %SYSMEMO1%
rem *
rem * *******************************************************************
rem * Step 2 of 2 Create and populate a new QSAM file...
rem *
:CreateQSAM
call SimoNOTE "Identify JobStep CreateQSAM"
run CBLPRTC1
echo ERRORLEVEL is %ERRORLEVEL%
if not "%ERRORLEVEL%" == "0" set JobStatus=0010
if not "%JobStatus%" == "0000" goto :EojNOK
rem *
if exist %SYSMEMO1% goto :EojAok
set JobStatus=0020
goto :EojNok
:EojAok
call SimoNOTE "DATAMAKE %SYSMEMO1%"
call SimoNOTE "SYSOUT.. %SYSOUT%"
call SimoNOTE "Finished JobName %CmdName%, Job Status is %JobStatus%"
goto :End
:EojNok
call SimoNOTE "ABENDING JobName %CmdName%, Job Status is %JobStatus%"
:End
call SimoNOTE "Conclude SysLog is %SYSLOG%"
if not "%1" == "nopause" pause
The following is the mainframe JCL (CBLPRTJ1.jcl) required to run the sample COBOL program. This is a two step job. The first step (identified by the //BLOWAWAY statement) will delete the file that was created from a previous run of this job. The second step (identified by the //SHOWTEXT statement) will execute the sample program.
The JOB and DD statements may need to be modified for different mainframe environments.
//CBLPRTJ1 JOB SIMOTIME,CLASS=1,MSGCLASS=0,NOTIFY=CSIP1 //* ******************************************************************* //* CBLPRTJ1.JCL - a JCL Member for Batch Job Processing * //* This JCL Member is provided by SimoTime Technologies * //* (C) Copyright 1987-2019 All Rights Reserved * //* Web Site URL: http://www.simotime.com * //* e-mail: helpdesk@simotime.com * //* ******************************************************************* //* //* Text - Replace non-display, non-print characters with a SPACE. //* Author - SimoTime Technologies //* Date - January 24, 1996 //* //* The job will attempt to display a text string with non-display //* characters embedded in the string. The program will then attempt //* to display the text string after scanning and replacing the //* non-display characters with spaces. //* //* This set of programs will run on a mainframe under MVS or on a //* Personal Computer with Windows and Micro Focus Mainframe Express. //* //* ************ //* * CBLPRTJ1 * //* ********jcl* //* * //* ************ //* * IEFBR14 * //* ********utl* //* * //* ************ ************ //* * CBLPRTC1 *-----* SYSMEMO1 * //* ********cbl* ********dat* //* * //* * //* ************ //* * EOJ * //* ************ //* //* ******************************************************************* //* Step 1 of 2, Delete any previously created file... //* //BLOWAWAY EXEC PGM=IEFBR14 //DD1 DD DSN=SIMOTIME.DATA.SYSMEMO1,DISP=(MOD,DELETE,DELETE), // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=80,DSORG=PS) //* //* ******************************************************************* //* Step 2 of 2, Edit input, create a new output file... //* //SHOWTEXT EXEC PGM=CBLPRTC1 //STEPLIB DD DSN=SIMOTIME.DEMO.LOADLIB1,DISP=SHR //SYSMEMO1 DD DSN=SIMOTIME.DATA.SYSMEMO1, // DISP=(NEW,CATLG,DELETE), // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=80,DSORG=PS) //SYSOUT DD SYSOUT=* //
The following is the source code (CBLPRTC1.cbl) for the sample COBOL program.
IDENTIFICATION DIVISION.
PROGRAM-ID. CBLPRTC1.
AUTHOR. SIMOTIME TECHNOLOGIES.
*****************************************************************
* Copyright (C) 1987-2019 SimoTime Technologies. *
* *
* All rights reserved. Unpublished, all rights reserved under *
* copyright law and international treaty. Use of a copyright *
* notice is precautionary only and does not imply publication *
* or disclosure. *
* *
* Permission to use, copy, modify and distribute this software *
* for any non-commercial purpose and without fee is hereby *
* granted, 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. *
* *
* Permission to use, copy, modify and distribute this software *
* for any commercial purpose requires a fee to be paid to *
* SimoTime Technologies. Once the fee is received by SimoTime *
* the latest version of the software 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 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 *
* *
* SimoTime Technologies *
* 15 Carnoustie Drive *
* Novato, CA 94949-5849 *
* 415.883.6565 *
* *
* RESTRICTED RIGHTS LEGEND *
* Use, duplication, or disclosure by the Government is subject *
* to restrictions as set forth in subparagraph (c)(1)(ii) of *
* the Rights in Technical Data and Computer Software clause at *
* DFARS 52.227-7013 or subparagraphs (c)(1) and (2) of *
* Commercial Computer Software - Restricted Rights at 48 *
* CFR 52.227-19, as applicable. Contact SimoTime Technologies, *
* 15 Carnoustie Drive, Novato, CA 94949-5849. *
* *
*****************************************************************
* This program is provided by SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
* *
*****************************************************************
*
*****************************************************************
* Source Member: CBLPRTC1.CBL
* Copy Files: BIN256B1.CPY
* PRTASCB1.CPY
* PRTASCB2.CPY
* PRTEBCB1.CPY
* PRTEBCB2.CPY
*****************************************************************
*
* CBLPRTC1 - Show what happens when binary data is in a display
* message.
*
* CALLING PROTOCOL
* ----------------
* Use standard procedure to RUN or ANIMATE.
*
* DESCRIPTION
* -----------
* This program will create a text string with non-display binary
* data and then attempt to display (refer to TEST-01-ROUTINE).
* The same test is performed (refer to TEST-02-ROUTINE) with but
* the message display routine will scan the display buffer to
* remove any non-display values from the text string.
*
* ************
* * CBLPRTJ1 *
* ********jcl*
* *
* *
* ************ ************
* * CBLPRTC1 *-----* CONSOLE *
* ********cbl* * ******dsply*
* * *
* * *
* * * ************
* * *--* SYSMEMO1 *
* * ********txt*
* ************
* * EOJ *
* ************
*
*****************************************************************
*
* MAINTENANCE
* -----------
* 1989/02/27 Simmons, Created program.
* 1997/03/17 Simmons, No changes to date....
*
*****************************************************************
*
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SYSMEMO1-FILE ASSIGN to SYSMEMO1
ORGANIZATION is SEQUENTIAL
ACCESS MODE is SEQUENTIAL
FILE STATUS is SYSMEMO1-STATUS.
*****************************************************************
DATA DIVISION.
FILE SECTION.
FD SYSMEMO1-FILE
DATA RECORD is SYSMEMO1-RECORD
.
01 SYSMEMO1-RECORD.
05 SYSMEMO1-DATA-01 pic X(00080).
WORKING-STORAGE SECTION.
*****************************************************************
* Data-structure for Title and Copyright...
* ------------------------------------------------------------
01 SIM-TITLE.
05 T1 pic X(11) value '* CBLPRTC1 '.
05 T2 pic X(34) value 'Sample Print with Embedded Hex... '.
05 T3 pic X(10) value ' v05.11.09'.
05 T4 pic X(24) value ' http://www.simotime.com'.
01 SIM-COPYRIGHT.
05 C1 pic X(11) value '* CBLPRTC1 '.
05 C2 pic X(20) value 'Copyright 1987-2019 '.
05 C3 pic X(28) value ' SimoTime Technologies '.
05 C4 pic X(20) value ' All Rights Reserved'.
01 SIM-THANKS-01.
05 C1 pic X(11) value '* CBLPRTC1 '.
05 C2 pic X(32) value 'Thank you for using this program'.
05 C3 pic X(32) value ' provided from SimoTime Technolo'.
05 C4 pic X(04) value 'gies'.
01 SIM-THANKS-02.
05 C1 pic X(11) value '* CBLPRTC1 '.
05 C2 pic X(32) value 'Please send all inquires or sugg'.
05 C3 pic X(32) value 'estions to the helpdesk@simotime'.
05 C4 pic X(04) value '.com'.
*****************************************************************
* Buffer used for posting messages to the console.
* ------------------------------------------------------------
01 MESSAGE-BUFFER.
05 MESSAGE-HEADER pic X(11) value '* CBLPRTC1 '.
05 MESSAGE-TEXT.
10 MESSAGE-TEXT-1 pic X(68) value SPACES.
10 MESSAGE-TEXT-2 pic X(188) value SPACES.
01 SYSMEMO1-STATUS.
05 SYSMEMO1-STATUS-L pic X.
05 SYSMEMO1-STATUS-R pic X.
01 SYSMEMO1-EOF pic X value 'N'.
01 SYSMEMO1-OPEN-FLAG pic X value 'C'.
01 IO-STATUS.
05 IO-STAT1 pic X.
05 IO-STAT2 pic X.
01 TWO-BYTES.
05 TWO-BYTES-LEFT pic X.
05 TWO-BYTES-RIGHT pic X.
01 TWO-BYTES-BINARY redefines TWO-BYTES pic 9(4) comp.
01 APPL-RESULT pic S9(9) comp.
88 APPL-AOK value 0.
88 APPL-EOF value 16.
*****************************************************************
* Work fields used for testing Print or Display.
* ------------------------------------------------------------
01 TEST-BUFFER.
05 FILLER pic X(5) value 'Test-'.
05 TEST-CTR pic 9(3) value 0.
05 FILLER pic X value ','.
05 TEST-HEX pic X value SPACE.
05 FILLER pic X value ','.
05 FILLER pic X(21) value 'End-of-Text-String...'.
01 A-ASCII pic X value x'41'.
01 A-EBCDIC pic X value x'C1'.
01 A-COMPILE pic X value 'A'.
01 IX-1 pic 9(3) value 0.
01 IX-2 pic 9(3) value 0.
01 DISPLAY-LINE.
05 DISPLAY-VALUE pic X(16) value SPACES.
05 DISPLAY-TEXT pic X(20) value SPACES.
01 MESSAGE-ITEMS.
05 FILLER pic X(20) value ' * hex-00 to hex-0F '.
05 FILLER pic X(20) value ' * hex-10 to hex-1F '.
05 FILLER pic X(20) value ' * hex-20 to hex-2F '.
05 FILLER pic X(20) value ' * hex-30 to hex-3F '.
05 FILLER pic X(20) value ' * hex-40 to hex-4F '.
05 FILLER pic X(20) value ' * hex-50 to hex-5F '.
05 FILLER pic X(20) value ' * hex-60 to hex-6F '.
05 FILLER pic X(20) value ' * hex-70 to hex-7F '.
05 FILLER pic X(20) value ' * hex-80 to hex-8F '.
05 FILLER pic X(20) value ' * hex-90 to hex-9F '.
05 FILLER pic X(20) value ' * hex-A0 to hex-AF '.
05 FILLER pic X(20) value ' * hex-B0 to hex-BF '.
05 FILLER pic X(20) value ' * hex-C0 to hex-CF '.
05 FILLER pic X(20) value ' * hex-D0 to hex-DF '.
05 FILLER pic X(20) value ' * hex-E0 to hex-EF '.
05 FILLER pic X(20) value ' * hex-F0 to hex-FF '.
01 MESSAGE-TABLE redefines MESSAGE-ITEMS.
05 MESSAGE-ELEMENT pic X(20) occurs 16 times.
COPY BIN256B1.
COPY PRTASCB1.
COPY PRTEBCB1.
COPY PRTASCB2.
COPY PRTEBCB2.
*****************************************************************
PROCEDURE DIVISION.
perform Z-POST-COPYRIGHT
perform SYSMEMO1-OPEN
perform TEST-01-ROUTINE
perform TEST-02-ROUTINE
perform TEST-03-ROUTINE
perform TEST-04-ROUTINE
perform TEST-05-ROUTINE
perform TEST-06-ROUTINE
perform TEST-07-ROUTINE
perform SYSMEMO1-CLOSE
perform Z-THANK-YOU.
GOBACK.
*****************************************************************
PUT-APPL-MESSAGE.
move MESSAGE-TEXT to SYSMEMO1-DATA-01
perform Z-DISPLAY-CONSOLE-MESSAGE
perform SYSMEMO1-WRITE
exit.
*****************************************************************
PUT-APPL-MESSAGE-WITH-EDIT.
* The following inspect will replace any non-display text
* bytes with a space. The following evaluate will determine
* if the program has been compiled for an ASCII or EBCDIC
* environment and then replace the appropriate non-display
* characters with the appropriate space character.
evaluate A-COMPILE
when A-ASCII inspect MESSAGE-TEXT
converting B-INFO to P1-ASC
when A-EBCDIC inspect MESSAGE-TEXT
converting B-INFO to P1-EBC
end-evaluate
move MESSAGE-TEXT to SYSMEMO1-DATA-01
perform Z-DISPLAY-CONSOLE-MESSAGE
perform SYSMEMO1-WRITE
exit.
*****************************************************************
PUT-APPL-MESSAGE-WITH-EDIT-2.
* The following inspect will replace any non-display text
* bytes with a space. The following evaluate will determine
* if the program has been compiled for an ASCII or EBCDIC
* environment and then replace the appropriate non-display
* characters with the appropriate space character.
evaluate A-COMPILE
when A-ASCII inspect MESSAGE-TEXT
converting B-INFO to P2-ASC
when A-EBCDIC inspect MESSAGE-TEXT
converting B-INFO to P2-EBC
end-evaluate
move MESSAGE-TEXT to SYSMEMO1-DATA-01
perform Z-DISPLAY-CONSOLE-MESSAGE
perform SYSMEMO1-WRITE
exit.
*****************************************************************
TEST-01-ROUTINE.
move 'TEST-01-ROUTINE is Starting...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
move ZERO to TEST-CTR
move SPACE to TEST-HEX
move TEST-BUFFER to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
perform varying TEST-CTR from 0 by 1
until TEST-CTR > 16
* Force a binary value into the text string to be displayed.
* As TEST-CTR is incremented a non-display value of x'00'
* through x'0F' is placed in the message to be displayed.
move B-INFO(TEST-CTR + 1:1) to TEST-HEX
move TEST-BUFFER to MESSAGE-TEXT
* The following perform will attempt to display the text
* string without testing and changing the embedded
* non-display, non-print characters.
perform PUT-APPL-MESSAGE
end-perform
move 'TEST-01-ROUTINE is Finished...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
exit.
*****************************************************************
TEST-02-ROUTINE.
move 'TEST-02-ROUTINE is Starting...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
move ZERO to TEST-CTR
move SPACE to TEST-HEX
move TEST-BUFFER to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
perform varying TEST-CTR from 0 by 1
until TEST-CTR > 16
* Force a binary value into the text string to be displayed
move B-INFO(TEST-CTR + 1:1) to TEST-HEX
move TEST-BUFFER to MESSAGE-TEXT
* The following perform will attempt to display the text
* string after testing and changing the embedded
* non-display, non-print characters to a space character.
perform PUT-APPL-MESSAGE-WITH-EDIT
end-perform
move 'TEST-02-ROUTINE is Finished...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
exit.
*****************************************************************
TEST-03-ROUTINE.
move 'TEST-03-ROUTINE is Starting...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
move 'Next two lines should be identical...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
move 'Test-0D0A ' to MESSAGE-TEXT(1:10)
move x'0D0A' to MESSAGE-TEXT(11:2)
move 'End-of-Text-String' to MESSAGE-TEXT(13:18)
* The following perform will attempt to display the text
* string without testing and changing the embedded
* carriage-return, line feed characters.
perform PUT-APPL-MESSAGE
move 'Test-0D0A ' to MESSAGE-TEXT(1:10)
move x'0D0A' to MESSAGE-TEXT(11:2)
move 'End-of-Text-String' to MESSAGE-TEXT(13:18)
perform PUT-APPL-MESSAGE-WITH-EDIT
move 'TEST-03-ROUTINE is Finished...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
exit.
*****************************************************************
TEST-04-ROUTINE.
move 'TEST-04-ROUTINE is Starting...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE
perform varying IX-1 from 1 by 16 until IX-1 > 256
move B-INFO(IX-1:16) to MESSAGE-TEXT(13:18)
* The following perform will attempt to display the text
* string without testing and changing the embedded
* carriage-return, line feed characters.
perform PUT-APPL-MESSAGE
end-perform
move 'TEST-04-ROUTINE is Finished...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
exit.
*****************************************************************
TEST-05-ROUTINE.
move 'TEST-05-ROUTINE is Starting...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE
add 3 to ZERO giving IX-2
perform varying IX-1 from 33 by 16 until IX-1 > 256
move B-INFO(IX-1:16) to DISPLAY-VALUE
move MESSAGE-ELEMENT(IX-2)to DISPLAY-TEXT
move DISPLAY-LINE to MESSAGE-TEXT
* The following perform will attempt to display the text
* string without testing and changing the embedded
* carriage-return, line feed characters.
perform PUT-APPL-MESSAGE
add 1 to IX-2
end-perform
move 'TEST-05-ROUTINE is Finished...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
exit.
*****************************************************************
TEST-06-ROUTINE.
move 'TEST-06-ROUTINE is Starting...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE
add 1 to ZERO giving IX-2
perform varying IX-1 from 1 by 16 until IX-1 > 256
move B-INFO(IX-1:16) to DISPLAY-VALUE
move MESSAGE-ELEMENT(IX-2)to DISPLAY-TEXT
move DISPLAY-LINE to MESSAGE-TEXT
* The following perform will attempt to display the text
* string with testing and changing the embedded non-display
* characters using the USA table.
perform PUT-APPL-MESSAGE-WITH-EDIT
add 1 to IX-2
end-perform
move 'TEST-06-ROUTINE is Finished...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE-WITH-EDIT
exit.
*****************************************************************
TEST-07-ROUTINE.
move 'TEST-07-ROUTINE is Starting...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE
add 1 to ZERO giving IX-2
perform varying IX-1 from 1 by 16 until IX-1 > 256
move B-INFO(IX-1:16) to DISPLAY-VALUE
move MESSAGE-ELEMENT(IX-2)to DISPLAY-TEXT
move DISPLAY-LINE to MESSAGE-TEXT
* The following perform will attempt to display the text
* string with testing and changing the embedded non-display
* characters using the extended table.
perform PUT-APPL-MESSAGE-WITH-EDIT-2
add 1 to IX-2
end-perform
move 'TEST-07-ROUTINE is Finished...' to MESSAGE-TEXT
perform PUT-APPL-MESSAGE
exit.
*****************************************************************
* I/O ROUTINES FOR SYSMEMO1... *
*****************************************************************
SYSMEMO1-WRITE.
if SYSMEMO1-OPEN-FLAG = 'C'
perform SYSMEMO1-OPEN
end-if
write SYSMEMO1-RECORD
if SYSMEMO1-STATUS = '00'
subtract APPL-RESULT from APPL-RESULT
else
if SYSMEMO1-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
move 'SYSMEMO1-Failure-WRITE...' to MESSAGE-TEXT
perform Z-DISPLAY-CONSOLE-MESSAGE
move SYSMEMO1-STATUS to IO-STATUS
perform Z-DISPLAY-IO-STATUS
perform Z-ABEND-PROGRAM
end-if
exit.
*---------------------------------------------------------------*
SYSMEMO1-OPEN.
add 8 to ZERO giving APPL-RESULT.
open output SYSMEMO1-FILE
if SYSMEMO1-STATUS = '00'
subtract APPL-RESULT from APPL-RESULT
move 'O' to SYSMEMO1-OPEN-FLAG
else
add 12 to ZERO giving APPL-RESULT
end-if
if APPL-AOK
CONTINUE
else
move 'SYSMEMO1-Failure-OPEN...' to MESSAGE-TEXT
perform Z-DISPLAY-CONSOLE-MESSAGE
move SYSMEMO1-STATUS to IO-STATUS
perform Z-DISPLAY-IO-STATUS
perform Z-ABEND-PROGRAM
end-if
exit.
*---------------------------------------------------------------*
SYSMEMO1-CLOSE.
add 8 to ZERO giving APPL-RESULT.
close SYSMEMO1-FILE
if SYSMEMO1-STATUS = '00'
subtract APPL-RESULT from APPL-RESULT
move 'C' to SYSMEMO1-OPEN-FLAG
else
add 12 to ZERO giving APPL-RESULT
end-if
if APPL-AOK
CONTINUE
else
move 'SYSMEMO1-Failure-CLOSE...' to MESSAGE-TEXT
perform Z-DISPLAY-CONSOLE-MESSAGE
move SYSMEMO1-STATUS to IO-STATUS
perform Z-DISPLAY-IO-STATUS
perform Z-ABEND-PROGRAM
end-if
exit.
*****************************************************************
* The following Z-Routines perform administrative tasks *
* 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-CONSOLE-MESSAGE
end-if
move 'PROGRAM-IS-ABENDING...' to MESSAGE-TEXT
perform Z-DISPLAY-CONSOLE-MESSAGE
add 12 to ZERO giving RETURN-CODE
STOP RUN.
* exit.
*****************************************************************
Z-POST-COPYRIGHT.
display SIM-TITLE
display SIM-COPYRIGHT
exit.
*****************************************************************
* Display the file status bytes. This routine will display as *
* two digits if the full two byte file status is numeric. If *
* second byte is non-numeric then it will be treated as a *
* binary number. *
*****************************************************************
Z-DISPLAY-IO-STATUS.
if IO-STATUS not NUMERIC
or IO-STAT1 = '9'
subtract TWO-BYTES-BINARY from TWO-BYTES-BINARY
move IO-STAT2 to TWO-BYTES-RIGHT
display '* CBLPRTC1 File-Status-' IO-STAT1 '/'
TWO-BYTES-BINARY upon console
display '* CBLPRTC1 File-Status-' IO-STAT1 '/'
TWO-BYTES-BINARY
else
display '* CBLPRTC1 File-Status-' IO-STATUS upon console
display '* CBLPRTC1 File-Status-' IO-STATUS
end-if
exit.
*****************************************************************
* Display CONSOLE messages... *
*****************************************************************
Z-DISPLAY-CONSOLE-MESSAGE.
if MESSAGE-TEXT-2 = SPACES
display MESSAGE-BUFFER(1:79)
else
display MESSAGE-BUFFER
end-if
move all SPACES to MESSAGE-TEXT
exit.
*****************************************************************
Z-THANK-YOU.
display SIM-THANKS-01
display SIM-THANKS-02
exit.
*****************************************************************
* This example is provided by SimoTime Technologies *
* Our e-mail address is: helpdesk@simotime.com *
* Also, visit our Web Site at http://www.simotime.com *
*****************************************************************
This section provides a listing of the source code for the COBOL copy files used to define the tables of binary values. These tables are used to inspect a message buffer and replace non-display or non-print characters with spaces.
The following is the source code (BIN256B1.cpy) for the COBOL copy file that defines a table of the possible 256 binary values.
*****************************************************************
* BIN256B1.CPY - a COBOL Copy File *
* Copyright (C) 1987-2018 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 *
*****************************************************************
*
....:.*..1....:....2....:....3....:....4....:....5....:....6....:....7. ..:....8
01 BINARY-DATA.
05 FILLER pic X(16)
value X'000102030405060708090A0B0C0D0E0F'. 000-015
05 FILLER pic X(16)
value X'101112131415161718191A1B1C1D1E1F'. 016-031
05 FILLER pic X(16)
value X'202122232425262728292A2B2C2D2E2F'. 032-047
05 FILLER pic X(16)
value X'303132333435363738393A3B3C3D3E3F'. 048-063
05 FILLER pic X(16)
value X'404142434445464748494A4B4C4D4E4F'. 064-079
05 FILLER pic X(16)
value X'505152535455565758595A5B5C5D5E5F'. 080=095
05 FILLER pic X(16)
value X'606162636465666768696A6B6C6D6E6F'. 096-111
05 FILLER pic X(16)
value X'707172737475767778797A7B7C7D7E7F'. 112-127
05 FILLER pic X(16)
value X'808182838485868788898A8B8C8D8E8F'. 128-143
05 FILLER pic X(16)
value X'909192939495969798999A9B9C9D9E9F'. 144-159
05 FILLER pic X(16)
value X'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF'. 160-175
05 FILLER pic X(16)
value X'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF'. 176-191
05 FILLER pic X(16)
value X'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF'. 192-207
05 FILLER pic X(16)
value X'D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF'. 208-223
05 FILLER pic X(16)
value X'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'. 224-239
05 FILLER pic X(16)
value X'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'. 240-255
....:.*..1....:....2....:....3....:....4....:....5....:....6....:....7. ..:....8
*
01 B-INFO redefines BINARY-DATA pic X(256).
01 BINARY-TABLE redefines BINARY-DATA.
05 BINARY-BYTE pic X occurs 256 times.
*
*** BIN256B1 - End-of-Copy File - - - - - - - - - - - BIN256B1 *
*****************************************************************
*
The following sub-sections describe various tables that may be used to identify printable characters. Table values may be determined based on user preference, country of residence or code page.
The following is the source code (PRTASCB1.cpy) for the COBOL copy file that defines a table of the valid print or display characters for the ASCII-encoded environment.
*****************************************************************
* PRTASCB1 is a COBOL Copy File *
* Data Table to Identify non-Print ASCII Characters. *
* Copyright (C) 1987-2018 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 *
*****************************************************************
* This table is commonly used to change the non-display or *
* non-print characters in a message text string to spaces. *
* This table will only work for ASCII-encoded text strings. *
* The following is an example of an inspect statement for COBOL *
* *
* inspect MESSAGE-TEXT converting B-INFO to P1-ASC *
* *
* Note: Refer to BIN256B1.CPY for the table of binary values. *
*****************************************************************
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7.
01 P1-ASC-DATA.
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'202122232425262728292A2B2C2D2E2F'.
* ! " # $ % & ' ( ) * + , - . /
05 FILLER pic X(16)
value X'303132333435363738393A3B3C3D3E3F'.
* 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
05 FILLER pic X(16)
value X'404142434445464748494A4B4C4D4E4F'.
* @ A B C D E F G H I J K L M N O
05 FILLER pic X(16)
value X'505152535455565758595A5B5C5D5E5F'.
* P Q R S T U V W X Y Z [ \ ] ^ _
05 FILLER pic X(16)
value X'606162636465666768696A6B6C6D6E6F'.
* ` a b c d e f g h i j k l m n o
05 FILLER pic X(16)
value X'707172737475767778797A7B7C7D7E20'.
* p q r s t u v w x y z { | } ~
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7.
01 P1-ASC redefines P1-ASC-DATA pic X(256).
*
*** PRTASCB1 - End-of-Copy File - - - - - - - - - - - PRTASCB1 *
*****************************************************************
*
The following is the source code (PRTASCB2.cpy) for the COBOL copy file that defines a table of the valid print or display characters for the ASCII-encoded environment that includes the vowels with the Acute, Grave, Umlaut, Circumflex, Tilde, A-ring, Cedilla, O-slash and Strasse plus additional currency symbols and Diphthongs.
*****************************************************************
* PRTASCB2 is a COBOL Copy File *
* Data Table to Identify non-Print ASCII Characters. *
* Copyright (C) 1987-2018 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 *
*****************************************************************
* This table is commonly used to change the non-display or *
* non-print characters in a message text string to spaces. *
* This table will only work for ASCII-encoded text strings. *
* *
* The table includes the vowels with the acute, grave, umlat, *
* circumflex, tilde, a-ring, cedilla, o-slash and strasse. *
* The font type for the screen or printer may need to be *
* configured for Courier New (fixed font) or Times New Roman *
* (proportional font). *
* *
* The following is an example of an inspect statement for COBOL *
* *
* inspect MESSAGE-TEXT converting B-INFO to P2-ASC *
* *
* Note: Refer to BIN256B2.CPY for the table of binary values. *
*****************************************************************
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7.
01 P2-ASC-DATA.
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'202122232425262728292A2B2C2D2E2F'.
* ! " # $ % & ' ( ) * + , - . /
05 FILLER pic X(16)
value X'303132333435363738393A3B3C3D3E3F'.
* 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
05 FILLER pic X(16)
value X'404142434445464748494A4B4C4D4E4F'.
* @ A B C D E F G H I J K L M N O
05 FILLER pic X(16)
value X'505152535455565758595A5B5C5D5E5F'.
* P Q R S T U V W X Y Z [ \ ] ^ _
05 FILLER pic X(16)
value X'606162636465666768696A6B6C6D6E6F'.
* ` a b c d e f g h i j k l m n o
05 FILLER pic X(16)
value X'707172737475767778797A7B7C7D7E20'.
* p q r s t u v w x y z { | } ~
05 FILLER pic X(16)
value X'80202020202020202020202020202020'.
* €
05 FILLER pic X(16)
value X'2020202020202020202020202020209F'.
* Ÿ
05 FILLER pic X(16)
value X'202020A320A520202020202020202020'.
* £ ¥
05 FILLER pic X(16)
value X'20202020202020202020202020202020'.
*
05 FILLER pic X(16)
value X'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF'.
* À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
05 FILLER pic X(16)
value X'20D1D2D3D4D5D620D8D9DADBDCDD20DF'.
* Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý ß
05 FILLER pic X(16)
value X'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'.
* à á â ã ä å æ ç è é ê ë ì í î ï
05 FILLER pic X(16)
value X'20F1F2F3F4F5F620F8F9FAFBFCFD20FF'.
* ñ ò ó ô õ ö ø ù ú û ü ý ÿ
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7.
01 P2-ASC redefines P2-ASC-DATA pic X(256).
*
*** PRTASCB2 - End-of-Copy File - - - - - - - - - - - PRTASCB2 *
*****************************************************************
*
The following is the source code (PRTEBCB1.cpy) for the COBOL copy file that defines a table of the valid print or display characters for the EBCDIC-encoded environment.
*****************************************************************
* PRTEBCB1 is a COBOL Copy File *
* Data Table to Identify non-Print EBCDIC Characters. *
* Copyright (C) 1987-2018 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 *
*****************************************************************
* This table is commonly used to change the non-display or *
* non-print characters in a message text string to spaces. *
* This table will only work for EBCDIC-encoded text strings. *
* The following is an example of an inspect statement for COBOL *
* *
* inspect MESSAGE-TEXT converting B-INFO to P1-EBC *
* *
* Note: Refer to BIN256B1.CPY for the table of binary values. *
*****************************************************************
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7.
01 P1-EBC-DATA.
05 FILLER pic X(16)
value X'40404040404040404040404040404040'.
*
05 FILLER pic X(16)
value X'40404040404040404040404040404040'.
*
05 FILLER pic X(16)
value X'40404040404040404040404040404040'.
*
05 FILLER pic X(16)
value X'40404040404040404040404040404040'.
*
05 FILLER pic X(16)
value X'40404040404040404040404B4C4D4E4F'.
* . < ( + |
05 FILLER pic X(16)
value X'504040404040404040405A5B5C5D5E5F'.
* & ! $ * ) ; ¬
05 FILLER pic X(16)
value X'606140404040404040406A6B6C6D6E6F'.
* - / ¦ , % _ > ?
05 FILLER pic X(16)
value X'404040404040404040797A7B7C7D7E7F'.
* ` : # @ ' = "
05 FILLER pic X(16)
value X'40818283848586878889404040404040'.
* a b c d e f g h i
05 FILLER pic X(16)
value X'40919293949596979899404040404040'.
* j k l m n o p q r
05 FILLER pic X(16)
value X'40A1A2A3A4A5A6A7A8A9404040AD4040'.
* ~ s t u v w x y z
05 FILLER pic X(16)
value X'B0404040B44040404040BABB40404040'.
* ^ © [ ]
05 FILLER pic X(16)
value X'C0C1C2C3C4C5C6C7C8C9404040404040'.
* { A B C D E F G H I
05 FILLER pic X(16)
value X'D0D1D2D3D4D5D6D7D8D9404040404040'.
* } J K L M N O P Q R
05 FILLER pic X(16)
value X'E040E2E3E4E5E6E7E8E9404040404040'.
* \ S T U V W X Y Z
05 FILLER pic X(16)
value X'F0F1F2F3F4F5F6F7F8F9404040404040'.
* 0 1 2 3 4 5 6 7 8 9
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7.
01 P1-EBC redefines P1-EBC-DATA pic X(256).
*
*** PRTEBCB1 - End-of-Copy File - - - - - - - - - - - PRTEBCB1 *
*****************************************************************
*
The following is the source code (PRTEBCB2.cpy) for the COBOL copy file that defines a table of the valid print or display characters for the EBCDIC-encoded environment that includes the vowels with the Acute, Grave, Umlaut, Circumflex, Tilde, A-ring, Cedilla, O-slash and Strasse plus additional currency symbols and Diphthongs.
*****************************************************************
* PRTEBCB2 is a COBOL Copy File *
* Data Table to Identify non-Print EBCDIC Characters. *
* Copyright (C) 1987-2018 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 *
*****************************************************************
* This table is commonly used to change the non-display or *
* non-print characters in a message text string to spaces. *
* This table will only work for EBCDIC-encoded text strings. *
* *
* The table includes the vowels with the acute, grave, umlat, *
* circumflex, tilde, a-ring, cedilla, o-slash and strasse. *
* The font type for the screen or printer may need to be *
* configured for Courier New (fixed font) or Times New Roman *
* (proportional font). *
* *
* The following is an example of an inspect statement for COBOL *
* *
* inspect MESSAGE-TEXT converting B-INFO to P2-EBC *
* *
* Note: Refer to BIN256B1.CPY for the table of binary values. *
*****************************************************************
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7.
01 P2-EBC-DATA.
05 FILLER pic X(16)
value X'40404040404040404040404040404040'.
*
05 FILLER pic X(16)
value X'40404040404040404040404040404040'.
*
05 FILLER pic X(16)
value X'20404040404040404040404040404040'.
* €
05 FILLER pic X(16)
value X'40404040404040404040404040404040'.
*
05 FILLER pic X(16)
value X'40404243444546474849404B4C4D4E4F'.
* â ä à á ã å ç ñ ¢ . < ( + |
05 FILLER pic X(16)
value X'505152535455565758595A5B5C5D5E5F'.
* & é ê ë è í î ï ì ß ! $ * ) ; ¬
05 FILLER pic X(16)
value X'606162636465666768696A6B6C6D6E6F'.
* - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ?
05 FILLER pic X(16)
value X'707172737475767778797A7B7C7D7E7F'.
* ø É Ê Ë È Í Î Ï Ì ` : # @ ' = "
05 FILLER pic X(16)
value X'808182838485868788894040408D4040'.
* Ø a b c d e f g h i ý
05 FILLER pic X(16)
value X'4091929394959697989940409C409E40'.
* j k l m n o p q r æ Æ
05 FILLER pic X(16)
value X'40A1A2A3A4A5A6A7A8A9404040AD4040'.
* ~ s t u v w x y z Ý
05 FILLER pic X(16)
value X'B0B1B240B44040404040BABB40404040'.
* ^ £ ¥ © [ ]
05 FILLER pic X(16)
value X'C0C1C2C3C4C5C6C7C8C940CBCCCDCECF'.
* { A B C D E F G H I ô ö ò ó õ
05 FILLER pic X(16)
value X'D0D1D2D3D4D5D6D7D8D940DBDCDDDEDF'.
* } J K L M N O P Q R û ü ù ú ÿ
05 FILLER pic X(16)
value X'E040E2E3E4E5E6E7E8E940EBECEDEEEF'.
* \ S T U V W X Y Z Ô Ö Ò Ó Õ
05 FILLER pic X(16)
value X'F0F1F2F3F4F5F6F7F8F940FBFCFDFEFF'.
* 0 1 2 3 4 5 6 7 8 9 Û Ü Ù Ú Ÿ
*
*..1....:....2....:....3....:....4....:....5....:....6....:....7. ..:....8
01 P2-EBC redefines P2-EBC-DATA pic X(256).
*
*** PRTEBCB2 - End-of-Copy File - - - - - - - - - - - PRTEBCB2 *
*****************************************************************
*
This suite of programs provides an example of how a COBOL program may remove non-display and non-print characters from a text string before printing the text string. This document may be used to assist as a tutorial for new programmers or as a quick reference for experienced programmers.
In the world of programming there are many ways to solve a problem. This documentation and software were developed and tested on systems that are configured for a SIMOTIME environment based on the hardware, operating systems, user requirements and security requirements. Therefore, adjustments may be needed to execute the jobs and programs when transferred to a system of a different architecture or configuration.
SIMOTIME Services has experience in moving or sharing data or application processing across a variety of systems. For additional information about SIMOTIME Services or Technologies please contact us using the information in the Contact or Feedback section of this document.
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.
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.
The following links may be to the current server or to the Internet.
Note: The latest versions of the SimoTime Documents and Program Suites are available on the Internet and may be accessed using the
icon. If a user has a SimoTime Enterprise License the Documents and Program Suites may be available on a local server and accessed using the
icon.
Explore the JCL Connection for more examples of JCL functionality with programming techniques and sample code.
Explore the COBOL Connection for more examples of COBOL programming techniques and sample code.
Explore An Enterprise System Model that describes and demonstrates how Applications that were running on a Mainframe System and non-relational data that was located on the Mainframe System were copied and deployed in a Microsoft Windows environment with Micro Focus Enterprise 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.
Explore The File Status Return Codes that are used to interpret the results of accessing VSAM data sets and/or QSAM files.
The following links will require an internet connect.
This suite of programs and documentation is available to download for review and evaluation purposes. Other uses will require a SimoTime Software License. Link to an Evaluation zPAK Option that includes the program members, documentation and control files.
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.
Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.
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.
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 |
| Print and Display using COBOL, Remove Non-Print Characters |
| Copyright © 1987-2025 SimoTime Technologies and Services All Rights Reserved |
| When technology complements business |
| http://www.simotime.com |