I have an E35 MOD (MVS COBOL program) with the following linkage defination:
01 SORT-EXIT-STATUS PIC 9(8) COMP.
88 FIRST-ENTRY VALUE 0.
88 MOST-ENTRY VALUE 4.
88 LAST-ENTRY VALUE 8.
05 SORT-DATA PIC X(32755).
05 WORK-RECORD-DATA OCCURS 0 TO 32755 TIMES
DEPENDING ON WORK-RECORD-LRECL PIC X.
Here is my procedure division:
USING SORT-EXIT-STATUS SORT-RECORD WORK-RECORD
DISPLAY ' SORT-REC VALUE ' SORT-RECORD(1:10)
When processing an empty input file, the value displayed in SORT-REC VALUE has always been X'00000000000080000000'
I am assuming this value is returned by Syncsort as no processing has been performed yet (just a Display of the linkage value)
My Client has ran this code for many years without issue. Now my client is attempting to upgrade their version of Syncsort and has starting receiving
a value of x'50005000500050005000' instead of X'00000000000080000000' in the inital display of SORT-RECORD prior to any processing occurring.
Unfortunately, this Hex value was outputted (even during an empty input process) so downstream jobs depend upon receiving X'00000000000080000000'
when this process received empty inputs. (please don't ask why we are outputing these Hex values. That answer may only be understandable when under the influence of some illegal substance...lol)
Anyway, my test jobs work fine (outputting X'00000000000080000000') when running under RELEASE 1.3 BATCH 0485 TPF LEVEL 2.2 (z/OS 1.10.0)
My client experiences the problem value (outputting x'50005000500050005000') when running under RELEASE 1.3 BATCH 0513 TPF LEVEL 2.2 (z/OS 1.9.0)
If my client runs using RELEASE 1.2 BATCH 0454 TPF LEVEL 3.1 (z/OS 1.11.0), they "do not" experience the problem an receive X'00000000000080000000'.
To me, this appears to be related to Syncsort internals. I'm not sure if BATCH 0485 vs BATCH 513 has anything to do with it. Or maybe the version of Z/OS in conjunction with the version of Syncsort is causing the issue.
Any feedback is much appreicated.
Thanks in advance