|
|
The LawsonGuru Letter
|
 |
|
|
|
|
 |
June 2006
|
 |
| |
|
|
|
| |
In this issue:
1. Guest Spot: Leveraging User Exits
2. Reader Feedback
3. Worthwhile Reading
4. Lawson Tips & Tricks
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
http://www.danalytics.com. For subscription information, see the
bottom of this message.
The LawsonGuru Letter is not affiliated with Lawson Software.
Welcome to Jim Landry from L.L. Bean, who joins us for this month's Guest
Spot. Thanks Jim! |
|
|
| |
|
|
|
| |
1. Guest Spot: Leveraging User Exits |
 |
|
| |
(by Jim
Landry, L.L.Bean) |
|
|
| |
|
|
|
| |
Summary Our business creates many of our own reports that
require consistent formatting; we can do this by making
sure that the data goes into our Lawson database in a
clean and consistent manner. In order to accomplish
this, we have implemented a number of edits, which are
implemented via Lawson User Exits.
User Exits can be developed for Lawson on-line programs;
they are not available for batch programs. A User Exit
can be invoked at three points in the lifecycle of an
on-line transaction:
-
Beginning: After receiving transaction or form
data but before business logic or edit transactions
execute.
-
Middle: After business logic or transaction edits
are performed but before the database is updated.
-
End: After the database is updated, but before
results are displayed on form.
User Exits are rather elegant in that they remain
outside the Lawson source code base, yet they are
invoked automatically (only if they exist, of course).
The only caveat is that you sometimes have to re-compile
the user exit each time you install an MSP or CTP.
User Exit Sample
The logic in this simple User Exit can be used in PR12,
HR20, HR11, etc., wherever there is a telephone number
over which you want to enforce formation validation. It
validates the formation to be "(aaa) eee-bbbb", where
a = area code
e = Exchange
b = Branch
In addition to creating the PD and WS source code files,
you will need to add the error message via msgmnt, and
compile the User Exit via the –u option:
qcompile -u <productline> PA
PA12M
User Exit Source Code
| |
***************************************************************
** PA12MWS WORKING STORAGE FOR PA12MPD
USER EXIT
***************************************************************
01 PA12MWS-WORKING-STORAGE.
***************************************************************
05 WS-PA12MWS-VERSION PIC
X(20) VALUE
"PA12M VERSION 1.0.0".
05 WS-SPACES PIC
X(15) VALUE SPACES.
05 WS-PHONE.
10 WS-PAREN1 PIC
X(01).
88
VALID-PAREN1 VALUE "(".
10 WS-AC PIC
9(03).
88
VALID-AC VALUE 001
THRU 999.
10 WS-PAREN2 PIC
X(01).
88
VALID-PAREN2 VALUE ")".
10 WS-SPACE1 PIC
X(01).
88
VALID-SPACE1 VALUE " ".
10 WS-EXCH PIC
9(03).
88 VALID-EXCH
VALUE 001
THRU
999.
10 WS-DASH PIC
X(01).
88
VALID-DASH VALUE "-".
10 WS-BRCH PIC
9(04).
88 VALID-BRCH
VALUE 0001
THRU 9999.
10 WS-SPACE2 PIC
X(01).
88
VALID-SPACE2 VALUE " ".
*************************************************************** |
|
| |
****************************************************************
PA12MS1-TRANSACTION SECTION.
****************************************************************
PA12MS1-START.
****************************************************************
IF ((NOT
PA12F1-PAE-WK-PHONE-NBR = WS-SPACES) AND
((NOT
PA12F1-PAE-WK-PHONE-NBR(1:1) = "(" ) OR
(NOT
PA12F1-PAE-WK-PHONE-NBR(2:3) NUMERIC) OR
(NOT
PA12F1-PAE-WK-PHONE-NBR(5:1) = ")" ) OR
(NOT
PA12F1-PAE-WK-PHONE-NBR(6:1) = " " ) OR
(NOT
PA12F1-PAE-WK-PHONE-NBR(7:3) NUMERIC) OR
(NOT
PA12F1-PAE-WK-PHONE-NBR(10:1) = "-" ) OR
(NOT
PA12F1-PAE-WK-PHONE-NBR(11:4) NUMERIC) OR
(NOT
PA12F1-PAE-WK-PHONE-NBR(15:1) = " " ))
)
MOVE 800
TO CRT-ERROR-NBR
MOVE PA12F1-PAE-WK-PHONE-NBR-FN
TO CRT-FIELD-NBR
GO TO PA12MS1-TRANSACTION-END
END-IF.
IF ((NOT
PA12F1-PAE-HM-PHONE-NBR = WS-SPACES) AND
((NOT
PA12F1-PAE-HM-PHONE-NBR(1:1) = "(" ) OR
(NOT
PA12F1-PAE-HM-PHONE-NBR(2:3) NUMERIC) OR
(NOT
PA12F1-PAE-HM-PHONE-NBR(5:1) = ")" ) OR
(NOT
PA12F1-PAE-HM-PHONE-NBR(6:1) = " " ) OR
(NOT
PA12F1-PAE-HM-PHONE-NBR(7:3) NUMERIC) OR
(NOT
PA12F1-PAE-HM-PHONE-NBR(10:1) = "-" ) OR
(NOT
PA12F1-PAE-HM-PHONE-NBR(11:4) NUMERIC) OR
(NOT
PA12F1-PAE-HM-PHONE-NBR(15:1) = " " ))
)
MOVE 800
TO CRT-ERROR-NBR
MOVE PA12F1-PAE-HM-PHONE-NBR-FN
TO CRT-FIELD-NBR
GO TO PA12MS1-TRANSACTION-END
END-IF.
****************************************************************
PA12MS1-TRANSACTION-END.
**************************************************************** |
One Final Advantage of User Exits
We chose to implement this edit as a User Exit
rather than to use Design Studio because, quite
simply, it was actually completed prior to the
release of Design Studio. However, implementing User
Exits vs. edits in Design Studio has an added
benefit: User Exits, since they are part of the
business logic, are invoked regardless of how the
form is used: LID, Portal, Excel uploads, AGS calls,
etc. By contrast, a Design Studio edit would only be
applied via Portal.
|
|
|
| |
|
|
|
| |
2. Reader Feedback |
 |
|
| |
|
|
|
| |
In last month's issue (see
http://www.danalytics.com/guru/letter/archive/2006-05.htm),
I shared my thoughts on CUE 2006. Here are some of yours: |
|
|
| |
|
|
|
| |
 |
“Some notes from CUE
from my own perspective. Don't know if you had heard or noticed this
stuff:
- Heard during CUE: Major grumbling among the vendors about the
split venue. It really cut down on foot traffic, so even though
attendance was up, vendors talked to less people. (I personally got
over to the Caribe Royale for only a few brief moments.)
-
In LSFS03 "Product Update: Web Services and SOA" Sunday 1:00-2:00
PM a number of Lawson managers were hanging around. The first time
somebody said something about Tomcat, the question was quashed
immediately with the comment something like, We have a session
coming up where you can ask that kind of question. So in that
session, LSFS02 "Focus Group: Lawson and Our Technical Platform
Strategy" Sunday 2:30-3:30 PM, which was supposed to be a feedback
session, the questions were tightly controlled. Nobody was allowed
to speak their own mind. Instead, the questions were focused on
Websphere and things like, What part of IBM do you like the most? My
buddy and I were waiting for the trouble to break out, but since
there was no opening made for open questions from the floor, nobody
could bring up the question about Tomcat being eliminated.
-
The Lawson Manifesto is dead. It started in March, when Harry
Debes recycled his letter of November 2005 and quoted a date of 400
days, even though the 500-day mark had been reached. It culminated
at CUE where the Lawson Manifesto was not mentioned once in print or
in person. After only 500 days, the Lawson Manifesto is gone.
Therefore, all the Lawson Manifesto ever was was --- a sales
gimmick. It looks like the phrase, "It's time", meant, like in an
English pub, It's time to clear out!”
|
|
|
|
 |
“I
had the same impression of Harry's speech that you reported in the
newsletter, that there was little new that was announced. (The
drums, BTW, may be a fashion in trade shoes. Spencer Katt's eWeek
column mentioned drums at another show.) I got the impression that
most of the audience missed the point of Gladwell's keynote. I have
heard it summarized as "use your gut" ; I would see it
rather as a
description of how informed, intuitive (Myers-Briggs N) people
make decisions. Myers-Briggs S types, who are most of the
population, wouldn't understand this, and would think of it as
simply using your gut. Gladwell also missed an opportunity to apply
his point about having about the right amount of information to what
we do in IT (instead of his insert-topical-reference-here mention of
deciding what software vendor to use). We are, after all, in the
role of providing information to decision makers.
The opening of the general session before Dean's speech included a
bit of unintentional humor. As the displays counted down to the
session start, Lawson played a song from the Chicago: "If you leave
me now, you'll take away the biggest part of me. No, baby, please
don't go." It's good to know that Lawson appreciates us so much, but
why are they worried that we will leave them? Fortunately for
Lawson, an informal survey suggests that I may be the only person
who caught this.
The key CUE take-aways that I reported to my manager were:
-
Lawson continues to build upon open standards in its
technology and is aware of, and plans to act on, important industry
trends. This mostly has benefits (staffing and training,
support for third-party tools, easier integration, etc.) but also
carries risks.
Specifically, Lawson plans to
expose everything as a web service in Landmark, and to make them
available as JSR 168 portlets (making it easier to integrate
with other applications, such as an enterprise portal).
Unfortunately, some of the applications most in need of updated
technology (such as ESS) are last on the list for refactoring.
I learned much more about the
Landmark development ecosystem. It's currently not as open to
extension as I would like (it has a pattern that allows custom
Java code to be incorporated in a program), but it seems like a
good start, and I'm glad that Eclipse is the engine that Lawson
chose for the development tools. To effectively use it will
require some rethinking of the development process (and not just
because of the claim that it will put development in the hands
of the business analysts, which I don't entirely believe).
I was pleased to see that the
sessions that I attended included a good number of people who
seemed to know something about the technologies and standards
that Lawson is building on, and were able to ask intelligent
questions. It's a completely unscientific survey, but it
reassures me that Lawson's clients will support them in the
changes that they want to make.”
|
|
|
|
 |
“I attended CUE and it was
good, I thought. This was my 4th CUE and I continue to feel
progressively better about Lawson. It seems like they are doing a
better job especially with the quality of their product. Hopefully
that will continue.” |
|
|
|
|
As always, you're always welcome to share your
thoughts--simply send me an email at
mailto:letter-comments@lawsonguru.com. |
|
|
|
| |
|
|
|
| |
3. Worthwhile Reading |
 |
|
| |
|
|
|
| |
Hamstrung By Defective Data
Business information that's redundant, outdated, or flat-out wrong trips up organizations
large and small--but there are fixes in the offing.
Information Week, May 8, 2006
http://www.informationweek.com/story/showArticle.jhtml?articleID=187200771
How to Keep the Web from Becoming a Trap
Smart companies are taking their transition from EDI to the Internet slowly—to keep IT costs down
and let suppliers’ and customers’ investments in technology catch up.
CIO Magazine, May 1, 2006
- QUOTE OF THE ISSUE –
“The secret of getting ahead is getting started.
The secret of getting started is breaking your
complex overwhelming tasks into small manageable
tasks, and then starting on the first one.”
-- Mark Twain
http://www.cio.com/archive/050106/internet.html
Zero to $1 billion
A new study shows that companies that spurt from saplings to giants tend to share the same seven traits.
Fortune Small Business, May 2006
http://money.cnn.com/2006/04/26/smbusiness/zerocover_fsbbillion_fsb/index.htm
How to Divorce Your Technology Vendor
When deciding whether to change vendors, avoid getting stung while considering legal liability,
service-level agreements, and support for soon-to-be legacy applications.
Infoworld, May 1, 2006
http://www.infoworld.com/reports/18SRvendor.html
|
|
|
| |
|
|
|
| |
4. Lawson Tips & Tricks
|
 |
|
| |
|
|
|
| |
Share your tips. Send them to
mailto:letter-tips@lawsonguru.com.
You can view Tips & Tricks from past issues on the
Tips & Tricks page on LawsonGuru.com
Exporting Lawson Portal Form Help
"I'm building a documentation database about our Lawson applications, and
I want to include some "form help" from various Lawson Portal forms. How do
I get it?"
There are two ways you can do it:
1. You can use the LID/character-mode tool userdoc to generate a
series of text files; you can script these commands and import the content into your
database:
$ userdoc <productline> AR AR09.1 > AR09.1.txt
2. You can also use the IOS utility objprop.exe to generate HTML
pages, which you can then import:
http://<yourwebserver>/cgi-lawson/objprop.exe?<PRODLINE>&AR09.1
You would then capture the HTML output into your database:
Lawson uses objprop.exe's &OUT=XML option--combined with XML Transformation
(XSLT)--to render the Lawson Portal "Form Help" pages.
|
|
|
| |
|
|
|
| |
© Copyright 2006, 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 reporting, customization/modification, data
conversion, and integration/interfaces. Please visit http://www.danalytics.com for more
information.
|
|
|
|