Skip to content

Knowledge Base

White Paper Libary

Sage 300 Connector v1.2

What is the Sage 300 Connector Tool?

The Sage 300 Connector tool allows communication between BPA Platform and a Sage 300 installation. All communication uses XML. You use the connector to map BPA Platform data to Sage 300 objects and operations. Operations, such as ADD, UPDATE, and DELETE, are supported for a variety of business objects, such as, Customers, Orders, and Items. User-defined fields created in Sage 300 are also supported.

The XML responses received back from the Sage 300 API can be saved to file, or passed to another BPA Platform tool for further processing. The responses can include details of the object requested, any errors from the provider, or the values of any automatically generated ID fields.

White Paper - Sage 300 Connector v1.2

White Paper - Sage 300 Connector v1.2

The Sage 300 Connector tool allows communication between BPA Platform and Sage 300. This enables efficient integration between Sage 300 and incompatible systems, via BPA Platform.

Download Brochure

The Sage 300 Connector Tool Pack

The tool pack consists of:

  • Sage 300 Connector Agent — The agent communicates with Sage 300 via the Sage 300 .NET API. It runs as a service on the installed machine, passing requests between BPA Platform and the API. The API also makes the agent aware of any user-defined fields in Sage 300 so these can be passed back to the Connector and made available in BPA Platform.
  • Sage 300 Connector — The Connector is a BPA Platform tool, used to communicate with the Sage 300 Connector Agent. It must be installed on the BPA Platform server, and on any BPA Platform client machines. It is this that provides the translation between BPA Platform data and Sage 300 object and operation.

System Requirements

The Sage 300 Connector tool requires:

  • BPA Platform (formerly “TaskCentre”) 4.7 or above
  • .NET 4.0 or above

This tool is compatible with the following versions of Sage 300:

  • Sage 300 2016 and all product updates
  • Sage 300 2017 and all product updates
  • Sage 300 2018 and all product updates
  • Sage 300 2019 and all product updates
  • Sage 300 2020 and all product updates
  • Sage 300 2021 and all product updates
  • Sage 300 2022 and all product updates

Sage 300 Integration Architecture

The diagram below provides a high-level system architecture overview of the Sage 300 integration tool pack, with BPA Platform and the Sage 300 server.

Sage 300 Connector v1.2

The Sage 300 Connector agent connects through the .NET assemblies of the Sage 300 application, respecting the business logic and security of Sage 300. The agent must be installed on the same machine running Sage 300.

About the Sage 300 Connector Agent

In order to communicate with the Sage 300 server, you must install the Sage 300 Connector Agent on the Sage 300 server. This acts as a “go-between” between the Sage 300 server and the Sage 300 Connector tool, and runs as a service on the server.

Connecting to Sage 300

The global configuration for this tool is used to create the connection to the Sage 300 server.

  • Going to Manage > Tools > Data Connectors > Sage 300 Connector
  • From the Task Manager, expanding BPA Platform > System > Tools > Data Connectors and double-clicking Sage 300 Connector in the Items List

Sage 300 Integration Connector

Click Add to create a connection to Sage 300.

Using Extended Logging

Enabling this option exposes the XML parsed between the Sage 300 Connector and Sage 300.

Without extended logging, the Event Log only contains start and end of transaction messages, plus any error messages encountered at runtime.

You can view the extended log in the BPA Platform Event Log (Manage > Event Log).

About the Agent Connection Tab

You configure the connection to the Sage 300 Connector agent here.

Sage 300 Connector

Configure a meaningful Connection Name for this agent connection; this is the name displayed when adding task steps for Sage 300.

Within Sage 300 Server, specify the address of the machine hosting the Sage 300 server. You can use either the hostname or the IP address.

By default, the connection to the server is over HTTP, on TCP port 4207. Use the Advanced button to either Set a Custom Port Number if 4207 is already in use by the server, or to Use HTTPS to communicate to the server.

Sage 300 Connector v1.2

About the Company Tab

Sage 300 Connector

You must specify the Company database, retrieved from the Sage 300 server, which the Sage 300 Connector agent connects to.

For a detailed description of how to create company databases in Sage 300, refer to your Sage 300 documentation.

About the Authentication Tab

Sage 300 Connector

You configure the Sage 300 credentials here that allow access to the Company database specified in the Company tab.

Test Connection

The Test Connection button is visible on every tab. Using this feature allows you to test the connection to the Sage 300 instance once all the tabs have been configured.

Update Objects and Operations

The Update objects and operations option is visible on every tab. Enabling this option, allows the Sage 300 schema within BPA Platform to be refreshed every time an update is made in Sage 300 itself.
Should you also upgrade Sage 300 to a newer, compatible version, all related schemas within BPA Platform will be refreshed.

Step Configuration

When creating new tasks, the Sage 300 Connector tool is located under Data Connectors of the Task Browser.

To add a new Sage 300 Connector step to an existing task, do the following:
1. Open the relevant task.
2. Either:

  • Click and drag the Sage 300 Connector icon from the Task Browser to the task Design area.
  • Click on the Environment tab in the Task Browser. Right-click on Steps and select New > Data Connectors > Sage 300 Connector.
  • From the task’s Design tab, right-click on empty space and select New > Data Connectors > Sage 300 Connector.

For a detailed description of how to create new tasks, refer to the product help.

About the General Tab

Sage 300 Connector

Provide a meaningful Name and Description for this step.

Data source can either be:

  • No data source — If you don’t make use of a dedicated XML input source, select this option to use BPA Platform variables in place of the XML objects’ fields. These can then be mapped to operational fields.
    For example, you can extract various bits of information from an email and store them in BPA Platform variables. Then, having mapped them to Sage 300 objects and operations, these can be stored in the Sage 300 database for later use.
  • Task step — The data source can be set to an available BPA Platform XML data source. Only those steps that are capable of natively exposing an XML document at runtime are listed. These may be another Sage 300 Connector step, or a tool, such as Convert Recordset to XML.
  • Custom schema — An XML schema defines the structure of the parsed XML: what tags are present, and the nesting of the tags. You Define the schema of the XML that will be used as the input data source for this step.
    The Sage 300 Connector tool uses the industry standard XSD format. Any XML processed by this step must conform to this schema else an error will be reported.
    If the XSD schema is available, either import it into the Custom Schema Configuration (use the Import XSD/XML File button), or copy and paste it into the configuration box.

Sage 300 Connector

If the XSD schema is not available, you can import an example of the runtime XML (Import XSD/XML File), or copy and paste it into the configuration box. Use the Parse button to create the schema.

  • Input source variable — As well as defining the schema, specify the BPA Platform variable that contains the XML data at runtime.

About the Connection Tab

You specify the Sage 300 Connector this step must use.

Sage 300 Connector

All connections created in Global Configuration are presented here.
Alternatively, you can use a BPA Platform variable to create a dynamic connection, where the connection used is determined by runtime circumstances. At runtime, the contents of the variable must match the name of one of the Global Configuration connections — this is case-sensitive.

About the Mapping Tab

Here you define links between the incoming XML and the outgoing data that is sent to Sage 300. This defines how, at runtime, the incoming XML is to be translated into the XML required for the relevant object and operation.

Sage 300 Connector

The Object drop-down shows the available Sage 300 objects. User-defined objects, if exposed, are also made available for selection here. The Operations drop-down shows the operations available for the selected Object. For more information about which operation is available for an object, see Supported Objects.

Further down, the left-hand XML tree structure shows those data source fields available for mapping. The right-hand XML tree structure displays those input fields for the selected Object and Operation.

Create links by clicking and dragging a data source field (left) onto its corresponding Sage 300 Connector input field (right). Only linked fields are used in the output XML.

BPA Platform formulas and variables can be included in the source data even when using a Task step or Custom schema — drag them from the BPA Platform Browser to the data source’s XML; these can then be linked to the relevant input fields. BPA Platform recordsets must first be converted to XML using either the Convert Recordset to XML or Transform Data tool before they can be used here.

Each operation has an additional field, SupplementaryReference, which allows for traceability when transferring data from one place to another. When mapped, the data resides locally at runtime. It is added to the output, and creates a record for reference purposes only — you can choose to map any field to SupplementaryReference to assist with checking where the data originated from or at what time the data transfer occurred, for example.

The Sage 300 Connector tool uses eXtensible Stylesheet Language Transformations (XSLT) to translate the received XML. The Advanced Translations (XSLT) tab shows the XSLT generated for the links created for the object and operation. Use Enable Free Type Mode to directly edit the XSLT — this is particularly useful when translating a non-standard requirement.

About the Options Tab

The Options tab allows you to define how errors in this step are handled at task runtime.

Sage 300 Connector

If an error occurs, you can decide whether the step should Continue processing, or terminate the step immediately (Abort Step).

If the step is aborted, you can choose to Continue processing onto the next step in the task, or terminate the whole task immediately (Abort Task). Allowing the task to continue allows you to use the error XML received back in a Save File step for investigation purposes, for example.

Working with Other Tools

The Sage 300 Connector can directly interact with the following steps:

Consuming XML from Other Tools

IconTool NameTool Category
Import Flat File ToolImport Flat FileInput
Sage 300 Connector v1.2Import XML DocumentInput
Sage 300 Connector v1.2Convert Recordset to XMLFormat
Sage 300 Connector v1.2Transform DataFormat
Sage 300 Connector v1.2Call TaskExecute
Sage 300 Connector v1.2Web Service ConnectorData Connectors
Sage 300 Connector v1.2Sage 300 ConnectorData Connectors

Exposing XML to Other Steps

IconTool NameTool Category
Convert XML to Recordset ToolConvert XML to RecordsetFormat
Run Microsoft Reporting Services ToolRun Microsoft Reporting ServicesFormat
Sage 300 Connector v1.2Save FileOutput
Sage 300 Connector v1.2Call TaskExecute
Sage 300 Connector v1.2Web Service ConnectorData Connectors
Sage 300 Connector v1.2Sage 300 ConnectorData Connectors

Supported Objects

Provision of supported objects and operations are handled independently to the tool pack. This means subsequent changes to the API’s metadata can be made available to instances of the Sage 300 Connector tool without the need to reinstall or upgrade the software.

Each object is prefixed with a “type”:

  • AP — Accounts Payable
  • AR — Accounts Receivable
  • AS — Accounts Services
  • CS — Common Services
  • GL — General Ledger
  • IC — Inventory Control
  • OE — Order Entry
  • PO — Purchase Order

At the time of writing, the following objects and operations are supported:

Sage 300 ObjectStandard Objects
AddUpdateRemoveGetByKeySearchProcessAdd from Order Entry
AP::Invoice Batches
AP:: Payment and Adjustment Batches
AP::Remit-To Locations
AP::Vendor Comments
AP::Vendor
AR::Customer
Sage 300 ObjectStandard Objects
AddUpdateRemoveGetByKeySearchProcessAdd from Order Entry
Comments
AR::Customers
AR::Invoice Batches
AR::Items
AR::Receipt and Adjustment Batches
AR::Refund Batches
AR::Salespersons
AR::Ship-To Locations
AS::Users
CS::Currency Codes
CS::Currency Tables
CS::Euro Conversion Rates
GL::Batches
IC::Adjustment Headers
IC::Assemblies
IC::Bills of Material
IC::Day End Processing
IC::Internal Usage Headers
IC::Item Mappings
Sage 300 ObjectStandard Objects
AddUpdateRemoveGetByKeySearchProcessAdd from Order Entry
IC::Item Pricing
IC::Items
IC::Price List Codes
IC::Recall/Release Headers
IC::Receipt Headers
IC::Reorder Quantities
IC::Shipment Headers
IC::Transfer Headers
OE::Credit/Debit Notes
OE::Invoices
OE::Orders
OE::Shipments
OE::Ship-Via Codes
PO::Additional Costs
PO::Create POs From I/C
PO::Create POs From O/E
PO::Create POs Header
PO::Credit/Debit
Notes
PO::Invoices
PO::Purchase Orders
PO::Receipts
PO::Requisitions
PO::Returns

Tool Output

The Sage 300 Connector tool outputs two documents:

  • OutputData
  • ErrorData

Sage 300 Connector

All outputs can be:

  • Used directly by subsequent tool steps which consume XML data inputs
    • If required, use the Convert XML to Recordset tool to convert the XML to a BPA Platform recordset first
  • Accessed using the output or error objects for response data (XmlString), or the output or error schema (XmlSchema) present in the Task Browser; for example, saving to file or for inclusion within an email.

About the OutputData XML Document

The OutputData document contains:

  • Data returned from Sage 300 for an UPDATE, DELETE, SEARCH, or GETBYKEY operation
  • The key fields for the entity instances affected by the used operation
    For example, if using an ADD operation, the key fields for the top-level object instances that are created are returned.
  • SupplementaryReference

About the ErrorData XML Document

The ErrorData document is structured as follows:

  • <Error> — All errors are created as an <Error> node, with the following sub-nodes:
    • <Object /> — The name of the requested object, such as, PurchaseOrders
    • <CODE /> — The error code returned by Sage 300
    • <MESSAGE /> — The corresponding error message
    • <EXTENDEDINFO /> — A string containing additional information about the error
    • <INPUTDATA /> — The header input data (excluding child nodes) mapped for the object, plus all data contained in the SupplementaryReference field
  • </Error>

Runtime

The incoming XML is translated into the XML format for the object and operation selected in the configuration. The data for the linked fields is brought across into the output XML — only those fields that were linked are brought across. The XML is passed to the connector tool, which then:

  • Processes the data
  • Performs the operation requested
  • Sends back an XML document containing the response

The XML can then be used by other BPA Platform steps.

Error Handling

Errors are written to the BPA Platform Event Log (Manage > Event Log). You define how errors are handled in the Options tab of the Sage 300 Connector tool.
Reasons for the errors could include:

  • Web service connection errors
  • User privilege errors
  • Errors from the Sage 300 API
  • Warnings and messages from the Sage 300 API

Sage 300 Accounts Security

The Sage 300 API is the only method used to connect to a Sage 300 database, and perform read / write tasks — all security present in the API is used.

White Paper - Sage 300 Connector v1.2

White Paper - Sage 300 Connector v1.2

The Sage 300 Connector tool allows communication between BPA Platform and Sage 300. This enables efficient integration between Sage 300 and incompatible systems, via BPA Platform.