Infor XtendM3: Introduction

Guastalli Davide
3 min readSep 22, 2021

Hi all! First of all I’ll like to introduce myself: I’m Davide Guastalli, Senior Technical Consultant on Infor M3 and on the whole Infor OS stack for an Italian company.

Today we’ll start our deep look into brand new tool from Infor related to Infor M3 extensibility framework, named Infor XtendM3.

Only available in Cloud-Edition, this one is the way Infor allow us to customise programs.

Photo by Caspar Camille Rubin on Unsplash

Instead of MAK (Movex Adaption Kit), where we can access to source code and modify it directly, the new way Infor adopted on the cloud it’s to use add some custom code on top or inside programs managed by trigger.

So, this tool allow to do a lot of customisations on standard program (even if in a little different way from MAK): Even Infor in a workshop stated that “Tailoring is a key requirement for M3 CloudSuites”.

I think you’ll have to learn Groovy ( https://groovy-lang.org ) a language for the java platform, pretty easy to learn if you already program in java

Screenshot from Groovy-lang.org

Triggers

The first way we have to do this it’s to attach a new piece of code to an exit point provided by Infor. Once the standard process arrive at this exit point, our new extension is triggered and our code is executed.

Infor provide these exit points for both Interactive and Batch programs but with a little difference:

  • On interactive programs, we have a PRE and a POST exit point linked to each method (PxDSP, PxUPD, PxCHK, PBROL, etc).
    Only on CHK we have the PRE but not the POST trigger.
  • On Batches, Infor provides some standard exit point in pre-defined part of the program. If a new one is needed (and not existing yet) you’ll have to open an ER to Infor in order to have it added in some later update. Of course, once added, every exit point is available to all CE customers, so I’m expecting a big growth in few months.
  • On standard APIs we can add custom validations, execute PRE or POST code.

I’ll try to explain how Infor standard programs works in a later post.

Additions

Otherwise, in few last months, some new features has been released, now we can:

  • Create extension tables
  • Create missing API to work with these tables or standard features.
  • Create Batches to massively update datas (for example, Infor use this to correct data massively).

Differently to MAK, this can’t be used to make new interactive programs, the suggested tool to do this it’s H5 SDK or Mongoose.

Please understand that this tool is changing every month with new features, I’ll try to keep you up-to-date.

Tools & Informations

Infor provide both a web IDE and an SDK we can use in IntelliJ or Eclipse.

Please remember that all the extensions needs to be validated by Infor before they can be installed in PRD tenants (and Infor will charge you the time their consultants spend to verify them).
This validation happens about 5 days after the request, but for newly developed extensions a meeting with technical and functional consultant is needed to let Infor understand how the new process works.

This is needed because a poorly written extension can broke down all other customer tenants and/or M3 functionalities. Aside this, Infor is implementing many rules to prevent strange behaviour caused by bugs (timeouts, for example)

To validate the extension Infor will ask you some questions, and it’s mandatory to have a Git repository before you can request the signed extension.

Next steps

After this brief introduction in the next post we are going to examine some use case together.

--

--

Guastalli Davide

Senior Technical Consultant on Infor M3 and Infor OS Technical stack. +10yrs on consultancy, technology addicted, currently employed at Horsa Group