Custom Lists & Mashups

Here is a solution to add columns to a list of an M3 panel in Smart Office without doing any M3 Java modifications and without writing any scripts. The advantage is zero programming. In addition, this technique is interesting when it’s not possible to create custom Sorting Orders (QTTP) nor custom Views (PAVR) for an M3 program (for example Stock Location – MMS010). This technique uses a new feature of M3 called Custom Lists. To create custom lists you will need the Industry Enrichment Package IEP F09201M306 in MNS096.

In this example I will add three columns Geo code X, Y, and Z to the list of Stock Location – MMS010/B1. The values come from the fields GEOX, GEOY, and GEOZ of MMS010/F. This solution is an alternative to the solution of my previous post where I illustrated how to programmatically add columns to a list by writing a script.

Desired result

The desired result is the list Stock Location – MMS010/B1 with three new columns Geo code X, Y, and Z.

Custom List

To create this custom list I follow these steps:

  1. First, I create a new Information Browser Category in CMM310, GEOCODES in this example:
  2. Then, I create a new View in CMM315 where I include the desired new columns, MSGEOX, MSGEOY, and MSGEOZ in this example:
  3. Then, I simulate the list to select the columns to display and to select the order of the columns:
  4. Finally, I add the Custom List to a Mashup where List type = Custom:

Final result

The final result is a Mashup with Stock Location – MMS010 and three new columns Geo code X, Y, and X.

Conclusion

With the new IEP feature and with Mashups we can now create Custom Lists in M3 by configuration only, i.e. without any programming.

For more information

To learn this technique and more, refer to the Mashup Designer Advanced training (code SMMA2) from the Lawson Learning courses.

Related articles

Published by

thibaudatwork

ex- M3 Technical Consultant

24 thoughts on “Custom Lists & Mashups”

  1. Thank you Thibaud. Your post are always extremely valuable. In your personal opinion, which way is better safer; do your think writing JScript to add column to panel versus adding columns through CMM310. What happens if “normal” user has access to CMM310 and changes Information Category, will Mashup completely break or just where being referenced? Lets say a JScript is written, will the added columns be viewed in the Mashup if XAML is referencing the M3 panel? If we do a modification in CMM310 is there a way to easily push to other environments like (DEV, TST, EDU, STG, PRD)?

    Like

    1. Hi Eric,

      Thank you. Here are my answers to your questions:

      1) I strongly recommend using Custom Lists with CMM310 as opposed to writing a script. The reason is the script coding nightmare (see my other post with the script).
      2) I don’t see a risk with the user changing CMM310. If that happens then yes, likely the Mashup won’t display what it should anymore, just like if the user changed something somewhere else.
      3) Yes, you can combine Mashups + CMM310 + Scripts.
      4) I think you will have to re-configure CMM310 in the other environments. Not ideal.

      Hope it helps.

      Thibaud

      Like

  2. I have a problem with custom lists , I want to do mashup panel . one should have MITBAL . I can create MITBAL custom list , then I need to create new custom list with OOLINE , there is an index (CONO,WHLO,ITNO) (OOLINE21) , when user select one record from MITBAL list I need to pass selected CONO,WHLO,ITNO into OOLINE 21 index,

    problem is I can’t use OOLINE21 index, have any way to do above scenario, is it handle using selected sorting order in custom list designing.

    Thank you

    Like

    1. Hi Priyantha, I read your description and I don’t know the answer. I would have to check. I find Custom Lists tricky to setup, and I don’t think they’re guaranteed to always work; it’s like the M3 Web Services where you only know once you try. For your question, ask an M3 MAK developer around you so they can dig into what’s happening.

      Like

      1. I got one solution , when i pass input data to index field of OOLINE , it is not working

        Eg :

        But when i use Sorting order text box name , it is working , can u provide some comment about it

        Eg:

        Thank you

        Like

    1. Eg :

      mashup:Parameter TargetKey=”W1OBKV” SourceKey=”MBWHLO”
      mashup:Parameter TargetKey=”W2OBKV” SourceKey=”MBITNO”

      Like

      1. Hi Priyantha, it’s hard to troubleshoot your case with little information. I would have to look at the entire XAML and all the screens of your Custom List. And it will be difficult to do that in the comments of this post. Instead, please send me an email at Ciber and we’ll see how we can assist you. You will find my Ciber email address on my website http://thibaudlopez.net/ . I don’t write it here to avoid spam bots. Thanks. /Thibaud

        Like

  3. Apologies for the necro post, but I’m a keen reader of your blogs and find your posts a gold mine of information when it comes to M3 and leveraging some of the exciting new tools and functionality of Smart Office. I’d come across your post on the Custom List designer before and it had prompted me to push for our M3 admins to get the Enrichment Package installed as there I could see a lot of potential in some of the tools. We’ve found that after installing the Custom List Designer functionality that we were unable to create a Custom List in the Mashup Designer, on further investigation with Infor it was found that this was due to an error where M3 fails to parse the version number from the BE version string – 14.1.2.MCP1-1412-01, it’s a know error which they’ve yet to develop a fix for unfortunately and related to a fix we had recently taken.

    Short of changing the code in the program cBEVersion via MAK, another workaround that we considered might work would be to create the Custom List in CMM310 (which we’ve done) then just manually insert the information into the Xaml code. I was just wondering if you might have an example of the what the Xaml of a custom list would look like, as I’m struggling a little bit with the parameters and layout of the code for the Custom List to put into the Mashup.

    For test purposes I actually recreated your MMS010 GEOCODES example in CMM310 initially, when we couldn’t get the Custom List to work in the Mashup designe, just to make sure the issue wasn’t anything to do with how we set up the Information Browse or anything. So parameters of our test Mashup is basically the same as you had previously done.

    Thanks very much in advance and looking forward to reading what 2016 brings!

    Like

    1. Thank you for your interest and feedback. Here is a sample I just made with some sample custom list I found, and it works:

      <m3:ListPanel Name="MyList" Type="Custom">
      <m3:ListPanel.Events>
      <mashup:Events>
      <mashup:Event SourceEventName="Startup">
      <mashup:Parameter TargetKey="OPCONO" />
      <mashup:Parameter TargetKey="OPCUNO" />
      <mashup:Parameter TargetKey="OPADRT" />
      <mashup:Parameter TargetKey="OPADID" />
      </mashup:Event>
      </mashup:Events>
      </m3:ListPanel.Events>
      <m3:ListPanel.Bookmark>
      <m3:Bookmark Program="CMS100" Table="OCUSAD" KeyNames="OPCONO,OPCUNO,OPADRT,OPADID" InformationCategory="M3RC_LOCATIONS" />
      </m3:ListPanel.Bookmark>
      </m3:ListPanel>

      Like

      1. That’s fantastic, thank you very much for the example, I can see exactly where I was going wrong before, I was very close but just had to change a couple of things. Thanks again for the assistance, it’s very much appreciated!

        Liked by 1 person

      1. Hi Len. If you build your own list in XAML then yes you can insert a checkbox and anything you want. If you use the built-in M3 ListView then not because it is generated by Smart Office, unless you develop a script with which everything is possible.

        Like

        1. But if that is the case, then the check box will also appear in the panel, am I correct? I just want the textbox to show in mashup, not in the actual program panel. And I’m using M3 list panel.

          Like

  4. I am not clear on what you are trying to do. M3 lists are rendered automatically and you cannot control them, unless you develop a script that finds its way to the list and modifies it. If you build your own WPF list in XAML then you have full control of it since you’re the author. The result will be whatever you choose it to be.

    Like

Leave a reply to CS Cancel reply