****** ***************************** Top of Data ******************************
000001
000000004444444444444444444444444444444444444444444444444444444444444444
000C000C0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000002
000000004444444444444444444444444444444444444444444444444444444444444444
000C000D0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000003
000000004444444444444444444444444444444444444444444444444444444444444444
000C000F0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
****** **************************** Bottom of Data ****************************
jcl1
Code:
****** ***************************** Top of Data ******************************
000001 //ENRICO1 JOB NOTIFY=&SYSUID,
000002 // MSGLEVEL=(1,1),CLASS=A,MSGCLASS=H
000003 //*
000004 //ICE EXEC PGM=SORT
000005 //SYSOUT DD SYSOUT=*
000006 //SYSPRINT DD SYSOUT=*
000007 //SORTIN DD DISP=SHR,DSN=ENRICO.TEST.PS1
000008 //SORTOUT DD DISP=SHR,DSN=ENRICO.TEST.PS2
000009 //SYSIN DD *
000010 OPTION NOSZERO
000011 SORT FIELDS=COPY
000012 INCLUDE COND=(1,4,PD,EQ,5,4,PD)
000013 //
****** **************************** Bottom of Data ****************************
result
Code:
****** ***************************** Top of Data ******************************
000001
000000004444444444444444444444444444444444444444444444444444444444444444
000C000C0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000002
000000004444444444444444444444444444444444444444444444444444444444444444
000C000D0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000003
000000004444444444444444444444444444444444444444444444444444444444444444
000C000F0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
****** **************************** Bottom of Data ****************************
jcl2
Code:
****** ***************************** Top of Data ******************************
000001 //ENRICO1 JOB NOTIFY=&SYSUID,
000002 // MSGLEVEL=(1,1),CLASS=A,MSGCLASS=H
000003 //*
000004 //ICE EXEC PGM=SORT
000005 //SYSOUT DD SYSOUT=*
000006 //SYSPRINT DD SYSOUT=*
000007 //SORTIN DD DISP=SHR,DSN=ENRICO.TEST.PS1
000008 //SORTOUT DD DISP=SHR,DSN=ENRICO.TEST.PS2
000009 //SYSIN DD *
000010 SORT FIELDS=COPY
000011 INCLUDE COND=(1,4,PD,EQ,5,4,PD)
000012 //
****** **************************** Bottom of Data ****************************
result
Code:
****** ***************************** Top of Data ******************************
000001
000000004444444444444444444444444444444444444444444444444444444444444444
000C000C0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000002
000000004444444444444444444444444444444444444444444444444444444444444444
000C000F0000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
****** **************************** Bottom of Data ****************************
the test seems simple enough to understand the NOSZERO vs. the SZERO behavior
yes, you are right... the 2 files created for test Enterprize PLI migration... one created by PLI MVS, other EPLI ... the logic is the same, the result is : +0 -0 differencies
Thank you , enrico-sorichetti ... I knew that... but was hope that I can convert -0 to +0 in whatever position.... sorry, guys... I think we should close the discussion - thank you all
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
Just to confirm, then, the original is the PL/I MVS with -ve zeros, and the +ve zeros are the Enterprise PL/I?
And you already checked the changes section of the manual or the migration guide to know why this is happening, I assume.
If so, maybe give it a shot with the FINDREP you have, just to get the comparison going to check for any other differences between the datasets.
I'd still prefer to do it field-by-field after that, but that's me :-)
EDIT: Sorry, I was till typing before seeing you closing it down :-)
I don't understand the 'vice versa' or your subject that I've just noticed. That would be wrong, I think. As I undertsand it, results of some calcuations in PL/1 (like Cobol) will no longer produce -ve zero, but instead only +ve zero. It should not be the case (I am open to correction from PL/I people) that -ve zero can be produced in different circumstances than previously.
EDIT2: I've just realised after following Frank's message below that you actually "tailgated" an old topic instead of starting a new one. You were not responsible for the subject, so ignore most of the first EDIT.
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
anatol,
With all the "comments", I've lost track of what your question is.
Quote:
I have oposite request. I have +0 or -0 in unknown position in the file ... I need to convert it to +0 value for all...
The only possibility for changing something in an unknown position is to use FINDREP, e.g. change X'D0' to X'C0' in any byte. But that will only work if the character you're changing is ONLY used for -0 and NOT for anything else. Otherwise, you need to know the position of the field in order to convert it.