[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20000217: 7 digit dates in McBASI and BATCH files
- Subject: 20000217: 7 digit dates in McBASI and BATCH files
- Date: Thu, 17 Feb 2000 09:03:41 -0700
>From: Bill Fingerhut <address@hidden>
>Organization: Lyndon State College
>Keywords: 200002171441.HAA13883 McIDAS McBASI CCYYDDD
Bill,
>When working with the new 7 digit date, in both BATCH
>and mcb scripts, I have run into problems as
>illustrated below. Seven digit numbers are written
>in scientific notation, not as an integer.
>
>ECHO #SYS(2036) ---> appears as
>ECHO 2000048
>
>However,
>
>RUN "KEYIN "ECHO ";KSYS(2036)
>ECHO .200005E+07
>
>RUN "KEYIN "ECHO ";KSYS$(2036)
>ECHO
>
>I can work around this in BATCH files. But, I can not
>use the KSYS function in mcbasi. Any ideas?
This is a known problem at SSEC for which there is not yet a fix. Here
is what they provided as a workaround to a user who asked the same
question:
If you are not doing any math with the day value, we think you could
just pass the date as a character string into your keyin.
In your keyin, change the DAY= input to a character string (a$, b$,
etc.).
Since McIDAS ADDE commands accept the 5 or 7 digit dates, it should
befine if you use the 5 digit Julian date in the DAY= keyword. In 7.5
or 7.6, you can get the 5 digit julian day as a numeric with this
expression:
LET D=VAL(MID$(DATE$,3,5))
The MID$ strips the CC off the front of the julian day and the VAL
makes it numeric. Then you can pass D into the DAY= keyword.
If you are using older commands (e.g. SC or UP), and you need the
7 digit day passed to a command, you can create the 7 digit day
by referencing the system key table:
d = ksys(2013)
a$ = str$(int(d/1000)) + mid$(mod(d,1000)+1000,2,3)
Tom Whittaker thought this one up, and with it you could use a$ for
the 7 digit date.
They then finished with:
If neither of these work, send us an example of your McBASI script,
and we can come up with a work-around.
I will echo this. If nothing in the above helps, send me a script so
I can see if I can figure something out.
Tom