View previous topic :: View next topic
|
Author |
Message |
rahulcherekar
New User
Joined: 20 Feb 2007 Posts: 16 Location: New York
|
|
|
|
Hi,
I am doing IDMS to DB2 conversion on one of our programs. Code changes and testing look good. Even all output files are matching exactly except I see one byte shift in the report created.
IDMS run: Program CB2-IDMS-DB2; AMODE/RMODE default
Report is starting from 2nd column.
DB2 run: Program COB390/DB2/AMODE/RMODE 24
Report is starting from 3rd column.
Thanks,
Rahul. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
printer control char in the first position ??? |
|
Back to top |
|
|
rahulcherekar
New User
Joined: 20 Feb 2007 Posts: 16 Location: New York
|
|
|
|
It is present in both the reports.
Thanks,
Rahul. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Suggest you create a very small test program that "prints" only the report headers from the problem program.
Then compile this both ways and run it. Then look at the new outputs.
How is the report dd defined in the JCL for each run? How long is the "print record" defined in the code?
Vaguely, i recall some situations where an extra byte was added depending on some combinatoin of code/jcl. Unfortunately, i don't remember the specifics.
Amode/Rmode should not be a factor, but the compiler upgrade may be. |
|
Back to top |
|
|
rahulcherekar
New User
Joined: 20 Feb 2007 Posts: 16 Location: New York
|
|
|
|
Hi,
Will try the first suggestion by creating a small test program/report. There is no change in report DD definition in both the JCLs. The report is defined to have 133 bytes in code.
Thanks,
Rahul. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Compiler option ADV automatically adds 1 byte (for carriage control) to records when WRITE ... AFTER ADVANCING is used. If it was used for one program but not the other, that could impact the output. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
It sounds like the code allowed for a filler (even if it was not coded as FILLER) in the first byte (for carriage control) and then 132 for the "report". The execution added the carriage control before the filler which "slid" everything over. |
|
Back to top |
|
|
rahulcherekar
New User
Joined: 20 Feb 2007 Posts: 16 Location: New York
|
|
|
|
Yes Rob. The DB2 code is compiled with NO ADV option and IDMS is compiled with ADV option and hence one extra byte in report created from IDMS run.
Thanks all for your valuable suggestions.
Thanks,
Rahul. |
|
Back to top |
|
|
|