A fix is available
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