During the IMUN conference last week, Ole Rasmussen mentioned Infor's new API EXPORTMI that allows us to perform SQL-like queries over M3 tables. While we could achieve the same functionality by building custom APIs using MDBREADMI or CRS990MI, this gives power users and consultants a quick and dirty solution to pull data out of tables on an ad-hoc basis.
Using i3 Consulting's Excel REST API tool, talking to a M3 instance in Infor's cloud, we can see this in action:
This capability is a critical requirement for single and multi-tenant customers in Infor's cloud as SQL access is typically limited in single tenant and outright banned in multi-tenant.
Infor has just released the XML output capability that was announced as part of the 13.4 deliverable and was originally expected late last year. This is an alternative to the streamfiles that Movex / M3 has traditionally generated and provides another great opportunity for modification elimination.
"Infor M3 Configurable Output Management enables the use of extensible
self-contained business documents in XML format combined with
OpenText™ StreamServe StoryTeller, a marketing-leading document layout
tool. For existing customers, Infor M3 Configurable Output Management and the
use of XML can help simplify the creation and maintenance of business
documents. For new Infor M3 customers, Infor M3 Configurable Output
Management and XML can act as a project accelerator through reduction of
the time required to define business documents.
This phase one delivery enables you to switch invoice and credit note-related
documents to the new XML format. The plan is to deliver more business
document types for the Infor M3 13.4 platform. Why adopt Infor M3 Configurable Output Management
Switching to XML business documents within Infor M3 can help
reduce the cost of ownership of your solution by reducing the
need for source code modifications and simplifying the tailoring of
business document layouts.
You can keep all your business documents when there is an
upgrade to Infor M3 13.4 and you can move them to the new Infor
M3 Configurable Output Management XML format whenever it
suits your business, i.e. no immediate migration requirement.
Provides greater flexibility in the generation of XML business
documents, including the ability to extend with custom elements and user defined fields without the need for any source code
All applicable XML business documents are self-contained,
include relevant language translations and use standard data
The Infor M3 base StreamServe bundle includes new added value
components, such as the StoryTeller layout tool, and customers
that have a valid support agreement for the product can upgrade
to the new bundle free of license charges.
Use the newest capabilities of StreamServe, such as StoryTeller,
which is designed to help reduce the number of document layouts
that your customers need to maintain. In the new solution, layouts
can be maintained in a global project template.
Infor M3 version compatibility Infor M3 customers need to be on Infor M3 13.4 or later to use the new Infor
M3 Configurable Output Management capabilities."
A couple of months ago I logged an issue with Xtreme regarding Smart Office client being unable to communicate with the Smart Office server. This has become a more significant issue with the Windows 10 anniversary edition also breaking JScripts running within Smart Office.
Today I have received a suggested workaround from Infor now to resolve the issue of windows updates stopping Smart Office loading. I've tried this on a couple of sites and it appears to address the issue. The workaround is:
1. Download IIS Crypto 2.0 from Nartac.
2. Install this on the PC
3. In IIS Crypto 2.0 on the Cipher Suite tab (1), untick the TLS_DHE_RSA_WITH_AES_128_CBC_SHA Cipher (2) then click Apply (3):
4. Reboot the PC.
Smart Office should now load correctly. I've tested this against multiple sites and multiple versions of Smart Office and all the Smart Office instances that were not working now do work.
The Windows 10 Anniversary update has just rolled out and with it has come more problems for Infor's Smart Office. When using a panel that has a JScript attached to it, the JScript does not load and an error message is logged within the Smart Office log e.g. 5/05/2016 9:29:30 PM ERROR MForms.Render.RenderEngine.PostRender Failed to run scripts System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\Users\user\AppData\Local\Temp\aibwfam0.dll' or one of its dependencies. The system cannot find the file specified. File name: 'file:///C:\Users\user\AppData\Local\Temp\aibwfam0.dll' Infor don't have a resolution to this yet, much like the problem with the Microsoft patch that on certain configurations broke Smart Office altogether, the current recommendation from IRD is to not install the Anniversary update.
At Inforum 2016 this year I presented a simple pattern we'd developed across multiple projects to automate and apply business rules when transactions occur in the M3 business engine.
Historically we have used JScripts to achieve this within Smart Office, but a number of factors have driven us away from this approach. These include:
the increased maturity of the H5 client;
the inclusion of the H5 enterprise features within the foundation client as of Infor Xi;
an increasing diversity of data input mechanisms across our customer base (M3WM, custom applications, data feeds from PLCs etc.); and
the problems inherent to applying business rules at the UI level that could be bypassed by users.
While JScripts still have their place, for set and forget application of business rules along the lines of "if this then that", there are better approaches now available.
We first investigated Infor's Ming.le a couple of years back, but when we started looking into Ming.le our assessment was that it was not mature enough to meet out needs. Note that this has now changed, we have used Ming.le on a few projects and we are very excited by the possibilities offered by Ming.le within the Infor Xi stack.
Nonetheless, while at the time we were not convinced that Ming.le was appropriate for our needs, the technology underpinning Ming.le was of interest. Specifically Event hub which monitors all transactions within M3 and allowed us to capture:
Start and stop of M3 programs including batch programs;
Create, Update and Delete transactions on M3 tables; and
Current and Prior values of records in M3 tables.
Many, if not most, of the processes we wished to automate occur when one of the transactions above occurs. For example we wanted to:
Notify upstream planners for supply chain order connected orders when requested delivery date on CO, MO, PO line changes;
Update customer agreement / bulk order when quote changed;
Reclassify, move, or write off balance ID when goods were received into a location;
Load payment when a POS sale is invoiced;
Write to a log when a M3 program is started;
Export planned orders when the MRP run completed.
What we found was that Event hub existed within the M3 ecosystem as shown below:
Event hub is one of the technologies underpinning the M3 ION BODs and is responsible for creating the initiator message, much like a MBM, that instructs MEC to create the BOD and pass to ION for action.
One of the great things about Event hub is that it is available in all M3 10.1+ installations that have the business engine on the Grid. So for sites that are on the Grid, but don't yet have ION, we can still leverage the functionality that Infor has delivered to support ION to build automations as described here.
The pattern we developed for creating a simple automation has three main parts:
Create the Event hub subscription;
Create the MEC subscription to Event hub; and
Build the automation in MEC.
Over the next few days I'll detail how each of these steps work and how, with minimal MEC skills, simple event-driven automations can be built.
Inforum 2016 in New York was a great opportunity to meet colleagues and friends, learn what's coming in the new versions of the Infor product suite, hear from thought leaders in a number of areas and enjoy the Maroon 5 concert :)