Cool - that's what I remember. No need for explicit commits in the RPG.

On 1/18/2013 2:41 PM, Charles Wilt wrote:
As soon as you add the COMMIT keyword to a file's f-specs, you are using
commitment control.

Now you'd either need to use the COMMIT op-code, or the COMMIT CL
command...otherwise ENDCMTCTL or the end of the job will do a rollback.


On Fri, Jan 18, 2013 at 3:24 PM, Vernon Hamberg <vhamberg@xxxxxxxxxxxxxxx>wrote:


This is what I remember - this article.

It seems to say you add the COMMIT keyword in your RPG. You STRCMTCTL in
a CL wrapper, then ENDCMTCTL after the call to the RPG returns.

But I didn't see anywhere about using a commit or rollback - is that
what you mean you "have to use it"?


On 1/18/2013 2:12 PM, Charles Wilt wrote:
Close, you turn it on but you actually have to use it...

The exact quote from Rick's paper:
Though most database and other write operations are asynchronous,
journal receiver write operations are usually synchronous to the issuing
job. This means the job is forced to wait (in the system’s disk I/O write
functions) for the I/O (write) to complete before it continues
The SLIC Journal functions can do the journal writes asynchronously if
job uses commitment control.

When commitment control is in effect, the database journal write
know that file integrity is required only at a commit boundary and not at
every record update/add/delete operation. Because of this, the database
journal writes are scheduled asynchronously. When a commit boundary is
reached, the database functions ensure that all pending database file I/O
is complete before continuing.

Lab tests show that using commitment control and journaling yields
performance almost equal to not using database journaling. If you use
journaling but not commitment control, a job can be *three to four times
slower* than when you don’t use journaling at all.

“But this means I have to change my code!” you say. True, but the cost of
the changes are minimal compared to the performance benefit. In the CL
program that calls the batch program, specify the files that use
control and open them. Start a commit cycle in the CL program before
calling the batch program. In the application program(s), change the file
description to specify that commitment control is in use. Once the
returns to the CL program, end the commit cycle to force any pending file
I/O to complete.

The version of the paper I have has a side bar by Larry Youngren taking
about what is now option 42...
The Batch Journal Caching PRPQ can help you avoid the problems and costs
associated with making application changes (such as adding commitment
control) to improve performance in batch environments.


On Fri, Jan 18, 2013 at 2:57 PM, Vernon Hamberg <
Maybe it's that you just turn on commitment control in a job, then never
actually commit or rollback anything. Then turn it off after you're

This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page