The ATF/CICS Vitual Clock Data set (VCD) has a single entry with a wildcard (*) specification for the TERM, TRANS, and USER fields. This works well when the transaction is invoked directly from a user session. However when the same transaction is invoked from another mechanism (such as through a listener transaction), it only sees the current time.
The wildcard specification for the TERMinal ID does not match the case where a transaction does not have an associated terminal.
This can also be caused by transactions running in the CICS Open Transaction Environment (OTE). While in an L8/9 TCB, the virtual time will not be supplied.
Resolving the problem
Add a second VCD entry specifying TERM=NOTERM (will be listed as
-NOTERM- in the TICT transaction display). Also note that a NOTERM entry cannot have its own DATE and TIME specification, it must be created with a reference to an Independent Time-of-day Clock (ITC) entry. It might be preferable to create the ITC with the desired time date, and have both the wildcard entry and the NOTERM entry refer back to it.
CLOCK/TERM TRANSID USERID DATE TIME STATUS
>VTIME yyyy/mm/dd hh:mm ENA KEEP
-NOTERM- * * >VTIME ENA KEEP
* * * >VTIME ENA KEEP
If the problem is caused by use of OTE transactions, new function APARs OA42577 and OA42583 (along with an associated configuration action) will provide this support.