Try the Audit journal. This is specifically made to follow access to whatever you want. In the following link
you can find under chapter Security the complete guidelines about Auditing.
Yoiu can do this by enabling object auditing and setting the attribute on for all programs on your system. Use CHGOBJAUD to set attributes on the program object.
But the idea is totally nuts.
Your system would be buried under audit log entries in no time. Do you have the slightest clue how many programs are called by your users in, say, a one-hour work period? Imagine a table update then ran through a hundred thousand rows of a table updating a column… with a trigger attached. And are you only going to track your own apps? Or would “security” require tracking any calls to operating system programs too? How about DB2 programs? System programs that wrote to display screens? Would you track QT3REQIO?
The request to audit program accesses is insane. (Every time an audit transaction is created, multiple programs are called. Each one would generate audit transactions, each one of which would call multiple programs, etc., etc., etc…)
I <b>have</b> to assume that you are referring <b>only</b> to a very limited list of important application programs. If so, CHGOBJAUD will do it. Otherwise, whoever made the request is nuts.