Mainframe COBOL to Java, C# & Cloud

Download COBOL to Java/C# Converter - Free Trial

Migrating EBCDIC data-files when moving from COBOL to Java and C#

Mainframes use EBCDIC character sets to maintain data files. During the migration of a COBOL application to Java or C#, it is sometimes necessary to convert SEQUENTIAL files from EBCDIC to ASCII or vice-versa.
Additionally, it may also be desirable for translated Java / C# applications to continue working with EBCDIC data files for a limited period.

This paper provides an overview of the issues associated, and the solution to working with EBCDIC data.

Case Study: ING Bank migrates from CICS COBOL (& EBCDIC datafiles) to Java Cloud

Complications introduced by Packed-Decimal (PD) fields

Packed-Decimal (PD) fields are represented by the same binary values (and therefore the same characters) as in ASCII and EBCDIC. Therefore, the character set conversion process should be aware of their position and length, and exclude them from the conversion process.
This means the standard FTP utilities with character set conversion facilities will generate incorrect results.

Solution-1: Using SoftwareMining's EbcdicConvertor

SoftwareMining's EbcdicConvertor addresses the problem by taking note of the position of PACKED-DECIMAL fields. The utility can use two separate modes of operation:

Solution-2: Working directly with EBCDIC files

By default, the translated applications uses the same character set (UTF) for everything from reading/writing (sequential) data files to displaying data on screen, database access and writing to Log-Files.
However, the runtime system can be configured to use different character-sets for each of the above operations.
This would allow the system to continue updating the database and screens in UTF, but still use EBCDIC for accessing sequential data files.

  © 2024 SoftwareMining is a trademark of Software Modernization Technologies Ltd (UK). Registered in England company no: 07300248. Reg Offices: 79 Stevens House, Jerome Place, Kingston Upon Thames, KT1 1HX, United Kingdom.