How time is gotten in CMS is a bit of a mess, some use CP Q TIME, others
use Store Clock, ....
- EXEC2's &TIME for example uses Store Clock (I guess), and returns UTC (if
the system is set up with timezone)
- I think having seen in a REXX source it -sometimes- uses CP Q TIME.

2011/11/9 Paul Gilmartin <[email protected]>

> On Nov 9, 2011, at 00:41, Rob van der Heij wrote:
>
> > On Wed, Nov 9, 2011 at 8:17 AM, John P. Hartmann <[email protected]>
> wrote:
> >> The system control file specifies the future timezone changes.
> >>
> >> SET TIMEZONE must be issued to change the timezone of a running
> >> system.  This drives an interrupt in the virtual machines for them to
> >> recalculate their local time.  It would appear that CMS fails to do
> >> so.
> >
> > Yep. I recall CMS builds on "TOD at last midnight" as determined
> > during IPL CMS.
> >
> But somehow Rexx time() gets it right.  I get output:
>
> Started at:     00:30 for 1/ascii/recscan.Rexx/1.26
> Delaying until: 24:30 2011-11-01
> Delayed  until: 24:30  at 2011-11-02 00:30:00
> Delaying until: 24:30 2011-11-02
> Delayed  until: 24:30  at 2011-11-03 00:30:00
> Delaying until: 24:30 2011-11-03
> Delayed  until: 24:30  at 2011-11-04 00:30:00
> Delaying until: 24:30 2011-11-04
> Delayed  until: 24:30  at 2011-11-05 00:30:00
> Delaying until: 24:30 2011-11-05
> Delayed  until: 24:30  at 2011-11-06 00:30:00
> Delaying until: 24:30 2011-11-06
> Delayed  until: 24:30  at 2011-11-06 23:30:00
> Delaying until: 24:30 2011-11-06
> Delayed  until: 24:30  at 2011-11-07 23:30:00
> Delaying until: 24:30 2011-11-07
> Delayed  until: 24:30  at 2011-11-08 23:30:00
> --- End of List ---
>
> from (excerpted):
>   ...
>   do Day = 1
>       'output Delaying until:' When date( 'S', , , '-' )
>       'callpipe literal | *.output.FLSH:'  /* Flush buffer so far.  */
>       'callpipe literal' When '| delay | var stopped'
>       'output Delayed  until:' value( 'stopped' ) 'at' date( 'S', , , '-'
> ) time()
>       'callpipe literal | *.output.FLSH:'  /* Flush buffer so far.  */
>       if symbol( 'stopped' )<>'VAR'  then leave Iter
>       When = '24:30'  /* Delay until 07:00 "tomorrow".  */
>       if Date( 'Weekday' )=='Tuesday' then leave Day;  end Day
>   ...
>
> I don't get Kris's loop because I cautiously chose a time after midnight
> rather than just before.
>
> -- gil
>



--
Kris Buelens,
IBM Belgium, VM customer support

Reply via email to