× 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 think it is confusing that it doesn't behave the same, but not
necessarily WRONG. Jon Paris and Susan Gantner and a host of others have
been telling us for ten years or so to move away from the default
activation group. I think it only fitting and expected that new
utilities are going to run in a named activation group.

I think it is doubly confusing that QCMDEXC continues to run in the
default activation group. Why not make it run in *CALLER? According to
your logs, the new scheduler is using QCMDEXC to start your PGMA. As
PGMA is set as *CALLER, why doesn't it run in the default activation
group where QCMDEXC is running? The reason is that QCMDEXC is a system
utility that takes itself out of that picture and runs your command as
if it was being run by the program that called it. Again, work
management goes out of its way to make things run the way it thinks you
want them to run.

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Peter Dow
Sent: Wednesday, March 17, 2010 3:49 PM
To: Midrange Systems Technical Discussion
Subject: Re: Job schedulers and activation groups

Hi Dan,

Do you think it is correct that a job submitted from the old job
scheduler behaves differently than the exact same job submitted from the
advanced job scheduler?

*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
pdow@xxxxxxxxxxxxxxx <mailto:pdow@xxxxxxxxxxxxxxx> /

On 3/17/2010 1:09 PM, Dan Kimmel wrote:
Exactly as I would suspect. Do you know how hard job management has to

work to do that for you?

OVRSCOPE(*CALLLVL) sets the override for this program and anything
called by this program, recursively, (higher call levels) but removes
the override when this program returns ending the current call level
(returns to a lower call level). By this, the override is perpetuated
to any activation group created by any of those calls. Even when this
program ends, the overrides on the created activation group will
persist.

Note that the default for OVRSCOPE is different for the default
activation group. In default activation group, the default is
*CALLLVL, otherwise the override affects only the activation group.

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Peter Dow
Sent: Wednesday, March 17, 2010 1:59 PM
To: Midrange Systems Technical Discussion
Subject: Job schedulers and activation groups

Hi Everyone,

For those who might be interested in this topic, I've been discussing
it with Mark Waterbury offline, and came up with the following test
programs and results:

PGMA -- compiled with ACTGRP(*CALLER)
PGM
OVRPRTF FILE(QSYSPRT) SPLFNAME(PGMA_PRTF)
OVRPRTF FILE(QPDSPJOB) SPLFNAME(PGMB_JOB)
CALL PGM(PGMB)
DLTOVR FILE(QSYSPRT)
DLTOVR FILE(QPDSPJOB)
ENDPGM

PGMB -- compiled with ACTGRP(*NEW)
h option(*nodebugio: *srcstmt)
h dftactgrp(*no) actgrp(*new)
h debug
fQSYSPRT o f 132 printer
c eval *inLR = *on
c eval Cmd = 'DSPJOB OUTPUT(*PRINT)
OPTION(*PGMSTK)'
c call 'QCMDEXC'
c parm Cmd 64
c parm 64 CmdLen 15 5
oQSYSPRT t LR 1 2
o 63 'TEST OVERRIDES'

Then for the old job scheduler (WRKJOBSCDE):

ADDJOBSCDE JOB(TESTPGMA)
CMD(CALL PGM(PGMA))
FRQ(*ONCE)
SCDDATE(*CURRENT)
SCDTIME(*CURRENT)
SAVE(*YES)
JOBD(*LIBL/CMC)

And for the advanced job scheduler (WRKJOBJS):

ADDJOBJS JOB(TESTPGMB)
SCDCDE(*ONCE)
TIME(0850)
CMD(CALL PGM(PGMA))
JOBD(*LIBL/CMC)

And for job TESTPGMA the spool files generated are:

Device or Total
File Queue User Data Status Pages
PGMA_PRTF CMCDAYEND PGMB RDY 1
PGMB_JOB CMCDAYEND RDY 1
QPJOBLOG QEZJOBLOG TESTPGMA RDY 2

Notice that the overrides took effect -- the spool files are renamed.

And here's the contents of the DSPJOB spool file:

5722SS1 V5R4M0 060210 Work with
Job 3/17/10 8:44:54
Page
1
Job . . . : TESTPGMA User . . . : PDOW Number . . . .
: 340739
Job Call Stack
Thread . : 00000230

Module or Ctl
Type Program Statement Identifiers Instruction
Activation Group Expanded Type Bdy
1 QCMD QSYS
01C7
*DFTACTGRP 0000000000000001 Y
PGMA HS#LIBR
*DFTACTGRP 0000000000000002 PGMA QTEMP Y
Procedure: _CL_PEP
PGMA HS#LIBR 400
*DFTACTGRP 0000000000000002 PGMA QTEMP N
Procedure: PGMA
PGMB HS#LIBR
*NEW 0000000000000011 PGMB QTEMP Y
Procedure: _QRNP_PEP_PGMB
PGMB HS#LIBR 700
*NEW 0000000000000011 PGMB QTEMP N
Procedure: PGMB
QCMDEXC QSYS
012F
*DFTACTGRP 0000000000000001 N

And for job TESTPGMB the spool files are:

Device or Total
File Queue User Data Status Pages
QSYSPRT CMCDAYEND PGMB RDY 1
QPDSPJOB CMCDAYEND RDY 1
QPJOBLOG QEZJOBLOG TESTPGMB RDY 2

Notice that the spool files were NOT renamed, and that QIJSCEC starts
a *NEW activation group.

And the contents of the DSPJOB spool file:

5722SS1 V5R4M0 060210 Work with
Job 3/17/10 8:48:01
Page
1
Job . . . : TESTPGMB User . . . : QIJS Number . . . .
: 340740
Job Call Stack
Thread . : 0000010F

Module or Ctl
Type Program Statement Identifiers Instruction
Activation Group Expanded Type Bdy
1 QCMD QSYS
01C7
*DFTACTGRP 0000000000000001 Y
QIJSCRUN QIJS
*DFTACTGRP 0000000000000002 QIJSCRUN QTEMP Y
Procedure: _CL_PEP
QIJSCRUN QIJS 18000
*DFTACTGRP 0000000000000002 QIJSCRUN QTEMP N
Procedure: QIJSCRUN
QIJSRRUN QIJS
*DFTACTGRP 0000000000000002 QIJSRRUN QTEMP N
Procedure: _QRNP_PEP_QIJSRRUN
QIJSRRUN QIJS 75600
*DFTACTGRP 0000000000000002 QIJSRRUN QTEMP N
Procedure: QIJSRRUN
QIJSCEC QIJS
*NEW 0000000000000012 QIJSCEC QIJSMOD Y
Procedure: _CL_PEP
QIJSCEC QIJS 43100
*NEW 0000000000000012 QIJSCEC QIJSMOD N
QCMDEXC QSYS
012F
*DFTACTGRP 0000000000000001 N
PGMA HS#LIBR
*NEW 0000000000000012 PGMA QTEMP Y
Procedure: _CL_PEP
PGMA HS#LIBR 400
*NEW 0000000000000012 PGMA QTEMP N
Procedure: PGMA
PGMB HS#LIBR
*NEW 0000000000000014 PGMB QTEMP Y
Procedure: _QRNP_PEP_PGMB
PGMB HS#LIBR 700
*NEW 0000000000000014 PGMB QTEMP N
Procedure: PGMB
QCMDEXC QSYS
012F
*DFTACTGRP 0000000000000001 N

And here's what happens when I added OVRSCOPE(*CALLLVL) to just the
QSYSPRT override in PgmA:

OVRPRTF FILE(QSYSPRT) SPLFNAME(PGMA_PRTF) +
OVRSCOPE(*CALLLVL)

and recompiled it with ACTGRP(*CALLER) just as before, and run it from

the advanced job scheduler. Now the spool files are:

Device or Total
File Queue User Data Status Pages
PGMA_PRTF CMCDAYEND PGMB RDY 1
QPDSPJOB CMCDAYEND RDY 1
QPJOBLOG QEZJOBLOG TESTPGMB RDY 4

Note that QSYSPRT got renamed as PGMA_PRTF, but QPDSPJOB did not get
renamed.

And here are the contents of the DSPJOB spool file:

5722SS1 V5R4M0 060210 Work with
Job 3/17/10 9:17:01
Page
Job . . . : TESTPGMB User . . . : PDOW Number . . . .
: 340770
Job Call Stack
Thread . : 000002C9

Module or Ctl
Type Program Statement Identifiers Instruction
Activation Group Expanded Type Bdy
1 QCMD QSYS
01C7
*DFTACTGRP 0000000000000001 Y
QIJSCRUN QIJS
*DFTACTGRP 0000000000000002 QIJSCRUN QTEMP Y
Procedure: _CL_PEP
QIJSCRUN QIJS 18000
*DFTACTGRP 0000000000000002 QIJSCRUN QTEMP N
Procedure: QIJSCRUN
QIJSRRUN QIJS
*DFTACTGRP 0000000000000002 QIJSRRUN QTEMP N
Procedure: _QRNP_PEP_QIJSRRUN
QIJSRRUN QIJS 75600
*DFTACTGRP 0000000000000002 QIJSRRUN QTEMP N
Procedure: QIJSRRUN
QIJSCEC QIJS
*NEW 0000000000000012 QIJSCEC QIJSMOD Y
Procedure: _CL_PEP
QIJSCEC QIJS 43100
*NEW 0000000000000012 QIJSCEC QIJSMOD N
Procedure: QIJSCEC
QCMDEXC QSYS
012F
*DFTACTGRP 0000000000000001 N
PGMA HS#LIBR
*NEW 0000000000000012 PGMA HS#LIBR Y
Procedure: _CL_PEP
PGMA HS#LIBR 500
*NEW 0000000000000012 PGMA HS#LIBR N
Procedure: PGMA
PGMB HS#LIBR
*NEW 0000000000000014 PGMB QTEMP Y
Procedure: _QRNP_PEP_PGMB
PGMB HS#LIBR 700
*NEW 0000000000000014 PGMB QTEMP N
Procedure: PGMB
QCMDEXC QSYS
012F
*DFTACTGRP 0000000000000001 N
* * * * * E N D O F L I S T I N G * * *

*
*

And that happened with PGMA and PGMB are in different activation
groups
(12 and 14 respectively).

*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
pdow@xxxxxxxxxxxxxxx<mailto:pdow@xxxxxxxxxxxxxxx> /

--
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,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/midrange-l.




--
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,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.