× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I have written a few very small applications using commitment control,
involving at most 3-4 tables/files. Most shops that I have worked for do
not use commitment control because when the applications become big, they
get so many issues, especially when devs don't manage properly the concept,
and for example, they COMMIT changes deep in the call stack and when an
error is detected so that they want to ROLLBACK they find that many changes
were already made and were permanently stored. Then they give up and stop
using it.

Commitment control "is good at first" for small applications, i.e., a
program that posts to a master transactional file. When it's only one
program, it is very easy. You get input, validate it, and if everything is
OK you COMMIT and return success, otherwise you ROLLBACK and return an
error. When the application becomes bigger and uses more and more tables,
the design has to be very careful. But the concepts of activation groups
had to be known before that, and try to use either the default QILE AG when
you only specify DFTACTGRP(*NO) in your programs, or use your own one. A
name that suggests an application, say, MSTTRNAG. The other very important
thing to understand is that CC requires all tables involved to be
journaled. If not, you will get an exception when starting the program.

Before SQLRPGLE programs, you had to use the STRCMTCTL command to set the
starting control point for your application. Run your program, and again,
validate, and if OK use OPCODE COMMIT or ROLLBACK. When your application
must go down, you need to use the ENDCMTCTL command and clean up all that
was used. It was a bit difficult to manage. If another dev doesn't know
your program is using commitment control and tries to use it alone, it'll
crash.

With SQLRPGLE programs, the easiest way to do this is specifying
COMMIT(*CHG) in the CRTSQLRPI command to compile your program or module.
When the program starts, it also starts the main control point for
commitment. Then you MUST make sure that you safely issue either a COMMIT
or a ROLLBACK in the program. When the program ends, this control point
also ends. *CHG is easy, but not the only one. Depending on your design,
you may have unintended results, and you may have to use another option.

IBM has quite a few manuals for CC. I has to read them, but they are a bit
difficult to follow.

Javier



El jue, 25 jul 2024 a las 19:24, Jay Vaughn (<jeffersonvaughn@xxxxxxxxx>)
escribió:

Javier.

That is great about actgrp’s.
Thx.

What do you know about commit control and. activation groups?

Maybe fir the sake of example you could imaging that *New is New (named :)

Thx

Jay

On Jul 25, 2024, at 9:09 PM, Mark Waterbury <
mark.s.waterbury@xxxxxxxxxxxxx> wrote:

Alan,

I found a copy of "The Seven Deadly Sins of ILE" here:


https://andabe.altervista.org/ILE/07.08.The-Seven-Deadly-Sins-of-ILE.pdf

Also, this presentation covers it all more thoroughly:

https://www.gomitec.com/Forms/GantnerILEEssentials.pdf

All the best,

Mark S. Waterbury


On Thursday, July 25, 2024 at 08:55:25 PM EDT, Alan Campin <
alan0307d@xxxxxxxxx> wrote:

Do you have a copy of The 7 Deadly Sins of ILE"? I have been looking for
one for years.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.