On 2012/10/8 1:50 PM, Alan Campin wrote:
Debugging primarily I think. Example, a database field. You don't reference
it in the program but you want to see the value in debug. If you use
*NOUNREF if you try to display it with debug it would not be in memory.
Unless I am using some kind of specific thing for debug, I just always use

No, that's not it.

If you don't code the DEBUG keyword on the H spec, then unused database fields aren't loaded. If you do code the DEBUG keyword on the H spec, then unused database fields are considered referenced and *NOUNREF has no effect for those fields.

If you don't code the DEBUG keyword, there are two possible outcomes in the debugger when you try to evaluate an unused database field:
- *UNREF: the field is blank or zero even though it has a value in the record
- *NOUNREF: the debugger says the field doesn't exist

Both lead to some head-scratching, but I think the default *UNREF behaviour might lead to more unnecessary investigation into the file and the program logic.

Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2015 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact