|
Exactly as I would suspect. Do you know how hard job management has to
work to do that for you?Page
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
101C7
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
*DFTACTGRP 0000000000000001 Y012F
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
*DFTACTGRP 0000000000000001 NPage
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
101C7
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
*DFTACTGRP 0000000000000001 Y012F
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
*DFTACTGRP 0000000000000001 N012F
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
*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:Page
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
Job . . . : TESTPGMB User . . . : PDOW Number . . . .01C7
: 340770
Job Call Stack
Thread . : 000002C9
Module or Ctl
Type Program Statement Identifiers Instruction
Activation Group Expanded Type Bdy
1 QCMD QSYS
*DFTACTGRP 0000000000000001 Y012F
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
*DFTACTGRP 0000000000000001 N012F
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
*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,http://archive.midrange.com/midrange-l.
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
--
As an Amazon Associate we earn from qualifying purchases.
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.