EDI and Integrations – What you need to consider when upgrading Infor M3 ERP

In this blog I will touch on a few things to consider when upgrading Infor M3 ERP in regards to integrations. I apologize if this article is a bit technical. It is hard to do it any other way.

There are of course different ways in which you can integrate applications and EDI with Infor M3 and I will touch on the following areas.

– M3 ERP
– M3 e-Collaborator (MEC)
– Application Programming Interface (API)
– Web Services
– Direct to Database

I will do this in a point form to make it easier to find information which is relevant for your specific case.

1. Infor M3 ERP

The first thing is of course to try and find out what has changed between the old and new version of M3. The best source for this information is the net change report for the new version.
Depending on how old your current M3 version is, there could be minor changes or completely new programs. I recently completed a project where we integrated a mobile service solution to the old Service module. As you might know this was complete re-written in version 13, not even using the same programs or workflow, so when the company upgraded, the integration had to be re-written from ground up. This is an extreme example, but it could happen to you too.

2. MEC

MEC remained mostly unchanged between version 1.6 and 9.0, but with 9.1 there were some major changes. The Administration was moved into Lifecycle Manager (LCM) and the old MEC mapper was replaced by an Eclipse based mapper (although the old Mapper was initially still made available).
However, the database structure is not significantly different and Infor provides upgrade scripts to make life easier.
These scripts also converts the tables for the Partner Admin tool, so with a little luck your agreements will not need to be re-entered.

3. Application Programming Interfaces (API)

Using the standard M3 API’s are a great way to integrate to Infor M3. It is safe and always applies the correct business logic, so it’s a safe way to ensure
data integrity. It is also rare that an API is removed between version, instead new API’s are constantly added. Furthermore, if an interactive program is changed the API is also modified (or should be).
If existing API’s input or output fields are updated, the new fields are always added to the very end of the return text string, so it normally does not affect your integration. If you have used MEC for your integration and want to use some of the new fields there is a way to easily update the API meta-data in your map by right-clicking the API symbol in MEC Mapper tool and select “Update External API Function”. This will bring in the updated API metadata and the added fields.

4. Web Services

If you have been using the M3 Web Services Framework (MWSF) and you upgraded to a later version using the grid, you may need to re-create your web services in the new framework.
The easiest way to achieve this is to copy the location of your metadata file and then import this to the Web Services framework. Then deploy the web service
as you would with a new one. However, with the simplicity of creating web services it may be almost as fast to simply re-create the web service.

5. Database

This approach is generally not recommended for other purposes than extracting data, and then it should be pretty straightforward to figure out the possible
implications that could occur. The libraries will most certainly have changed and in the case a major re-write of the program has occurred (as with the example
of the Service module above) there may be completely different tables containing the data you need.
I hope you enjoyed this blog and maybe it can save you some headaches.

If you need any help or assistance we are always willing to help and we work on Infor M3 EDI and integration projects around the world.
Contact me directly or visit us at www.integrationwizards.com.

Infor M3 Integration Toolkit. What to use and when?

If you are planning a new integration project with Infor M3, there are a lot of different options available and in some cases it can be difficult to select the best option. In this article I aim to give some direction and hopefully make the decision easier. Let’s have a look at each of the options and provide some examples of use cases for each.

Infor M3 API’s

Infor Application Program Interfaces (API) have grown significantly in numbers over the past 10 years.
They provide the same business logic as the interactive programs, but as a set of functions, which vary by M3 program. These functions can be called programmatically and include Add, Delete, Update, Get and List functionality.
The M3 API’s are the preferred way to interact with M3, as the business logic is followed and the database is not exposed in any way. That is why most of the other methods I will discuss later use these API’s internally for invoking M3 functions.
The downside with the API’s is that they are quite cumbersome to connect to directly, unless you use propriety classes, and are not well suited for calling M3 remotely over the web.
If you have a local application, which needs to be very tightly connected to M3, and performance is extremely important, then perhaps you could consider building an interface directly to the API’s. This approach would most likely cost more to develop, test and maintain than using any of the standard methods below. Also be aware that the API’s may change between M3 versions, which could easily break the interface.

Infor MEC

M3 Enterprise Collaborator (MEC) was developed as a response to the increase of B2B transactions over the internet about 15 years ago. I was on the first development team and later Product manager for this application, when it was still owned by Intentia in Sweden.
I am very excited that it is still around, and although there has been a lot of improvements over the years, the basic functionality is still very much the same.
MEC allows any application to securely communicate with Infor M3 via XML messages over a range of different protocols.
The M3 Enterprise Collaborator uses API’s to safely update data in M3, but with the ability to write custom java-functions, you can call web services, extract data from other sources or anything else you wish to do.
MEC comes with a complete framework, which includes the ability to setup Partner Agreements for individual configurations by the partner or application with which you wish to integrate. It also comes with a flat-file parser to process text-based files.
An extensive admin interface includes the ability monitor each message and a has a full range of other useful functions to maintain your transactions.
If you have a B2B/EDI type integration, typically over the internet, where visibility and control is important, then MEC is the preferred alternative. It can also be used for A2A integrations and is particularly useful to replicate reference data between disperse systems.

Infor M3 Web Services

Infor M3 Web Services uses the traditional web services SOAP protocol and allows for synchronous communication with Infor M3 over http. Web services methods can be based on API transactions, but can also be based directly on most interactive programs, which makes it very useful for updating data when a suitable API function is missing.
Infor M3 Web Services makes sense for A2A integration, when a remote application, which also supports web services, is pulling the strings and controlling M3.
This could be a web shop which is calling a web service to retrieve information about whether an item is in stock or not.

Infor M3 REST interface

The Infor REST interface is a fairly new development and allows M3 API’s to be called remotely by virtually any programming language, without using the propriety classes required when calling the APIs directly. Compared with Web Services, REST is much more light-weight, can be called from pretty much any tool. It is a great for loosely coupled applications with a many-to-1 connection, where updates on the server side should not break the client.
It is a welcome addition to expose the API functionality to a greater range of possible integration scenarios.

M3 ION/EventHub

M3 ION and EventHub are also relatively new additions and are based on an event driven publish and subscribe service based communication. Infor M3 produces events for any type of update in the database and other applications can subscribe to specifically defined events and retrieve data from the files producing these events.
This type of integration is typically used for internal applications where M3 is the master. However, it can also be used to trigger MEC transactions, that could forward the information to external destinations.

Direct Access via ODBC or OLE/DB

It comes without saying, but if you decide to access Infor M3 directly via ODBC, it should only be to extract data, and NEVER to update data. Being a relational database, the tables in the M3 database have a lot of interconnected records and unless you know exactly what you are doing, it would be very easy to jeopardize the integrity of the database by removing or adding data.
However, there are still applications where direct access makes sense. I am thinking of data warehousing(ETL) and business intelligence tools for example, such as QlikView or Cognos where you need to extract large amounts of data.
There are also situations where none of the previous methods are available, and there is no other option than to extract the data directly.

If you would like more information, please contact us at Integration Wizards or get in touch with me directly (Mathias Wallgren). We can assist you at any stage of your integration project, from planning and execution to training and documentation.