Thanks Barbara, it was a way long time ago, and I --think-- that I did
check for that, but cannot remember to 100 percent sure. :)
Because I -am- sure that you and your team does one heck of an
impressive job with RPG and it is more likely that I did miss something,
albeit after a thorough search for the problem.
On the other hand, there have been a couple of occasions debugging where
I did uncover such a situation, like a mismatch between a command
definition and the CPP definition.
--Alan
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Barbara Morris
Sent: Tuesday, September 18, 2007 4:23 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Chain to subfile turns on *INKL?
Cassidy, Alan wrote:
On occasion, around v4.5-v5.1, I found strange stuff like that, where
one field would change and it would pop up in an unrelated field.
IIRC,
the fields were next to each other in the D-specs, and the proble was
solved by moving the lines around in the D-specs.
Alan, you should probably say that the problem was "hidden again" rather
than "solved".
If you can make a problem go away by reordering the fields on the D
specs, you almost certainly have a storage-corruption error in your code
(usually caused by a parameter mismatch). If a change to FLD1 causes
FLD2 to be changed, it is most likely caused by passing FLD1 as a
parameter, where the called program defines the parameter to be larger.
By moving FLD1 and FLD2 around, you can change your program so that the
storage that follows FLD1 is some storage that your program doesn't care
about, so it doesn't notice the corruption. But you can't be sure that
some compiler or system change won't reorder the fields again, and cause
the problem to resurface, although it probably wouldn't have the exact
same symptom.
If it ever pops up again, it would be better to find out exactly what
operation is causing the unrelated field to get changed. Then fix that
operation rather than moving the fields around.
As an Amazon Associate we earn from qualifying purchases.