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



From: Kevin Bucknum

PGM A calls PGM B (does override via QCMDEXC) calls PGM C (uses
override)

Sometimes PGM A calls PGM B interactively, sometimes it submits PGM B.
IF A, B and C are in named activation groups (QILE in this case) every
thing works fine both ways. If B and C are *CALLER, it fails in batch
because of the scope and the fact that batch are running in *DFTACTGRP.
A always ends up in a named as it picks up an activation group off the
menu that calls it, so interactively *CALLER works. Unfortunately, we
don't have time to go and move all the QCMDEXC calls inline right now,
so everything is staying compiled into QILE.

I can see two possible ways around this specific issue. First, you could
submit a call to a program (program Z?) whose job is to set the activation
group and then all program B. Programs would no longer submit B, they would
submit Z to call B. Depending on how you pass parameters to B, this could
be relatively easy or something of a nightmare.

Second, and this is just a blue sky idea, I wonder if you couldn't adttack
the root of the problem somehow. The problem is that submitted jobs by
default run in DFTACTGRP. That's because the routing step invokes QCMD, and
QCMD is an OPM program.

It wouldn't be impossible to write your own ILE version of QCMD and have it
as the initial routing step entry for a given subsystem. It would analyze
the request data on the submit from program A and call program B. Again,
though, a lot would depend on how many different types of calls to program B
you had.

The problem here is that batch jobs are by default OPM jobs. It seems to me
that the best answer would be to have an option to submit ILE jobs. This
would require a QCMD that works in an activation group (QCMDILE), and a way
to change the activation group for a program (perhaps in the CHGPGM
command). Then we could duplicate QCMDILE for whichever activation groups
we needed and change the activation group attribute.

Which begs the question: why do you have to assign the activation group at
compile time? It seems to me that, at least for named activation groups,
there's very little difference between a program compiled with ACTGRP(QILE)
or ACTGRP(JOE).

Joe



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.