Simply resolving a pointer to an object does not cause the last used date to be updated. For example, the RTVDTAARA command and QWCRDTAA API both cause the last used date of a data area to be updated. But, (inexplicably) the CHGDTAARA command does not. In all three cases the pointer is resolved. You can resolve pointers all day long to any objects, but the usage information is only updated when you actually use the object.
The last used date for a program is updated when a program is run (or activated). As with all objects whose usage information is tracked, it is only updated the first time it is used in a given day. It has nothing to do with whether the calling program has been running for several days or just a few microseconds. If a program that runs for multiple days calls another program each of those days, the called program's usage information will be updated each day that it is called.
For database files, the usage information is updated when the file is closed (also when cleared, initialized, or reorganized). It is also updated by the APYJRNCHG and RMVJRNCHG commands. For device and save files, usage information is updated when closed.
Here are links to IBM's documentation on this subject:
For 7.1 the following objects do not have usage information updated:
Alert table (*ALRTBL)
Authorization list (*AUTL)
Configuration list (*CFGL)
Class-of-service description (*COSD)
Data Dictionary (*DTADCT)
Double-byte character set dictionary (*IGCDCT)
Double-byte character set sort (*IGCSRT)
Double-byte character set table (*IGCTBL)
Edit description (*EDTD)
Exit Registration (*EXITRG)
Forms control table (*FCT)
Internet Packet Exchange Description (*IPXD)
Journal receiver (*JRNRCV)
Mode description (*MODD)
Network Server Configuration (*NWSCFG)
Network Server Description (*NWSD)
NetBIOS Description (*NTBD)
Product definition (*PRDDFN)
Reference code translation table (*RCT)
Session description (*SSND)
S/36 machine description (*S36)
User-defined SQL type (*SQLUDT)
User queue (*USRQ)
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Ken Sims
Sent: Wednesday, October 31, 2012 20:19
Subject: Re: Object use vs. library use
On Wed, 31 Oct 2012 21:45:12 +0000, Paul Fenstermacher <PFenstermacher@xxxxxxxxxxxxx> wrote:
If an object in a library gets used in any manner does that also update the last used date on the library object?
Note also that if a program remains active across multiple days, the last used date is only going to reflect when it was initially called.
If a program is called from a program that remained active across multiple days, I'm not sure if the program that is called is going to reflect each day on which it was used or not, nor if it matters if the system pointer is resolved more than once.
Bottom line: you need to be careful about programs.
The same kind of thing *may* apply to other objects being used by a program that remains active across. For example, if a program is using a user space via a pointer, I don't know if the usage is updated for each day that the user space is used or just when the system pointer to the object is resolved.
Perhaps Chuck can provide more technical details about this.