Use the API Server and Sage 300 ADO.NET Provider to Access Sage 300 Data in Microsoft PowerPivot



Use the API Server to connect to live Sage 300 data in the PowerPivot business intelligence tool.

This article will explain how to use the API Server and the ADO.NET Provider for Sage 300 (or any of 200+ other ADO.NET Providers) to provide Sage 300 data as OData services and then consume the data in Microsoft Excel's PowerPivot business intelligence tool. Follow the steps below to retrieve Sage 300 data in Power Pivot.

Set Up the API Server

Follow the steps below to begin producing secure Sage 300 OData services:

Deploy

The API Server runs on your own server. On Windows, you can deploy using the stand-alone server or IIS. On a Java servlet container, drop in the API Server WAR file. See the help documentation for more information and how-tos.

The API Server is also easy to deploy on Microsoft Azure, Amazon EC2, and Heroku.

Connect to Sage 300

After you deploy the API Server and the ADO.NET Provider for Sage 300, provide authentication values and other connection properties needed to connect to Sage 300 by clicking Settings -> Connections and adding a new connection in the API Server administration console.

Sage 300 requires some initial setup in order to communicate over the Sage 300 Web API.

  • Set up the security groups for the Sage 300 user. Give the Sage 300 user access to the option under Security Groups (per each module required).
  • Edit both web.config files in the /Online/Web and /Online/WebApi folders; change the key AllowWebApiAccessForAdmin to true. Restart the webAPI app-pool for the settings to take.
  • Once the user access is configured, click https://server/Sage300WebApi/ to ensure access to the web API.

Authenticate to Sage 300 using Basic authentication.

Connect Using Basic Authentication

You must provide values for the following properties to successfully authenticate to Sage 300. Note that the provider reuses the session opened by Sage 300 using cookies. This means that your credentials are used only on the first request to open the session. After that, cookies returned from Sage 300 are used for authentication.

  • Url: Set this to the url of the server hosting Sage 300. Construct a URL for the Sage 300 Web API as follows: {protocol}://{host-application-path}/v{version}/{tenant}/ For example, http://localhost/Sage300WebApi/v1.0/-/.
  • User: Set this to the username of your account.
  • Password: Set this to the password of your account.

You can then choose the Sage 300 entities you want to allow the API Server access to by clicking Settings -> Resources.

Additionally, click Settings -> Server and set the Default Format to XML (Atom) for compatibility with Excel.

Authorize API Server Users

After determining the OData services you want to produce, authorize users by clicking Settings -> Users. The API Server uses authtoken-based authentication and supports the major authentication schemes. Access can also be restricted based on IP address; by default, only connections to the local machine are allowed. You can authenticate as well as encrypt connections with SSL.

Import Sage 300 Tables in Power Pivot

Follow the steps below to import tables that can be refreshed on demand:

  1. In Excel, click the PowerPivot Window icon in the PowerPivot tab to open PowerPivot.
  2. Click Home -> Get External Data -> From Data Service -> From OData Data Feed.
  3. Add authentication parameters. Click Advanced and set the Integrated Security option to Basic. You will need to enter the User Id and Password of a user who has access to the CData API Server. Set the password to the user's authtoken.

  4. In the Base URL box, enter the OData URL of the CData API Server. For example, http://localhost:8032/api.rsc.

  5. Select which tables you want to import and click Finish.

  6. You can now work with Sage 300 data in Power Pivot.

Ready to get started?

Learn more or sign up for a free trial:

CData API Server