API concept with hand pressing a button

Many customers aim to migrate to the Infor Multi-tenant cloud in the future. In order to do so, all customer specific On-Premise Java modifications must be removed. Infor recommends several options and tools for removing Java modifications. One technology to modify and improve Infor M3, is to use the H5 Script Software Development Kit (SDK).

Extend your Infor M3 experience with H5 Scripting

The following should be considered before starting:

  • Investigate if a specific modification is used and if it is still relevant for your business. In this process you may need help from an Infor M3 process consultant. A modification may have been replaced by standard M3 or can possibly be rewritten using new tools like building a CMS015MI custom API, using ION Workflows/MEC, Event Hub in combination with CMS047, or a Custom-built Web application hosted in Homepages.
  • User surveys should be carried out to determine if a feature is used and helpful for your users. Use the result in your cost-benefit analysis in order to decide whether to lift a modification out to new technology or completely scrap it.

M3 program scripting has been here for a while, and many, like me, have created a lot of scripts in the Smart Office Client, benefiting our customers and end users. This approach has resulted in fewer program modifications.

I have now successfully managed to rewrite a few quite advanced scripts to the H5 Web client. H5 is also M3 Client for Infor M3 Multi-Tenant Cloud. I am looking forward to further explore this technology over the next months. H5 Scripts are created in TypeScript language and are using Infor H5 SDK libraries and jQuery to simplify the process of creating interesting M3 program experience features.

Improve Infor M3 with H5 scripting

Benefits of using H5 Scripting to improve Infor M3

Data validation

Scripts have commonly been used to validate input values, either by validation of existing panel information, or to make API transactions to get more input from the M3 server. As a result, you move customer specific logic for validation to the client as a script instead of using server-side modification. Another advantage is the immediate notification to the user in case of error. By doing this, routines for fixing master data may be less required.

Default settings / business data in panel

Since scripts are customized in the program panel, this is a simple way to configure and set up fixed data that are standard for the panel/program.

Extra Information

Extra information can be added to the panel, helping users making better decisions. Extra information can be retrieved from API transactions, either M3 standard, or by using a customer specific API. It can be set up in CMS015MI, EXPORTMI, or MDBREADMI.

Perform something on behalf of the user / additional updates to M3

The script makes it possible to add buttons to perform various tasks, for example calculations. When saving a panel, calls for M3 table updates can be made, for example by saving information to the customer extended tables: CUGEX1 or CUGEX3, or to other M3 tables using standard API transactions. Several new standard API’s have been released in later On-Premise and Cloud versions making this feature more powerful.

Make it more visual / exciting to the user

Panel content can be visualized in a new and better way, for example by highlighting fields with a specific color.


The H5 clients still supports automation when you need to fast jump to another application and bookmarking cannot be used. I have done a lot of advanced stuff in the old Smart Office client. I am looking forward to seeing if some of these scripts still will work after being rewritten to H5.

Coding text

Background threading in Smart Office

I have developed some scripts by using background threading in Smart Office. For example, several order lines can be updated by using API’s, often called using URL in a Mashup, or from a button in the M3 program. Mashup cannot do script routines like looping itself. I can’t see this approach being supported in the H5 SDK.  In conclusion, scripts I have developed this way should possibly be replaced by a back-end routine by utilizing Infor Server Extensions technology. In some cases, this can be solved by using mass updates with Vince Excel (VXL) or Vince Butler (VBU) when it detects deviations. The Mashup itself can possibly be replaced by a Web application written in a powerful, modern and flexible Web framework, like React or Vue.

Thanks to the JavaScript engine tightly integrated with HTML and CSS, these Web Frameworks are even more powerful than the old coding in XAML.


Watch video on H5 Scripting here

If you have any questions Get in touch

Download content as .PDF

Improve Infor M3 with H5 scripting