Provides integration into SYSPRO via E.Net Business Objects.

Revision History - Version supports WCF Load Balancer services. - Improved error messages.



Type: Connection Input

Type: String
When connecting to Syspro using the Wcf Load Balancer services (mandatory as of Syspro V8) you will need to specify the url and port on which your Wcf service is operating.

Type: String

Type: String

Type: String

Type: String

Identifies the SYSPRO Company and Operator to impersonate. See below for further information on configuring E.Net licenses.

Type: Dropdown

Specifies how you want to connect to Syspro's WCF services, if you have your WCF service running on basic http then you select BasicHttp for example.

Type: String

Allows you to specify which instance core you want to connect to.


Type: List Input
Query - Query Class
Post - Post Class
SetupAdd - Add Method for Setup Class
SetupAddUpdate - Performs a SetupAdd followed by a SetupUpdate. This is useful for master data such as customer information but take care in using it as there can be side-effects for certain types of master data.
SetupUpdate Update Method for Setup Class
SetupDelete Delete Method for Setup Class
Build Build Method for Transaction Class
Browse Browse Method for Query Class
Fetch Fetch Method for Query Class
NextKey NextKey Method for Query Class
PreviousKey PreviousKey Method for Query Class
Specifies the E.Net Action.


Type: String Input
The SYSPRO Business Object to be specified for the call. This is typically a 6 character value composed of a short name for the module and a short name for the type of transaction. For Example "APSTIN".


Type: Xml Input
An XML representation of the data to be integrated.


Type: Xml Input
The Parameter XML that governs how the Data XML should be treated.


Type: Xml Output
The XML response returned by SYSPRO.


Type: Boolean Input
Certain SYSPRO business object calls case XML nodes differently in the response. For example, the node SalesOrder in DataXml may be returned as salesorder in the ResponseXml. This inconsistency can be compensated for by setting CorrectXmlCase to true. When true, the casing of the returned XML nodes in ResponseXml will be modified to match corresponding node casing in DataXml.


SYSPRO's integration capabilities are extensive and are beyond the scope of this document. Obtain detailed business object information from the SYSPRO Support Zone. Additionally, a large proportion of the transaction schemas and sample XML that are shipped with SYSPRO in the BASE\Schemas folder are included as samples in Flowgear. Refer to Node Samples for additional information on using these samples.

Handling Simultaneous Requests

As of version of this Node, only one SYSPRO request will be allowed to execute at a time. Any requests received while a request is being processed will be queued and executed in the order they are queued as each prior request completes. This behaviour ensures that as long as the same DropPoint is used for all SYSPRO E.Net requests, there is no chance of requests processing concurrently which does cause problems on some Business Objects.

Setting a timeout on the Connection governs the maximum amount of time the Node will wait for requests that are already executing before aborting. If no timeout is specified, the Node will wait indefinitely.

Connecting to SYSPRO

The Flowgear SYSPRO Connector does not use any of the WebServices that ship with the product (this includes both the legacy SOAP and newer WCF/RESTful services). Instead, install a DropPoint on the application server. This approach eliminates problems associated with firewalling, payload restrictions, timeout restrictions, security account restrictions and registry access restrictions.

Acquiring Licensing

All E.Net calls require the appropriate licensing. Licenses can be requested from SYSPRO or a SYSPRO VAR. The licensed Business objects are defined by modules in the License.Xml file and can be located under the Enet XML node in this file. If this node is not present, no E.Net licenses are present.

To determine exactly which modules need to be licensed, refer to the Business Object Reference Library in the Support Zone. Locate the transaction you would like to perform and then check which module it is grouped into. For example the SORTOI Business Object (Sales Order Import) is listed under the Sales Orders Primary Posting Functional Area. This is the name of the module that must be licensed in order to have the ability to make a SORTOI call.

Configuring Licensing

Once you have obtained a License.Xml file containing the appropriate licensing, import it as normal. In addition, the license needs to be installed for use in E.Net:


  • Click Setup -> Setup Options, then click “Configure license” under the Define menu

  • If you’ve never used before, you need to import your license.xml file here first – click Next and follow the prompts, then go back to the Configure license screen again and choose the “Configure licenses” radio button

  • Click Business Objects and in the screen that comes up, step through each business object you’re going to be using in the tree on the left and tick the operators you want to have access to the business object in the list on the right.

Your Operator

  • Go to Setup/Security/Operators and edit your Operator (this is the Operator you will be using in the Connection property of the SYSPRO Connector)

  • In the tab, ensure that access to relevant areas has been granted

  • Check the operator usage for business objects option – this should be set to Named User

Operator Security Group

  • In SYSPRO, all operators are assigned to a security group. By default, only the Admin group has full rights to If the operator in question belongs to another group, go to Setup/Security/Groups and edit the group for the operator in question.

  • Click Security Access

  • In the tree on the left, ensure the appropriate permissions have been set for each module. To change a permission, right click the item in the list on the right and choose “Allow” as appropriate

  • Scroll to the bottom of the tree and expand “ solutions” which appears right at the bottom of the tree

  • Set the appropriate permissions for Utility, Query, Transaction and Setup per business object

Parsing SYSPRO Response XML

The naming and nesting of the Response XML document is not always consistent as SYSPRO varies it depending on the Business Object, Class (Setup/Query/Post), Method (Add/Update/Delete) and other factors such as whether a transaction is being integrated or validated only.

Take care to test for the appropriate response information when building integrations. Generally it is recommended that a precise XPath Match is used to test for success. If you wish to present general failure information, descriptive failure strings are usually present within Error or ErrorDescription XML nodes in the response.


Here are some common error messages and their resolutions.

Unable to open and read operator file (ADMOPR.DAT)

Indicates that the service or user account under which the DropPoint Windows service is running does not have permission to this file.

Ensure that the the user account the service is running under (SYSTEM by default) has read and write permission to the entire SYSPRO folder.

Retrieving the COM class factory for component with CLSID {Some GUID} failed due to the following error: 8007007e The specified module could not be found (Exception from HRESULT: 0x8007007E).

This happens because the COM object did not register correctly during installation.

Run Command Prompt as Administrator. Type regsvr32 {SysproBasePath}\Encore.dll where {SysproBasePath} is the path to the base directory in Syspro - default is C:\Syspro61\BASE\Encore.dll or C:\Syspro71\BASE\Encore.dll depending on the version of Syspro.

Access denied to Functional Area '{some functional area}' for operator 'FLOWGEAR'

Either the functional area is not enabled for the operator, or the functional area is not purchased.

Refer to the SYSPRO E.NET License section of this article.

XML parsing error 'The root tag '{RootNodeName}' is not closed correctly'

If you are using RESTHttp in the connection, it can be that the request is too long. Using RESTHttp stuffs the properties in the URL (and does not encode a & correctly) and the URL does have a max length. Consider using NetTcp instead.


See for examples.

Did this answer your question?