Baan - The Company
- Founded: 1978
- Head quarter: Barneveld (The Netherlands) and Herndon (Virginia, USA)
- Customers: 13,000 customer sites worldwide (biggest customer: Boeing)
- Employees: approx. 4,700
- Revenues 1998: 736 Mio USD
In Table 1, we list the most important terms where the Baan jargon departs from usual terminology.
||Client (having its own set of tables)
||Application program with associated screen form
||application program package
||configures a specific version of the BaanERP database schema together with a specific collection of (application program) package versions (`Baan environment')
Customization/Programming with BaanERP Tools
BaanERP Tools consist of three parts:
- Application Administration: users, clients, database management, SQL queries, etc.
- User interface customization: version management, menus, forms, reports, sessions, etc.
Some application administration functions, such as Software Installation, Device Management or Audit Management are only of interest to Baan system administrators.
The following application administration functions are of general interest:
- Maintain Companies
- 'Companies' (clients) are defined by company number, name, currency, and a package combination that associates the corresponding database schema with the company.
- User Management
- The name of a Baan user is normally the same as the system login name. To each user, a start menu, a program package configuration (`package combination'), and a client is assigned. The client determines the data set on which the user will work. See Figure 1
- Text Management
- Internal texts that have to be edited with the built-in (rather old fashioned) text editor, and that are being stored line by line (and optionally by language), are used for delivery conditions, item descriptions, invoice footers, and the like.
- Job Management
- A job consists of a configurable sequence of print and processing programs which are being executed periodically (for instance, every two hours).
- Database Management
- comprises the following functions:
- separating the data into (normally) two databases: one for the 'critical' tables (such as operating parameters and authorizations) for which all user accesses are written in a security log, and one for the remaining tables;
- exporting, importing, deleting, checking and reorganizing tables (under Miscellaneous);
- inspecting and possibly modifying the data of certain tables (under General Table Maintenance).
- SQL Queries
- A database query can be created interactively by using forms or by directly entering SQL SELECT statements in the Baan text editor. The resulting answer set is displayed on screen or printed on paper by means of a Baan report.
Figure 1: The default client of a user must have the same package combination as this user:
Customizing the User Interface
Various components of the user interface can be created and modified interactively without programming. This includes:
- consist of a list of choice options leading to application programs or to submenus.
- are named short texts used to label form fields and report columns.
- are defied by a number of layout elements and their data fields and labels. They are used to create complex documents like bills of lading or invoices, and also for displaying or printing the results of SQL queries.
- consist of form fields for displaying and allowing to modify data, and of pull-down menus and push buttons to execute actions and call application programs.
- Messages and Questions
- are named short texts used to display messages or ask questions during the execution of an application program.
BaanERP programming consists of version management and of the creation and maintenance of program scripts. Version management includes:
- the creation and maintenance of package versions (PVRCs) and
- the configuration of a set of package versions in a package combination.
The real programming refers to Program Scripts, include modules (called `Functions') and DLL modules (Libraries):
- Program Scripts
- are being written in a Pascal-like procedural programming language, called 'Baan 3GL'. For event-based programming in connection with forms, there is a '4GL' extension by the addition of special key words in order to refer to form and database events.
- are in fact include modules allowing to re-use variable declarations, functions and procedures.
- allow to maintain re-usable function and procedure code. As opposed to include modules (`Functions'), DLL library functions do not blow up the source code generated before compilation and the resulting object code.
Application Server ('Bshell')
- maximum string buffer size is 4K
- maximum function stack depth is 75
- maximum record length is 3072 bytes
- maximum number of fields is 1024
- maximum field length is 3072 bytes
- maximum index length is 120 bytes
- maximum number of fields is 32 (no combined fields)