01.01.2013 Views

CICS Transaction Gateway V5 The WebSphere ... - IBM Redbooks

CICS Transaction Gateway V5 The WebSphere ... - IBM Redbooks

CICS Transaction Gateway V5 The WebSphere ... - IBM Redbooks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

332 <strong>CICS</strong> <strong>Transaction</strong> <strong>Gateway</strong> <strong>V5</strong><br />

as a copy of the supplied mirror program DFHMIRS. If you have implemented this<br />

use of DFHMIRR, you should install the fix for APAR PQ38644 after migrating to<br />

<strong>CICS</strong> TS V1.3, then upgrade your <strong>CICS</strong> TG to V4 or <strong>V5</strong> to enable use of the<br />

EXCI Version 2, and so abandon DFHMIRR altogether.<br />

This technique is to be encouraged, since it also solves the possible problem of<br />

double code page conversion in a <strong>CICS</strong>plex. This can occur when the user<br />

application specified in the ECIRequest is actually in a region remote from the<br />

region that first runs the mirror transaction. <strong>The</strong> mirror transaction will set the<br />

data conversion trigger to off when routing the DPL request through to the<br />

remote region. Prior to the EXCI Version 2, you had to specify different DFHCNV<br />

tables for the two <strong>CICS</strong> regions, or associate different mirror program names to<br />

the mirror transactions in each region.<br />

Table A-1 Mirror transaction characteristics for ECI requests<br />

Default ECI<br />

mirror transid<br />

Supports data<br />

conversion<br />

trigger?<br />

Mirror calls<br />

DFHCCNV on<br />

DPL request?<br />

LU 6.2 or TCP62<br />

connection<br />

EXCI V2 connection<br />

(<strong>CICS</strong> TG V4 or 5)<br />

CPMI CSMI CPMI<br />

Yes, and the trigger<br />

is always set in the<br />

ECI request<br />

If data conversion<br />

trigger is set, mirror<br />

transid is CPMI, or<br />

mirror program is<br />

DFHMIRR<br />

Yes, and the trigger is<br />

always set in the ECI<br />

request<br />

Only if data<br />

conversion trigger is<br />

set, mirror transid is<br />

CPMI, or mirror<br />

program is DFHMIRR<br />

EXCI Version 1<br />

connection<br />

Java on z/OS<br />

Java programs executing on z/OS and using the <strong>CICS</strong> TG ECI methods deserve<br />

a special mention because of the code page considerations on z/OS. Java<br />

strings are stored in Unicode, and Java byte arrays are stored in the native code<br />

page of the operating system. <strong>The</strong> COMMAREA flowed to <strong>CICS</strong> in an<br />

ECIRequest is a Java byte array, but is often converted to or from a string, for<br />

handling within the Java code. If the Java program executes in a Java Virtual<br />

Machine (JVM) on z/OS, then conversion of a string to a byte array will require<br />

the encoding to be specified.<br />

In our previous example (Figure A-2 on page 331), we used the method<br />

String.getBytes() to convert our string to a byte array, and the default String<br />

constructor to convert the byte array to a string. This will convert the byte array to<br />

a string using the default platform encoding. On Intel or UNIX platforms, this<br />

encoding will probably be US ASCII (ISO 8859-1); however, on z/OS it will be<br />

No<br />

Only if mirror transid<br />

is CPMI, or mirror<br />

program is<br />

DFHMIRR

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!