Hi,
Could use some inputs from DFSORT experts. I have this job to sort IMS Log
Records using an specific criteria, does what it should, I just can't get the
date/time to display correctly. This is an example of what it looks like:
+----+----+----+----+----+----+----+----+----+----+-----+-----+
| +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +10 | +11 |
+----+----+----+----+----+----+----+----+----+----+-----+-----+
| YY | YY | DD | DF | HH | MM | SS | TH | MI | JU | A Q | Q $ |
+----+----+----+----+----+----+----+----+----+----+-----+-----+
2017170F 13361016 8394020D
Translates to 2017.170 13:36:10.168394 UTC -5. Part I am failing is the QQ$,
which is the offset from UTC in quarter of hour, so x'20D' means 20 quarter of
hour, negative, or -5 hours. I should be subtracting this from the HH field,
using something like this:
OUTREC FIELDS=(1,4, * RDW
89,1,PD,SUB, * Hour
(95,2,PD,DIV,+4), * UTC Offset
C' ') * End of Record
It does not work because the offset 89 (HH) is not PD, so one digit gets
converted to the sign digit instead and the math will be off. While looking for
a solution to this, I realized that even if it worked, suppose the record had
HH=01 and UTC=-4, I would get a negative time instead of wrapping back to 09 PM.
So, question finally, any way to maybe convert this to a SMF or TOD format and
properly parse using one of the DATE functions from DFSORT instead ? Could
probably do this writing a program, it is just easier to quickly change the
sort parameters or what you want printed in the report using DFSORT than
actually changing your program.
Thanks in advance.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN