On 2012-10-08, at 1:36 PM, midrange-l-request@xxxxxxxxxxxx wrote:
Seems like a silly option to have when *UNREF should be the default. Why allocate something if it is never referenced?
Because RPG III/400 compilers did it that way and so for compatibility reasons did RPG IV. Whether the old RPG way of doing things was a good or bad idea is open to discussion.
It comes in handy sometimes when debugging because you can see the values of unused fields that might allow you to differentiate one record (which perhaps is blowing up) from others with the same values in the fields that are used. As soon you say *NOUNREF no storage is allocated and therefore no values to look at.