Can multiple codepages be referenced in one transaction?
search cancel

Can multiple codepages be referenced in one transaction?

book

Article ID: 63415

calendar_today

Updated On:

Products

Gen Gen - Workstation Toolset Gen - Host Encyclopedia Gen - Run Time Distributed

Issue/Introduction

How can UNIX or Linux based transactions reference two different input code pages?

 

 

Environment

Release: Gen 8.5 and 8.6
Component: Implementation Toolset (Unix and Linux)

Resolution

One transaction cannot reference two codepages. This would require two transactions and a modification to the user exit tirxlat.c such that two versions of the runtime libae_userexits_c would exist, one for each codepage. Each version of the transaction would need to reference its own version of the runtime libae_userexits_c.

To demonstrate this, the following are the steps needed if the UNIX machine is Solaris and the second codepage is Cyrillic:

  1. Makes copies of the server transactions that require the Cyrillic codepage on Solaris. These transactions would need to be packaged separately from the transactions that would NOT use the Cyrillic codepage.

  2. Modify the user exits tirxinfo and tirxlat inside $IEFH/src/tirxlat.c. Modifications to these routines would include setting the current code page to the Cyrillic codepage and choosing the codepage translation tables needed.

  3. Rebuild the runtime libraries (static and shared) that contain tirxlat after making a backup copy of the existing default library. The default library names are libae_userexits_c.a and libae_userexits_c.so. Rename the newly built libraries to new names such as libae_userexits_c_cyrillic.a and libae_userexits_c_cyrillic.so.

  4. Customize the build script that builds cooperative load modules, build_unix_lm_c.scr such that when the Cyrillic specific load modules are built they will use the new libraries from step #3.