My name is Scott Campbell, I am an IT consultant who has a focus upon the Infor M3 ERP solution.

To get the usual stuff out of the way – the content on this site does not represent any official direction or opinions by any company that I currently work for or have previously worked for.   Opinions and thoughts expressed are my own.

I currently work for Infor as a Technical Solution Architect and since joining in August 2018 I have been focused on M3CE and involved with many of the early projects including some of the first upgrades to M3CE.

I used to contract back to a fishing company called Independent Fisheries (IFL) as the IT Manager where I had been employed by them for over 18 years.  I built, planned and maintained their IT infrastructure, imposing consistency and structure on a small but rapidly growing network.  I have consulted to a variety of companies in Australia and New Zealand – predominantly in the M3 space around scripting technologies, reporting and M3 foundational component space.

I have presented at Inforum, the M3 user group in Australia and at many M3 user group meetings.

I led the installation of MoveX in 2003 for IFL and managed an upgrade to 10.1 in 2010 which gave us access to Smart Office with the aims to use scripts to remove our modifications.

I have an interest in technology, it’s oddities, reporting technologies and software development believing that IT is a lifestyle, not a career.

This blog was initially started to fill a gap around a lack of information about Smart Office scripting.  At the time it was a black art that was mumbled in muted tones by (then) Lawson consultants.  A shame given that it really is the killer feature within Smart Office.
I started out to document my exploration of the Smart Office framework – hoping to provide some inspiration to others so should you choose to read the posts from beginning to end then you will notice there are revisions of ideas and scripts as my knowledge matured.  The blog is deliberately written informally with the honesty and passion of the moment.

Over the years I have stated that I am not a developer, I am completely self taught but I guess that significant portions of my IT working career has revolved around writing code – ranging from macros to import sales reports in to spreadsheets which were written because I hated data entry (my job at the time) through to a functioning 3PL tool for our Coolstore operation and extensive code to automate monitoring, health check status pages. And of-course in the M3 Smart Office space I have done extensive coding to automate entry in to fields through to completely customised windows to allow the streamlining of specific process and business logic – abstracting native M3 processes through extensive use of the M3 APIs and WebServices.

If you would like to contact me directly with comments, questions, suggestions or interesting things you have done developing against M3, then please feel free to send me an email blog@potatoit.kiwi – I can’t answer all questions but I try 🙂

The code posted here is as is and use at your own risk. Opinions expressed here are well, my own but you all know the standard disclaimers 😉

Scott Campbell

16 Responses to About

  1. Kevin Branford says:

    Your website is very helpful in troubleshooting issues with Smart Office. Thanks for posting some of the JScripts out there for all of us to see.

    Quick question for you. Have you been able to get an internal browser to popup on the Smart Office canvas based on data being passed from a Lawson form?

    • potatoit says:

      Hi Kevin,

      thank you for your comments. 🙂

      I’m not sure specifically what you are after, however you can launch a URL from within a script, that URL window is then encapsulated within I believe the Mango.UI.Services.EmbeddedHostWindow. You can append any information extracted from the controls to the URL you pass the Task().

      import System;
      import System.Windows;
      import System.Windows.Controls;
      import MForms;
      import Mango.UI;
      import Mango.UI.Core;
      import Mango.UI.Core.Util;
      import Mango.UI.Services;
      package MForms.JScript
      	class Embedded
      		public function Init(element: Object, args: Object, controller : Object, debug : Object)
      			DashboardTaskService.Manager.LaunchTask(new Task("http://www.google.co.nz"));

      If you are after adding the browser directly against an existing Lawson window, then you will need to add a WebBrowser control to the Grid

      Does that answer your question?

  2. K Branford says:

    Thanks for your assistance that worked great. Before I was able to load the browser outside of Smart Office but now I can bring it up right in the Smart Office canvas.

  3. Frode says:

    Hi, great work on these pages!

    Do you know a way to embed scripts into mashups?

    • potatoit says:

      Thank you! 🙂

      Unfortunately we don’t have Mashups here so I can’t say for sure. I believe that with the 10.1 heartbeat (?) update Mashups can call the APIs without any programming so presumably there is some way to do so.
      Someone did send me an example of a Mashup config file and it looked pretty much like a standard XAML file so I guess there is some scope to create some automation.


  4. Paul Grooby says:

    Hi – we have mashup designer here, hopwever no training as yet from Lawson, but yes is standard XAML in terms of the data.However I haven’t had a chance to look at embedding scripts as yet. However as Scott says, with standard XAML there is probably a way to hack… when I look at one that has been created as a standard panel customisation the xml for running the scripts looks like below:

    So I guess possible – although the above differs from mashup syntax in that the panels are not M3 panels so obtaining a bind to the data might be difficult.

  5. Marcus Ludvigson says:

    How mashups and jscripts are used differ between M3 and S3. For M3 detail panels are shown differently UI wise when they are shown in a mashup so jscripts are not executed for M3 mashups.You could however write your own mashup controller using the SmartOffice SDK. There is an example in the SDK documentation. For S3 you can use jscripts if you are mashing up classical S3 forms.

  6. Frode says:

    Thanx for all replies!
    I work with M3, and are quite new in this game.
    I finally got the LSO SDK and will look into your ideas.

  7. Samuel says:


    I’m new to M3. It is hard to found information on the web. We acquired a company and they are using Movex V12 on iSeries. Recently, we migrated the system to Windows platform for archive purpose. Do you have any documents can share with me? Many Thanks.

    • potatoit says:

      If you have current support, there is a lot of information in the InforXtreme portal. I’m assuming when you say you migrated to a Windows platform that you also upgraded – if not, you may find the information on V12 is pretty sparse and you’d probably need to request specific information directly from Infor.


  8. jrgwan says:

    I am working with Infor M3 since 15 years. And I love it to work with M3 tools like Mashup, Script, MEC, EvenHubAnalytics. Now I want to a get deeper understanding of MashupSDK(Typescript;AngularJS). I would like to build a simple dialog or view in H5 using an API (f.e. CRS610MI-LstByName). Do you have documents or source-examples or links or persons, which I can visit/contact. It would be very great, if you can help me 🙂

    best regards

  9. Juan Carlos says:

    My name is Juan Carlos and I am a Consultant in a company that we work with M3. I wanted to ask you the next question,
    I need to call Api from M3 from a server that will be on Amazon, our version of M3 is 7.1 (13.1 java). What do we need to make the call to the Api ?, a VPN?.


    • potatoit says:

      Hi Juan,

      Your M3 instance is running in Amazon, then, yes it would be wise to have M3 isolated from the internet at large and accessible to your site(s) via a VPN. Amazon has a VPC service which is how I assume you plan to deploy M3.


  10. mubarek hassen says:

    if u have any contact address like LinkedIn or sth

  11. trunghao says:

    Hi Scott,

    Hope you are doing well. Do you know if I can load the data from an Excel Spreadsheet to an M3 program with H5 Script as we do not have the API for it. I wrote a Jscript to do this in ISO but it no longer works in H5.

    Any advise from you is highly appreciated.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s