Dependency graphs show the relationships between M3 programs – how they relate to one another – and are useful during data conversion. In this article I discuss their benefits and how to create them.
Background
Data conversion is the process of transferring data from the customer’s legacy system into M3 with tools such as M3 API, M3 Data Import (MDI), Lawson Web Services (LWS), and Lawson Smart Data Tool (SDT) during the implementation project.
Relationships between programs are governed by M3. The M3 Business Engine ensures the integrity of its programs. For example, to create a Warehouse – MMS005 we need to create a Facility – CRS008, to create a Facility we need to create a Division – MNS100, to create a Division we need to create a Company – MNS095, and so on.
Dependency graphs
Dependency graphs show the relationships between M3 programs in a graphical form, as illustrated in the following subset of a larger graph:
Benefits
Dependency graphs are useful during data conversion for various reasons:
- They visually provide a lot of information with little cognitive effort
- They help delimit the scope, and help quantify the amount of work
- They dictate the order in which to proceed
- They help build the project plan, and help estimate the duration
Dependencies
Smart Data Tool comes with Configuration Sheets that contain a curated list of M3 dependencies. It’s one of the best sources of dependencies available.
The following screenshot shows the Configuration Sheet for Item – MMS001 where column G tells which programs we need to setup before we can create an Item – MMS001:
Dependencies extraction
We can programmatically extract the dependencies from the Smart Data Tool Configuration Sheets by reading the Excel files with ODBC/JDBC, or with Excel libraries available on the Internet (Java, VB, .NET, PHP, etc.).
Graph production
From those dependencies, we can automatically generate dependency graphs using tools such as Graphviz – an open source graph visualization software – in the DOT language.
Here is a subset of the dependency graph for Customer Addresses – OIS002:
digraph g { CRS070 -> OIS002; CRS065 -> OIS002; OIS002 [label="Customer Addresses\nOIS002"]; CRS070 [label="Delivery method\nCRS070"]; CRS065 [label="Delivery terms\nCRS065"]; }
Visualization
We can visualize large graphs in an easy zoomable way with a tool like ZGRViewer.
Conclusion
Dependency graphs greatly facilitate the data conversion effort. We can generate them programmatically with a combination of tools including Lawson Smart Data Tool and the open source Graphviz.
That’s it!
Hi, very nice topic on the SmartData tool for people that are new with the tool, like me. Regarding the dependencies, you mention configuration sheets of the programs that come with the SmartData tool. I can’t find them in the tool. Are they delivered separately?
LikeLike