Run Book, Packed-Decimal
Text Strings and Numeric Values
|
|
|
Table of Contents |
v-21.01.01 - nvpdqarb.htm |
|
|
Introduction
The primary objective of this test case is to describe and demonstrate how to address the requirement of sharing data files in a multi-system complex that includes IBM Mainframe Systems, Windows Systems and Linux Systems. If all the systems used the same file structure and their record content used the same encoding schemas then this could be a simple task. In the real world each system will typically have a variety of file structures, record structures and encoding schemas for record content.
In many cases a user request to convert data from EBCDIC to ASCII will expand into a request to convert a file format (typically a record sequential file) and its record content from a mainframe-oriented record structure to a format and structure that may be easily imported and accessed from within a relational data base or a spread sheet using Excel or LibreOffice Calc. This expanded request will involve more than a simple EBCDIC to ASCII conversion.
This is the Run Book for the "Numeric Values Packed Decimal Quality Assurance" (NVPDQA01) Test Case. This test case will describe and demonstrate a variety of techniques that may be used to do file format, record content and field format conversions. The tasks within this test case are executed as separate steps that allow a user to perform the task and review the results. The steps may be consolidated into a single job.
The following provides an overview of the data structures for numeric formats that are commonly used on an IBM Mainframe System and supported by the COBOL Programming Language.
Note: If the outline number is high-lighted (n.n.n.) then a link to additional information about the line item is provided.
1.
|
The Input file for this test case is a Record Sequential (RSEQ) File
|
1.1.
|
Contains Text fields that are EBCDIC-encoded.
|
1.2.
|
Contains Numeric fields that are stored in a Binary (USAGE IS COMPUTATIONAL), Packed-Decimal (USAGE IS COMPUTATIONAL-3) or Zoned-Decimal (USAGE IS DISPLAY) format.
|
1.2.1.
|
Binary (or COMP) format
|
1.2.2.
|
Packed-Decimal (or COMP-3) format
|
1.3.
|
The record structure is a Fixed-Field-Length (FFL) format. The record size is a fixed length of 512 bytes.
|
2.
|
The Output file for this test case is a Line Sequential (LSEQ) File. Also, this file type is referred to as an ASCII/Text file.
|
2.1.
|
The Text fields are ASCII-encoded.
|
2.2.
|
The Numeric fields are expanded and converted from a Packed-Decimal (or COMP-3) format to an ASCII-encoded, Text format with a separate leading sign character and an explicit decimal point.
|
2.3.
|
The record structure is a Comma-Separated-Values (CSV) format. The record size is variable.
|
The COBOL conversion programs used within this test case are generated using SimoTime Technologies. The generation process to create the programs will require a Windows or Linux System with a COBOL compiler and the SimoTime Library.
The generated COBOL programs may be compiled and executed on other systems that have a COBOL Compiler that is compatible with ANSI 2002 or later. Depending on the options used at program generation time a copy of the SimoTime Library may be required.
Explore
the SIMOTIME Web Site
for additional information about the technologies and services that are available.
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-2021
SimoTime Technologies and Services
All Rights Reserved
Convert and Review
This group of job scripts will describe and demonstrate the process for converting data files with records that contain text data strings and numeric values that are stored in a Packed-Decimal format. Batch job scripts are used to prepare and execute the conversion programs. Based on the numeric format and numeric content there are six job scripts divided into two groups for signed and unsigned numeric values.
EBC to ASC Convert
The record content of the Input File contains EBCDIC-encoded text strings and numeric values stored in a Packed-Decimal format. The EBCDIC to ASCII conversion will be done at the Record and Field level using two COBOL programs that are generated using SimoTime Technologies. The 1st program will do the file I/O processing and call a 2nd program to do the records content conversion. The 2nd program will do the record content conversion at the field level using the field definitions that are defined in a COBOL Copy File.
The following provides an overview outline of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Signed (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be a positive or negative number. All significant digits will be placed to the right of the decimal position.
|
1.1.
|
Execute a Job Script ( PSDE2AW1.cmd ) that will convert a file containing embedded text strings from EBCDIC to ASCII.
|
1.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\EBC1\NVPSDDD1.dat
|
1.1.2.
|
Convert embedded text strings from EBCDIC to ASCII
|
1.1.3.
|
Maintain numeric (or arithmetic) integrity for packed-decimal strings that contain numeric values.
|
1.1.4.
|
Create - SYSUT2=%BASELIB1%\DEVL\DATA\ASC1\NVPSDDD1.dat
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be a positive or negative number. Significant digits may be placed to the left or to the right of the decimal position.
|
2.1.
|
Execute a Job Script ( PSME2AW1.cmd ) that will convert a file containing embedded text strings from EBCDIC to ASCII.
|
2.1.1.
|
Access an existing Record Sequential File SYSUT1=%BASELIB1%\DEVL\DATA\EBC1\NVPSMDD1.dat
|
2.1.1.1.
|
Convert embedded text strings from EBCDIC to ASCII
|
2.1.1.2.
|
Maintain numeric (or arithmetic) integrity for packed-decimal strings that contain numeric values.
|
2.1.2.
|
Create a new Record Sequential File SYSUT2=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat
|
2.1.3.
|
Post program execution events to the SYSOUT File. SYSOUT=%BASELIB1%\DEVL\LOGS\SYSOUT_PSME2AW1.txt
|
2.2.
|
Execute a Job Script ( PSMHXDW3.cmd ) that will create the Hex-Dump information for the preceding two files.
|
2.2.1.
|
Review the record content for the EBC-encoded file. The HEX-Dump information is posted to an HTML File and may be viewed with a browser of choice.
|
2.2.2.
|
Review the record content for the ASC-encoded file. The HEX-Dump information is posted to an HTML File and may be viewed with a browser of choice.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be a positive or negative number. All significant digits will be placed to the left of the decimal position.
|
The following provides an overview outline of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Unsigned (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the right of the decimal position.
|
2.
|
Review a record structure that contains Mixed Numeric Values that may be zero or an implied positive number. Significant digits may be placed to the left or to the right of the decimal position.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the left of the decimal position.
|
WIP
Extract by Field Name
The record content of the Input File contains ASCII-encoded text strings of a fixed field length and the numeric values that are stored in a Packed Decimal format. The text string conversion and expansion of numeric values will be done at the Record and Field level using two COBOL programs that are generated using SimoTime Technologies.
The 1st program will do the file I/O processing and call a 2nd program to do the records content and field format conversion. The 2nd program will do the record content conversion at the field level conversion using the field definitions that are defined in a COBOL Copy File. Based on the numeric format and numeric content there are six job scripts divided into two groups for signed and unsigned numeric values.
The following provides an overview outline of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Signed (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be a positive or negative number. All significant digits will be placed to the right of the decimal position.
|
1.1.
|
Execute Job Script PSDEXTW5.cmd that will convert a record sequential file with a fixed record length and a record structure that contains Text Data Strings and numeric values that are strored in a pack-decimal format into a Line Sequential (or ASCII/Text) file and a record Structure that is a Comma-Separated-Values (CSV) format. The Packed-Decimal numbers will be expanded to a text-oriented format with an explict decimal point and a leading sign synbol (+ or -).
|
1.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSDDD1.dat
|
1.1.1.1.
|
Convert text strings from fixed length to variable length by truncating the trailing spaces.
|
1.1.1.2.
|
Convert numeric strings from packed-decimal strings to a text-oriented string with an explict decimal point and leading sign symbol.
|
1.1.2.
|
Create - SYSUT2=%BASELIB1%\DEVL\DATA\CSV1\NVPSDDD1.csv
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be a positive or negative number. Significant digits may be placed to the left or to the right of the decimal position.
|
2.1.
|
Execute a Job Script PSMEXTW5.cmd that will convert a record sequential file with a fixed record length and a record structure that contains Text Data Strings and numeric values that are strored in a pack-decimal format into a Line Sequential (or ASCII/Text) file and a record Structure that is a Comma-Separated-Values (CSV) format. The Packed-Decimal numbers will be expanded to a text-oriented format with an explict decimal point and a leading sign synbol (+ or -).
|
2.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat
|
2.1.1.1.
|
Convert text strings from fixed length to variable length by truncating the trailing spaces.
|
2.1.1.2.
|
Convert numeric strings from packed-decimal strings to a text-oriented string with an explict decimal point and leading sign symbol.
|
2.1.2.
|
Create - SYSUT2=%BASELIB1%\DEVL\DATA\CSV1\NVPSMDD1.csv
|
3.
|
Review a record structure that defines Whole Numeric Values that may be a positive or negative number. All significant digits will be placed to the left of the decimal position.
|
The following provides an overview outline of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Unsigned (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the right of the decimal position.
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be zero or an implied positive number. Significant digits may be placed to the left or to the right of the decimal position.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the left of the decimal position.
|
WIP
Import by Field Name
The input file (SYSUT1) is an ASCII-encoded, Line Sequential (LSEQ) file. Also, this file may be referred to as an ASCII/Text File. The record format is Comma-Separated-values (CSV). Since the Output File (SYSUT2) contains ASCII-encoded text strings and numeric values stored in a Packed Decimal format the text string conversion and formatting of numeric values will be done at the Record and Field level using two COBOL programs that are generated using SimoTime Technologies.
The 1st program will do the file I/O processing and call a 2nd program to do the records content and field format conversion. The 2nd program will do the record content conversion at the field level conversion using the field definitions that are defined in a COBOL Copy File.
The following provides an overview outline of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Signed (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be a positive or negative number. All significant digits will be placed to the right of the decimal position.
|
1.1.
|
Execute a Job Script ( PSDIMPW1.cmd ) that will convert a file containing variable length records to fixed length records.
|
1.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\CSV1\NVPSDDD1.csv
|
1.1.1.1.
|
Convert variable length text strings to fixed-field length by padding the trailing segment of a string with spaces.
|
1.1.1.2.
|
Convert text oriented, variable-length numeric strings to a packed-decimal format.
|
1.1.2.
|
Create - SYSUT2=%BASELIB1%\DEVL\DATA\ASC1\NVPSDDD1.dat
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be a positive or negative number. Significant digits may be placed to the right or left of the decimal position.
|
2.1.
|
Execute a Job Script ( PSMEXTW5.cmd ) that will convert a file containing variable length records fixed length records.
|
2.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\CSV1\NVPSMDD1.csv
|
2.1.1.1.
|
Convert variable length text strings to fixed-field length by padding the trailing segment of a string with spaces.
|
2.1.1.2.
|
Convert text oriented, variable-length numeric strings to a packed-decimal format.
|
2.1.2.
|
Create - SYSUT2=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat
|
3.
|
Packed Decimal Unsigned with Decimal Numeric Values
|
The following provides an overview outline of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Unsigned (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the right of the decimal position.
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be zero or an implied positive number. Significant digits may be placed to the left or to the right of the decimal position.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the left of the decimal position.
|
WIP
ASC to EBC Convert
The record content of the Input File contains ASCII-encoded text strings and numeric values stored in a Packed-Decimal format. The ASCII to EBCDIC conversion will be done at the Record and Field level using two COBOL programs that are generated using SimoTime Technologies.
The 1st program will do the file I/O processing and call a 2nd program to do the records content conversion. The 2nd program will do the record content conversion at the field level using the field definitions that are defined in a COBOL Copy File.
The following provides an overview of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Signed (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be a positive or negative number. All significant digits will be placed to the right of the decimal position.
|
1.1.
|
Execute a Job Script ( PSDA2EW1.cmd ) that will convert a file containing text strings from ASCII to EBCDIC while maintaining numeric integrity for the numeric values that are stored in a Packed-Decimal format.
|
1.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSDDD1.dat
|
1.1.1.1.
|
Convert text strings from ASCII to EBCDIC
|
1.1.1.2.
|
Maintain numeric (or arithmetic) integrity for packed-decimal and binary strings that contain numeric values.
|
1.1.2.
|
Create - SYSUT2=%BASELIB1%\DEVL\DATA\EBC1\NVPSDDD2.dat
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be a positive or negative number. Significant digits may be placed to the left or to the right of the decimal position.
|
2.1.
|
Execute a Job Script ( PSME2AW1.cmd ) that will convert a file containing embedded text strings from ASCII to EBCDIC while maintaining numeric integrity for the numeric values that are stored in a Packed-Decimal format.
|
2.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat
|
2.1.1.1.
|
Convert embedded text strings from ASCII to EBCDIC.
|
2.1.1.2.
|
Maintain numeric (or arithmetic) integrity for packed-decimal and binary strings that contain numeric values.
|
2.1.2.
|
Create - SYSUT2=%BASELIB1%\DEVL\DATA\EBC1\NVPSMDD1.dat
|
2.2.
|
Execute a Job Script ( PSMHXDW3.cmd that will create the Hex-Dump information for the preceding two files.
|
2.2.1.
|
Review the results for the ASC-encoded file. The HEX-Dump information is posted to an HTML File and may be viewed with a browser of choice.
|
2.2.2.
|
Review the results for the EBC-encoded file. The HEX-Dump information is posted to an HTML File and may be viewed with a browser of choice.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be a positive or negative number. All significant digits will be placed to the left of the decimal position.
|
The following provides an overview outline of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Unsigned (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be a positive or negative number. All significant digits will be placed to the right of the decimal position.
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be a positive or negative number. Significant digits may be placed to the left or right of the decimal position.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be a positive or negative number. All significant digits will be placed to the left of the decimal position.
|
Data Validation
Data Validation is used to verify the results of a process that accesses a data file and may have made changes to the file by updating existing records in a file, deleting existing records in a file or adding new records to a file.
Validate Numeric Integrity
Execute a user defined job script that executes a program that will accumulate Summary Totals for the numeric fields that are stored in Packed-Decimal format. This Job Script will describe and demonstrate how to validate the Numeric Integrity of Packed-Decimal fields. The test cases are used to identify possible S0C7 or RTS-163 errors (non-numeric value in a numeric field) that may cause an application program to abnormally terminate.
The following provides an overview of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Signed (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be a positive or negative number. All significant digits will be placed to the left of the decimal position.
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be a positive or negative number. Significant digits may be placed to the left or to the right of the decimal position.
|
2.1.
|
Execute a Job Script ( PSMTOTW1.cmd ) that will validate numeric integrity and accumulate summary totals.
|
2.1.1.
|
Access - SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat
|
2.1.1.1.
|
Convert embedded text strings from EBCDIC to ASCII
|
2.1.1.2.
|
Maintain numeric (or arithmetic) integrity for packed-decimal and binary strings that contain numeric values.
|
2.1.2.
|
Create - SYSOUT=%BASELIB1%\DEVL\LOGS\SYSOUT_PSMTOTW1.txt
|
2.1.2.1.
|
Review the summary report produced by the process that accumulated the Summary Totals. This example accesses a file that contains valid numeric content.
|
2.2.
|
Execute a Job Script ( PSMFDSW3.cmd ) that will post the individual record content in a Hex-Dump format along with additional information when a numeric field contains non-numeric values.
|
2.2.1.
|
Review the record content of the file that contains the accumulated the Summary Totals. This example accesses a file that contains corrupt numeric content.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be a positive or negative number. All significant digits will be placed to the left of the decimal position.
|
The following provides an overview of three (3) job scripts that will process record sequential files. The record content of the files contains text data strings and numeric data strings. The record structures are defined in COBOL Copy Files. The numeric format is Packed-Decimal, Unsigned (COMPUTATIONAL-3 or COMP-3).
1.
|
Review a record structure that defines Decimal Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the right of the decimal position.
|
2.
|
Review a record structure that defines Mixed Numeric Values that may be zero or an implied positive number. Significant digits may be placed to the left or to the right of the decimal position.
|
3.
|
Review a record structure that defines Whole Numeric Values that may be zero or an implied positive number. All significant digits will be placed to the left of the decimal position.
|
WIP
Data File Compare
This section will discuss two (2) of the many compare capabilities provided by SimoTime Technologies and Services. The first capability is a physical file compare that compares the complete record content on a record by record basis of two record sequential files. To produce a equal result each byte in a record from the first file must physically match with the corresponding byte in the second file.
The second capability is a logical file compare that does a physical compare of each corresponding byte in a file. If a not equal is found the a second logical compare for the corresponding file is performed. A logical compare will compare the possible ASCII symbol for the byte in the first file with the possible EBCDIC symbol for the corresponding byte in the second file.
Physical Compare
The following shows the content of the EBCDIC-encoded input file. This is a record sequential file. The record length is 1,024 bytes. The Test Case file contains three (3) records. The record content contains EBCDIC-encoded text data strings and numeric values stored in a Signed-Packed-Decimal format.
1.
|
Execute a Job Script ( PSMCP1W4.cmd ) that will compare two (2) data files that contain a slightly different physical record content.
|
1.1.
|
Access the two data files. SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD4.dat SYSUT2=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat
|
1.1.1.
|
Compare the record content of the two files using matching record logic.
|
1.1.2.
|
Post Job and Job Step information to the JOBLOG File
|
1.1.3.
|
Post program execution events to the SYSOUT File. SYSOUT=%BASELIB1%\DEVL\LOGS\SYSOUT_USER.txt
|
1.1.4.
|
Post and review the results for a data file compare that produces a NOT Equal (NE) result. SYSLUSER=%BASELIB1%\DEVL\LOGS\SYSLUSER_PSMCP1W4.htm
|
2.
|
Execute a Job Script ( PSMCP3W1.cmd ) that will compare two (2) data files that contain identical physical record content.
|
2.1.
|
Access the two data files. SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat SYSUT2=%BASELIB1%\DEVL\DATA\EBC1\NVPSMDD1.dat SYSUT3=%BASELIB1%\DEVL\DATA\WRK1\PSMCP3W1.txt
|
2.1.1.
|
Obtain the compare specifications for a record segment compare of SYSUT1 and SYSUT2 from SYSUT3.
|
2.1.2.
|
Compare the record content of the two files using matching record logic.
|
2.1.3.
|
Post Job and Job Step information to the JOBLOG File. JOBLOG=%BASELIB1%\DEVL\LOGS\JOBLOG_USER.txt
|
2.2.
|
Post program execution events to the SYSOUT File. SYSOUT=%BASELIB1%\DEVL\LOGS\SYSOUT_USER.txt
|
2.3.
|
Post and review the results for a data file compare that produces an Equal (EQ) result. SYSLUSER=%BASELIB1%\DEVL\LOGS\SYSLUSER_PSMCP3W4.htm
|
Logical Compare
The following shows the results of a logical compare of two (2) record sequential files. The record length for both files is 1,024 bytes. The record content for the first file is ASCII-encoded text data strings and numeric values stored in a Packed-Decimal format. The record content for the second file is EBCDIC-encoded text data strings and numeric values stored in a Packed-Decimal format. The unused, trailing part of a record will be padded with spaces.
1.
|
Execute a Job Script ( PSMCL1K4.cmd ) that will compare two (2) data files that use different encoding schemas for text data strings and contain a slightly different logical record content.
|
1.1.
|
Access the two data files. SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD4.dat SYSUT2=%BASELIB1%\DEVL\DATA\EBC1\NVPSMDD1.dat
|
1.1.1.
|
Compare the record content of the two files using matching record logic.
|
1.1.2.
|
Post Job and Job Step information to the JOBLOG File. JOBLOG=%BASELIB1%\DEVL\LOGS\JOBLOG_USER.txt
|
1.1.3.
|
Post program execution events to the SYSOUT File. SYSOUT=%BASELIB1%\DEVL\LOGS\SYSOUT_USER.txt
|
1.1.4.
|
Post and review the results for a data file compare that produces a NOT Equal (NE) result that is posted to the SYSLUSER File. SYSLUSER=%BASELIB1%\DEVL\LOGS\SYSLUSER_PSMCL1K4.htm
|
2.
|
Execute a Job Script ( PSMCL1K1.cmd ) that will compare two (2) data files that use different encoding schemas for text data strings and contain identical logical record content.
|
2.1.
|
Access the two data files. SYSUT1=%BASELIB1%\DEVL\DATA\ASC1\NVPSMDD1.dat SYSUT2=%BASELIB1%\DEVL\DATA\EBC1\NVPSMDD1.dat
|
2.1.1.
|
Compare the record content of the two files using matching record logic.
|
2.1.2.
|
Post Job and Job Step information to the JOBLOG File. JOBLOG=%BASELIB1%\DEVL\LOGS\JOBLOG_USER.txt
|
2.1.3.
|
Post program execution events to the SYSOUT File. SYSOUT=%BASELIB1%\DEVL\LOGS\SYSOUT_USER.txt
|
2.1.4.
|
Post and review the results for a data file compare that produces an Equal (EQ) result that is posted to the SYSLUSER File. SYSLUSER=%BASELIB1%\DEVL\LOGS\SYSLUSER_PSMCL1K1.htm
|
Review File Content
If a file contains all text data that uses the encoding schema (i.e. EBCDIC or ASCII) of the system in use then it may be viewed using the system provided text editor.
In a multi-system environment where data is being migrated or shared the data files will probably contain a mixture of text strings that use EBCDIC or ASCII encoding and numeric strings that are stored in a Binary, Packed-Decimal or Zoned-Decimal format. Attempting to view these files with a text editor usually results in a failure to produce meaningful information for human interpretation.
Primary EBCDIC Files
There are six (6) files that are used as primary input for the function test that are performed within this test case. The file format is record sequential with fixed length records of 1,024 bytes. The record structure contains concatenated text strings and numeric strings. The text strings are EBCDIC encoded. The numeric strings are defined as Packed-Decimal format and the numeric content is defined as decimal, mixed or whole numeric values that may be Signed or Unsigned.
1.
|
Review the record content of a file that contains EBCDIC-encoded Text strings and numeric strings that are stored in a Packed-Decimal format. The numeric content is defined as signed, decimal values. The full record content may be viewed using a four line, linear Hex-Dump format with possible ASCII or EBCDIC translation.
|
2.
|
Review the record content of a file that contains EBCDIC-encoded Text strings and numeric strings that are stored in a Packed-Decimal format. The numeric content is defined as signed, mixed values. The full record content may be viewed using a four line, linear Hex-Dump format with possible ASCII or EBCDIC translation.
|
2.1.
|
Review a record structure that defines Mixed Numeric Values that may be a positive or negative number. Significant digits may be placed to the left or to the right of the decimal position.
|
3.
|
Review the record content of a file that contains EBCDIC-encoded Text strings and numeric strings that are stored in a Packed-Decimal format. The numeric content is defined as signed, whole values. The full record content may be viewed using a four line, linear Hex-Dump format with possible ASCII or EBCDIC translation.
|
WIP
Converted ASCII Files
There are six (6) files that are created during the execution of the EBCDIC to ASCII Conversion processing. The file format is record sequential with fixed length records of 1,024 bytes. The record structure contains concatenated text strings and numeric strings. The text strings are ASCII encoded. The numeric strings are defined as Packed-Decimal format and the numeric content is defined as decimal, mixed or whole numeric values that may be Signed or Unsigned.
1.
|
Record Sequential File for PSM
|
1.1.
|
ASCII - encoded File - Review full record content using a linear Hex-Dump format with possible ASCII or EBCDIC translation.
|
1.2.
|
Hex-Dump by Field Name
|
1.3.
|
ASCII - encoded File - Review full record content using the field names and properties as defined in a COBOL Copy File.
|
1.4.
|
Hex-Dump by Block of Data
|
WIP
Job Scripts
This section provides additional technical details about the modules that are included in this test case.
Data File Conversion
The following three (3) links provide a description of the job scripts that process sequential files that contains text strings and signed numeric values that are stored in a Signed, Packed-Decimal format.
1.
|
Convert Text Strings and maintain Numeric Integrity
|
1.1.
|
PSDA2EW1.cmd - Access a file Sequential file with fixed length records. The record structure contains Text Strings that are EBC-encoded and Numeric Strings that are stored in a Packed-Decimal Signed field format with Decimal Numeric Content
|
1.3.
|
PSME2AW1.cmd - for this job script the Input File contains EBCDIC-encoded text strings and numeric values stored in a Packed Decimal format the EBCDIC to ASCII conversion will be done at the Record and Field level using two COBOL programs that are generated using SimoTime Technologies.
|
1.4.
|
PSMEXTW5.cmd - for this job script the Input File contains ASCII-encoded text strings and numeric values stored in a Packed Decimal format the data conversion will be done at the File, Record and Field level using two COBOL programs that are generated using SimoTime Technologies.
|
Validate Numeric Content
The following three (3) links provide a description of the job scripts that process sequential files that contains text strings and signed numeric values that are stored in a Signed, Packed-Decimal format.
1.
|
Validate Numeric Integrity
|
1.1.
|
PSMTOTW1.cmd - The input file (SYSUT1) is an ASCII-encoded, Record Sequential (LSEQ) file. The file format is fixed length records. The record format is Fixed Field Length (FFL). Since the Output File (SYSUT2) contains ASCII-encoded text strings and numeric values stored in a Signed-Packed Decimal format the text string conversion and formatting of numeric values will be done at the Record and Field level using two COBOL programs that are generated using SimoTime Technologies.
|
1.3.
|
Hex-Dump by Block of Data
|
Compare two Data Files
1.1.
|
PSMCL1W4.cmd - performs a logical compare of the record content from two data files
|
1.2.
|
PSMCP1W4.cmd - performs a physical compare of the record content from two data files
|
Create Test Data
The following three (3) links provide a description of the job scripts that process sequential files that contains text strings and signed numeric values that are stored in a Signed, Packed-Decimal format.
Problem Determination Techniques
The following three (3) links provide a description of the job scripts that process sequential files that contains text strings and signed numeric values that are stored in a Signed, Packed-Decimal format.
1.
|
Problem Determination Techniques
|
Record Structures
This section provides additional technical details about the modules that are included in this test case. The data structures contain text strings that may be EBCDIC or ASCII encoded and numeric formats that are commonly used on an IBM Mainframe and supported by the COBOL Programming Language.
Packed-Decimal Signed Format
The following three (3) links provide a description of the COBOL Copy Files that define the record structure that contains text strings and signed numeric values that are stored in a Signed, Packed-Decimal format.
NVPDSDB1, Decimal Numeric Values
This link provides a description of the COBOL Copy File that defines the record structure that contains text strings and decimal numeric values with all significant digits placed to the right of the decimal position. The numeric content may be a positive value, a negative value or zero.
This record structure contains Text Data Strings that may be ASCII or EBCDIC encoded and Numeric Data Strings that are stored in a Signed, Packed Decimal format. The numeric content contains decimal numeric values with all significant digits being placed to the right of the decimal position.
NVPDSMB1, Mixed Numeric Values
This link provides a description of the COBOL Copy File that defines the record structure that contains text strings and mixed numeric values with significant digits placed to the left and right of the decimal position. The numeric content may be a positive value, a negative value or zero.
This record structure contains Text Data Strings that may be ASCII or EBCDIC encoded and Numeric Data Strings that are stored in a Signed, Packed Decimal format. The numeric content contains mixed numeric values with significant digits being placed to the left and right of the decimal position.
NVPDSWB1, Whole Numeric Values
This link provides a description of the COBOL Copy File that defines the record structure that contains text strings and whole numeric values with all significant digits placed to the left of the decimal position. The numeric content may be a positive value, a negative value or zero.
This record structure contains Text Data Strings that may be ASCII or EBCDIC encoded and Numeric Data Strings that are stored in a Signed, Packed Decimal format. The numeric content contains whole numeric values with all significant digits being placed to the left of the decimal position.
Packed-Decimal Unsigned Format
The following three (3) links provide a description of the COBOL Copy Files that define the record structure that contains text strings and unsigned numeric values that are stored in an Unsigned, Packed-Decimal format (or implied positive).
NVPDUDB1, Decimal Numeric Values
This link provides a description of the COBOL Copy File that defines the record structure that contains text strings and decimal numeric values with all significant digits placed to the right of the decimal position. The numeric content may be zero or an implied positive value.
This record structure contains Text Data Strings that may be ASCII or EBCDIC encoded and Numeric Data Strings that are stored in a Signed, Packed Decimal format. The numeric content contains decimal numeric values with all significant digits being placed to the right of the decimal position.
NVPDUMB1, Mixed Numeric Values
The following link provides a description of the COBOL Copy File that defines the record structure that contains text strings and mixed numeric values with significant digits placed to the left and right of the decimal position. The numeric content may be zero or an implied positive value.
This record structure contains Text Data Strings that may be ASCII or EBCDIC encoded and Numeric Data Strings that are stored in a Signed, Packed Decimal format. The numeric content contains mixed numeric values with significant digits being placed to the left and right of the decimal position.
NVPDUWB1, Whole Numeric Values
The following link provides a description of the COBOL Copy File that defines the record structure that contains text strings and whole numeric values with all significant digits placed to the left of the decimal position. The numeric content may be zero or an implied positive value.
This record structure contains Text Data Strings that may be ASCII or EBCDIC encoded and Numeric Data Strings that are stored in a Signed, Packed Decimal format. The numeric content contains whole numeric values with all significant digits being placed to the left of the decimal position.
Summary
This document and referenced programs describes and demonstrates the process of converting an EBCDIC-encoded, Record Sequential file to an ASCII/Text file. Also, the convert process includes a file format, record content and field format conversion that will expand the numeric values that are stored in a Zoned-Decimal or Packed-Decimal format. This document may be used to assist as a tutorial for new assembler programmers or as a quick reference for experienced programmers. This test case has a focus on the techniques that may be used when processing record sequential files that contain a record structure that includes text data and numeric values that are stored in a packed-decimal format. As always, it is the user's responsibility to thoroughly test all programs.
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 Comments 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.
Downloads and Links
This section includes links to documents with additional information that are beyond the scope and purpose of this document. The first group of documents may be available from a local system or via an internet connection, the second group of documents will require an internet connection.
Note: A SimoTime License is required for the items to be made available on a local system or server.
Current Server or Internet Access
The following links may be to the current server or to the Internet.
Explore the Numbers Connection for additional information about the structure and processing of numeric data items (or numeric fields).
Explore the non-Relational Data Connection for more examples of accessing methodologies and coding techniques for Data Files and VSAM Data Sets.
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 to interpret the results of accessing VSAM data sets and/or QSAM files.
Explore How to use Common or Shared Routines that perform repetitive tasks in a consistent manner. This link will provide information about setting common environment variables and many other utilitarian tasks.
Internet Access Required
The following links will require an internet connect.
A good place to start is
The SimoTime Home Page
for access to white papers, program examples and product information. This link requires an Internet Connection
Explore
The Micro Focus Web Site
for more information about products (including Micro Focus COBOL) and services available from Micro Focus. This link requires an Internet Connection.
Glossary of Terms
Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.
Comments or Feedback
This document was created and is maintained by SimoTime Technologies. If you have any questions, suggestions, comments or feedback please use the following contact information.
1.
|
Send an e-mail to our helpdesk.
|
2.
|
Our telephone numbers are as follows.
|
2.1.
|
1 415 763-9430 office-helpdesk
|
2.2.
|
1 415 827-7045 mobile
|
We appreciate hearing from you.
Company Overview
SimoTime Technologies was founded in 1987 and is a privately owned company. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. Our customers include small businesses using Internet technologies to corporations using very large mainframe systems.
Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems. We specialize in preparing applications and the associated data that are currently residing on a single platform to be distributed across a variety of platforms.
Preparing the application programs will require the transfer of source members that will be compiled and deployed on the target platform. The data will need to be transferred between the systems and may need to be converted and validated at various stages within the process. SimoTime has the technology, services and experience to assist in the application and data management tasks involved with doing business in a multi-system environment.
Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com
Copyright © 1987-2021 SimoTime Technologies and Services All Rights Reserved |
When technology complements business |
http://www.simotime.com |