Last week I wrote about how to locate a LOAD module. When you have located it you might want to know, when it was created. Way back in week 26/2001 I wrote a tip about how to find the timestamp for a LOAD module in an ordinary PDS LOAD-library. If the LOAD module is located in a PDSE LOAD-library it has a completely different format. When I wrote the old tip I was not aware of that. When I discovered the difference I did not need to find the timestamp, but eventually I did. I am not a fan of AMBLIST so I decided to find out how to locate it using other means.
You can copy a LOAD module using IEBCOPY or ISPF option 3.3 from a PDSE to a PDS (and the other way). During the copy process the LOAD module is transformed to the format suitable for the target LOAD-library. Therefore you can copy from a PDSE to a PDS and then use the method described in the tip mentioned above. Of cource it is much faster and requires less CPU to find the timestamp directly in the LOAD module in the PDSE-library. The procedure is to browse the LOAD module using the ISPF browser and then issue a FIND 5695 FIRST and then a HEX ON. The result of using this procedure may look like this:
It is possible that 5695 occurs more than once in a LOAD module. Therefore you must examine that you have found the right occurence. You have reached the correct place if the value in front of 5695 is x'6A00000000'. There might also be the trailing characters PMB01, but PMB01 is an IBM productversion code, so it could also be another value. In the above example you will find the date part of the timestamp three bytes to the right of the value 5695PMB01. Just like in an ordinary PDS LOAD module the date is represented in packed decimal format, but here it is a decimal(7) because the century is present. After the date the time of day is located in another decimal(7) in the format 0HHMMSS. The date is in the format CCYYJJJ, a julian date.
If you have implementet my SAY command you may translate a julian into something with day, month and year using the command TSO SAY DATE(,YYJJJ,J). To translate the julian date above you must use TSO SAY DATE(,06114,J). I use this julian date translation trick often.