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
- *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.