Filtering and ListViews – PositionFields

I have a project that I am working on which involves the need to set the ListView filter fields.

Back when I was much younger and far more naΓ―ve πŸ™‚ I would brute force my want to locate the control ( Years later I saw the light and stumbled across the fields but I didn’t ever get around to posting about it. Of course, I couldn’t remember where I had found the fields nor could I find a posting about it on my blog so I did some investigation.

I also wrote some code around exploring what I thought was the appropriate field list and expanded that as it became more apparent that I was on the right track, until finally I wrote some functions to test that I would actually use.

Continue reading

Posted in Development, M3 / MoveX | Leave a comment

Bulk Load APIs in 13.4

Another heads up. In 13.4 a bulk load API was introduced – so instead of having to send single transactions in a REST call, we can send multiple transactions.

KB: 1831472 “M3 Foundation Integration Guide for Developers” has an attached document that discusses the bulk load APIs (and some interesting other tidbits) and some example Java code.

Posted in Development, Interesting Infor Articles, M3 / MoveX, Misc | 2 Comments

IES – Search Queries De-mystified

Enterprise Search – the much lauded but often horribly misunderstood ‘google for M3’. I thought I had penned a post around IES and some fantastic information I had been provided via support by one of Infors staff when trying to track down why IES was not returning the results I had expected, but though started, it never got finished.

Roll on to this morning where I got an email informing me that there was a new document (KB: 1687355) on M3 Search examples, this is a PowerPoint with a lot of fantastic detail! Kudos Infor! Thank you Magnus for the heads up!

Link below for convenience:


Posted in Interesting Infor Articles, M3 / MoveX, Misc | 3 Comments

How We Did It – DR and M3

Recently I was asked about Disaster Recovery and M3. And though I haven’t really embarked on discovery of how companies handle M3 and DR I do hear people say they struggle with the changing of IP Addresses.

Which prompts a, huh? Why are we talking about changing IP Addresses?

This post is really to discuss the DR that I set up for IFL and because I had run in to this perceived need for changing IPs.

For us, it worked well, wasn’t too expensive to implement, and cheap to run. We were lucky in that warm standby DR was perfectly adequate, our M3 DB was only about 60gig and the business was prepared to accept the potential loss of ~24 hours of data.

Continue reading

Posted in How We Did It, M3 / MoveX, Misc | 2 Comments

Event Analytics – And Slight More Complex Email Notifications

Last month I posted about how to create basic email alerts fired from Event Base Alerts (

Which is nice and lightweight and all contained within the M3BE. However it is pretty limited with only three different filters that you can define. As I mentioned in the previous post, you can user e-Collaborate or ION – of-course I missed Event Analytics as another option – it has a drools engine for us to define rules and then ‘do stuff’ πŸ™‚

This post is about the ‘do stuff’ being send an email to a couple of people.

Continue reading

Posted in M3 / MoveX | 8 Comments

Adding Fields to a Panel and the Customer Extension Table

I’m waiting for a database export when it occurred to me that I haven’t discussed the Customer Extension table which is really terrible as I’ve been using it for quite a while and it is awesome!

The customer extension table APIs allow us to store data within M3 that M3 doesn’t have fields with. There are some fantastic examples in the net change reports where it is combined with the native M3 events to populate data based on different events automatically, and of-course we can use them through the APIs to store additional data. We can also incorporate these values in to the new style ListViews without any code!

The APIs provided are quick and easy to use.

This post is to provide a Jscript which allows you to add a TextBox to a panel and it will store the data from the TextBox in the customer extension table – how often do people want to do that? πŸ™‚

Continue reading

Posted in Development, M3 / MoveX | 31 Comments

Extracting Data from M3 via the APIs

There are many ways to extract data from the APIs in M3, but often you need information that isn’t provided via the native APIs or the native APIs purely don’t exist for the table you want to query.

But over the years there have been a number of ways that you can extract data natively from the APIs without expensive mods or using webservices. The methods to do this can seem a little convoluted and had some shortcomings where you can quickly run out of sort orders on popular tables in the older versions of M3, but by the nature of the native methods we enforce good practices of using indexes. I typically make a concerted effort to use these APIs rather than webservice calls as they tend to be quicker, and require less configuration outside of the M3BE.

We have 3 different ways I’m aware of to set up custom data extraction via the APIs and this post provides a rough and ready run through of them.

MNS185 – M3 Browse Definition. Open
CMS010 – M3 Information Browser Category. Open

Continue reading

Posted in Development, M3 / MoveX, Misc | 19 Comments

Basic Email Alerts / Event Based Alerts

Something that I don’t see talked about very often is the Event Based Alerts built in to M3, it’s a cheap, quick and easy way to notify people that something happened within M3.

We of-course have the options of using e-Collaborator or ION, but that feels a little heavy handed for a number of tasks.

This is a quick rough guide on how we can create a lightweight event that will notify us when the full description of an item changes.

Programs we will use:

CMS045 – M3 Event Subscription. Open
CMS047 – M3 Event Based Alerts. Open
CRS111 – M3 e-mail Address. Open
CRS427 – M3 Application Message E-mail Param. Open
CRS424 – M3 Settings – Application Messages

CRS420 – M3 Application Message. Open
MNS051 – M3 Subsystem Job. Open

Continue reading

Posted in M3 / MoveX, Misc | 4 Comments

Simple Move Control Script

Here’s a quick and easy script to simply move a control on the panel, it takes the control name and new positions as the arguments.

Continue reading

Posted in Development, M3 / MoveX, Misc | 2 Comments

Heads Up – Windows 10 Anniversary Update and Smart Office JScripts

Microsoft has recently started rolling out the Windows 10 Anniversary Update – which is great, however it does cause an issue with Smart Office and JScripts.

Smart Office will download the .js from the server, it will go through some of the compile phases, however it doesn’t produce the final .dll which Smart Office attempts to load and generates an exception similar to this:

MForms.Render.RenderEngine.PostRender Failed to run scripts
System.IO.FileNotFoundException: Could not load file or assembly <path to .dll>

and of-course the script doesn’t run. If you are using precompiled .dlls directly, then they work without issue.

Infor released Smart Office hotfix 17 for 10.2.1 last week which looks like it has resolved the issue. Once applied Smart Office will show a version of

Posted in Development, M3 / MoveX | 6 Comments