× 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.




Scott wrote:

<snip>
QDASOINIT are database server jobs. They aren't client programs written
in Java (what you said) they are server programs provided by IBM.

But I think I've figured out what you're referring to... The server
jobs are running in the default activation group, and your triggers are
written to run in *CALLER, so they also end up in the default activation
group.

You can't code a named activation group on the trigger itself in this
case, because that might cause a problem when the same trigger is
invoked by an ILE program in a "real" activation group that uses
commitment control... You want your trigger to run in the same
activation group when commitment control is active, because then any
records that the trigger updates/writes will be in the same commitment
scope.

So you pretty much have to code those triggers in *CALLER, which is
frustrating.

But any other routine called by the server job (besides a trigger) can
be coded with ACTGRP(SOMETHING) so you don't have to run in the DAG.

Your message makes it sound like this would be a frequent issue... but,
I don't know about you... but 99% of my work isn't trigger
programming... I do triggers from time to time, but they're not a major
part of my day. They're just an odd exception to the rule.
</snip>

This is good reason for IBM to provide us with 'QCMDLE'. Seems strange that we haven't got a ILE version of QCMD running in a non-default activation group such as QILE.

I say this because we still hear developers lament that 'my program works when I run it interactively but crashes when I run it in batch - its using activation group *CALLER, whats wrong!?'.
Then they find out their interactive job has an initial program running in a named activation group or called a program that does. Their batch job, however, is calling their program directly from QCMD which is running in the DAG! Their ILE-specific coding goodies then go bang in a big way.

Is QCMDLE not an easy thing to provide? You'd think it would be, shrug... Could we write our own request handler in an ILE langueag and replace QCMD in some of our batch jobs (using routing data/class definitions)?
Cheers

Larry Ducie

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.