Do it asynchronously using MQ Series.
Set up a database trigger that will add a message to an "e-mail queue" using Syncpoint control when
commitment control is active.
Set up your "e-mail queue" with a trigger to start a program that will send the e-mail whenever a
message hits the queue. Or use a never ending program to wait for a message to hit the queue.
Under sync point control an uncommitted message cannot be read from the queue, so the e-mail will not
be sent until the transaction is successfully committed.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Tuesday, June 10, 2008 11:30 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: Trigger programme without a trigger.
Here is an actual scenario:
I work for a paging company. We have a few applications that allow user
to add/remove/change "Carbon Copy to email address" feature on any
pager. When this feature is added to a pager, all messages sent to this
pager will get "Carbon Copy" to the email address specified. Everything
works fine.
6 months later, business unit requests IT to modify system to start
sending a message to the pager when a "Carbon Copy To Emaill Address"
feature is added/removed/update on the pager. The catch all solution
for this request is to add a trigger to the "Carbon Copy To" file. When
a record is added/updated/changed, this new trigger program will fires
an email to the pager to notify customer about the change. Some of
those applications that maintains the "Carbon Copy To" file
updates/adds/changes this file under commitment control. How should you
write this trigger to make sure that trigger only fires the email after
the changes is committed?
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of David Gibbs
Sent: Tuesday, June 10, 2008 9:20 AM
To: RPG programming on the AS400 / iSeries
Subject: Re: Trigger programme without a trigger.
Lim Hock-Chai wrote:
Yes, trigger should run under the same commitment definition as the
caller program. That is a given. The problem is what if you need the
trigger to do a task that cannot run under commitment control? For
example, send an email under certain condition, submit a job under
certain condition...
What task can't run under commitment control? (IMO) Sending an email or
submitting a job doesn't seem to have any relation to whether or not
commitment control is active.
david
--
IBM System i - For when you can't afford to be out of business
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.