AW: Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-27 Thread Peter Hunkeler
>Seriously, no one cited security as a "why" for this restriction.


Part of a proper system setup anc change management is to limit who can use the 
START command, possibly what he/she can START and for sure who can apply 
changes to JCL the JCL (procedure) libraries in discussion. If this JCL could 
be modified by content of personal libryries, this would undermine the above.


What hinders you to ask for the JCL (procedure) library to be added to IEFPDSI? 
Ask for it, expain your case.




--
Peter Hunkeler



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-26 Thread Shmuel Metz (Seymour J.)
In <004e01d01ae7$7de28870$79a79950$@mcn.org>, on 12/18/2014
   at 09:24 AM, Charles Mills  said:

>- You cannot use a JOB statement in a started PROC unless MSTJCL 
>DD IEFJOBS or IEFPDSI points to the PDS; mere inclusion in the 
>PARMLIB concatenation is not enough.

What are you trying to say? MSTJCLxx is in the PARMLIB concatenation,
but the JCL for a started job is in an IEFJOBS or IEFPDSI
concatenation defined in MSTJCLxx.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see  
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-26 Thread Shmuel Metz (Seymour J.)
In <06e101d01a60$3efa5480$bceefd80$@mcn.org>, on 12/17/2014
   at 05:16 PM, Charles Mills  said:

>I added a JOB statement and now I get an error on that also: IEFC019I
>MISPLACED JOB STATEMENT

What is in MSTJCLxx? Where is the job member? What are its contents?

>The documentation seems to me to be contradictory. 

How so?

>In System Commands under Start: " The job name for a given started
>task can be assigned based on a variety of inputs. ... 2. The job
>name specified on the JOB JCL statement within the member."

Note that it does *not* say "cataloged procedure".
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see  
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-25 Thread Shmuel Metz (Seymour J.)
In <0de6a9840123e547b061ac5b6765c0261753e...@exmb-05.ad.wsu.edu>, on
12/18/2014
   at 03:48 PM, "Gibney, Dave"  said:

>While I agree that IEFJOBS makes it clearer and works better, you 
>can place started job JCL in the MSTJCL PROCLIB.

Yes, you can place a job in IEFPDSI, but the Devil is in the details.

>but there should be no reason a properly define (sic) INSTREAM 
>PROC wouldn't work.

The key phrase is "properly defined"; just slapping a JOB stement in
front of a PROC statement is not good enough. You also need to add an
EXEC after the PEND.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see  
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-25 Thread Shmuel Metz (Seymour J.)
In <06d401d01a5e$a7a0b6c0$f6e22440$@mcn.org>, on 12/17/2014
   at 05:05 PM, Charles Mills  said:

>I just added a JCLLIB statement to a cataloged  procedure that I
>start with a Start command. I am getting IEFC019I MISPLACED JCLLIB
>STATEMENT. Should I infer that JCLLIB is not allowed in a started
>PROC,

Not quite; you should infer that JCLLIB is not allowed in a PROC at
all. Or RYFM, where it clearly says

 19.1.6  Location in the JCL

   A JCLLIB statement:

      Must appear after the JOB statement and before the first
   EXEC statement in the job.

If you think about it, the restriction is reasonable. Consider a job
with EXEC PROC=FOO, where FOO contains a JCLLIB with a concatenation
containing a member called FOO. Which FOO would you expect the system
to use?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see  
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-25 Thread Shmuel Metz (Seymour J.)
In <20141221173446.fd8ed08264703ad3452c5...@gmx.net>, on 12/21/2014
   at 05:34 PM, ibmmain  said:

>Nice summary, Peter. Do you happen to know who puts in //STARTING JOB
>... when MEMBER is only contained in the JES2 proclib concatenation
>and not in MSTJCL?

Presumably IEEVSTAR for START, but the processing is similar for,
e.g., LOGON, MOUNT. 

>I have a MEMBER that starts with a JOB statement in a proclib. As
>long as that proclib is in both MSTJCL and JES2 proclib concat, all
>is well.

So it works when you follow the rules.

>As soon as I remove the proclib containing MEMBER from MSTJCL, I get
>a //STARTING JOB ... in my JCL and of course a JCL error because my
>JCL already contains a JOB statement.

And it doesn't work when you don't follow the rules.

>I am assuming that it is JES2 that puts these extraneous two lines
>in.

No. The lines that *you* added were extraneous; a JES2 or JES3 proclib
concatenation is supposed to contain cataloged procedures, not jobs.

>I didn't even find the place where this behaviour is described.

What do the JE2 and JES3 initialization manusls say about proclib
concatenations?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see  
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-24 Thread Charles Mills
Agreed.

Peter's question was "why?" -- not "is it a good idea?" LOL

Seriously, no one cited security as a "why" for this restriction. And in my 
particular case, no one checks the change I make to the PROC, just that I am 
making one, so in this particular case there would be no real impact on 
security. (This is NOT a production machine. No salaries, no AR, no AP, no 
Credit Cards.)

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Walt Farrell
Sent: Wednesday, December 24, 2014 5:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

On Wed, 24 Dec 2014 04:55:19 -0800, Charles Mills  wrote:

>Briefly, I would like to add a JCLLIB/INCLUDE to a proc in the PROCLIB 
>concatenation. I have to go with my hat in my hand to the powers that 
>be to edit the PROCLIB. (No approval needed for the specific changes; 
>just to make any change.) If I could include (SET) statements from my 
>own PDS my life would be easier. I cannot because of the restrictions 
>we have discussed here.

Yes, your life would be easier. And your system security would suffer.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-24 Thread Walt Farrell
On Wed, 24 Dec 2014 04:55:19 -0800, Charles Mills  wrote:

>Briefly, I would like to add a JCLLIB/INCLUDE to a proc in the PROCLIB
>concatenation. I have to go with my hat in my hand to the powers that be to
>edit the PROCLIB. (No approval needed for the specific changes; just to make
>any change.) If I could include (SET) statements from my own PDS my life
>would be easier. I cannot because of the restrictions we have discussed
>here.

Yes, your life would be easier. And your system security would suffer.

-- 
Walt

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-24 Thread John McKown
On Wed, Dec 24, 2014 at 6:55 AM, Charles Mills  wrote:

> Briefly, I would like to add a JCLLIB/INCLUDE to a proc in the PROCLIB
> concatenation. I have to go with my hat in my hand to the powers that be to
> edit the PROCLIB. (No approval needed for the specific changes; just to
> make
> any change.) If I could include (SET) statements from my own PDS my life
> would be easier. I cannot because of the restrictions we have discussed
> here.
>
> Charles


​I understand what you want and why. However, your real problem is not
technical but managerial. In effect, management has said "no changes
without authorization" and you _appear to me_ to be trying to figure out a
way to effectively bypass this rule. Naughty, naughty! You will find some
pseudo-coal in your stocking in the morning (Santa is doing his part to
address "climate change" by substituting black coal-like rocks for real
"evil" coal, due to pressure from environmental groups and the a threat of
an EPA lawsuit. ).​


 --
​
While a transcendent vocabulary is laudable, one must be eternally careful
so that the calculated objective of communication does not become ensconced
in obscurity.  In other words, eschew obfuscation.

111,111,111 x 111,111,111 = 12,345,678,987,654,321

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-24 Thread Charles Mills
Briefly, I would like to add a JCLLIB/INCLUDE to a proc in the PROCLIB
concatenation. I have to go with my hat in my hand to the powers that be to
edit the PROCLIB. (No approval needed for the specific changes; just to make
any change.) If I could include (SET) statements from my own PDS my life
would be easier. I cannot because of the restrictions we have discussed
here.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Peter Hunkeler
Sent: Tuesday, December 23, 2014 4:20 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: AW: Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

> If we could solve your problem we could also solve mine presumably. 
 
Sorry, Charles, I've lost track of what you initial problem was. Would you
like to reiterate?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


AW: Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-23 Thread Peter Hunkeler
> If we could solve your problem we could also solve mine presumably.

Sorry, Charles, I've lost track of what you initial problem was. Would you like 
to reiterate?


--
Peter Hunkeler



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


AW: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-23 Thread Peter Hunkeler
> Nice summary, Peter.


Thanks


> Do you happen to know who puts in //STARTING JOB ... when MEMBER is only 
> contained in the JES2 proclib concatenation and not in MSTJCL?


You probably mean //STARTING EXEC ... not //STARTING JOB, do you?
Well, again, I can only tell from what is my understanding and experience. I 
don't have insight into the code. That said, I think this is just the way the 
start command processor builds the EXEC statement. Why does it matter?




> I have a MEMBER that starts with a JOB statement in a proclib. As long as 
> that proclib is in both MSTJCL and JES2 proclib concat, all is well. As soon 
> as I remove the proclib containing MEMBER from MSTJCL, I get a //STARTING JOB 
> ... in my JCL and of course a JCL error because my JCL already contains a JOB 
> statement. MEMBER is started task JCL and gets started either using ASCRE or 
> a regular START command.


I tried to describe that "jobs" are supported only if they are present in 
either IEFJOBS or IEFPDSI of MSTJCLxx. This is true even if the job is to be 
started under a JES. The START command processor reads the JCL from IEFJOBS or 
IEFPDSI and "submits" it.


Suppose such a job is "complete", i.e. it does *not* reference any PROCs nor 
does it have any INCLUDE to resolve. In this case no further lookup neither in 
IEFPDSI nor in PROCxx is due.


On the other hand, *if* a lookup is required to resolve either a PROC or an 
INCLUDE, then either IEFPDSI *or* PROCxx will be searched, depending on whether 
the job runs under MSTR or JESx, resp.


> I am assuming that it is JES2 that puts these extraneous two lines in.


No, as I wrote, it is the START command processor that builds these two 
statements. It is my understanding that the way those statements are build is 
not different whether they're gonna be sent to the MSTR or to a JESx subsystem.


--
Peter Hunkeler



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: //STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-21 Thread Charles Mills
Barbara, Peter says "the JOB and EXEC statements are built by the START
command processor."

If we could solve your problem we could also solve mine presumably.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of ibmmain
Sent: Sunday, December 21, 2014 8:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: //STARTING JOB ... was: Re: JCLLIB in started proc?

>  The START command processor needs to build and "initiate" some JCL to
start what was requested. The JCL will be sent to a subsystem that is able
to process that JCL. The Master Subsystem (MSTR) and the Job Entry
Subsystems 2 (JES2) and 3 (JES3) are the ones I know. 
> The first operand of the START command is shown as "membername" in the
System Command reference. For brevity, I name it "MEMBER" hereafter.
> In order to build the JCL, the START command processor performs the
following steps: 
> 1) Search for MEMBER in the data sets allocated under IEFJOBS in the
master scheduler JCL. If found, this member *must* contain a job, i.e. it
must start with a JOB statement. 
> 1a) If it does, this JCL is used in step 4) below. Continue with step 4).
> 1b) If it does not, an error is returned and processing ends. 
> 2) Search for MEMBER in the data sets allocated under IEFPDSI in the
master scheduler JCL.
> 2a) If found and if the member contains a job, i.e. it starts with a JOB
statement, this JCL is used in step 4) below. Continue with step 4).
> 2b) If found but the member does *not* start with a JOB statement, it is
ignored. Continue with step 3).
> 3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB
statement and an EXEC PROC=MEMBER statement. Continue with step 4).
> 4) Send the JCL found or built in steps 1) - 3) to the subsystem for
processing. The subsystem is the primary JES by default, or the one named on
SUB=, if specified. Exception: If MEMBER is the name of a subsystem
(IEFSSNxx), then the default subsystem is MSTR.
> 5) START command processing ends.
> 
> After this point, the *subsystem* has to process the JCL. If that requires
the resolution of JCL procedures or JCL INCLUDEs, the only source for this
is the "procedure library" of the subsystem. 
> - If the subsystem is the Master Subsystem, then the only "procedure
library" is the set of data sets allocated under IEFPDSI in the master
scheduler JCL. 
> - If the subsystem is one of the JESs, then the only "procedure library"
is the set of data sets allocated under the PROCnn (nn is the set assigned
to STC jobclass in JES). 

Nice summary, Peter. Do you happen to know who puts in //STARTING JOB ...
when MEMBER is only contained in the JES2 proclib concatenation and not in
MSTJCL? I have a MEMBER that starts with a JOB statement in a proclib. As
long as that proclib is in both MSTJCL and JES2 proclib concat, all is well.
As soon as I remove the proclib containing MEMBER from MSTJCL, I get a
//STARTING JOB ... in my JCL and of course a JCL error because my JCL
already contains a JOB statement. MEMBER is started task JCL and gets
started either using ASCRE or a regular START command.

I am assuming that it is JES2 that puts these extraneous two lines in. I was
unable to find any parameter that I could tweak to NOT put them in. I didn't
even find the place where this behaviour is described. Happens on both z/OS
1.13 and 2.1.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


//STARTING JOB ... was: Re: JCLLIB in started proc?

2014-12-21 Thread ibmmain
>  The START command processor needs to build and "initiate" some JCL to start 
> what was requested. The JCL will be sent to a subsystem that is able to 
> process that JCL. The Master Subsystem (MSTR) and the Job Entry Subsystems 2 
> (JES2) and 3 (JES3) are the ones I know. 
> The first operand of the START command is shown as "membername" in the System 
> Command reference. For brevity, I name it "MEMBER" hereafter.
> In order to build the JCL, the START command processor performs the following 
> steps: 
> 1) Search for MEMBER in the data sets allocated under IEFJOBS in the master 
> scheduler JCL. If found, this member *must* contain a job, i.e. it must start 
> with a JOB statement. 
> 1a) If it does, this JCL is used in step 4) below. Continue with step 4).
> 1b) If it does not, an error is returned and processing ends. 
> 2) Search for MEMBER in the data sets allocated under IEFPDSI in the master 
> scheduler JCL.
> 2a) If found and if the member contains a job, i.e. it starts with a JOB 
> statement, this JCL is used in step 4) below. Continue with step 4).
> 2b) If found but the member does *not* start with a JOB statement, it is 
> ignored. Continue with step 3).
> 3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB statement 
> and an EXEC PROC=MEMBER statement. Continue with step 4).
> 4) Send the JCL found or built in steps 1) - 3) to the subsystem for 
> processing. The subsystem is the primary JES by default, or the one named on 
> SUB=, if specified. Exception: If MEMBER is the name of a subsystem 
> (IEFSSNxx), then the default subsystem is MSTR.
> 5) START command processing ends.
> 
> After this point, the *subsystem* has to process the JCL. If that requires 
> the resolution of JCL procedures or JCL INCLUDEs, the only source for this is 
> the "procedure library" of the subsystem. 
> - If the subsystem is the Master Subsystem, then the only "procedure library" 
> is the set of data sets allocated under IEFPDSI in the master scheduler JCL. 
> - If the subsystem is one of the JESs, then the only "procedure library" is 
> the set of data sets allocated under the PROCnn (nn is the set assigned to 
> STC jobclass in JES). 

Nice summary, Peter. Do you happen to know who puts in //STARTING JOB ... when 
MEMBER is only contained in the JES2 proclib concatenation and not in MSTJCL? I 
have a MEMBER that starts with a JOB statement in a proclib. As long as that 
proclib is in both MSTJCL and JES2 proclib concat, all is well. As soon as I 
remove the proclib containing MEMBER from MSTJCL, I get a //STARTING JOB ... in 
my JCL and of course a JCL error because my JCL already contains a JOB 
statement. MEMBER is started task JCL and gets started either using ASCRE or a 
regular START command.

I am assuming that it is JES2 that puts these extraneous two lines in. I was 
unable to find any parameter that I could tweak to NOT put them in. I didn't 
even find the place where this behaviour is described. Happens on both z/OS 
1.13 and 2.1.

Merry Christmas,

Barbara

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-21 Thread Charles Mills
Thanks. Yes, you answered the right question.

Re-phrasing your answer
- In all cases (started procs, ordinary jobs, whatever) JCLLIB must come
before the first EXEC so as to keep the resolution of proc names simple and
unambiguous.
- In a started proc with no JOB statement, the command processor builds the
JOB and EXEC PROC=, so there is no convenient way to insert a JCLLIB
statement in-between.

> why should it? You can create jobs including JCLLIB easily

In my particular case, I have to jump through some (modest) hoops to update
a start-eligible proclib. (And for whatever reason, the only start-eligible
proclib I can update at all is not in the JOB-statement-permitted
concatenations.) I thought if I could include JCL from my own PDS via JCLLIB
and INCLUDE it would make my life easier.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Peter Hunkeler
Sent: Sunday, December 21, 2014 6:30 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: AW: Re: JCLLIB in started proc?

 
> Thanks. Digressing ... any idea of the WHY for this restriction? 
 
What restriction? The restriction that JCLLIB is only allowed in cased 1a)
and 2a)?


Only guessing here. I suspect that it would have made things too complex if
JCLLIB was allowed anywhere in JCL. Imagine a procedure was resolved and
within that part, a new JCLLIB was defined before another procedure had to
resolved, etc., etc. Nesting is allowed for up to 15 levels. 


So a design decision was taken to allow JCLLIB only between the JOB
statement and the first EXEC statement in a job.


If not case 1a) or 2a), the JOB and EXEC statements are built by the START
command processor.  There is no way to place a JCLLIB, unless the START
command itself would support some keyword to specify a library that trigged
building a JCLLIB statement between the JOBs and the EXEC statments. It does
not, and honestly why should it? You can create jobs including JCLLIB
easily.


If this is not an answer to your question, please be more specific.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


AW: Re: JCLLIB in started proc?

2014-12-21 Thread Peter Hunkeler

> Thanks. Digressing ... any idea of the WHY for this restriction?

What restriction? The restriction that JCLLIB is only allowed in cased 1a) and 
2a)?


Only guessing here. I suspect that it would have made things too complex if 
JCLLIB was allowed anywhere in JCL. Imagine a procedure was resolved and within 
that part, a new JCLLIB was defined before another procedure had to resolved, 
etc., etc. Nesting is allowed for up to 15 levels.


So a design decision was taken to allow JCLLIB only between the JOB statement 
and the first EXEC statement in a job.


If not case 1a) or 2a), the JOB and EXEC statements are built by the START 
command processor.  There is no way to place a JCLLIB, unless the START command 
itself would support some keyword to specify a library that trigged building a 
JCLLIB statement between the JOBs and the EXEC statments. It does not, and 
honestly why should it? You can create jobs including JCLLIB easily.


If this is not an answer to your question, please be more specific.


--
Peter Hunkeler







--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-20 Thread Charles Mills
Thanks. Digressing ... any idea of the WHY for this restriction?

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Peter Hunkeler
Sent: Saturday, December 20, 2014 2:14 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: AW: Re: JCLLIB in started proc?

>> If that requires the resolution of JCL procedures or JCL INCLUDEs, 
>> the only source for this is the "procedure library" of the subsystem.
 >
> So you are saying that JCLLIB is never accepted in a started PROC? 


No, I didn't mean to imply that. I just leaft out JCLLIB inadvertently. This
statement should read:


If that requires the resolution of JCL procedures or JCL INCLUDEs, the only
source for this is the "procedure library" of the subsystem, and any JCLLIB
library which may be present in the JCL *if* the JCL was the result of step
1a) or 2a).

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


AW: Re: JCLLIB in started proc?

2014-12-20 Thread Peter Hunkeler
>> If that requires the resolution of JCL procedures or JCL INCLUDEs, the
>> only source for this is the "procedure library" of the subsystem.
 >
> So you are saying that JCLLIB is never accepted in a started PROC?


No, I didn't mean to imply that. I just leaft out JCLLIB inadvertently. This 
statement should read:


If that requires the resolution of JCL procedures or JCL INCLUDEs, the only 
source for this is the "procedure library" of the subsystem, and any JCLLIB 
library which may be present in the JCL *if* the JCL was the result of step 1a) 
or 2a).


I changed this also in the text below.


--
Peter Hunkeler





-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Peter Hunkeler
Sent: Saturday, December 20, 2014 12:51 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: AW: Re: JCLLIB in started proc?

 The START command processor needs to build and "initiate" some JCL to start
what was requested. The JCL will be sent to a subsystem that is able to
process that JCL. The Master Subsystem (MSTR) and the Job Entry Subsystems 2
(JES2) and 3 (JES3) are the ones I know.


The first operand of the START command is shown as "membername" in the
System Command reference. For brevity, I name it "MEMBER" hereafter.
In order to build the JCL, the START command processor performs the
following steps:


1) Search for MEMBER in the data sets allocated under IEFJOBS in the master
scheduler JCL. If found, this member *must* contain a job, i.e. it must
start with a JOB statement.


1a) If it does, this JCL is used in step 4) below. Continue with step 4).


1b) If it does not, an error is returned and processing ends.


2) Search for MEMBER in the data sets allocated under IEFPDSI in the master
scheduler JCL.


2a) If found and if the member contains a job, i.e. it starts with a JOB
statement, this JCL is used in step 4) below. Continue with step 4).


2b) If found but the member does *not* start with a JOB statement, it is
ignored. Continue with step 3).


3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB statement
and an EXEC PROC=MEMBER statement. Continue with step 4).


4) Send the JCL found or built in steps 1) - 3) to the subsystem for
processing. The subsystem is the primary JES by default, or the one named on
SUB=, if specified. Exception: If MEMBER is the name of a subsystem
(IEFSSNxx), then the default subsystem is MSTR.


5) START command processing ends.


After this point, the *subsystem* has to process the JCL. If that requires
the resolution of JCL procedures or JCL INCLUDEs, the only source for this
is the "procedure library" of the subsystem, and any JCLLIB library which may 
be present in the JCL *if* the JCL was the result of step 1a) or 2a).



- If the subsystem is the Master Subsystem, then the only "procedure
library" is the set of data sets allocated under IEFPDSI in the master
scheduler JCL.


- If the subsystem is one of the JESs, then the only "procedure library" is
the set of data sets allocated under the PROCnn (nn is the set assigned to
STC jobclass in JES).




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-20 Thread Charles Mills
It does help.

> If that requires the resolution of JCL procedures or JCL INCLUDEs, the
only source for this is the "procedure library" of the subsystem.

So you are saying that JCLLIB is never accepted in a started PROC?

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Peter Hunkeler
Sent: Saturday, December 20, 2014 12:51 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: AW: Re: JCLLIB in started proc?

 The START command processor needs to build and "initiate" some JCL to start
what was requested. The JCL will be sent to a subsystem that is able to
process that JCL. The Master Subsystem (MSTR) and the Job Entry Subsystems 2
(JES2) and 3 (JES3) are the ones I know. 
The first operand of the START command is shown as "membername" in the
System Command reference. For brevity, I name it "MEMBER" hereafter.
In order to build the JCL, the START command processor performs the
following steps: 
1) Search for MEMBER in the data sets allocated under IEFJOBS in the master
scheduler JCL. If found, this member *must* contain a job, i.e. it must
start with a JOB statement. 
1a) If it does, this JCL is used in step 4) below. Continue with step 4).
1b) If it does not, an error is returned and processing ends. 
2) Search for MEMBER in the data sets allocated under IEFPDSI in the master
scheduler JCL.
2a) If found and if the member contains a job, i.e. it starts with a JOB
statement, this JCL is used in step 4) below. Continue with step 4).
2b) If found but the member does *not* start with a JOB statement, it is
ignored. Continue with step 3).
3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB statement
and an EXEC PROC=MEMBER statement. Continue with step 4).
4) Send the JCL found or built in steps 1) - 3) to the subsystem for
processing. The subsystem is the primary JES by default, or the one named on
SUB=, if specified. Exception: If MEMBER is the name of a subsystem
(IEFSSNxx), then the default subsystem is MSTR.
5) START command processing ends.

After this point, the *subsystem* has to process the JCL. If that requires
the resolution of JCL procedures or JCL INCLUDEs, the only source for this
is the "procedure library" of the subsystem. 
- If the subsystem is the Master Subsystem, then the only "procedure
library" is the set of data sets allocated under IEFPDSI in the master
scheduler JCL. 
- If the subsystem is one of the JESs, then the only "procedure library" is
the set of data sets allocated under the PROCnn (nn is the set assigned to
STC jobclass in JES). 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


AW: Re: JCLLIB in started proc?

2014-12-20 Thread Peter Hunkeler
 The START command processor needs to build and "initiate" some JCL to start 
what was requested. The JCL will be sent to a subsystem that is able to process 
that JCL. The Master Subsystem (MSTR) and the Job Entry Subsystems 2 (JES2) and 
3 (JES3) are the ones I know.
The first operand of the START command is shown as "membername" in the System 
Command reference. For brevity, I name it "MEMBER" hereafter.
In order to build the JCL, the START command processor performs the following 
steps:
1) Search for MEMBER in the data sets allocated under IEFJOBS in the master 
scheduler JCL. If found, this member *must* contain a job, i.e. it must start 
with a JOB statement.
1a) If it does, this JCL is used in step 4) below. Continue with step 4).
1b) If it does not, an error is returned and processing ends.
2) Search for MEMBER in the data sets allocated under IEFPDSI in the master 
scheduler JCL.
2a) If found and if the member contains a job, i.e. it starts with a JOB 
statement, this JCL is used in step 4) below. Continue with step 4).
2b) If found but the member does *not* start with a JOB statement, it is 
ignored. Continue with step 3).
3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB statement 
and an EXEC PROC=MEMBER statement. Continue with step 4).
4) Send the JCL found or built in steps 1) - 3) to the subsystem for 
processing. The subsystem is the primary JES by default, or the one named on 
SUB=, if specified. Exception: If MEMBER is the name of a subsystem (IEFSSNxx), 
then the default subsystem is MSTR.
5) START command processing ends.

After this point, the *subsystem* has to process the JCL. If that requires the 
resolution of JCL procedures or JCL INCLUDEs, the only source for this is the 
"procedure library" of the subsystem.
- If the subsystem is the Master Subsystem, then the only "procedure library" 
is the set of data sets allocated under IEFPDSI in the master scheduler JCL.
- If the subsystem is one of the JESs, then the only "procedure library" is the 
set of data sets allocated under the PROCnn (nn is the set assigned to STC 
jobclass in JES).

HTH
--Peter Hunkeler

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-18 Thread Neil Duffee
Caveat:  insert daily digestion delay here...

Charles:  aside from the other information provided, I note the text below from 
the JCL Ref manual:

Location in the JCL:
A JCLLIB statement:
v Must appear after the JOB statement and before the first EXEC statement in 
the job.
v Must appear before any INCLUDE statement.
v Must not appear within an INCLUDE group.

Your original problem failed the 1st item as following an EXEC in the *job* 
since the START command ends up equivalent to an EXEC PROC= and your JCLLIB 
statement appears after the // PROC statement.

As mentioned by someone (Lizette, I think?), you can't mix the PROCJOBs with 
PROCLIBs as they are two different DDs in MSTRJCL.  Hence the MisPlaced JOB & 
JCLLIB statement errors 'cause PROCLIBs must start [1] with an PROC statement.  
The PROCJOBs allow you to have STCs that use the larger gamut of JCL; literally 
'started jobs'.  In fact, I have many that use JCLLIB to pre-pend my libraries 
before the standard, proc, search order specifically to use environment 
specific procs of the same name in different libraries. [2] 

[1]  ok, don't know for certain.  There may be some exception statements that I 
didn't bother to look up.
[2]  One even points to the standard ProcLib so that it can have the same name 
as the Proc.  It, essentially, pre-pends OUTPUT JESDS=ALL,OUTDISP=(WRITE,HOLD) 
& MSGCLASS=R to the original proc to alter the default STC output disposition.

>  signature = 6 lines follows  <
Neil Duffee, Joe Sysprog, uOttawa, Ottawa, Ont, Canada
telephone:1 613 562 5800 x4585  fax:1 613 562 5161
mailto:NDuffee of uOttawa.ca http:/ /aix1.uOttawa.ca/ ~nduffee
"How *do* you plan for something like that?"  Guardian Bob, Reboot
"For every action, there is an equal and opposite criticism."
"Systems Programming: Guilty, until proven innocent"  John Norgauer 2004


-Original Message-
From: Charles Mills [mailto:cha@mcn...org] 
Sent: December 17, 2014 20:05
Subject: JCLLIB in started proc?

I just added a JCLLIB statement to a cataloged  procedure that I start with a 
Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I infer 
that JCLLIB is not allowed in a started PROC, or should I be looking for a 
fat-finger coding error? (I want the JCLLIB for INCLUDE, not EXEC PROC=.) I 
RTFM but don't see anything explicit.

It does refer to "in a job" at several points. Is JCLLIB allowed in a started 
PROC if the PROC has a JOB statement? I know I can do that but I've never done 
it. Where is that documented?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-18 Thread Jousma, David
Yes, proclib is in there.

//MSTJCL00 JOB MSGLEVEL=(1,1),TIME=1440
// EXEC PGM=IEEMB860,DPRTY=(15,15) 
//STCINRDR DD SYSOUT=(A,INTRDR)
//TSOINRDR DD SYSOUT=(A,INTRDR)
//IEFPDSI  DD DSN=SYS1.PROCLIB,DISP=SHR
// DD DSN=SYS1.IBM.PROCLIB,DISP=SHR
//SYSUADS  DD DSN=SYS1.UADS,DISP=SHR   
//IEFJOBS  DD DSN=SYS1.STCJOBS,DISP=SHR

I was equally surprised when I tested my sample I provided and it worked.  I 
don't know why it worked.

Thanks for the clarification

_
Dave Jousma
Assistant Vice President, Mainframe Engineering
david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H
p 616.653.8429
f 616.653.2717



-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Pommier, Rex
Sent: Thursday, December 18, 2014 2:46 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Dave and Charles,

I would guess that SYS1.PROCLIB is in your MSTJCL00 member under the IEFPDSI DD 
card concatenation.  I just did a bit of high level testing, as I have a 
PROCLIB that is in my JES2 concatenation, but not in the IEFPDSI concatenation. 
 I placed a simple job in this PROCLIB and got the "misplaced job statement" 
and "misplaced JCLLIB statement".  I then copied the PROC to SYS1.PROCLIB and 
ran the same JCO, and it ran successfully.  The relevant line out of the init 
and tuning reference is this:

"If the source JCL for a started task is a job, the member containing the JCL 
must be part of a data set in the IEFPDSI DD or the IEFJOBS DD concatenation of 
MSTJCLxx. (If the member is not part of a data set in the IEFPDSI or IEFJOBS 
concatenation of MSTJCLxx, the procedures that act as source JCL for other 
started tasks will not be found.) IBM suggests that you define a new data set 
in MSTJCLxx (pointed to by the IEFJOBS DD statement) that will contain the 
tailored JCL to support started tasks."

Rex



-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Thursday, December 18, 2014 12:51 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Charles,

Everything you said it true, except:

- You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS or 
IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is not 
enough.

I just tested putting a full jobcard, and JCLLIB statement into proclib, and it 
worked.   Not sure I know why, though.   DD IEFJOBS was added back in the MVS 
V5 days which is/was intended to be support for jobcards on STC's.

EDIT   SYS1.PROCLIB(EKMSERV) - 01.04
Command ===>
** * Top of Data ***
01 //EKMSERV  JOB (DP,3640),'JAVA EKM SERVER',  
02 // MSGLEVEL=(1,1),   
03 // MSGCLASS=C
04 //*  
05 //OUT1OUTPUT JESDS=ALL,CLASS=C   
06 //PROCSJCLLIB ORDER=(E008058.PROCLIB)
07 //*--
08 //* Execute ISKLM
09 //*--
10 //*  
11 //ISKLM   EXEC JVMPROC,  
12 // JAVACLS='com.ibm.jzosekm.ISKLMConsoleWrapper' 
13 //*  
14 //STDENV DD DSN=SYSV.JAVAPRMS(CKLENV),DISP=SHR   

_
Dave Jousma
Assistant Vice President, Mainframe Engineering david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f 616.653.2717



-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Charles Mills
Sent: Thursday, December 18, 2014 12:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Okay, to summarize this as I now understand it. Someone please correct me if I 
am wrong.

I will use the shorthand "started PROC" to mean "a procedure stored as a member 
in a PDS that is intended to be the operand of a successful console Start 
command."

- You cannot use a JCLLIB statement in a started PROC unless the PROC begins 
with a JOB statement.

- You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS or 
IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is not 
enough.

Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of J

Re: JCLLIB in started proc?

2014-12-18 Thread Pommier, Rex
Dave and Charles,

I would guess that SYS1.PROCLIB is in your MSTJCL00 member under the IEFPDSI DD 
card concatenation.  I just did a bit of high level testing, as I have a 
PROCLIB that is in my JES2 concatenation, but not in the IEFPDSI concatenation. 
 I placed a simple job in this PROCLIB and got the "misplaced job statement" 
and "misplaced JCLLIB statement".  I then copied the PROC to SYS1.PROCLIB and 
ran the same JCO, and it ran successfully.  The relevant line out of the init 
and tuning reference is this:

"If the source JCL for a started task is a job, the member containing the JCL 
must be part of a data set in the IEFPDSI DD or the IEFJOBS DD concatenation of 
MSTJCLxx. (If the member is not part of a data set in the IEFPDSI or IEFJOBS 
concatenation of MSTJCLxx, the procedures that act as source JCL for other 
started tasks will not be found.) IBM suggests that you define a new data set 
in MSTJCLxx (pointed to by the IEFJOBS DD statement) that will contain the 
tailored JCL to support started tasks."

Rex



-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Thursday, December 18, 2014 12:51 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Charles,

Everything you said it true, except:

- You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS or 
IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is not 
enough.

I just tested putting a full jobcard, and JCLLIB statement into proclib, and it 
worked.   Not sure I know why, though.   DD IEFJOBS was added back in the MVS 
V5 days which is/was intended to be support for jobcards on STC's.

EDIT   SYS1.PROCLIB(EKMSERV) - 01.04
Command ===>
** * Top of Data ***
01 //EKMSERV  JOB (DP,3640),'JAVA EKM SERVER',  
02 // MSGLEVEL=(1,1),   
03 // MSGCLASS=C
04 //*  
05 //OUT1OUTPUT JESDS=ALL,CLASS=C   
06 //PROCSJCLLIB ORDER=(E008058.PROCLIB)
07 //*--
08 //* Execute ISKLM
09 //*--
10 //*  
11 //ISKLM   EXEC JVMPROC,  
12 // JAVACLS='com.ibm.jzosekm.ISKLMConsoleWrapper' 
13 //*  
14 //STDENV DD DSN=SYSV.JAVAPRMS(CKLENV),DISP=SHR   

_
Dave Jousma
Assistant Vice President, Mainframe Engineering
david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H
p 616.653.8429
f 616.653.2717



-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Charles Mills
Sent: Thursday, December 18, 2014 12:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Okay, to summarize this as I now understand it. Someone please correct me if I 
am wrong.

I will use the shorthand "started PROC" to mean "a procedure stored as a member 
in a PDS that is intended to be the operand of a successful console Start 
command."

- You cannot use a JCLLIB statement in a started PROC unless the PROC begins 
with a JOB statement.

- You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS or 
IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is not 
enough.

Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Thursday, December 18, 2014 5:32 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Charles, as others have pointed out,  you cannot add jobcard JCLLIB
statements to the PROCLIB member.   You must modify/configure MSTJCL to
include a IEFJOBS dd statement pointing at a PDS dataset.   In that library,
you can code a jobcard and JCLLIB statement that calls the proc you want.

_
Dave Jousma
Assistant Vice President, Mainframe Engineering david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f
616.653.2717


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Charles Mills
Sent: Wednesday, December 17, 2014 8:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: JCLLIB in started proc?

I just added a JCLLIB statement to a cataloged  procedure that I start with a 
Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I infer 
that JCLLIB is 

Re: JCLLIB in started proc?

2014-12-18 Thread Bob Shannon
> Figure 1. MSTJCL00 Load Module in SYS1.LINKLIB

It's been many years since one had to specify Master JCL this way. MSTJCLxx in 
Parmlib replaced it.

Bob Shannon
Rocket Software

Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ 
+1 800.966.3270 ■ +1 781.577.4321
Unsubscribe From Commercial Email – unsubscr...@rocketsoftware.com
Manage Your Subscription Preferences - 
http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_SubscriptionCenter.html
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy


This communication and any attachments may contain confidential information of 
Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please notify Rocket 
Software immediately and destroy all copies of this communication. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-18 Thread Scott Ford
Research helps


This topic describes: 

Where the master JCL resides
How to change the master JCL
How to set up started tasks with the master JCL
How to write your own master JCL.
IBM® supplies default master JCL in the MSTJCL00 load module in SYS1.LINKLIB.  
Figure 1 shows MSTJCL00 as it exists before it is assembled and link-edited 
into SYS1.LINKLIB:

Figure 1. MSTJCL00 Load Module in SYS1.LINKLIB
MSTJCL00 CSECT DC CL80'
  //MSTJCL00 JOB MSGLEVEL=(1,1),TIME=1440' DC CL80'// EXEC PGM=IEEMB860' DC 
CL80'//STCINRDR DD SYSOUT=(A,INTRDR)' DC CL80'//TSOINRDR DD SYSOUT=(A,INTRDR)' 
DC CL80'//IEFPDSI DD DSN=SYS1.PROCLIB,DISP=SHR' DC CL80'//SYSUADS DD 
DSN=SYS1.UADS,DISP=SHR' DC CL80'/*' END
MSTJCL00 contains:

DD statements needed to define the internal reader data sets for started task 
control and TSO/E logons
SYS1.UADS, a system data set used in TSO/E logons and terminal communications.
MSTJCL00 does not contain the START command that starts the primary job entry 
subsystem during master scheduler initialization. You can define and start the 
primary job entry subsystem using the PRIMARY parameter in the IEFSSNxx parmlib 
member.

Your installation can either use the default master JCL (shown in Figure 1) or 
specify an alternate version of the master JCL, as described in Changing the 
master scheduler JCL.

  

Sorry about the wrap guys and gals on my iPad..


Scott ford
www.identityforge.com
from my IPAD




> On Dec 18, 2014, at 1:50 PM, Jousma, David  wrote:
> 
> Charles,
> 
> Everything you said it true, except:
> 
> - You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS 
> or IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is 
> not enough.
> 
> I just tested putting a full jobcard, and JCLLIB statement into proclib, and 
> it worked.   Not sure I know why, though.   DD IEFJOBS was added back in the 
> MVS V5 days which is/was intended to be support for jobcards on STC's.
> 
> EDIT   SYS1.PROCLIB(EKMSERV) - 01.04
> Command ===>
> ** * Top of Data ***
> 01 //EKMSERV  JOB (DP,3640),'JAVA EKM SERVER',  
> 02 // MSGLEVEL=(1,1),   
> 03 // MSGCLASS=C
> 04 //*  
> 05 //OUT1OUTPUT JESDS=ALL,CLASS=C   
> 06 //PROCSJCLLIB ORDER=(E008058.PROCLIB)
> 07 //*--
> 08 //* Execute ISKLM
> 09 //*--
> 10 //*  
> 11 //ISKLM   EXEC JVMPROC,  
> 12 // JAVACLS='com.ibm.jzosekm.ISKLMConsoleWrapper' 
> 13 //*  
> 14 //STDENV DD DSN=SYSV.JAVAPRMS(CKLENV),DISP=SHR   
> 
> _
> Dave Jousma
> Assistant Vice President, Mainframe Engineering
> david.jou...@53.com
> 1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H
> p 616.653.8429
> f 616.653.2717
> 
> 
> 
> -----Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Charles Mills
> Sent: Thursday, December 18, 2014 12:25 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: JCLLIB in started proc?
> 
> Okay, to summarize this as I now understand it. Someone please correct me if 
> I am wrong.
> 
> I will use the shorthand "started PROC" to mean "a procedure stored as a 
> member in a PDS that is intended to be the operand of a successful console 
> Start command."
> 
> - You cannot use a JCLLIB statement in a started PROC unless the PROC begins 
> with a JOB statement.
> 
> - You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS 
> or IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is 
> not enough.
> 
> Charles
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Jousma, David
> Sent: Thursday, December 18, 2014 5:32 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: JCLLIB in started proc?
> 
> Charles, as others have pointed out,  you cannot add jobcard JCLLIB
> statements to the PROCLIB member.   You must modify/configure MSTJCL to
> include a IEFJOBS dd statement pointing at a PDS dataset.   In that library,
> you can code a jobcard and JCLLIB statement that calls the proc you want.
> 

Re: JCLLIB in started proc?

2014-12-18 Thread Jousma, David
Charles,

Everything you said it true, except:

- You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS or 
IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is not 
enough.

I just tested putting a full jobcard, and JCLLIB statement into proclib, and it 
worked.   Not sure I know why, though.   DD IEFJOBS was added back in the MVS 
V5 days which is/was intended to be support for jobcards on STC's.

EDIT   SYS1.PROCLIB(EKMSERV) - 01.04
Command ===>
** * Top of Data ***
01 //EKMSERV  JOB (DP,3640),'JAVA EKM SERVER',  
02 // MSGLEVEL=(1,1),   
03 // MSGCLASS=C
04 //*  
05 //OUT1OUTPUT JESDS=ALL,CLASS=C   
06 //PROCSJCLLIB ORDER=(E008058.PROCLIB)
07 //*--
08 //* Execute ISKLM
09 //*--
10 //*  
11 //ISKLM   EXEC JVMPROC,  
12 // JAVACLS='com.ibm.jzosekm.ISKLMConsoleWrapper' 
13 //*  
14 //STDENV DD DSN=SYSV.JAVAPRMS(CKLENV),DISP=SHR   

_
Dave Jousma
Assistant Vice President, Mainframe Engineering
david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H
p 616.653.8429
f 616.653.2717



-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Charles Mills
Sent: Thursday, December 18, 2014 12:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Okay, to summarize this as I now understand it. Someone please correct me if I 
am wrong.

I will use the shorthand "started PROC" to mean "a procedure stored as a member 
in a PDS that is intended to be the operand of a successful console Start 
command."

- You cannot use a JCLLIB statement in a started PROC unless the PROC begins 
with a JOB statement.

- You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS or 
IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is not 
enough.

Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Thursday, December 18, 2014 5:32 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Charles, as others have pointed out,  you cannot add jobcard JCLLIB
statements to the PROCLIB member.   You must modify/configure MSTJCL to
include a IEFJOBS dd statement pointing at a PDS dataset.   In that library,
you can code a jobcard and JCLLIB statement that calls the proc you want.

_
Dave Jousma
Assistant Vice President, Mainframe Engineering david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f
616.653.2717


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Charles Mills
Sent: Wednesday, December 17, 2014 8:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: JCLLIB in started proc?

I just added a JCLLIB statement to a cataloged  procedure that I start with a 
Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I infer 
that JCLLIB is not allowed in a started PROC, or should I be looking for a 
fat-finger coding error? (I want the JCLLIB for INCLUDE, not EXEC
PROC=.) I RTFM but don't see anything explicit.

It does refer to "in a job" at several points. Is JCLLIB allowed in a started 
PROC if the PROC has a JOB statement? I know I can do that but I've never done 
it. Where is that documented?

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

This e-mail transmission contains information that is confidential and may be 
privileged.   It is intended only for the addressee(s) named above. If you 
receive this e-mail in error, please do not read, copy or disseminate it in any 
manner. If you are not the intended recipient, any disclosure, copying, 
distribution or use of the contents of this information is prohibited. Please 
reply to the message immediately by informing the sender that the message was 
misdirected. After replying, please erase it from your computer system. Your 
assistance in correcting this error is appreciated.

--
For IBM-MAIN subscribe / signoff / archive 

Re: JCLLIB in started proc?

2014-12-18 Thread Charles Mills
Okay, to summarize this as I now understand it. Someone please correct me if
I am wrong.

I will use the shorthand "started PROC" to mean "a procedure stored as a
member in a PDS that is intended to be the operand of a successful console
Start command."

- You cannot use a JCLLIB statement in a started PROC unless the PROC begins
with a JOB statement.

- You cannot use a JOB statement in a started PROC unless MSTJCL DD IEFJOBS
or IEFPDSI points to the PDS; mere inclusion in the PARMLIB concatenation is
not enough.

Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Jousma, David
Sent: Thursday, December 18, 2014 5:32 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Charles, as others have pointed out,  you cannot add jobcard JCLLIB
statements to the PROCLIB member.   You must modify/configure MSTJCL to
include a IEFJOBS dd statement pointing at a PDS dataset.   In that library,
you can code a jobcard and JCLLIB statement that calls the proc you want.

_
Dave Jousma
Assistant Vice President, Mainframe Engineering david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f
616.653.2717


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Charles Mills
Sent: Wednesday, December 17, 2014 8:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: JCLLIB in started proc?

I just added a JCLLIB statement to a cataloged  procedure that I start with
a Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I
infer that JCLLIB is not allowed in a started PROC, or should I be looking
for a fat-finger coding error? (I want the JCLLIB for INCLUDE, not EXEC
PROC=.) I RTFM but don't see anything explicit.

It does refer to "in a job" at several points. Is JCLLIB allowed in a
started PROC if the PROC has a JOB statement? I know I can do that but I've
never done it. Where is that documented?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-18 Thread Gibney, Dave
While I agree that IEFJOBS makes it clearer and works better, you can place 
started job JCL in the MSTJCL PROCLIB. I have best results when the EXEC MYPROC 
references a separate member, but there should be no reason a properly define 
INSTREAM PROC wouldn't work.

> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
> On Behalf Of Jousma, David
> Sent: Thursday, December 18, 2014 5:32 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: JCLLIB in started proc?
> 
> Charles, as others have pointed out,  you cannot add jobcard JCLLIB
> statements to the PROCLIB member.   You must modify/configure MSTJCL to
> include a IEFJOBS dd statement pointing at a PDS dataset.   In that
> library, you can code a jobcard and JCLLIB statement that calls the
> proc you want.
> 
> _
> Dave Jousma
> Assistant Vice President, Mainframe Engineering david.jou...@53.com
> 1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f
> 616.653.2717
> 
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
> On Behalf Of Charles Mills
> Sent: Wednesday, December 17, 2014 8:05 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: JCLLIB in started proc?
> 
> I just added a JCLLIB statement to a cataloged  procedure that I start
> with a Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT.
> Should I infer that JCLLIB is not allowed in a started PROC, or should
> I be looking for a fat-finger coding error? (I want the JCLLIB for
> INCLUDE, not EXEC
> PROC=.) I RTFM but don't see anything explicit.
> 
> It does refer to "in a job" at several points. Is JCLLIB allowed in a
> started PROC if the PROC has a JOB statement? I know I can do that but
> I've never done it. Where is that documented?
> 
> Thanks,
> 
> Charles
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> This e-mail transmission contains information that is confidential and
> may be privileged.   It is intended only for the addressee(s) named
> above. If you receive this e-mail in error, please do not read, copy or
> disseminate it in any manner. If you are not the intended recipient,
> any disclosure, copying, distribution or use of the contents of this
> information is prohibited. Please reply to the message immediately by
> informing the sender that the message was misdirected. After replying,
> please erase it from your computer system. Your assistance in
> correcting this error is appreciated.
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-18 Thread Jousma, David
Charles, as others have pointed out,  you cannot add jobcard JCLLIB statements 
to the PROCLIB member.   You must modify/configure MSTJCL to include a IEFJOBS 
dd statement pointing at a PDS dataset.   In that library, you can code a 
jobcard and JCLLIB statement that calls the proc you want.

_
Dave Jousma
Assistant Vice President, Mainframe Engineering
david.jou...@53.com
1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H
p 616.653.8429
f 616.653.2717


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Charles Mills
Sent: Wednesday, December 17, 2014 8:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: JCLLIB in started proc?

I just added a JCLLIB statement to a cataloged  procedure that I start with a 
Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I infer 
that JCLLIB is not allowed in a started PROC, or should I be looking for a 
fat-finger coding error? (I want the JCLLIB for INCLUDE, not EXEC
PROC=.) I RTFM but don't see anything explicit.

It does refer to "in a job" at several points. Is JCLLIB allowed in a started 
PROC if the PROC has a JOB statement? I know I can do that but I've never done 
it. Where is that documented?

Thanks,

Charles 

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

This e-mail transmission contains information that is confidential and may be 
privileged.   It is intended only for the addressee(s) named above. If you 
receive this e-mail in error, please do not read, copy or disseminate it in any 
manner. If you are not the intended recipient, any disclosure, copying, 
distribution or use of the contents of this information is prohibited. Please 
reply to the message immediately by informing the sender that the message was 
misdirected. After replying, please erase it from your computer system. Your 
assistance in correcting this error is appreciated.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-18 Thread Bill Ashton
Here are some of the benefits of using a Started Job through the IEFJOBS
process:
* Started Jobs (from IEFJOBS) run under the same general security as
Started Tasks. You can, however, specify a USER=xxx parameter on the JOB
card (be sure the proper Surrogate rules are in place) or a
USER=xxx,PASSWORD=xxx value (not recommended for obvious reasons).
* Since the execution is via a console START, normal job initiators are not
used, and the job is started immediately, without consideration of any
resources needed.
* Also, since initiators are not used, the Started Job will always have a
clean address space.
* Like a normal job, the JCL you mentioned can be used. Since you have a
JOB card, you can also keep the JCLLIB and INCLUDE members.
* Unlike a Started Task, Started Jobs can use DD DUMMY and DD * files.
* Accounting information can come from the JOB card accounting, rather than
having to specify special STEP accounting (in a multi-step execution).

I hope this is somewhat helpful for you.

Merry Christmas!
Billy

On Wed, Dec 17, 2014 at 10:02 PM, Lizette Koehler 
wrote:
>
> I did a quick internet search usingibm stc jcl with jobcard
>
>   I found this
>
> Job Cards for Started Tasks
> Sometime around MVS/ESA V5.1, IBM introduced job card support for started
> tasks. To use this feature, the started task JCL must reside in a dataset
> specified in either the IEFJOBS or IEFPDSI DD statements of the master
> scheduler JCL (MSTJCLxx PARMLIB member). Refer to "MVS Initialization and
> Tuning Reference" for some suggestions on how to set this up.
> For the purpose of the following examples, I will presume that a separate
> IEFJOBS dataset has been allocated.
> Adding Accounting Information
>
> A typical member in IEFJOBS could look like this:
>
> //JES2  JOB  (8022,BX00)  JOB CARD SUPPORT
> //IEFPROC   EXEC JES2
>  The JCL for JES2 will be picked up from the IEFPDSI concatenation. The
> resulting started task JCL could look something like:
>
> //JES2  JOB (8022,BX00),
> // MSGLEVEL=1
> //IEFPROC   EXEC JES2
>  At this point, we have added some accounting information to the started
> task.
> Additional Features
> Now, you are able to add other features to the started task JCL. For
> instance, say you wished to change the output characteristics for the
> started task. You could do something like this:
>
> //INIT  JOB  (8024,BX00)  JOB CARD SUPPORT
> //DFLT  OUTPUT JESDS=ALL,CLASS=Z
> //IEFPROC   EXEC INIT
>  So this started task can have a different sysout class than others.
> Another
> new capability is getting the started task JCL from somewhere else:
>
> //TAPEINI  JOB  (8100,BX01)  JOB CARD SUPPORT
> //STCJCL  JCLLIB ORDER=(TAPELIB.STCJCL)
> //TPINIT   EXEC TAPEINI
>  The JCL for TAPEINI will be picked up from TAPELIB.STCJCL.
> Notes
> If you specify the PARM option on the MVS START command; for example,
>
> S JES2,PARM='WARM,NOREQ'
> the specified PARM value will not be used if you are using job cards. An
> alternative method of accomplishing the same result, is to set up a
> symbolic
> parameter PRM in the PROC for JES2 which will be substituted into the PARM
> value of the EXEC statement and use the command
>
> S JES2,PRM='WARM,NOREQ'
> instead. Your JES2 PROC (in IEFPDSI) would look like:
>
> //JES2 PROC PRM='WARM,NOREQ'
> //IEFPROC  EXEC PGM=HASJES20,PARM='&PRM',
>  . etc 
>
> If a job card member is not present in the IEFJOBS dataset, then the
> started
> task JCL will be built and work as before.
> I have only scratched the surface on this subject. Refer to the chapter on
> "Started Tasks" in "MVS JCL Reference" for more information. Go to the
> links
> page to find OS/390 books on the Web.
>
>
> Check what libraries are in your MSTJCLxx member in SYS1.PARMLIB
>
>
> Lizette
>
>
> > -Original Message-
> > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> > Behalf Of Charles Mills
> > Sent: Wednesday, December 17, 2014 6:05 PM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: JCLLIB in started proc?
> >
> > I just added a JCLLIB statement to a cataloged  procedure that I start
> with a Start
> > command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I
> > infer that JCLLIB is not allowed in a started PROC, or should I be
> looking
> for a fat-
> > finger coding error? (I want the JCLLIB for INCLUDE, not EXEC
> > PROC=.) I RTFM but don't see anything explicit.
> >
> > It does refer to "in a job" at several points. Is JCLLIB allowed in a
> started PROC if
> > the PROC has a JOB statement? I know I can do that but I've never done
> it.
> Where
> > is that documented?
> >
> > Thanks,
> >
> > Charles
> >
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Thank you and best regards,
*Billy Ashton*

---

Re: JCLLIB in started proc?

2014-12-17 Thread Lizette Koehler
I did a quick internet search usingibm stc jcl with jobcard

  I found this

Job Cards for Started Tasks
Sometime around MVS/ESA V5.1, IBM introduced job card support for started
tasks. To use this feature, the started task JCL must reside in a dataset
specified in either the IEFJOBS or IEFPDSI DD statements of the master
scheduler JCL (MSTJCLxx PARMLIB member). Refer to "MVS Initialization and
Tuning Reference" for some suggestions on how to set this up. 
For the purpose of the following examples, I will presume that a separate
IEFJOBS dataset has been allocated. 
Adding Accounting Information

A typical member in IEFJOBS could look like this: 

//JES2  JOB  (8022,BX00)  JOB CARD SUPPORT
//IEFPROC   EXEC JES2
 The JCL for JES2 will be picked up from the IEFPDSI concatenation. The
resulting started task JCL could look something like: 

//JES2  JOB (8022,BX00),
// MSGLEVEL=1
//IEFPROC   EXEC JES2
 At this point, we have added some accounting information to the started
task. 
Additional Features
Now, you are able to add other features to the started task JCL. For
instance, say you wished to change the output characteristics for the
started task. You could do something like this: 

//INIT  JOB  (8024,BX00)  JOB CARD SUPPORT
//DFLT  OUTPUT JESDS=ALL,CLASS=Z
//IEFPROC   EXEC INIT
 So this started task can have a different sysout class than others. Another
new capability is getting the started task JCL from somewhere else: 

//TAPEINI  JOB  (8100,BX01)  JOB CARD SUPPORT
//STCJCL  JCLLIB ORDER=(TAPELIB.STCJCL)
//TPINIT   EXEC TAPEINI
 The JCL for TAPEINI will be picked up from TAPELIB.STCJCL. 
Notes
If you specify the PARM option on the MVS START command; for example, 

S JES2,PARM='WARM,NOREQ'
the specified PARM value will not be used if you are using job cards. An
alternative method of accomplishing the same result, is to set up a symbolic
parameter PRM in the PROC for JES2 which will be substituted into the PARM
value of the EXEC statement and use the command 

S JES2,PRM='WARM,NOREQ'
instead. Your JES2 PROC (in IEFPDSI) would look like: 

//JES2 PROC PRM='WARM,NOREQ' 
//IEFPROC  EXEC PGM=HASJES20,PARM='&PRM',
 . etc 
 
If a job card member is not present in the IEFJOBS dataset, then the started
task JCL will be built and work as before. 
I have only scratched the surface on this subject. Refer to the chapter on
"Started Tasks" in "MVS JCL Reference" for more information. Go to the links
page to find OS/390 books on the Web. 


Check what libraries are in your MSTJCLxx member in SYS1.PARMLIB


Lizette


> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Charles Mills
> Sent: Wednesday, December 17, 2014 6:05 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: JCLLIB in started proc?
> 
> I just added a JCLLIB statement to a cataloged  procedure that I start
with a Start
> command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I
> infer that JCLLIB is not allowed in a started PROC, or should I be looking
for a fat-
> finger coding error? (I want the JCLLIB for INCLUDE, not EXEC
> PROC=.) I RTFM but don't see anything explicit.
> 
> It does refer to "in a job" at several points. Is JCLLIB allowed in a
started PROC if
> the PROC has a JOB statement? I know I can do that but I've never done it.
Where
> is that documented?
> 
> Thanks,
> 
> Charles
> 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-17 Thread Charles Mills
Here's the first few lines -- includes all of the error lines. &FMID is or
would be set if the INCLUDE worked.

//USERIDAX JOB ,' Test Job',MSGCLASS=A,NOTIFY=&SYSUID,CLASS=A   
//*   
//*  Pick up correct load libarary
//JCLLIB  ORDER=USERID.COMPANY.CNTL  
//INCLUDE MEMBER=SETPACKG 
//*   
//MYTEST  PROC RUNMODE=,INSTALL=,VERBOSE=,TRACE=,   
//   INSTANCE=1,  
//   LOADLIB=USERID.&FMID..LOADPDSE  

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Scott Ford
Sent: Wednesday, December 17, 2014 5:14 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

Charles,
Can we see you job stream ?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-17 Thread Charles Mills
I added a JOB statement and now I get an error on that also: IEFC019I MISPLACED 
JOB STATEMENT

The documentation seems to me to be contradictory. 

In the JCL Reference: " A cataloged procedure may consist of these JCL 
statements: CNTL, command, DD, ENDCNTL, EXEC, IF/THEN/ELSE/ENDIF, INCLUDE, 
OUTPUT JCL, and SET. Optionally, a cataloged procedure can begin with a PROC 
statement and end with a PEND statement. If coded, PROC must be the first 
statement in the procedure." -- No "JOB" in there.

In System Commands under Start: " The job name for a given started task can be 
assigned based on a variety of inputs. ... 2. The job name specified on the JOB 
JCL statement within the member."

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Mark Jacobs
Sent: Wednesday, December 17, 2014 5:08 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JCLLIB in started proc?

I use something like this in the STCJOBS dataset that's allocated in MSTJCL00.

//MYSTC JOB
// JCLLIB ORDER=(TECHSVC.PROCLIB)
//MYSTC EXEC MYSTC

Mark Jacobs

Charles Mills wrote:
>
> I just added a JCLLIB statement to a cataloged procedure that I start 
> with a Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT.
> Should I
> infer that JCLLIB is not allowed in a started PROC, or should I be 
> looking for a fat-finger coding error? (I want the JCLLIB for INCLUDE, 
> not EXEC
> PROC=.) I RTFM but don't see anything explicit.
>
> It does refer to "in a job" at several points. Is JCLLIB allowed in a 
> started PROC if the PROC has a JOB statement? I know I can do that but 
> I've never done it. Where is that documented?
>
> Thanks,
>
> Charles
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send 
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-17 Thread Scott Ford
Charles, 
Can we see you job stream ?

Scott ford
www.identityforge.com
from my IPAD




> On Dec 17, 2014, at 8:05 PM, Charles Mills  wrote:
> 
> I just added a JCLLIB statement to a cataloged  procedure that I start with
> a Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. Should I
> infer that JCLLIB is not allowed in a started PROC, or should I be looking
> for a fat-finger coding error? (I want the JCLLIB for INCLUDE, not EXEC
> PROC=.) I RTFM but don't see anything explicit.
> 
> It does refer to "in a job" at several points. Is JCLLIB allowed in a
> started PROC if the PROC has a JOB statement? I know I can do that but I've
> never done it. Where is that documented?
> 
> Thanks,
> 
> Charles 
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JCLLIB in started proc?

2014-12-17 Thread Mark Jacobs
I use something like this in the STCJOBS dataset that's allocated in 
MSTJCL00.


//MYSTC JOB
// JCLLIB ORDER=(TECHSVC.PROCLIB)
//MYSTC EXEC MYSTC

Mark Jacobs

Charles Mills wrote:


I just added a JCLLIB statement to a cataloged procedure that I start with
a Start command. I am getting IEFC019I MISPLACED JCLLIB STATEMENT. 
Should I

infer that JCLLIB is not allowed in a started PROC, or should I be looking
for a fat-finger coding error? (I want the JCLLIB for INCLUDE, not EXEC
PROC=.) I RTFM but don't see anything explicit.

It does refer to "in a job" at several points. Is JCLLIB allowed in a
started PROC if the PROC has a JOB statement? I know I can do that but 
I've

never done it. Where is that documented?

Thanks,

Charles

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN