March 2005

The LawsonGuru Letter is a free periodic newsletter containing provocative commentary about issues important to the Lawson Software community.  The LawsonGuru Letter is published by-and is solely the opinion of-John Henley of Decision Analytics.  Visit Decision Analytics at  For subscription information, see the bottom of this message.
The LawsonGuru Letter is not affiliated with Lawson Software.

In this issue:
1. Guest Spot: ProcessFlow — Out-of-the-box or outside-the-box?
2. Reporting, Part 10: Combining Lawson OLE DB Queries in Crystal
3. Reader Feedback
4. Worthwhile Reading
5. Lawson Tips & Tricks

This month I'm excited to present a new Guest Spot author--David Williams from Paradigm Business Solutions--who shares some of his experiences with extending ProcessFlow.  Remember, you too can have your "15 minutes of fame" by submitting your own Guest Spot article-email it to me at

1. Guest Spot: ProcessFlow — Out-of-the-box or outside-the-box?
(by David Williams, Paradigm Business Solutions)
Is the ProcessFlow solution you need out of the box or outside the box? Lawson provides solutions, like Requisition Approval, but what if you want something that's not included with ProcessFlow? Lawson's documentation may not give you a lot of details on how, but you can create your own custom solutions.
oCatValue and Category Filters

Did you know you can define the oCatValue variable on the Start node and override Lawson's standard category filter value? Let's say you don't want to use requesting locations for your requisition approvals. Define the variable and assign whatever value you want to it and then set up your WF12 Task filters on that value. This is also how you assign the category filter when you create your own custom ProcessFlow.

Custom Triggers

Lawson provides a sample basic custom trigger in their documentation; however they suggest putting the code within a user exit. This doesn't always work and the code may have to be inserted within the procedure division. The down side to this is that when you apply a CTP you may have to re-insert your trigger code.
HTML Summary Screens

Lawson is kind enough to provide several summary .htm files which are referenced in the User Action and displayed in the Inbasket. If you're not intimidated by the JavaScript or DME calls, you can easily revise or create the summary screens of your choice for journal entry approvals, purchase order approvals, etc.

WF12 Tasks - send different approvals to the same approver task
If you're creating a flow for requisition approval and invoice approval can you imagine that you'd want these to follow the same approval path? You're not required to set up two different tasks for each approver. If you use the same category filter you can reference the same task name from your different flows and your approvers won't have to open multiple tasks within their Inbasket.
User Action Work Title
A neat little trick, especially if you decide to send different approvals to the same approver task, is that you can reference variables within the work title of the User Action. Instead of seeing "Requisition Approval" as the work object title in the Inbasket, your approver can see "Requisition for Location Storeroom" or "Requisition Number 0001234" which makes it easier for them to prioritize their tasks.


This isn't the end all of possible customizations. In fact, your imagination is the only limitation standing in the way of your creating all kinds of "outside the box" ProcessFlow solutions for your company.

2. Reporting, Part 10: Combining Lawson OLE DB Queries in Crystal
Over the past several months we’ve looked at various reporting options for Lawson, including using Lawson’s OLE DB Provider with Crystal Reports (see The Lawson OLE DB Provider can be purchased separately, or comes bundled as part of Lawson Enterprise Reporting, Lawson Reporting Services, or Lawson Reporting Suite (for more on the differences between those products, see
Generally, I advocate using your native OLE DB/ODBC database provider when you have well-defined reporting needs, want better control over a query, and when speed is a concern. But, more and more, I’m using the Lawson OLE DB Provider, particularly for accessing Payroll/HR. The reason: Built-in security.
Security & the Lawson OLE DB Provider
Recall that the Lawson OLE DB Provider connects to the Lawson application data via DME, which means that—behind the scenes—Lawson is using IOS authentication; this authentication happens when populating and/or refreshing report data:

And that means that when using DME to query the Lawson database, IOS and LAUA security is enforced. In addition to the LAUA security, data is also filtered by IOS based on 1 of 6 different WEBUSER (RD30) settings: Company, Customer, Employee, Buyer, Requester, and/or Vendor.
Combining Lawson OLE DB Queries
So, if the Lawson OLE DB provider handles security, and query speed isn’t that much of an issue, what’s not to like? Well, within a given query, the Lawson OLE DB Provider can only return data from tables that have a relationship defined within the Lawson application metadata repository. In other words, the relationships can only be one layer deep. Which means that you can’t link from ACTRANS to PRTIME to EMPLOYEE. Or, perhaps, from EMPLOYEE to DEPTCODE to GLNAMES.
But, why can’t you? The key concept here is “within a given query”. There is nothing to prevent you from combining multiple queries to create a report.
A Real-World Example
To demonstrate the ability to combine two (or more, if necessary) queries together, consider this example (it may seem contrived, but this was indeed an actual requirement—however I’m showing it with Lawson’s sample data).
The HR department wants to produce an employee roster, showing the employees in each department:

So far this is a fairly simple report, which can be handled with a single query:

Then the requirements change—the new VP of Human Resources decides that the report should be sorted/grouped by Accounting Unit. But, not the employee’s Accounting Unit—the Accounting Unit which is assigned to the employee’s Department. Oh yeah, and show the description for the Accounting Unit, too. Uh oh--that could be a problem. That’s a relationship between three tables: EMPLOYEE to DEPARTMENT to GLNAMES (to get the description).
How to solve it? Create two queries that use the Lawson OLE DB Provider. The first query returns the employee information, and the related department information (including the Department’s Accounting Unit); the second query returns the Accounting Unit Description. Use Crystal’s Database Expert to link them together:

Make sure you specify a “left outer join” between the two queries, with the Employee information on the “left” side. That way, the employee information will “drive” the “right” side, and Crystal will only join the Accounting Units that match the ones to which employees are assigned.
Once you close the Database Expert, you’ll be warned that you’re using multiple datasources; since that’s what you want to do, click OK:

At this point, you can complete your report design, and you look like the hero!

Built-in security makes Lawson’s OLE DB Provider a compelling choice for producing Crystal reports. Combining multiple Lawson OLE DB queries to produce a unified report adds even more power to its possibilities.

“The ultimate measure of a man is not where he stands in moments of comfort and convenience, but where he stands at times of challenge and controversy.”
- Martin Luther King, Jr.
3. Reader Feedback

Send your comments to

“I'd like to know if you plan on being at CUE 2005?!”

The answer, sadly, is still no. 
Lawson continues to stand by its decision to offer attendance only to clients and partners.  For the whole story, see "Why I Can't Go to CUE" in the January 2004 issue of The LawsonGuru Letter at

Some comments on the February 2005 issue

“Just finished reading the latest installment of The LawsonGuru Letter. I particularly enjoyed the Worthwhile Reading section, especially the Madeline Albright negotiating article (and I am not a Democrat!!).”

On the "Guest Spot: Using VNC with Lawson":

“FYI, re VNC ... 'screen' is a tool to setup on UNIX servers where your telnet session can be started and disconnected (keeps running) and you can reconnect later to check up on the process. This is useful for console programs.”

Comments on "Lawson's Road Ahead: Smooth Ride or Rocky Terrain?":

“Your article 'Lawson's Road Ahead: Smooth Ride or Rocky Terrain?' was very insightful. Oracle and SAP have "street cred". While they may be more expensive, there's no penalty to EBITDA since ERP projects are amortized anyway. If you were hunting for a CFO job in today's market, which would you rather claim: "I've implemented Oracle", or "I've implemented Lawson"? It's just a reflection of the short term obsession in this market. Maybe Lawson should target more private business owners who are more concerned about a healthy balance sheet.”

“Definitely rocky terrain.
In my experience, Lawson does a very good job selling the product but has done less well at delivering customer satisfaction.
They have flattened their consulting organization and are attempting to upgrade the quality of that organization but the large deals that remain are limited in in the verticals where they have their strength so not sure how they can keep these people busy and provide career paths. This move and the lack of large opportunities will accelerate the larger consulting organizations transitioning their staff away from Lawson and into other service lines they find more strategic.
At recent prices Lawson has a market cap in the neighborhood of $640M; the ERP space will see additional consolidation; JDE had a traditional strength in manufacturing and life sciences--not segments that Lawson addresses well (without complementary best of breed applications); given the relative dearth of large, new, opportunities the market is increasingly about maintenance fees and pundits are underestimating how much Oracle will value that revenue stream (and work to keep it) and SAP is obviously going after it aggressively, Lawson does not have the heft to compete for these customers. Lawson will continue to win deals in it's vertical strengths, sell add on products to it's existing customers, but will be increasingly marginalized and may well become an acquisition target itself should someone desire to buy Lawson's maintenance fees, customer base, or market share in healthcare.”

“If we could set the clock back to the pre-IPO days of Richard and Bill (Lawson), that would be the best.
If Wall Street burps--we reorg.
If Wall Street sneezes--we mention a new product.
If Wall Street stares--we buy a new piece or product to fill in a gap.
If Wall Street looks extremely close--we let people go.
Bottom Line,
Bottom Line,
Bottom Line,
Bottom Line,
Bottom Line.
Now we are trying to be a Top Four Consulting Company as well....
What next? Put udders on the doors and call us a cow? Slap some mud on the walls and call us a pig? Lord only knows.”

4. Worthwhile Reading
Oracle's Customer Crusade
Company outlines ambitious program to develop a suite of merged software.
Information Week, January 24, 2005
Falling Flat?
Coca-Cola's largest bottler joined forces with SAP to develop a better way of getting bottles and cans into stores. But the project may be losing its fizz.
Baseline Magazine, January 2005,1397,1751541,00.asp
Future Shock?
Peoplesoft customers wonder whether they will get stroked or shafted by Oracle
Baseline Magazine, January 2005,1397,1751661,00.asp
Agile To The Bone
Service-oriented architecture lets you respond quickly to demands for new and improved processes.
Intelligent Enterprise, February 2005
Sensors Everywhere
A 'bucket brigade' of tiny, wirelessly networked sensors someday may be able to track anything, anytime, anywhere.
Information Week, January 24, 2005
5. Lawson Tips & Tricks
Share your tips. Send them to

Use the 'tmcontrol' utility after changing HR setup data

Part of the Lawson architecture is LATM (Lawson Transaction Monitor). One of LATM's responsibilities is to maximize system resource utilization by "pooling" application programs. 

In other words, if 5 users open a given form, such as HR11, LATM really only loads one copy of the program into memory, and "pools" it amongst the 5 users.  There are some interesting side-effects of this pooling, which you'll see if you change HR setup data.  LATM is holding everything that it needed to display the blank HR11 form; the user's LAUA security profile, the HR09 profile, and HR10 attributes (Update PA action, Required, History, Security Level). For example, when a user accesses HR11 for the first time in the morning, the program loads the user's security profile. If the user transfers to another form, and then back to HR11, the user's security profile does not need to be re-accessed.

So, if changes are made to the underlying setup data during the time a given HR11 form is "pooled" in memory, those changes will not take effect until the "pool" is emptied, and the HR11 form is re-loaded into memory by LATM.  So, if you need to "force" the HR11 form to be re-loaded into memory after making an HR09 or HR10 change, the easiest way to do it is with the 'tmcontrol' utility:

$ tmcontrol -rp <prodline> <form token>


$ tmcontrol -rp prod hr11

Note: This tip is derived from an article in the Lawson Knowledge Base.

The LawsonGuru Letter is a free periodic newsletter providing provocative commentary on issues important to the Lawson Software community. The LawsonGuru Letter is published by--and is solely the opinion of--John Henley of Decision Analytics. Visit Decision Analytics at
To subscribe, visit
Copyright © 2005, Decision Analytics. All rights reserved.

Please share The LawsonGuru Letter in whole or in part as long as copyright and attribution are always included.
Decision Analytics is an independent consultancy, focusing on Lawson technical projects, and specializing in customization/modification, data conversion, and integration/interfaces. Please visit for more information.
Decision Analytics. Integrating Lawson with the Real World.