Febuary 3, 1995
Dear Everyone:
So, the “Livermore” people desperately need a new Report in
Versatile,
one that will show all the information about Boxes that have been
requested and/or checked out to people each day.
They call this the "packing list"
because that's what a similar report in CRMIS was called.
(20 years from now, people will
still be using terms that were set up in an obsolete system because
"that's what we've always called it".) It
should be noted that this "packing list" is not "packed" in with the
requested Boxes. It gets sent to
the requester later. Don't even
try to understand it.
Now, I've taken a few stabs at designing new Reports in
Versatile, occasionally even hitting the intended target.
Lately it's gotten easier because
“Miranda” and I talked with a woman who works for
Zasio (the company that
makes Versatile) and she gave
us some very helpful pointers, such as how to make the Report print
landscape instead of portrait.
What's more, “Miranda” found out that there is actually a "handbook"
that tells you how to design Reports. This
arrived Wednesday. However it
should be noted that this handbook was written by a programmer, which
means it was written by and for people who already know how to design
Reports. Sort of like your VCR
Owner’s Manual, which was written in Japanese, then translated into
English by a moonlighting Lithuanian.
Nevertheless, “Livermore” needs that Report.
Your first step is to find one of
the "standard" Reports that came with the System.
Try to find one that contains at
least one of the things you want to appear on your new masterpiece.
Use something easy to remember
like STUPID01.FMT (all Reports end in .FMT, that's how
Versatile knows it's a Report; it stands for "format").
Simple Reports are fairly easy.
You just map out what goes where like this:
[$BN ]
[$BUN ] [$BFR:10]
[$BTO:10] [$ENDREC]
Which means (obviously) print the
Versatile Box Number, the old CRMIS Box Number, and the Box From and
To Dates. Then you just keep
replicating the line until you think you've got about a page’s worth.
Then you print the Report to test
it. After a few minutes, you
conclude that the report is too long, or too short, or just right.
Then you make adjustments and
test some more.
But that's just a simple Report. What
“Livermore” wants is a little more complicated.
What “Livermore” wants uses "if
statements". I don't know about
you, but I'm not terribly fond of "if statements".
Something about that inability to
commit to something.
"If statements" are a way of telling the computer, "if
this, then do
that. If
not, then do
this." And remember,
computers do what you tell
them to do, not what you want
them to do.
So my Report looks something like this:
[$DONTPRINT] [$IF ENTRY = “FILE”]
[$RID ]
[$BN ]
[$BUN ]
[$BTO:10]
[$DONTPRINT] [$ENDIF]
[$DONTPRINT] [$ENDREC]
[$DONTPRINT] [$ELSE]
[$DONTPRINT]
[$DONTPRINT] [$IF ENTRY = “EOR”][$GOTO:42][$ENDIF]
And no, I don't know what all
of it means (yet). The dollar
signs are a signal to the computer that a command is coming up.
Sort of like "pay attention or
you won't get paid." And the
$GOTO:42 means "go to line 42 and follow whatever instructions you find
there". This presupposes that
there are instructions on
line 42, which is not always the case.
So the first thing you do is figure out what data needs to appear on the
Report and figure out if it can't all fit on one line.
Heaven help you if it won't
because then you'll have "if statements" papering the walls of your
office. Next, you put in your
first "if statement", followed by what data goes where.
Then your next "if statement" and
the data for that. Be sure to put
a Page Break in, then run a test to see what happens.
Always run your first test to the
screen because you're going to be killing enough trees as it is later.
If you're lucky, a report appears on your screen and maybe it even looks
something like you expected it to. Now
you can run it to the printer to see how your Page Breaks are working
out. If that looks OK, take it to
one of the people who requested the Report in the first place.
They look at it and usually say something like, "This looks pretty good.
But can you move
this over here, add
that, and include a header
with all kinds of extra information in it?"
In other words, all the stuff
they never mentioned before.
"Sure," you say. What else are
you going to say? So you go back
to your office and totally reformat the Report and run it again, only to
discover that you forgot to change the $GOTO: command, so the computer
is looking at the wrong line for the next command and now it's merrily
printing the same Box Number over and over and this is when you remember
how to go into the server and use "PCONSOLE" to override the printer and
cancel the job.
And next time remember the little rule about "printing" it to your
screen first.
As Admiral Kirk
said (before they demoted him back to Captain), "We learn by doing."
Of course, it never really goes this smoothly.
In real life, you're designing
Reports in the midst of a barrage of interruptions.
("The bar-code PC just went
totally weird on us." "OK, be
right there.")
Movie Review…
Last weekend, as I started to say, "I have
so much work to do",
“Jeannie” cried, "No! You're
always at the office.
We never get to go
anywhere!"
So we went to the movies. Legends
of the Fall. Anthony
Hopkins, Aidan
Quinn, Brad Pitt,
Henry Thomas.
Patriarch (played by Hopkins) and
sons living in Montana
(as portrayed by Alberta,
Canada) during and after
World War I.
Pitt is the "star", playing the
middle son, Tristan, who keeps going off and having adventures.
Saddle a kid with a name like
"Tristan" and let him run loose in the wilds of Montana and you have to
expect this sort of thing. What
were his parents thinking?
Beautiful scenery, lovely music (James
Horner), beautiful people, sorry plot, unintentionally funny at
times.
Love, as always,
Pete
Previous | Next |