Sarwan Kumar
Sarwan Kumar

Reputation: 1311

Sage 100 ERP setup on windows server machine

We have purchased Sage 100 partner account. I have also set up Sage ERP 100 on windows server 2016. But, I am stuck at the following points.

  1. Where to add business
  2. How to set up web services and access REST APIs
  3. How I will make server configuration

Any help in Sage 100 setup will be appreciated.

Upvotes: 0

Views: 673

Answers (1)

FunkMonkey33
FunkMonkey33

Reputation: 2248

Typically you would work with a Sage partner or reseller to set up your Sage 100 environment. Depending on your location, there should be several available. You would typically check the Sage website to see the Sage partners in your area.

With that said, I used to do a lot of programming against Sage 100 and I can tell you that there is no REST or web services API. What you would typically do is deploy your own API that reads from Sage 100 as a database. There is an ODBC connection that is included by default with the product, called SOTAMAS90, that will allow you read-only access to all the Sage 100 tables. The 32-bit connector is installed automatically when you install the program. There is a 64 bit version as well, but that takes more work to set up. The 32 bit version is easiest, but it does require that your API code be running as a 32 bit service or program.

I would typically write C# programs that consume the SOTAMAS90 data and serve it via REST. ASP.NET Web API or Core are both good choices for doing this.

Since the SOTAMAS90 ODBC client is read-only, you will have to do something else if you need to write data back to Sage 100. The two interfaces that I'm familiar with are VI and BOI.

VI, or Visual Integrator is basically a utility for importing data from a source file (typically a CSV). It has some limitations, but it does work. You can launch it programmatically, which makes it usable on-demand. If doesn't throw error messages, however. If a row can't be written, it just skips it. You can view a report after the fact to see what wrote and what didn't.

BOI, or the Business Object Interface, is a COM component that you can code against. It provides more robust data validation, and does throw errors on a per-record (and sometimes a per-field) basis so you can respond to those in your code accordingly. Unfortunately, while most of the modules are exposed the BOI, not all of them are. Every year, Sage is porting more and more functionality to "the new framework" which also means it is available via BOI.

Finally, you can also set up a linked server in SQL Server to serve the ODBC data that way. Any way you hit that SOTAMAS90 DSN though, it's slow. Some developers like to copy all of the data to SQL Server and serve it from there. If you do that, be sure to add foreign keys and indexes. And run a nightly ETL to keep the data fresh. There are also solutions via User Defined Scripts that will allow you to respond to individual row CRUD events.

Hope that helps.

Aaron

Upvotes: 3

Related Questions