IBM Support

PI83380: NO MECHANISM TO CONTROL THE HANDLING OF EMPTY JSON ARRAYS AFTER PI67641

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Previously empty JSON arrays may not have been present in the
    JSON produced by CICS if the corresponding element in the
    language structure was empty.
    .
    PI67641/UI43347 altered the behavior without providing a proper
    mechanism to control the handling of empty JSON arrays. Clients
    testing for the presence or absence of a JSON array must now
    test for an empty or populated JSON array.
    .
    Need an option for omitting empty optional arrays.  The JS2LS
    utility needs to honor the omission of the "required"
    validation keyword in the JSON schema for JSON arrays. If the
    array is empty and not required as specified in the JSON
    schema, do not include the array in the JSON object. If the
    array is empty and is required as specified in the JSON schema,
    include an empty array in the JSON
    .
    Additional Symptom(s) Search Keyword(s): KIXREVDAM
    

Local fix

  • The application receiving the JSON would need to ignore the
    values if they are not needed because thy contain no values.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users with UI43347 applied to CICS TS    *
    *                 5.2, and all users of CICS TS 5.3 and 5.4.   *
    ****************************************************************
    * PROBLEM DESCRIPTION: CICS generates an empty JSON array for  *
    *                      an empty language structure, despite    *
    *                      the array being declared as optional in *
    *                      the JSON schema.                        *
    ****************************************************************
    A JSON web service is deployed into CICS, or a CICS program uses
    the DFHJSON linkable interface to convert application data to
    JSON.  After applying UI43347 to CICS TS 5.2 or upgrading to
    CICS 5.3 or 5.4 the JSON produced now contains empty arrays.
    These comply with the JSON schema and correctly correspond with
    the application data structure, however the array was declared
    as optional in the JSON schema (by not being declared as
    required) so there inclusion is not necessary.  These empty
    optional arrays were not present before and are the side effect
    of a defect fix included in UI43347 and the base code of CICS TS
    5.3 and 5.4.
    

Problem conclusion

  • DFHJS2LS has been modified to create bind files and bundles
    which indicate for each array if it was specified as required or
    not in the JSON schema.  The Java and native (non-Java) JSON
    generators have been modified to check this new flag and omit
    empty optional arrays.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI83380

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-06-20

  • Closed date

    2017-09-11

  • Last modified date

    2017-10-02

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

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

    UI50228 UI50229 UI50230 UI50231 UI50232 UI50233

Modules/Macros

  • DFHMLJS  DFHMLTF  DFHPIJG  DFJ@H176 DFJ@H403
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R000 PSY UI50230

       UP17/09/20 P F709

  • R00D PSY UI50231

       UP17/09/20 P F709

  • R100 PSY UI50232

       UP17/09/19 P F709

  • R10D PSY UI50233

       UP17/09/19 P F709

  • R900 PSY UI50228

       UP17/09/20 P F709

  • R90D PSY UI50229

       UP17/09/20 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":"5.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":"5.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 October 2017