IBM Support

PK51594: JAVA CICS WEB SUPPORT DATA CONVERSION PROBLEM

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • DBCS conversion problem in a java application.
    The problem here is that the symbollist is held as a String in
    Java which is in UTF-16. The JNI code to process the document
    commands then uses the function GetStringUTFChars which
    gets the UTF-16 string as a UTF-8 string.
    .
    After that the __atoe() C function is used to convert to EBCDIC.
    This only works on ISO-8859-1 input and not UTF-8.
    This causes the incorrect data to be sent to CICS.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect EBCDIC data within a          *
    *                      SYMBOLLIST when set using the JCICS     *
    *                      Document class.                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A CICS Java application is using the JCICS classes to work with
    documents.  The application is running in codepage 937.  The
    setSymbolList() method of the Document class is used to set a
    symbollist containing DBCS data in some of the values.  When
    this symbollist is passed to CICS on an EXEC CICS DOCUMENT SET
    SYMBOLLIST() LISTLENGTH() command the DBCS data is incorrect
    and so is the length of the whole symbollist.
    
    The DBCS data is incorrect because JNI code in Document.c
    is passed the symbolList as a Java String which is in UTF-16.
    That string is then converted to UTF-8 for use by the C code.
    The C function __atoe() is then called to convert the UTF-8
    string to EBCDIC.  However, __atoe() only works with strings
    in ISO-8859-1.  It cannot process DBCS characters.  Each byte
    of the UTF-8 string gets converted individually to EBCDIC and
    the resultant byte array is passed to CICS on the EXEC CICS
    DOCUMENT SET SYMBOLLIST command.
    
    The LISTLENGTH is incorrect as it uses the length of the
    original Java String and not the number of bytes in final
    EBCDIC representation.
    
    A similar problem occurs for single symbols set using the
    addSymbol() method of the Document class.
    

Problem conclusion

  • The JCICS Document class has been changed to correctly convert
    symbol, values and symbollists to EBCDIC before issuing the EXEC
    CICS DOCUMENT SET command.  The length of the value and
    symbollist has also been corrected.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PK51594

  • Reported component name

    CICSTS V3 Z/OS

  • Reported component ID

    5655M1500

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-08-24

  • Closed date

    2007-09-26

  • Last modified date

    2007-10-02

  • APAR is sysrouted FROM one or more of the following:

    PK46564

  • APAR is sysrouted TO one or more of the following:

    UK29541

Modules/Macros

  •    DFJ@H000 DFJDTCOE
    

Fix information

  • Fixed component name

    CICSTS V3 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R50D PSY UK29541

       UP07/09/28 P F709

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 October 2007