This is the third article in a new series of articles which aims to explain the architecture of the Sage CRM Connector for Sage 200.
I mentioned in my first article that the integration is loosely coupled. The integration is dependent on the APIs and not necessarily on the features of a specific version of Sage CRM. This means that the integration will potentially work with a wide range of versions of Sage CRM. However implementation has to be limited to a range of versions are themselves supported by Sage.
You will always need to check the latest support matrix for Sage CRM to confirm the currently supported versions of CRM.
The Sage CRM Connector for Sage 200 provides a set of built-in libraries and functions, but these can be modified. The connection is real-time with information from quotes and orders passing on demand from Sage 200 to the CRM interface. This can provide a big advantage where information from Business Management Solution can be surfaced in multiple browsers types and devices with minimal configuration. A company sales rep using Sage CRM can update live contact information on their tablet and while they are still in the customer’s office, and not only record details of their conversation but also generate a quote or an order.
Anyone who is used to configuring Sage CRM will know that it is a metadata driven system. The tables that exist in the CRM database that hold application data such as Company, Person, Address details are modelled in the metadata. This model describes the tables, their field names, data types, data length and how those fields should be represented within the interface.
The metadata is responsible for storing the structures that will result in the HTML of the user interface being generated. It defines the screens, the lists, and even the business rules. It is metadata that determines that in the Sage CRM interface the company name is required and that a field like pers_status (person status) is displayed as a drop-down list.
The Sage 200 objects are the mechanism within which the rules that govern field level or domain integrity – allowed values, ranges, and referential integrity etc. are policed. The objects contain the logic that safeguards the validity of the Business Management Solution data.
The Proxy object provides a simplified way for the Gateway to interact within these structures and that more closely map the equivalent structures within Sage CRM.
When the Sage CRM Connector for Sage 200 is installed and the gateway is configured it will access the Sage 200 data through the proxy objects.
The connector adds new administration screens to Sage CRM. These screens allow a Sage CRM administrator to add the proxy object definitions that are held and understood by the connector and gateway as virtual tables in Sage CRM.
The proxy object within Sage 200 contains all the information that is necessary to allow tables like customer, quotes, order etc. to be modelled within Sage CRM. This is not just the table and fields, but it extends down to the field types and the default captions for those fields where they exist.
Virtual tables, tables that only exist in the metadata definitions and not in the actual CRM database will appear under the Sage CRM administration screens just as if they were ‘real’ tables.
The virtual table definition of the Sage 200 proxy object will appear under the Customization screens listed as secondary entities.
The Sage CRM metadata is used to model the Sage 200 virtual tables as though they were physical tables in the Sage CRM database.
The installation of the connector will provide a series of screen and list definitions for each of the objects that have been configured by default within the connector.