background: I have an application by Software Solutions Inc. called Prosper,
which was written in BBx3. BBx3 is a really old version of Basis Inc.'s PRO/5,
and Prosper is a really old version of SSI's FACTS. It originally ran on
Xenix, but runs fine one Open Server.
If you are like me, you had of course found a replacement before Y2K, but
perhaps would still like to be able to run the old app for reference. A lot of
data can accumulate in a few years, even more in many years, and not all of it
probably got exported to your new app.
In my case, Prosper died the second y2k hit. I was able to run up to the last
second by virtue of gimmicks like setting the "Terms" code for net-30 to
really mean 0 days etc, but on y2k the app would not even start up.
Here is how I got Prosper to continue running after y2k. This does not
actually make it y2k compliant, it undoubtable would do a very bad job of
billing and ordering and such.
Prosper, and I'm sure most other BBx-based apps are started via a shell script
which sets some variables like TERMCAP and PROGDIR etc...
in that shell script find a line near the bottom that looks like this:
exec ${BBX_DIR}bbx3 -w256 -q -c ${BBX_CONFIG ${PROG_DIR}/path/to/program - arg
arg arg
before the line add this one:
BBX_DAY=`date +%m/%d/`$((`date +y`+72)) ;export BBX_DAY
then, add BBX_DAYto the end of the "exec bbx3" line so that it looks like
this:
exec ${BBX_DIR}bbx3 -w256 -q -c ${BBX_CONFIG} ${PROG_DIR}/path/to/program -
arg arg arg ${BBX_DAY}
while you are at it, write down the path/program that this script runs.
IE: for me, {PROG_DIR}/path/to/program works out to be:
/usr/prosper/prog/SM/SMC110
also, count the arguments to the bbx program. for instance, my app exec line
is actually:
exec ${BBXDIR}bbx3 -q -w512 -c${CONFIG}
\
${PROGDIR}prog/SM/SMC110 - ${DATADIR} ${PROGDIR} ${BBXDIR}
this is 3 arguments to the bbx program. the number of arguments will be used
in a second...
then, make a copy of the application start script, and name it something like
"bbasic", and edit this copy so that the "exec" line does not run your
application.
exec ${BBX_DIR}bbx3 -w256 -q -c ${BBX_CONFIG}
run the new "bbasic" script
you should be at a "READY" prompt. Type this:
load "/usr/prosper/prog/SM/SMC110"
obviously replcae my program above with whatever yours is.
then type"
list
at the first **MORE** prompt, hit whatever your -break- key is, usually ctrl-c
or ctrl-backspace, or Delete.
look at the first few lines of listed basic code. if there is a line that says
"BEGIN" then note the first free line number after that one, otherwise just
note the first free line number. you are going to add one new line of code,
and it should be as early as possible, but not before a BEGIN command, if
there is one.
assuming there is a line that looks like
40 BEGIN
and the next line is 50, then type this at the READY prompt:
0045 SETDAY ARGV(4)
where "4" is however many arguments total the bbx program had _after_adding_
BBX_DAY to the end. (not counting options to the bbx interpreter itself ( -q
-w 512 -c config ...)
then type, at the READY prompt:
save "/usr/prosper/prog/SM/SMC110"
then type BYE to exit the basic prompt
After this your application stands a good chance of running more or less
normally, albeit a few years in the past.
This set's the date to the current date, and the year to the current year +
72.
I fond that Prosper at least, will run with the year set to 00, but the days
of the week and the leap-year are all wrong. however 1972 is well documented
as being identical in structure to 2000. this does not touch the system date
and so is perfectly safe to do.
At the very least I can say This let's Prosper run, and we can look up old
orders and quotes and PO's and the whole nine yards, *greatly* releiving the
pressure on one lowly unix user who found himself having to become joe
seasoned admin overnight, by virtue of simply knowing how to spell unix.
even if this doesn't help any other app besides Prosper, I wanted this to get
out in case someone else thought they were as screwed as we thought we were
untill about 10 minutes ago. :) Or maybe I'll just learn from the responses to
this that I am the last living Prosper user. Call Guiness, I'm going for the
record...
Brian K. White - li...@squonk.net
--
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+>+<---<---]>>++.<++.
**** this was for bash or ksh sorry! **** for sh use this:
YY=`date +y`
BBX_DAY=`echo $YY + 72 |bc`
Neat trick with the date though.
----------------------------------------------------------------------------
---
Larry Foote
Footeware
LFo...@pipeline.com
"Brian K. White" <li...@squonk.net> wrote in message
news:3873006C...@squonk.net...