Hexadecimal Dump Customer Master, a VSAM, KSDS |
The SimoTime Home Page |
One approach to application or data validation is human observation or analysis. Human observation is very useful when evaluating the usability and business flow of an application.
Using Human observation for data validation presents the following challenges.
1. | Introduces additional risk of human error. |
2. | May be useful for small amounts of data. As the volume of data increases the reliability of the "human observation" approach decreases. |
3. | Data strings with binary content are not easy to interpret and can be presented in a misleading manner when using a text editor. |
4. | The structure of some data strings may require specialized tools and knowledge to properly view and interpret. |
5. | A "hexadecimal dump" presentation of the data may be required. |
6. | A combination of "Human Observation" and a "hexadecimal dump" may be very useful when diagnosing the cause of an unexpected result during testing or in a production environment. |
Because of these challenges the "human observation" approach is considered as a "reasonability check" or "diagnostic aid". Typically, a programmatic methodology that can be automated and run without human intervention will be a requirement.
This document will focus on a process that uses SIMOTIME Technology to generate a single COBOL program that will create a Hexadecimal dump file (or HEXDUMP) of user-defined records in the Customer Master VSAM, Key Sequenced Data Set (KSDS). The generation process may be executed on a Windows System using Micro Focus COBOL or a Linux System using GnuCOBOL. The generated program (CUHEXKC3) may be compiled and executed on a Mainframe, Linux, UNIX or Windows System.
A JCL member is provided to run the job as an MVS or ZOS batch job on an IBM Mainframe System or as a project with Micro Focus Mainframe Express (MFE) running on a Windows System. A CMD member is provided to run the job with Micro Focus Net Express (MFE) running on a Windows System. A Bash Script File is provided to run the job on a Linux or UNIX System and GnuCOBOL (formerly known as Open COBOL) is used to compile the COBOL Programs.
Note-1: Unit testing is done on an IBM Mainframe System with Enterprise COBOL using EBCDIC-encoded data.
Note-2: Unit testing is done on a Linux (Ubuntu) System with GnuCOBOL configured for an ASCII-encoded environment.
Note-3: Unit testing is done on a Windows System with Micro Focus Enterprise Developer configured for an ASCII-encoded environment.
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 section will focus on the execution process for unit testing.
The following diagram shows the batch processing and data flow for a job that will do a HEX-Dump of user-defined records in a VSAM, KSDS.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note-1: SYSUT1 - a VSAM, KSDS Customer Master. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note-2: SYSUT2 - a Sequential File for Hexadecimal Dump. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note-3: SYSUT3 - a Sequential File with a list of primary keys. |
Batch Processing, A Hexadecimal Dump Program |
The VSAM, KSDS for this example is the Customer Master.
The following shows the HEX-Dump of user-defined records in a VSAM, KSDS.
This is an example of the Hex-Dump Information of selected records from a VSAM/KSDS based on a user request.
The following describes the content of each of the five lines of Hex-Dump information.
The 1st line is the record position indicator.
The 2nd line is the possible EBCDIC character or symbol.
The 3rd line is the high-order nibble of the byte for the Hex-dump.
The 4th line is the low-order nibble of the byte for the Hex-dump.
The 5th line is the possible ASCII character or symbol.
******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** * CUHEXKC3 HEX-Dump by Key for KSDS 512/1-12 v18.06.01 helpdesk@simotime.com * CUHEXKC3 This Data File HexDump Member was generated by SimoTime Technologies ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** Starting, HEX-Dump by Key for KSDS 512/1-12 http://www.SimoTime.com /USERKEY 000000000010 ....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80....:...90....:..100....:..110....:..120....:..130....:..140....:..150....:..160....:..170....:..180....:..190....:..200....:..210....:..220....:..230....:..240....:..250....:..260....:..270....:..280....:..290....:..300....:..310....:..320....:..330....:..340....:..350....:..360....:..370....:..380....:..390....:..400....:..410....:..420....:..430....:..440....:..450....:..460....:..470....:..480....:..490....:..500....:..510.. ............θ/`%?Κα%Ρ:/ΒΑΘΗ.η/`ΑΛλΘΚΑΑΘ.>ΕΑ%ΑΛ&κ................................................. 33333333333325676672222222222222222222222466766676222222222222222222222222222222232467672577667222222222222222222222222222222222222222222222222222222222222222222222222222222222246666672222222222222222222225522222222222222222222222222333332222222222222222222222222222222222222222222222222222222222222000000333332222222200333332222222200333332222222233333333333333333332222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 0000000000100419CF200000000000000000000005C9A1254800000000000000000000000000000008081953034255400000000000000000000000000000000000000000000000000000000000000000000000000000000001E75C530000000000000000000000200000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000020180703134025850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000010 Taylor Elizabeth 8 Hayes Street Angeles PR 00611 ......00000 ..00000 ..00000 2018070313402585000 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ /USERKEY 123456789012, Record not found /USERKEY 000000000225 ....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80....:...90....:..100....:..110....:..120....:..130....:..140....:..150....:..160....:..170....:..180....:..190....:..200....:..210....:..220....:..230....:..240....:..250....:..260....:..270....:..280....:..290....:..300....:..310....:..320....:..330....:..340....:..350....:..360....:..370....:..380....:..390....:..400....:..410....:..420....:..430....:..440....:..450....:..460....:..470....:..480....:..490....:..500....:..510.. ............η/ΚΞΑ`+?Κ_/>....&/ΔΡΓΡΔ.ΞΑ>ΝΑη?%`?,Α(.................................................. 33333333333324677672222222222222222222222467666222222222222222222222222222222222233332566666624766762222222222222222222222222222222222222222222222222222222222222222222222222222246676662222222222222222222224422222222222222222222222222333332222222222222222222222222222222222222222222222222222222222222000000333332222222200333332222222200333332222222233333333333333333332222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 00000000022508126590000000000000000000000EF2D1E00000000000000000000000000000000008607001396930165E55000000000000000000000000000000000000000000000000000000000000000000000000000008FC9FB5000000000000000000000D100000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000020180703134025850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000225 Harvey Norman 8607 Pacific Avenue Holyoke MA 01040 ......00000 ..00000 ..00000 2018070313402585000 /USERKEY 000000000194 ....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80....:...90....:..100....:..110....:..120....:..130....:..140....:..150....:..160....:..170....:..180....:..190....:..200....:..210....:..220....:..230....:..240....:..250....:..260....:..270....:..280....:..290....:..300....:..310....:..320....:..330....:..340....:..350....:..360....:..370....:..380....:..390....:..400....:..410....:..420....:..430....:..440....:..450....:..460....:..470....:..480....:..490....:..500....:..510.. ............δΗ/ΞΑ:.>>ΡΑ..οΡ%%?Οδ?ΝΚΘδ/Κ?%Ρ>/&κ................................................. 33333333333324667672222222222222222222222466662222222222222222222222222222222222233256666724677722222222222222222222222222222222222222222222222222222222222222222222222222222222246766666222222222222222222225522222222222222222222222222333332222222222222222222222222222222222222222222222222222222222222000000333332222222200333332222222200333332222222233333333333333333332222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 000000000194038165A00000000000000000000001EE950000000000000000000000000000000000089079CCF703F524000000000000000000000000000000000000000000000000000000000000000000000000000000000312FC9E1000000000000000000000200000000000000000000000000009880000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000020180703134025850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000194 Chavez Annie 89 Willow Court Carolina PR 00988 ......00000 ..00000 ..00000 2018070313402585000 /USERKEY 000000000020 ....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80....:...90....:..100....:..110....:..120....:..130....:..140....:..150....:..160....:..170....:..180....:..190....:..200....:..210....:..220....:..230....:..240....:..250....:..260....:..270....:..280....:..290....:..300....:..310....:..320....:..330....:..340....:..350....:..360....:..370....:..380....:..390....:..400....:..410....:..420....:..430....:..440....:..450....:..460....:..470....:..480....:..490....:..500....:..510.. ............κ?ΒΡ>Λ?>ΰ?Κ?ΘΗ`....λ/>Λ?_ΑλΘΚΑΑΘδ/ΛΘ/>ΑΚ&κ................................................. 33333333333325666676622222222222222222222467676722222222222222222222222222222222233332566766625776672222222222222222222222222222222222222222222222222222222222222222222222222222246776667222222222222222222225522222222222222222222222222333332222222222222222222222222222222222222222222222222222222222222000000333332222222200333332222222200333332222222233333333333333333332222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 00000000002002F29E3FE000000000000000000004F2F4890000000000000000000000000000000009805031E3FD503425540000000000000000000000000000000000000000000000000000000000000000000000000000031341E52000000000000000000000200000000000000000000000000006310000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000020180703134025850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000020 Robinson Dorothy 9805 Sansome Street Castaner PR 00631 ......00000 ..00000 ..00000 2018070313402585000 ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** Conclude, HEX-Dump by Key for KSDS 512/1-12 000000004 - Line count for SYSUT1 000000004 - Line count for SYSUT2
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.
The following is a Windows Command File (CUHEXKW3.cmd) that is used to produce a Hex Dump of user-defined records contained within a VSAM, KSDS.
@echo OFF set CmdName=CUHEXKW3 rem * ******************************************************************* rem * CUHEXKW3.cmd - a Windows Command File * rem * This Job Scriptis 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 KSDS, write HEX-Dump RSEQ. rem * Author - SimoTime Technologies rem * Date - January 24, 1996 rem * rem * The job will read a VSAM, KSDS and write rem * to a new Hex-Dump record sequential file. rem * rem * ************ rem * * CUHEXKW3 * rem * ********cmd* rem * * rem * * rem * ************ rem * * ENV1BASE * rem * ********cmd* rem * * rem * * rem * ************ rem * * SimoNOTE * rem * ********cmd* rem * * rem * * rem * ************ rem * * RUN *---------------------------* rem * ********rts* * rem * * ************ ************ ************ rem * * * SYSUT1 *--*--* CUHEXKC3 *-----* SYSUT2 * rem * * *******ksds* * ********cbl* *******rseq* rem * * * rem * * ************ * rem * * * SYSUT3 *--* rem * * *******rseq* rem * ************ rem * * EOJ * rem * ************ rem * rem * ******************************************************************* rem * Step 1, Set Environment Variables rem * Delete any previously created work filef... rem * call ..\ENV1BASE set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%CmdName%.txt rem * call SimoNOTE "*******************************************************%CmdName%" call SimoNOTE "Starting JobName %CmdName%, User is %USERNAME%" call SimoNOTE "Identify JobStep Step-1, Housekeeping tasks" set SYSUT1=%BaseLib1%\DATA\WRK1\SIMOTIME.DATA.CUSKA512.dat set SYSUT2=%BaseLib1%\DATA\WRK1\SIMOTIME.HEXDUMP.CUSKA512.dat set SYSUT3=%BaseLib1%\DATA\WRK1\SIMOTIME.HEXDUMP.USERKEYS.dat rem * rem * ******************************************************************* rem * Step 2, Create a file that is a list of Customer Numbers... rem * call SimoNOTE "Identify JobStep Step-2, Create a list of keys" set SYSWORK=%BaseLib1%\DATA\TXT1\SIMOTIME.HEXDUMP.USERKEYS.txt if exist %SYSWORK% del %SYSWORK% rem * ..:....1....:....2....:....3....:....4....:....5....:....6.... echo /USERKEY 000000000010>%SYSWORK% echo /USERKEY 123456789012>>%SYSWORK% echo /USERKEY 000000000225>>%SYSWORK% echo /USERKEY 000000000194>>%SYSWORK% echo /USERKEY 000000000020>>%SYSWORK% call SimoNOTE "StepInfo Convert Line Sequential to Record Sequential" set GETLS080=%SYSWORK% set PUTRS080=%SYSUT3% if exist %PUTRS080% del %PUTRS080% run CV80ALAR if not ERRORLEVEL = 0 set JobStatus=0030 if not %JobStatus% == 0000 goto :EojNok rem * rem * ******************************************************************* rem * Step 3, Read KSDS, create a new Hex-Dump RSEQ File rem * call SimoNOTE "Identify JobStep Step-3, Execute Hex-Dump Program" call SimoNOTE "DataTake KSA SYSUT1=%SYSUT1%" call SimoNOTE "DataDump RSA SYSUT2=%SYSUT2%" call SimoNOTE "DataKeys RSA SYSUT3=%SYSUT3%" run CUHEXKC3 if not "%ERRORLEVEL%" == "0" set JobStatus=0010 if not "%JobStatus%" == "0000" goto EojNOK rem * rem * ******************************************************************* rem * Step 4, End-of-Job processing... rem * :EojAOK call SimoNOTE "Finished CmdName %CmdName%, Job Status is %JobStatus%" goto :End :EojNOK call SimoNOTE "ABENDING CmdName %CmdName%, Job Status is %JobStatus%" echo %DATE% - %TIME% Starting User ABEND Processing...>>%SYSLOG% set >>%SYSLOG% echo %DATE% - %TIME% Complete User ABEND Processing...>>%SYSLOG% goto :End :End call SimoNOTE "Conclude SYSOUT is %SYSOUT%" if not "%1" == "nopause" pause exit /B %JobStatus%
The following is a JCL member (CUHEXKJ3.jcl) that is used to produce a Hex Dump of user-defined records contained within a VSAM, KSDS.
//CUHEXKJ3 JOB (SIMOTIME),'VSAM KSDS HEXDUMP',CLASS=1,MSGCLASS=0, // NOTIFY=CSIP1 //* ******************************************************************* //* CUHEXKJ3.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 - Hex-Dump if a VSAM, KSDS for batch processing. //* Author - SimoTime Technologies //* Date - January 24, 1996 //* //* //* This set of programs will run on a ZOS Mainframe System or on a //* Windows System and Micro Focus Technologies. //* //* ************ //* * CUHEXKJ3 * //* ********jcl* //* * //* ************ ************ ************ //* * SYSUT1 *--*--* CUHEXKC3 *--*--* SYSUT2 * //* *******ksds* * ********cbl* * ************ //* * * * //* ************ * * * ************ //* * SYSUT3 *--* * *--* SYSOUT * //* *******rseq* * ************ //* * //* * //* ************ //* * EOJ * //* ************ //* //* ******************************************************************* //* Step 1 of 3, Delete the previously created SYSUT2 file. //* //SYSUT2DT EXEC PGM=IEFBR14 //SYSUT2 DD DSN=SIMOTIME.HEXDUMP.CUSTMAST,DISP=(MOD,DELETE,DELETE), // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(RECFM=F,LRECL=512,DSORG=PS) //* //* ******************************************************************* //* Step 3 of 3, Execute the HEX Dump program. //* Note: the dump information will be written to the SYSPROBEG file //* ******************************************************************* //* Dump the content of the user-defined records within a VSAM, KSDS. //* The results of the dump processing is posted to the SYSUT2 File. //* //CUHEXKEX EXEC PGM=CUHEXKC3 //STEPLIB DD DSN=SIMOTIME.DEMO.LOADLIB1,DISP=SHR //SYSUT1 DD DSN=SIMOTIME.DATA.CUSTMAST,DISP=SHR //SYSUT2 DD DSN=SIMOTIME.HEXDUMP.CUSTMAST, // DISP=(NEW,KEEP,KEEP), // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(RECFM=F,LRECL=512,DSORG=PS) //SYSUT3 DD DSN=SIMOTIME.PDS.PARMLIB(CUSTKEYS),DISP=SHR //SYSOUT DD SYSOUT=* //
The following is a Bash Script File (cuhexks3.sh) that is used to produce a Hex Dump of user-defined records contained within a VSAM, KSDS.
#!/bin/bash JOBNAME=cuhexks3 # * ******************************************************************* # * Bash Script File - provided by SimoTime Technologies * # * (C) Copyright 1987-2018 All Rights Reserved * # * Web Site URL: http://www.simotime.com * # * e-mail: helpdesk@simotime.com * # * ******************************************************************* # * # * Text - Execute program, Justify Text String within a Field # * Author - SimoTime Technologies # * Date - November 11, 2003 # * Version - 06.07.16 # * # * Prepare the environment by mapping the file names. # * Execute the 80/80 copy file program. # * # * ******************************************************************** # * Step 1 of 3, Prepare the System Environment. # * JOBSTATUS=0 for textstring in $(cat ENV4SYS1.txt); do # # * The following statement will replace all occurences # # * of DL_BASESYS1 with the value of the BASESYS1 # # * environment variable. textstring=${textstring//DL_BASESYS1/$BASESYS1} # # * The following statement will replace all occurences # # * of BASHUSER_JOBNAME with the value of the JOBNAME # # * environment variable. textstring=${textstring/DL_JOBNAME/$JOBNAME} export $textstring rc=$? if [ $rc != 0 ] then simonote.sh "# $textstring - Return Code is $rc" JOBSTATUS=$rc fi done # * simonote.sh "************************************************************$JOBNAME" simonote.sh "# Starting Job Name $JOBNAME" simonote.sh "# SIMOSYS1........... $BASESYS1" simonote.sh "# SIMONOTE........... $SIMONOTE" simonote.sh "# COB_LIBS........... $COB_LIBS" simonote.sh "# COB_LIBRARY_PATH... $COB_LIBRARY_PATH" # * # * Prepare the environment, map the file names... export SYSUT1=$BASESYS1/SIMOSAM1/DEVL/DATA/APPL/SIMOTIME.DATA.CUSTMAST.dat export SYSUT2=$BASESYS1/SIMOSAM1/DEVL/DATA/APPL/SIMOTIME.HEXDUMP.CUSTMAST.dat export SYSUT3=$BASESYS1/SIMOSAM1/DEVL/DATA/APPL/SIMOTIME.HEXDUMP.USERKEYS.dat simonote.sh "# DATATAKE is $SYSUT1" simonote.sh "# DATAMAKE is $SYSUT2" # * # * ******************************************************************** # * Step 2 of 3, Run the program. # * if [ -f "$SYSUT2" ] then rm $SYSUT2 fi cobcrun CUHEXKC3 | tee $BASESYS1/SIMOSAM1/DEVL/LOGS/SYSOUT_USERPROG_CUHEXKC3.txt rc=$? if [ $rc != 0 ] then simonote.sh "# ABENDING $name - Return Code is $rc" JOBSTATUS=$rc else ((AOK_Count++)) fi # * # * ******************************************************************** # * Step 3 of 3, End of Job Processing. # * if [ "$JOBSTATUS" = "0" ] then simonote.sh "# Finished Job Name $JOBNAME" else simonote.sh "# ABENDING Job Name $JOBNAME" fi
This section describes the tasks that are required prior to executing the programs in a unit testing environment.
The following is the Process Control File (CUHEXK03.pcf) that is used to produce a Hex Dump.
*********************************************************************** * CUHEXK03.pcf - a Process Control File * * Hex-Dump for User-Defined records in the Customer Master File * * (C) Copyright 1987-2019 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * *********************************************************************** * SYSUT1 is the Customer Master File, Indexed, 512-byte records. * * SYSUT2 is a Record Sequential file, 512-byte fixed-length records. * *********************************************************************** * This Process Control File will be used to generate a COBOL program * that will do a hexadecimal dump of user-defined records contained * in the Customer Master File. * * The Customer Master File is a VSAM, Key Sequenced data Set (KSDS). * * Refer to http://www.simotime.com/utcomp01.htm for additional detail * about the PCF statements for Data Validate, Dump and Compare. * * The following group of statements will define the high level * functions and processes to be performed. * &SIMOPREP call ..\Env1BASE &USERPREP call USERCOGI &CONFORM IBM ©FILE CUSTCB01.cpy &HTMLFILE custcb01.htm &USRMODEL SYSHEXK3.txt &USRXFILE AE0437B1 * * The following group of statements will define the behavioral * characteristics and environment variable for the file I/O Program * to be generated. * *HEAD34 ....:....1....:....2....:....3.... &HEAD34 HEX-Dump by Key for KSDS 512/1-12 &PROGID CUHEXKC3 &UT1ACCESS RANDOM &SYSUT1 name=SYSUT1 org=indexed recfm=fixed rlen=512 kpos=1 klen=12 &SYSUT2 name=SYSUT2 org=Sequential recfm=FIXED rlen=512 &SYSUT3 name=SYSUT3 org=Sequential recfm=FIXED rlen=80 * * The following will determine the HEX-Dump output. The &DFORMAT * statement will create five (5) lines of dump information. * ASC - 1 line of possible ASCII character translation. * HEX - 2 lnes of HEX dump. 1st line is high-order nibble. * 2nd line is low-order nibble. * EBC - 1 line of possible EBCDIC character translation. * RPI - 1 line for Relative Position Indicator. * &HEXDUMP SYSUT1 pos 0001 len 512 &DFORMAT ASC HEX EBC RPI &SYSLOG SIMOV32K TEXT * &END
This section describes additional technical details not covered in previous sections of this document.
The following COBOL compiler directives were used to compile the CUHEXKC3 program.
DIALECT"ENTCOBOL" CHARSET"ASCII" ASSIGN"EXTERNAL" IDXFORMAT"8" IBMCOMP NOTRUNC HOSTNUMMOVE HOSTNUMCOMPARE NOSIGNFIXUP HOSTARITHMETIC NOHOSTFD CHECKNUM ANIM COBIDY NOOPTIONAL-FILE outdd"SYSOUT 121 L" SHARE-OUTDD DATE TIME DATAMAP settings list() noform
The following is the generated COBOL program (CUHEXKC3.cbl) that is used to produce a Hex Dump of user-defined records contained within a VSAM, KSDS.
IDENTIFICATION DIVISION. PROGRAM-ID. CUHEXKC3. 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: 2018-10-11 Generation Time: 21:41:44:97 * * * * Record Record Key * * Function Name Organization Format Max-Min Pos-Len * * PRIMARY SYSUT1 INDEXED FIXED 00512 00001 * * 00012 * * SECONDARY SYSUT2 SEQUENTIAL FIXED 00512 * * * * * ***************************************************************** ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SYSUT1-FILE ASSIGN TO SYSUT1 ORGANIZATION IS INDEXED ACCESS MODE IS RANDOM RECORD KEY IS SYSUT1-PKEY-00001-00012 FILE STATUS IS SYSUT1-STATUS. SELECT SYSUT2-FILE ASSIGN TO SYSUT2 ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS SYSUT2-STATUS. SELECT SYSUT3-FILE ASSIGN TO SYSUT3 ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS SYSUT3-STATUS. ***************************************************************** DATA DIVISION. FILE SECTION. FD SYSUT1-FILE DATA RECORD IS SYSUT1-REC . 01 SYSUT1-REC. 05 SYSUT1-PKEY-00001-00012 PIC X(00012). 05 SYSUT1-DATA-00013-00500 PIC X(00500). FD SYSUT2-FILE DATA RECORD IS SYSUT2-REC . 01 SYSUT2-REC. 05 SYSUT2-DATA-01 PIC X(00512). FD SYSUT3-FILE DATA RECORD IS SYSUT3-REC . 01 SYSUT3-REC. 05 SYSUT3-DATA-01 PIC X(80). ***************************************************************** * This program was created with the SYSHEXK3.TXT file as the * * template for the File I/O. It is intended for use with the * * Hex Dump facility. * * * * The SYSHEXK3 template provides for the random reading of an * * input file (SYSUT1, a VSAM, KSDS) and the sequential writing * * to an output file (SYSUT2, a sequential file) that contains * * Hexadecimal dump information. * * * * The records to be read from SYSUT1 are defined in a control * * file (SYSUT3) that contains a list of primary record keys. * * * * 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 '* CUHEXKC3 '. 05 T2 pic X(34) value 'HEX-Dump by Key for KSDS 512/1-12 '. 05 T3 pic X(10) value ' v18.06.01'. 05 T4 pic X(24) value ' helpdesk@simotime.com'. 01 SIM-COPYRIGHT. 05 C1 pic X(11) value '* CUHEXKC3 '. 05 C2 pic X(32) value 'This Data File HexDump Member 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 '* CUHEXKC3 '. 05 C2 pic X(32) value 'This Data File HexDump Member wa'. 05 C3 pic X(32) value 's generated by SimoTime Technolo'. 05 C4 pic X(04) value 'gies'. 01 SIM-THANKS-02. 05 C1 pic X(11) value '* CUHEXKC3 '. 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 SYSUT1-STATUS. 05 SYSUT1-STATUS-L pic X. 05 SYSUT1-STATUS-R pic X. 01 SYSUT1-EOF pic X value 'N'. 01 SYSUT1-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'. 01 SYSUT3-STATUS. 05 SYSUT3-STATUS-L pic X. 05 SYSUT3-STATUS-R pic X. 01 SYSUT3-EOF pic X value 'N'. 01 SYSUT3-OPEN-FLAG pic X value 'C'. 01 SYSUT1-LRECL pic 9(5) value 00512. 01 SYSUT2-LRECL pic 9(5) value 00512. 01 SYSUT3-LRECL pic 9(5) value 00080. 01 KEY-LEN pic 9(5) value 00012. ***************************************************************** * 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-TO-SYSOUT routine. * ***************************************************************** 01 MESSAGE-BUFFER. 05 MESSAGE-HEADER pic X(11) value '* CUHEXKC3 '. 05 MESSAGE-TEXT. 10 MESSAGE-TEXT-1 pic X(68) value SPACES. 10 MESSAGE-TEXT-2 pic X(188) value SPACES. 01 MB-CTR pic 9(3) value 0. 01 MB-LOB pic 9(3) value 267. 01 MB-LSB pic 9(3) value 267. ***************************************************************** 01 PROGRAM-NAME pic X(8) value 'CUHEXKC3'. 01 GROUP-DELIMITER pic X value 'Y'. 01 INFO-STATEMENT. 05 INFO-SHORT. 10 INFO-ID pic X(8) value 'Starting'. 10 filler pic X(2) value ', '. 10 filler pic X(34) value 'HEX-Dump by Key for KSDS 512/1-12 '. 05 filler pic X(24) value ' http://www.SimoTime.com'. 01 APPL-RESULT pic S9(9) comp. 88 APPL-AOK value 0. 88 APPL-EOF value 16. 01 PT-1 pic 9(5) value 0. 01 PT-2 pic 9(5) value 0. 01 WORK-05 pic X(5). 01 BN-2-GROUP. 05 BN-2-VALUE pic 9(3) comp value 0. 01 SEQ-GROUP pic 9(4) value 3124. 01 SEQ-TABLE redefines SEQ-GROUP. 05 SEQ-VALUE pic 9 occurs 4 times. 01 SEQ-IX pic 9 value 0. 01 DUMP-FLAGS. 05 DUMP-ASC pic X value 'Y'. 05 DUMP-EBC pic X value 'Y'. 05 DUMP-HEX pic X value 'Y'. 05 DUMP-RPI pic X value 'Y'. 01 RPI-10. 05 RPI-ALPHA pic X(5) value '....:'. 05 RPI-VALUE pic 9(5) value 10. 01 LOOP-REDO pic 9(5) value 0. 01 SYSUT1-TOTAL. 05 SYSUT1-RDR pic 9(9) value 0. 05 filler pic X(3) value ' - '. 05 filler pic X(23) value 'Line count for SYSUT1 '. 01 SYSUT2-TOTAL. 05 SYSUT2-ADD pic 9(9) value 0. 05 filler pic X(3) value ' - '. 05 filler pic X(23) value 'Line count for SYSUT2 '. 01 SYSUT3-TOTAL. 05 SYSUT3-RDR pic 9(9) value 0. 05 filler pic X(3) value ' - '. 05 filler pic X(25) value 'Record count for SYSUT3 '. COPY HEXTAB02. ***************************************************************** PROCEDURE DIVISION. perform JOB-STARTING perform until SYSUT3-STATUS not = '00' perform SYSUT3-READ if SYSUT3-STATUS = '00' if SYSUT3-DATA-01(1:11) = '/USERKEY ' move SYSUT3-DATA-01(12:KEY-LEN) to SYSUT1-PKEY-00001-00012 perform SYSUT1-READ if SYSUT1-STATUS = '00' add 1 to SYSUT1-RDR move SYSUT3-DATA-01(1:60) to SYSUT2-REC(1:60) perform SYSUT2-WRITE perform ACTION-DUMP-REQUEST else move all '.' to SYSUT2-REC perform SYSUT2-WRITE move SYSUT3-DATA-01(1:60) to SYSUT2-REC(1:60) inspect SYSUT2-REC replacing first ' ' by ', Record not found' perform SYSUT2-WRITE end-if else move all '.' to SYSUT2-REC perform SYSUT2-WRITE if SYSUT3-DATA-01(1:1) not = '*' move SYSUT3-DATA-01(1:60) to SYSUT2-REC(1:60) inspect SYSUT2-REC replacing first ' ' by ', Invalid /request' perform SYSUT2-WRITE end-if end-if end-if end-perform perform JOB-FINISHED GOBACK. ***************************************************************** ACTION-DUMP-REQUEST. compute LOOP-REDO = (SYSUT2-LRECL / 10) move all '.' to SYSUT2-REC if DUMP-RPI = 'Y' add 1 to ZERO giving PT-1 add 10 to ZERO giving RPI-VALUE perform LOOP-REDO times move RPI-10 to SYSUT2-REC(PT-1:10) if SYSUT2-REC(PT-1 + 5:3) = '000' move '...' to SYSUT2-REC(PT-1 + 5:3) else if SYSUT2-REC(PT-1 + 5:2) = '00' move '..' to SYSUT2-REC(PT-1 + 5:2) else if SYSUT2-REC(PT-1 + 5:1) = '0' move '.' to SYSUT2-REC(PT-1 + 5:1) end-if end-if end-if add 10 to RPI-VALUE add 10 to PT-1 end-perform perform SYSUT2-WRITE end-if add 1 to ZERO giving SEQ-IX add SEQ-VALUE(SEQ-IX) to ZERO giving PT-2 perform 4 times add 1 to ZERO giving PT-1 add SEQ-VALUE(SEQ-IX) to ZERO giving PT-2 if PT-2 = 1 and DUMP-HEX = 'Y' or PT-2 = 2 and DUMP-HEX = 'Y' or PT-2 = 3 and DUMP-EBC = 'Y' or PT-2 = 4 and DUMP-ASC = 'Y' perform SYSUT2-LRECL times move SYSUT1-REC(PT-1:1) to BN-2-GROUP(2:1) move TAB-X1(BN-2-VALUE + 1) to WORK-05 move WORK-05(PT-2:1) to SYSUT2-REC(PT-1:1) add 1 to PT-1 end-perform perform SYSUT2-WRITE end-if add 1 to SEQ-IX end-perform if SYSUT2-STATUS = '00' add 1 to SYSUT2-ADD end-if exit. ***************************************************************** JOB-FINISHED. if GROUP-DELIMITER = 'Y' move SPACES to SYSUT2-REC perform SYSUT2-WRITE move all '*' to SYSUT2-REC perform SYSUT2-WRITE end-if move 'Conclude' to INFO-ID move INFO-SHORT to SYSUT2-REC perform SYSUT2-WRITE move 'Finished' to INFO-ID move SYSUT1-TOTAL to SYSUT2-REC perform SYSUT2-WRITE move SYSUT2-TOTAL to SYSUT2-rec perform SYSUT2-WRITE perform Z-THANK-YOU. perform SYSUT3-CLOSE perform SYSUT2-CLOSE perform SYSUT1-CLOSE exit. ***************************************************************** JOB-STARTING. perform Z-POST-COPYRIGHT perform SYSUT1-OPEN perform SYSUT2-OPEN perform SYSUT3-OPEN move all '*' to SYSUT2-REC perform SYSUT2-WRITE move SIM-TITLE to SYSUT2-REC perform SYSUT2-WRITE move SIM-COPYRIGHT to SYSUT2-REC perform SYSUT2-WRITE move all '*' to SYSUT2-REC perform SYSUT2-WRITE move INFO-STATEMENT to SYSUT2-REC perform SYSUT2-WRITE exit. ***************************************************************** * I/O Routines for the INPUT File... * ***************************************************************** SYSUT1-CLOSE. add 8 to ZERO giving APPL-RESULT. close SYSUT1-FILE if SYSUT1-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 SYSUT1 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-SYSOUT move SYSUT1-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS perform Z-ABEND-PROGRAM end-if exit. *---------------------------------------------------------------* SYSUT1-READ. read SYSUT1-FILE if SYSUT1-STATUS = '00' subtract APPL-RESULT from APPL-RESULT else if SYSUT1-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 SYSUT1-EOF else move 'READ Failure with SYSUT1 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-SYSOUT move SYSUT1-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS * perform Z-ABEND-PROGRAM end-if end-if exit. *---------------------------------------------------------------* SYSUT1-OPEN. add 8 to ZERO giving APPL-RESULT. open input SYSUT1-FILE if SYSUT1-STATUS = '00' subtract APPL-RESULT from APPL-RESULT move 'O' to SYSUT1-OPEN-FLAG else add 12 to ZERO giving APPL-RESULT end-if if APPL-AOK CONTINUE else move 'OPEN Failure with SYSUT1 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-CONSOLE perform Z-DISPLAY-TO-SYSOUT move SYSUT1-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS perform Z-ABEND-PROGRAM end-if exit. ***************************************************************** * I/O Routines for the OUTPUT File... * ***************************************************************** SYSUT2-WRITE. if SYSUT2-OPEN-FLAG = 'C' perform SYSUT2-OPEN end-if write SYSUT2-REC if SYSUT2-STATUS = '00' subtract APPL-RESULT from APPL-RESULT else if SYSUT2-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 'WRITE Failure with SYSUT2 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-SYSOUT move SYSUT2-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS perform Z-ABEND-PROGRAM end-if exit. *---------------------------------------------------------------* SYSUT2-OPEN. add 8 to ZERO giving APPL-RESULT. open OUTPUT SYSUT2-FILE if SYSUT2-STATUS = '00' subtract APPL-RESULT from APPL-RESULT move 'O' to SYSUT2-OPEN-FLAG else add 12 to ZERO giving APPL-RESULT end-if if APPL-AOK CONTINUE else move 'OPEN Failure with SYSUT2 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-CONSOLE perform Z-DISPLAY-TO-SYSOUT move SYSUT2-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS perform Z-ABEND-PROGRAM end-if exit. *---------------------------------------------------------------* SYSUT2-CLOSE. add 8 to ZERO giving APPL-RESULT. close SYSUT2-FILE if SYSUT2-STATUS = '00' subtract APPL-RESULT from APPL-RESULT move 'C' to SYSUT2-OPEN-FLAG else add 12 to ZERO giving APPL-RESULT end-if if APPL-AOK CONTINUE else move 'CLOSE Failure with SYSUT2 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-SYSOUT move SYSUT2-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS perform Z-ABEND-PROGRAM end-if exit. ***************************************************************** * I/O Routines for the Control or Parameter File... * ***************************************************************** SYSUT3-READ. read SYSUT3-FILE if SYSUT3-STATUS = '00' subtract APPL-RESULT from APPL-RESULT add 1 to SYSUT3-RDR else if SYSUT3-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 SYSUT3-EOF else move 'READ Failure with SYSUT3 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-SYSOUT move SYSUT3-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS perform Z-ABEND-PROGRAM end-if end-if exit. *---------------------------------------------------------------* SYSUT3-OPEN. add 8 to ZERO giving APPL-RESULT. open input SYSUT3-FILE if SYSUT3-STATUS = '00' subtract APPL-RESULT from APPL-RESULT move 'O' to SYSUT3-OPEN-FLAG else add 12 to ZERO giving APPL-RESULT end-if if APPL-AOK CONTINUE else move 'OPEN Failure with SYSUT3 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-CONSOLE perform Z-DISPLAY-TO-SYSOUT move SYSUT3-STATUS to IO-STATUS perform Z-DISPLAY-IO-STATUS end-if exit. *---------------------------------------------------------------* SYSUT3-CLOSE. add 8 to ZERO giving APPL-RESULT. close SYSUT3-FILE if SYSUT3-STATUS = '00' subtract APPL-RESULT from APPL-RESULT move 'C' to SYSUT3-OPEN-FLAG else add 12 to ZERO giving APPL-RESULT end-if if APPL-AOK CONTINUE else move 'CLOSE Failure with SYSUT3 ' to MESSAGE-TEXT perform Z-DISPLAY-TO-SYSOUT move SYSUT3-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-TO-SYSOUT end-if move 'PROGRAM-IS-ABENDING...' to MESSAGE-TEXT perform Z-DISPLAY-TO-SYSOUT add 12 to ZERO giving RETURN-CODE STOP RUN. * exit. ***************************************************************** * Display CONSOLE messages... * ***************************************************************** Z-DISPLAY-TO-SYSOUT. perform Z-DISPLAY-MESSAGE-SIZE display MESSAGE-BUFFER(1:MB-LSB) move all SPACES to MESSAGE-TEXT exit. *---------------------------------------------------------------* Z-DISPLAY-TO-CONSOLE. perform Z-DISPLAY-MESSAGE-SIZE display MESSAGE-BUFFER(1:MB-LSB) upon console exit. *---------------------------------------------------------------* Z-DISPLAY-MESSAGE-SIZE. if MESSAGE-TEXT-2 = SPACES add 79 to ZERO giving MB-LSB else add MB-LOB to ZERO giving MB-LSB end-if perform until MB-LSB < 2 or MESSAGE-BUFFER(MB-LSB:1) not = SPACE if MESSAGE-BUFFER(MB-LSB:1) = SPACE subtract 1 from MB-LSB end-if end-perform subtract MB-LSB from MB-LOB giving MB-CTR 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-SYSOUT 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-SYSOUT end-if exit. ***************************************************************** Z-POST-COPYRIGHT. display SIM-TITLE display SIM-COPYRIGHT exit. ***************************************************************** Z-THANK-YOU. move SIM-THANKS-01 to MESSAGE-BUFFER perform Z-DISPLAY-TO-SYSOUT move SIM-THANKS-02 to MESSAGE-BUFFER perform Z-DISPLAY-TO-SYSOUT 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: 2018-10-11 Generation Time: 21:41:45:01 * *****************************************************************
The generated program will create a Hexadecimal dump file (or HEXDUMP) of user-defined records in the Customer Master VSAM, Key Sequenced Data Set (KSDS). 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 How to Convert an EBCDIC-encoded Sequential File to an ASCII-encoded VSAM, KSDS using a generated COBOL Program. This conversion reads an EBCDIC-encoded, record sequential file that contains binary and packed numeric information. Based on a COBOL Copy file that defines the record structure the EBCDIC information is converted to ASCII and written to the ASCII-encoded, VSAM, KSDS. The integrity of the numeric information is maintained.
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 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.
The following links will require an Internet connection.
This suite of programs and documentation is available for download. 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 GnuCOBOL Technologies available from SourceForge. SourceForge is an Open Source community resource dedicated to helping open source projects be as successful as possible. GnuCOBOL (formerly OpenCOBOL) is a COBOL compiler with run time support. The compiler (cobc) translates COBOL source to executable using intermediate C, designated C compiler and linker. This link will require 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 |
CUHEXK03, Hex Dump for Customer Master |
Copyright © 1987-2025 SimoTime Technologies and Services All Rights Reserved |
When technology complements business |
http://www.simotime.com |