Return to the Home Page
ASL: The amsiware scripting language
Report generation and the extension of systems

Contact:   Phone 1-415-447-2089   Fax 1-415-447-2059


ASL script (change cleaners)


ASL script (mailing loop)


Formatted document


A script for the above document

Extending SQL

It is customary for large software systems have their own, internal report generators. That's where our software started as well. Because of its universality, we chose SQL as the basis of query generation for the reporting engine. However, it soon turned out that standard SQL is insufficient for handling tasks such as interactive date selection when running user-created reports. These could have been "hardcoded" into the system, but it is important that the users have the freedom of creating their own customized reports. So we extended the standard SQL language with additional elements which are resolved into SQL when the query script is run in the report engine.

Document language

However, we didn't stop there. We added markup commands which enable the user to control the typesetting of reports and other documents. This part of the language, while much simpler, follows the example of TeX, the mathematical typesetting language created by D. Knuth. Finally, we added general commands to the scripting language making it a full-fledged programming language. This scripting language (ASL, the "amsiware scripting language") enables the user to extend the system. The user may add procedures to the program not yet available. For example, the user may need to change the value of a field in all records of the table. By using ASL, this can easily be added to the system as a script and be run as a new menu option in the user's personal links . Other examples include creating customized e-mail messages to clients, or even creating web pages with full formatting blended with database information.

ASL is a way for the users to customize their systems without changes to the source code of the basic system.

Links:

Software main page
Key program features
Current feature list
Accounting modules
Cost codes
Graphical reservation board
Internal communications
Internal reporting and scripting engine
Borland Delphi
MySQL