Today’s Blog gives an overview of the Sage Accpac ERP runtime environment, and describes how applications operate within that environment.
The System Manager
The System Manager is central to the runtime environment. It controls access to all accounting applications and manages information used by these applications. To the user, the System Manager visually presents itself as the company desktop, accessible locally or via the web:
Each icon on the company desktop is a selection, either to get to the next level of choices or to invoke a program.
The contents of the desktop are completely data-driven. An icon appears on the desktop if:
• The application is activated for the company.
• The signed on user has access rights.
Programs invoked from the desktop are separate executable that operates as independent program objects. A Sage Accpac ERP application is made up of a set of program objects. Users can start several objects and leave them active on the screen at the same time.
Program objects can be invoked by:
• A user selecting them from the desktop.
• Another object in the same application.
• Another object in another Sage Accpac ERP application.
This navigational independence allows for more flexibility in user operations. A set of System Manager programs works behind the scenes to provide the user interface, database connection and access, security validation, control of concurrent processes, and object management and communication support. These programs combine the desktop and the independent program objects into a seamlessly integrated business system.
Components of the Sage Accpac ERP Runtime Environment
The following diagram shows the key components of the runtime environment. The dotted boxes show the two parts of a program object: user interface and views (database access).
There are two types of databases in Sage Accpac ERP:
The system database contains common services data that is shared by several companies. For example, currency tables are centrally maintained in the system database and can be shared by all companies associated with that system database.
A company database contains data tables for all applications that have been activated for that company. There can be multiple system and company databases for each Sage Accpac ERP installation.
Besides providing the runtime support environment, the System Manager provides many common facilities that can greatly benefit application developers and save significant development effort.
These facilities include:
• Criteria selection
• Import and export
• Custom controls
Common business application services like company information, fiscal calendar maintenance, currency rate maintenance, check reconciliation, and sales tax table maintenance are also part of the System Manager services. Here is an example of the Common Services window:
Centralizing these functions means better integration of applications. For example, the bank service maintains a centralized list of checks issued out of a bank account by any application.
Applications gain access to the database through a common application program interface (API) layer. The application deals with its data at the record level. The database access driver can be adapted to operate with different database platforms. Replacing database access drivers does not affect the application.
Integration with Crystal Reports
Reports are an important part of any business application. With Crystal Reports, you can design flexible, feature-rich reports from any supported Sage Accpac ERP data source. Use Crystal Reports to create your report, and then write a report UI or a macro to prompt the user for the report’s parameters, and invoke the report engine.
For more detail on crystal Report and Accpac see: Accpac & Crystal Report
Language-specific application files, such as UI resources, reports, and messages, are kept in separate language subdirectories in the application program directory. For example, for General Ledger 5.6A, English language specific files are installed in the GL56A/ENG subdirectory. One installation can have the same application in several different languages. A language code is recorded for each user.
Each Sage Accpac ERP application is made up of:
• A set of user interface programs.
• A set of view DLLs.
User interface programs are accessed in either the company or web desktop. These user interface programs gain access to views to perform accounting functions.
Views are DLLs (dynamic-link libraries) that access and process data, and make the result available to user interface programs, import or export functions, DDE (dynamic data exchange), macros, and other functions. Each view encapsulates data and processing logic related to a set of application data in a single program. For example, the General Ledger has a view for the account master and a view for journal entries.
A user interface program works with the data that a view encapsulates by accessing a standard set of entry points that the view exports. Through these entry points, the calling program:
• Obtains descriptions of the data the view encapsulates.
• Creates the related data table(s).
• Retrieves data from it.
• Asks it to verify new data or changes.
• Updates the database.
The view maintains the data integrity of that set of data. Once a view encapsulates a set of data, any program that wants to access the same set of data can simply access the view. Using views, the calling program needs to be concerned only about which data it wants and what it wants to do with the data. The view takes care of getting and maintaining the data. This approach eliminates code duplication and reduces development, testing, and maintenance time.