Date: Fri, 6 Mar 1998 12:35:32 -0500
Reply-To: Victor Kamensky <kamensky@AECOM.YU.EDU>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: Victor Kamensky <kamensky@AECOM.YU.EDU>
Subject: Re: Re[2]: Y2000 problem ? - sas.gate.sas-l #53921 (fwd)
Content-Type: text/plain; charset="us-ascii"
Does it mean that all programs using code like
rundate = "&sysdate"d
should me modified before dec 31,1999 ?
If the answer is Yes, is my solution good or
is there a better one?
Victor Kamensky
At 12:29 PM 3/6/98 -0500, you wrote:
>Victor -
>
>You get the message from the diagnostic SASXDTU any time that you
>informat a 2-digit year. As I explain in the doc, this includes
>date literals.
>
>&SYSDATE provides the current date in DATE7. representation, which
>uses 2-digit years.
>
>For V7, we will supply a &SYSDATE9 that will supply a DATE9.
>representation. We can't change what &SYSDATE will provide, or
>otherwise a lot of existing SAS applications could stop working
>if they depend on characters 6 and 7 containing the 2-digit year.
>
>Rick
>
>> In article <01IUCGANZSKQ8WYTZH@MCRCR6.MED.NYU.EDU>,
Dali.Shih@MCMIC.MED.NYU.EDU (Dali Shih) writes:
>> |> Not only will we have problems at midnight dec 31,1999 - the
solutions
>> |> to these will be pretty complex....
>> |>
>> |> Do I have to add the code below every place we might use sysdate??
>> |>
>> |> ______________________________ Reply Separator
_________________________________
>> |> Subject: Re: Y2000 problem ?
>> |> Author: kamensky@AECOM.YU.EDU at PMDF
>> |> Date: 3/6/98 11:08 AM
>> |>
>> |>
>> |> > If you need to keep the automatic macro variable sysdate, you
have to
>> |> > write some code:
>> |> >
>> |> > rundate = "&sysdate"d ;
>> |> I am doing exactly this!
>> |> But recently I loaded and installed
>> |> experimental SASXDTU (from www.sas.com)
>> |> prepared by Rick Langston to check for
>> |> 2-digit year. And the statement above: rundate = "&sysdate"d ;
>> |> produces the following messages:
>> |> WARNING: TWO DIGIT YEAR CHECK (zmdy): MONTH=3 DAY=6 YEAR=98
>> |> - called from <unknown>
>> |> To avoid these messages one can use the following code(tested):
>> |> data _null_;
>> |> length mvar $ 30;
>> |> mvar=put(today(),worddatx.);
>> |> mvar=scan(mvar,1)||substr(scan(mvar,2),1,3)
>> |> ||scan(mvar,3);
>> |> call symput('rundate', compress(mvar));
>> |> run;
>> |> Or a %sysfunc substitute can be written.
>> |>
>> |> But are these solutions really good?
>> |> What is SI going to do about &sysdate?
>> |> Victor Kamensky
>> |> Programmer
>> |> Albert Einstein College of Medicine
>> |>
>> |> > So we all need to stay anxious about year 2000 issues all over the
>> |> > place!
>> |> >
>> |> > Nothing is completely, 100% year 2000 compliant...
>> |> >
>> |> >
>> |> >
>>
>
>
>
|