Category Archives: M3 Enterprise Collaborator

Infor M3 Integration and EDI upgrade

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

Infor MEC - 15 years 0n

Infor MEC – 15 Years on

In this article I am going to talk about Infor M3 Enterprise Collaborator (MEC), an integration platform that has survived for over 15 years and is still as relevant as ever.
It all started at a Swedish software company called Intentia R&D around the turn of the century. As you might remember, this was just about the time when business’ were starting to see the benefits of Internet for more than just static web pages.
At the time I was part of the e-Business team, and it was an exciting period with many new products in the pipeline, such as webshops, e-procurement, web portals and of course M3 Enterprise Collaborator, or Movex e-Collaborator as it was called then.

Our mission was, taken from the original marketing presentation, “to create a solution that enables business-to-business (B2B) e-collaboration in terms of both intra-enterprise and inter-enterprise through Application-to-Application (A2A) integration.

We needed something that were flexible enough to both support traditional EDI based B2B transactions, but would also be able to handle XML (eXtensible Markup Language), which was the new document format that everyone was talking about. A separate project was launched to develop business documents for different business processes and these where initially called MBD (Movex Business Documents), but later renamed MBM (Movex Business Message). The rumour was that MBD abbreviation had the unfortunate association with “Minor Brain Damage”, but I’m not sure if that was true or not.

The MBM documents where initially meant to be generic business documents, based on an open standard such as OAG or RosettaNet, since these were thought to gradually replace traditional text based EDI files. However, later they became based on traditional EDI in an XML format, since it appeared EDI was going to stick around for a while. Interestingly the recently launched BOD’s (Business Object Documents) are back on track with Business Process oriented documents, so perhaps we were just ahead of our time?

Although the original MEC was limited in functionality, most of the components were still the same as they are today. There was a Partner Admin tool, a Mapper and of course the runtime server. The server was running in a command window and not as a service, so someone had to always be logged in and he or she better not close that window.
The Flatfile conversion tool was the only part missing, but the functionality was still there. However, you had to manually define the XML files for each XML to flat translation.

I often hear criticism of MEC, but the fact that it is still around 15 years on, must mean that we did something right.
I think it is important to understand what MEC is and what it isn’t. The most common argument is that it is overly complicated and time consuming and that if you are a programmer you could easily write code to connect to any of the available Interfaces directly. However, I think that then you are missing the point. MEC is more than just an IDE for developing an interface.
It is the sum of its parts that makes it so powerful, and if you wanted to add the same functionality in your custom interface, you would essentially need to build another MEC.

I’m going to list some of the benefits of MEC to a custom interface and I am expecting to get some comments in line with  “you can do that with a custom interface too”, but be aware that MEC is meant to be maintained by business people, not programmers, so if it is not intuitive it is not an option.

  • Graphical mapper IDE in Eclipse, with a palette of drag-and-drop functions, such as all the available APIs (Application Programming Interface).
  • Full version control and simple process to switch between different versions of an interface (also referred to as a maps). Unlimited flexibility, since user-defined java-functions can be created within your maps.
  • Re-usable maps, which are independent of M3 ERP version and can be imported/Exported to multiple environments.
  • Complete Administration, Maintenance and Monitoring platform, where the status and content of each transaction can be easily viewed and appropriate action taken if necessary.
  • A Partner Agreement tool that allows you to define specific workflows and communication requirements for individual partners. It also helps you organize and group all your different integrations in a logical manner.
  • A full set of predefined process steps at your fingertips, including but not limited to ION integration, a Document Asset Management integration, XSL transformations as well as multiple communication protocols for receiving and sending.
  • Already used successfully by a large customer base and developed over 15 years for stable and secure High-Availability, High-Performance and High-Throughput.

The list could go on, but I think the benefits above is enough to expected MEC to be here for some time to come.

Hope you enjoyed reading this article and please feel free to comment or contact me if you have any questions.

Infor M3 Integration alternatives

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.