Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Legacy BBx apps and Y2K "they live!"

0 views
Skip to first unread message

Brian K. White

unread,
Jan 5, 2000, 3:00:00 AM1/5/00
to
If anyone out there has an old BBx based application that stopped working on
y2k you might want to know this:

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
--
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+>+<---<---]>>++.<++.

Brian K. White

unread,
Jan 5, 2000, 3:00:00 AM1/5/00
to
"Brian K. White" wrote:
>
> If anyone out there has an old BBx based application that stopped working on
> y2k you might want to know this:
>
> 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


**** this was for bash or ksh sorry! **** for sh use this:

YY=`date +y`
BBX_DAY=`echo $YY + 72 |bc`

lfo...@pipeline.com

unread,
Jan 5, 2000, 3:00:00 AM1/5/00
to
IIRC, Software Solutions stopped selling Prosper in about 1993. I used to
work for a company that supported a few of those back then. Hope there
wasn't anyone caught unaware, but this was probably one of many old apps
that would fail if still in use.

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...

0 new messages