BBj is probably the greatest opportunity for Business Basic programmers I've ever seen.
For years we have programmed away in our little niche, successful because accounting
systems can be programmed in Business Basic quicker than in any other language, but, not
being buzz-word compliant, unable to break out of our niche.
BBj allows us to use the power of Java, and SQL databases, to reach a world that otherwise
would not consider our products.
Lots of cool things here. All of my new files on in mysql. My program DATABASE.PUB.BBJ is
set up to figure out whether my file is in bbj or mysql, and act accordingly. I'm also
using optimistic field locking, where I compare the field changed to what's on disk before
issuing a stop.
I no longer use BBj print objects in my new reports. By seperating the data from the
presentation, XML and XSL are much more flexible for reports and forms. I can't emphasize
enough how important it is to move your printing to XML. Not only is report development
much, much faster, but it is much more flexible. Customising a report for a customer
involves changing just a small XSL file. Throwing a report into Excel or a PDF becomes a
no-brainer. Or you can throw it into a webservice and let websites and external customers
format the XML however they want.
Even more importantly, you can use the XML you generate for one report in other reports.
Let's say you have a complex sales analysis report, involving very complex business logic.
This very recently happened to me. The report itself took weeks, as it involved
calculating business days and complex percentages. Months later the
Sales Department calls me and says, "Look, we need to put those figures into a brochure
to give to our customers for our yearly sales presentations".
Since I had done the original report in XML, this was no problem for me. I merely set up
a program that called the report program, took that XML and extracted the numbers I needed.
These numbers I then put into another XML document which I then transformed using
an XSL file using Microsoft's SpreadsheetML syntax. In a few days I had a
sales brochure. Not only was this quick, but this ensures that the customer is going to be
getting the same figures whether from the report or from the brochure.
Here's the steps for speeding up report development. First, use SQL or something like my
Query_BBJ routine in DATABASE.PUB.BBJ so you're not always writing custom file read
procedures. Second, make extensive use of java collections using
routines such as the one described here in Using "TreeMaps like Print Sort Files". Thirdly, throw the
collections into an XML object, and then transform it with an XSL file to obtain the desired
output.
|