Just picking up this thread cause i'm actually working on two systems.
z/OS & z/VSE. And as an old z/OS-Person i could comprehand how bothering it is to work on VSE, even though IBM does a good Job in makeing VSE more comfortable.
In the older days you coud use the COMREG to get the time and many more internal informations. New Enterprise Compilers don't support this now.
There exists a copybook with fields for these informations and you could set a pointer to a systemadress so that you could get infos like Jobdate Jobtime Jobname, PowerId, Phasename, and so on.
Three years back i wrote a Cobol using this technique but i lost the CopyBook. So perhaps google about that to get some Infos.
Code looks like that:
SET ADDRESS OF COMREG-DESECT TO COMREG-POINTER
MOVE COMREG-JOBDATE TO WRK-COMREG-JOBDATE
MOVE COMREG-JOBNAME TO WRK-COMREG-JOBNAME
MOVE COMREG-POWERID TO WRK-COMREG-POWERID
MOVE COMREG-PHASENA TO WRK-COMREG-PHASENA
MOVE COMREG-SRTTIME TO WRK-COMREG-SRTTIME
MOVE COMREG-SYSDATE TO WRK-COMREG-SYSDATE
MOVE COMREG-JOBUSER TO WRK-COMREG-JOBUSER
But why not using the easy way:
MOVE FUNCTION CURRENT-DATE(01:04) TO WRK-DATUM(05:04)
MOVE FUNCTION CURRENT-DATE(05:02) TO WRK-DATUM(03:02)
MOVE FUNCTION CURRENT-DATE(07:02) TO WRK-DATUM(01:02)
MOVE FUNCTION CURRENT-DATE(09:06) TO WRK-ZEIT(01:06)
...at the start and stopp of the programm and displaying the values.