|
The commitment control is coming from a client job. I should have made that
clear. Client jobs run in a default activation group in a QDASOINIT job.
Commitment control did not work for the client program to roll back changes
in the trigger program unless it ran in the DAG group.
When you have an error in a trigger program, the only way that you signal
back to the caller is by throwing an exception message. When you throw back
an error and you are running in a named activation and that named activation
is not being used higher up the stack is destroys the named activation group
and the next time you try to call it you are not going to find the service
program because the activation group is gone.
You will have the same behavior if you have a program running in a named
activation group and it calls a service program running in a another named
activation group (Say QILE calling a service program running QSRVPGM). If
both are running in QILE and the error occurs or you simply signal an error
there is no problem but run them separate and boom.
All our programs are written 100% in modern RPG using ILE call models,
service programs and SQL.
If someone else has a better solution I would sure like to hear it.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.