Joined: 23 Nov 2006 Posts: 19270 Location: Inside the Matrix
there can be no changes in the above declaration as this is a predefined variables in the system and working perfectly for all other programs.
The data definition code is simply wrong and will most likely fail (as you have seen). If the code works it is because someone coded around the improper definitions.
There are 2 comp-3 fields defined and that would require 2 signs and when a value is moved to LS-EMPL-NBR the move will destroy the sign on the first field in the redefinition.
The short-term resolution is probably to find the way the "working" programs are coded and follow the same scheme. I'd also suggest placing comments in all of the code that uses these definitions to alert the next person who has to work with it. If the definitions are a copybook, placing comments in the copybook would be a good thing as well.