The Accpac Guy
Odds and ends regarding the Sage ERP Accpac (Sage 300) system and other IT stuff I find useful or interesting.
ACCPAC Database API
Snipped from the R&D Team Blog
Accpac Database API Accpac is a three tier application with the business logic separated from the database. The business logic objects (the real core of the Accounting Applications) communicate with the database via a common database API. Then there are database drivers that translate this API into calls to the database server currently being used. How the database driver accomplishes this is entirely up to the driver. The SQL Server driver uses ODBC to communicate with the SQL Sever Native driver. Oracle uses the Oracle ODBC driver. Pervasive communicates with both the relational layer using SQL calls, and with the transactional layer making direct Pervasive API calls. The key point is that all this detail is invisible to the Business Logic. The application programmer creating the business logic objects, just needs to know the Accpac database API to do his job. Then all the differences in the databases are isolated to the Accpac database driver. If a new version of a database server is released and Accpac needs to be updated to support it, then its just a matter of providing a new database driver, without requiring any other application changes. The Accpac database API includes a number of record oriented API calls, a number of meta-data calls and a number of set based operations. The record based APIs operate on one record at a time, such as read a record based on a supplied key, update that record. The meta-data calls return information about the structure of the database, things like get a list of all the tables in the database, get information on all the fields in a table. The set oriented API calls operate on a set of records at a time. Such as read all records where the description starts with A, or update all records changing any with customer number 1200 to 1400, or delete all records with status “deleted”.