Re: JCL Question

2011-07-15 Thread Elardus Engelbrecht
R.Skorupka wrote:

>I dare to disagree. Completely.

Feel free to do that. Search the archives. My reply is for those who don't have 
those automation software.

>1. ControlM (and others) did that despite of the reasons above.

Agreed. I'm indeed using those %%variables to generate datasets and reports for 
my RACF audit reports. Can't already live without those %%variables. :-D

>2. Scope of the facilities offered by %%variables is much wider than system 
>variables which are available in STC, but not in batch. Some of the facilities 
>are completely unrelated to the considerations above.
>3. ControlM do offer rich set of date&time variables and functions, so you 
>have ordering date, execution date etc. Anything you want. With no ambiguity.

Here I agree with you... ;-D
But not every one has that luxury. This is why this thread originally started.

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-14 Thread R.S.

W dniu 2011-07-14 19:56, Elardus Engelbrecht pisze:

R. Skorupka wrote:


I believe this is main reason why JCL haven't been enhanced to have such 
facilities. BIG customers - those which IBM listen to - already have such 
facilities (in Job Scheduler) and have no reason to push IBM.


Partly true, but the actual reason has been stated many times here on IBM-MAIN:

Reason - where and when do you want variables substituted? On the system where 
JCL is submitted or on the system where the JCL is to be executed? Before you 
yell at me that date/time is universal on any machine, take in account the 
local time of the machine where you want date/time substitution...

About when - at submission or at job start or what?

Who do you want the actual work to be done: JES2 at interpretation or when the 
resource manager gets the DD statements?

Forget for now about the possibility that the date/time variables are 
substituted in next day or week... :-)

Also forget for a moment about possible mixup of local times and/or Zulu time 
(greenwich time) ;-D


I dare to disagree. Completely.
1. ControlM (and others) did that despite of the reasons above.
2. Scope of the facilities offered by %%variables is much wider than 
system variables which are available in STC, but not in batch. Some of 
the facilities are completely unrelated to the considerations above.
3. ControlM do offer rich set of date&time variables and functions, so 
you have ordering date, execution date etc. Anything you want. With no 
ambiguity.

4. What about GDG <365 ??? %$%!


Regards
--
Radoslaw Skorupka
Lodz, Poland


P.S. I'm not selling ControlM, the above is not advertisement.

I'm pretty sure that me and my coleague are very first users of CtM in 
Poland, possibly first users of any batch scheduler in our country 

It was Boole&Babbage branded then...



--
Tre tej wiadomoci moe zawiera informacje prawnie chronione Banku 
przeznaczone wycznie do uytku subowego adresata. Odbiorc moe by jedynie 
jej adresat z wyczeniem dostpu osób trzecich. Jeeli nie jeste adresatem 
niniejszej wiadomoci lub pracownikiem upowanionym do jej przekazania 
adresatowi, informujemy, e jej rozpowszechnianie, kopiowanie, rozprowadzanie 
lub inne dziaanie o podobnym charakterze jest prawnie zabronione i moe by 
karalne. Jeeli otrzymae t wiadomo omykowo, prosimy niezwocznie 
zawiadomi nadawc wysyajc odpowied oraz trwale usun t wiadomo 
wczajc w to wszelkie jej kopie wydrukowane lub zapisane na dysku.

This e-mail may contain legally privileged information of the Bank and is intended solely for business use of the addressee. This e-mail may only be received by the addressee and may not be disclosed to any third parties. If you are not the intended addressee of this e-mail or the employee authorised to forward it to the addressee, be advised that any dissemination, copying, distribution or any other similar activity is legally prohibited and may be punishable. If you received this e-mail by mistake please advise the sender immediately by using the reply facility in your e-mail software and delete permanently this e-mail including any copies of it either printed or saved to hard drive. 


BRE Bank SA, 00-950 Warszawa, ul. Senatorska 18, tel. +48 (22) 829 00 00, fax 
+48 (22) 829 00 33, e-mail: i...@brebank.pl
Sd Rejonowy dla m. st. Warszawy XII Wydzia Gospodarczy Krajowego Rejestru Sdowego, nr rejestru przedsibiorców KRS 025237, NIP: 526-021-50-88. 
Wedug stanu na dzie 01.01.2011 r. kapita zakadowy BRE Banku SA (w caoci wpacony) wynosi 168.346.696 zotych.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-14 Thread Ed Gould
Indeed that becomes important. When I was working on a 200 ( and growing) node 
jesx/rscs/ power systems it became extremely  complex as sometimes when a job 
floated it became let's say difficult to figure out. When it became fun trying 
to contact the various tech people to find out about the System it came 
through. Add to that some of the techies were let's say less than fully 
informed you could end up chasing your tail. Let me assure you that there is 
just not one way to make everyone happy.

Ed

Sent from my iPad

On Jul 14, 2011, at 12:56 PM, Elardus Engelbrecht 
 wrote:

> R. Skorupka wrote:
> 
>> I believe this is main reason why JCL haven't been enhanced to have such 
>> facilities. BIG customers - those which IBM listen to - already have such 
>> facilities (in Job Scheduler) and have no reason to push IBM. 
> 
> Partly true, but the actual reason has been stated many times here on 
> IBM-MAIN:
> 
> Reason - where and when do you want variables substituted? On the system 
> where JCL is submitted or on the system where the JCL is to be executed? 
> Before you yell at me that date/time is universal on any machine, take in 
> account the local time of the machine where you want date/time 
> substitution... 
> 
> About when - at submission or at job start or what? 
> 
> Who do you want the actual work to be done: JES2 at interpretation or when 
> the resource manager gets the DD statements?
> 
> Forget for now about the possibility that the date/time variables are 
> substituted in next day or week... :-)
> 
> Also forget for a moment about possible mixup of local times and/or Zulu time 
> (greenwich time) ;-D
> 
> Groete / Greetings
> Elardus Engelbrecht
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-14 Thread Elardus Engelbrecht
R. Skorupka wrote:

>I believe this is main reason why JCL haven't been enhanced to have such 
>facilities. BIG customers - those which IBM listen to - already have such 
>facilities (in Job Scheduler) and have no reason to push IBM. 

Partly true, but the actual reason has been stated many times here on IBM-MAIN:

Reason - where and when do you want variables substituted? On the system where 
JCL is submitted or on the system where the JCL is to be executed? Before you 
yell at me that date/time is universal on any machine, take in account the 
local time of the machine where you want date/time substitution... 

About when - at submission or at job start or what? 

Who do you want the actual work to be done: JES2 at interpretation or when the 
resource manager gets the DD statements?

Forget for now about the possibility that the date/time variables are 
substituted in next day or week... :-)

Also forget for a moment about possible mixup of local times and/or Zulu time 
(greenwich time) ;-D

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-14 Thread Shmuel Metz (Seymour J.)
In
,
on 07/13/2011
   at 09:04 PM, Mike Schwab  said:

>I have done an IEBGENER to a INTRDR to run the same job until I broke
>the loop.

That's not iteration in JCL.
 
-- 
 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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-14 Thread R.S.

W dniu 2011-07-13 14:52, McKown, John pisze:

I'd likely use JES exit 2 to insert

// SET DATE=...
// SET TIME=...

and so on into the JCL stream immediately after the JOB card.


And I like Job Scheduler Utilities for such purposes. For example 
ControlM has %%variables, with strong support for date, time, day of 
week, days since, etc. but not only. And you can do some simple 
calculations, string operations, IF, CASE operators, etc. etc.

That makes any homegrown tricks much much less sexy.
I believe that competition products have similar faicilities.

I believe this is main reason why JCL haven't been enhanced to have such 
facilities. BIG customers - those which IBM listen to - already have 
such facilities (in Job Scheduler) and have no reason to push IBM.

I also think the above is also reason for uchanged limit for GDG - 255.

--
Radoslaw Skorupka
Lodz, Poland


--
Tre tej wiadomoci moe zawiera informacje prawnie chronione Banku 
przeznaczone wycznie do uytku subowego adresata. Odbiorc moe by jedynie 
jej adresat z wyczeniem dostpu osób trzecich. Jeeli nie jeste adresatem 
niniejszej wiadomoci lub pracownikiem upowanionym do jej przekazania 
adresatowi, informujemy, e jej rozpowszechnianie, kopiowanie, rozprowadzanie 
lub inne dziaanie o podobnym charakterze jest prawnie zabronione i moe by 
karalne. Jeeli otrzymae t wiadomo omykowo, prosimy niezwocznie 
zawiadomi nadawc wysyajc odpowied oraz trwale usun t wiadomo 
wczajc w to wszelkie jej kopie wydrukowane lub zapisane na dysku.

This e-mail may contain legally privileged information of the Bank and is intended solely for business use of the addressee. This e-mail may only be received by the addressee and may not be disclosed to any third parties. If you are not the intended addressee of this e-mail or the employee authorised to forward it to the addressee, be advised that any dissemination, copying, distribution or any other similar activity is legally prohibited and may be punishable. If you received this e-mail by mistake please advise the sender immediately by using the reply facility in your e-mail software and delete permanently this e-mail including any copies of it either printed or saved to hard drive. 


BRE Bank SA, 00-950 Warszawa, ul. Senatorska 18, tel. +48 (22) 829 00 00, fax 
+48 (22) 829 00 33, e-mail: i...@brebank.pl
Sd Rejonowy dla m. st. Warszawy XII Wydzia Gospodarczy Krajowego Rejestru Sdowego, nr rejestru przedsibiorców KRS 025237, NIP: 526-021-50-88. 
Wedug stanu na dzie 01.01.2011 r. kapita zakadowy BRE Banku SA (w caoci wpacony) wynosi 168.346.696 zotych.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Walter Marguccio
> The trick is to run a process at 23:59:59 everyday to update the MCDATE 
> member 
> in a proclib that is in your JES2 proclib concatenation. We've done this for 
> years and it works well. 

This is exactly what we do at our shop. In case the user needs to use variables 
in 
SYSIN DD type datasets, then we exploit EZACFSM1.


Walter Marguccio
z/OS Systems Programmer
BELENUS LOB Informatic GmbH
Munich - Germany

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Ted MacNEIL
> The ability to iterate is. Of course, that can be done with recursion
> rather than explicit loops, but JCL doesn't have that either

Looping/iteration, while desirable, is NOT a requirement to be a programming 
language.

Just stepping through is adequate!
-
Ted MacNEIL
eamacn...@yahoo.ca
Twitter: @TedMacNEIL

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Mike Schwab
On Wed, Jul 13, 2011 at 1:07 PM, Shmuel Metz (Seymour J.)
 wrote:
>
>>Looping constructs are not required to make it a programming
>>language.
>
> The ability to iterate is. Of course, that can be done with recursion
> rather than explicit loops, but JCL doesn't have that either.
>
> --
>     Shmuel (Seymour J.) Metz, SysProg and JOAT

I have done an IEBGENER to a INTRDR to run the same job until I broke the loop.
-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Gross, Randall [GCG-PFS]
How about EZACFSM1? 

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On
Behalf Of Mosley, George
Sent: Tuesday, July 12, 2011 1:28 PM
To: IBM-MAIN@bama.ua.edu
Subject: JCL Question

Hello All.

We're trying to set up a batch job that will append a datestamp to a
dataset name.
For example:

//S0 EXEC PGM=EMCSRDF
//SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
//STORCLAS=BASE,MGMTCLAS=MEDIUM,
//DISP=(,CATLG),
//SPACE=(TRK,(15,15),RLSE),
//DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
//SYSINDD *
EMC-SQ VOL,44FA,INV_TRKS
/*  

When we run this job, we hard code JUL09.@1408 to the end of the
SYSPRINT dataset name.
Is there a way to have the JCL automatically add the datestamp?

George (ICBC)

This email and any attachments are intended only for the named recipient
and may contain confidential and/or privileged material.
Any unauthorized copying, dissemination or other use by a person other
than the named recipient of this communication is prohibited.
 If you received this in error or are not named as a recipient, please
notify the sender and destroy all copies of this email immediately.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search
the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Bryan Klimek
We create thousands of datasets with a date stamp as a qualifier. See example:

//BJKBR14  JOB 1,'BRYAN K.',CLASS=Z,MSGCLASS=X,MSGLEVEL=(1,1) 
//INCL INCLUDE MEMBER=MCDATE  
//STEP005  EXEC PGM=IEFBR14   
//DD1  DD   DSN=SHRT.DUMMY.D&MCDATE,UNIT=VIO,SPACE=(TRK,(1,1))

The expanded JCL after execution looks like this:

1 //BJKBR14  JOB 1,'BRYAN K.',CLASS=Z,MSGCLASS=X,MSGLEVEL=(1,1)   
JOB54091 
2 //INCL INCLUDE MEMBER=MCDATE  
   
  XX*   SET A VARIABLE FOR THE CURRENT DATA 
   
3 XXDTSTAMP  SET MCDATE=2011194 
   
4 //STEP005  EXEC PGM=IEFBR14   
   
5 //DD1  DD   DSN=SHRT.DUMMY.D&MCDATE,UNIT=VIO,SPACE=(TRK,(1,1))
   
  IEFC653I SUBSTITUTION JCL - 
DSN=SHRT.DUMMY.D2011194,UNIT=VIO,SPACE=(TRK,(1,1))   

The trick is to run a process at 23:59:59 everyday to update the MCDATE member 
in a proclib that is in your JES2 proclib concatenation. We've done this for 
years and it works well. 

I guess the only downside is if the automation task somehow fails to update the 
MCDATE member at midnight.

Bryan Klimek
Mayo Clinic

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Shmuel Metz (Seymour J.)
In
<1340844227-1310499369-cardhu_decombobulator_blackberry.rim.net-208261873-@b12.c1.bise6.blackberry>,
on 07/12/2011
   at 07:36 PM, Ted MacNEIL  said:

>I disagree.
>JCL meets all criteria to be a programming language.

Nonsense.

>It doesn't do everything, but what language does?

Irrelevant. The question isn't whether it does everything, the
question is whether it does at least the minimum. It doesn't.
 
-- 
 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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Shmuel Metz (Seymour J.)
In <45e5f2f45d7878458ee5ca679697335502e25...@usdaexch01.kbm1.loc>, on
07/12/2011
   at 12:57 PM, "Staller, Allan"  said:

>IIRC, static system symbols can be substituted in JCL.

For STC and TSU, but not for batch.
 
-- 
 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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Shmuel Metz (Seymour J.)
In
<887215793-1310501180-cardhu_decombobulator_blackberry.rim.net-1377146756-@b12.c1.bise6.blackberry>,
on 07/12/2011
   at 08:06 PM, Ted MacNEIL  said:

>Looping constructs are not required to make it a programming
>language.

The ability to iterate is. Of course, that can be done with recursion
rather than explicit loops, but JCL doesn't have that either.
 
-- 
 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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Shmuel Metz (Seymour J.)
In
,
on 07/12/2011
   at 03:35 PM, Jonathan Goossen  said:

>Job Control Language

Gesundheit! That's not even a claim that it's a programming language.
 
-- 
 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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Gerhard Postpischil

On 7/13/2011 6:52 AM, R.S. wrote:

No, in general it is matter of definition. My English is poor,
but let me present another example, as off topic as dog's one:
A car. In my country, Combi (Wagon) car is named in folders as
5-doors car. Hatchback is also 5-doors or 3-doors. Does anyone
use the tailgate as a doors?


Since we're already off-topic - yes. Some years ago the locks on 
my station wagon froze (we have fairly cold winters), and I had 
to get into the car through the back.



Gerhard Postpischil
Bradford, VT

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread McKown, John
I'd likely use JES exit 2 to insert 

// SET DATE=...
// SET TIME=...

and so on into the JCL stream immediately after the JOB card.

--
John McKown 
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone * 
john.mck...@healthmarkets.com * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM

 

> -Original Message-
> From: IBM Mainframe Discussion List 
> [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Brian Westerman
> Sent: Wednesday, July 13, 2011 1:00 AM
> To: IBM-MAIN@bama.ua.edu
> Subject: Re: JCL Question
> 
> I have a UJV exit that we market which allows you to create 
> variables for BATCH jobs as well as STC's.  At our customer 
> sites we use it to control the DSN's of the backups and 
> hundreds of other jobs.  The users also take advantage of the 
> capabilities, (the ones that know how to read the manual :)).
> 
> You can license ours, or you can download a very similar one 
> from www.cbttape.org/ file 573 that has a few less 
> capabilities (but should be able to do the below), but is free.
> 
> i.e.
> 
> //   SET BKPDSN='D&ZYEAR.&ZMONTH.&ZDAY..T&ZTIME.'
> 
> 
> //BACKUP00 EXEC PGM=ADRDSSU,REGION=0M  
> //SYSPRINT DD SYSOUT=* 
> //DISK0DD UNIT=3390,DISP=SHR,VOL=SER=FC6C00
> //TAPE0DD UNIT=3480,DISP=(,CATLG),LABEL=(1,SL),
> //DSN=SYSTAPE.Z13DL1.&BKPDSN,VOL=(,RETAIN,,10)
> 
> ends up with a DSN (assuming the job runs today at 22:59) of:
> 
> SYSTAPE.Z13DL1.D110712.T2259 
> 
> There are literally hundreds (well, maybe "a lot" is a better 
> term) of JCL variables that you can create using the exit and 
> you are not limited to running as a Started Task for any of them.
> 
> Some people don't like using exits, I personally feel that a 
> good exit is worth it's weight in gold.  Eventually IBM will 
> come around and support doing this natively, and (currently) 
> there are a lot of reasons why they can't, but there is no 
> reason you shouldn't do it on your own until then.
> 
> 
> Brian
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 
> 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread R.S.

W dniu 2011-07-13 10:44, Binyamin Dissen pisze:

On Wed, 13 Jul 2011 10:28:33 +0200 "R.S."
wrote:

:>W dniu 2011-07-12 21:36, Ted MacNEIL pisze:
:>>  I disagree.
:>>  JCL meets all criteria to be a programming language.
:>>  It doesn't do everything, but what language does?

:>Watch the name: JOB CONTROL language.

How many legs does a dog have, if you call a tail a leg?

Four - just because you call a tail a leg does not make it a leg.


No, in general it is matter of definition. My English is poor, but let 
me present another example, as off topic as dog's one:
A car. In my country, Combi (Wagon) car is named in folders as 5-doors 
car. Hatchback is also 5-doors or 3-doors. Does anyone use the tailgate 
as a doors?


Definition of leg is common and quite well specified/understood. For 
ages. Definition of programming language is not and IMHO it could evolve 
significantly during last 40 years.
Last, but not least: since we talk about PROGRAMMING language that means 
there are non-programming (but computer-related) languages.


--
Radoslaw Skorupka
Lodz, Poland


--
Tre tej wiadomoci moe zawiera informacje prawnie chronione Banku 
przeznaczone wycznie do uytku subowego adresata. Odbiorc moe by jedynie 
jej adresat z wyczeniem dostpu osób trzecich. Jeeli nie jeste adresatem 
niniejszej wiadomoci lub pracownikiem upowanionym do jej przekazania 
adresatowi, informujemy, e jej rozpowszechnianie, kopiowanie, rozprowadzanie 
lub inne dziaanie o podobnym charakterze jest prawnie zabronione i moe by 
karalne. Jeeli otrzymae t wiadomo omykowo, prosimy niezwocznie 
zawiadomi nadawc wysyajc odpowied oraz trwale usun t wiadomo 
wczajc w to wszelkie jej kopie wydrukowane lub zapisane na dysku.

This e-mail may contain legally privileged information of the Bank and is intended solely for business use of the addressee. This e-mail may only be received by the addressee and may not be disclosed to any third parties. If you are not the intended addressee of this e-mail or the employee authorised to forward it to the addressee, be advised that any dissemination, copying, distribution or any other similar activity is legally prohibited and may be punishable. If you received this e-mail by mistake please advise the sender immediately by using the reply facility in your e-mail software and delete permanently this e-mail including any copies of it either printed or saved to hard drive. 


BRE Bank SA, 00-950 Warszawa, ul. Senatorska 18, tel. +48 (22) 829 00 00, fax 
+48 (22) 829 00 33, e-mail: i...@brebank.pl
Sd Rejonowy dla m. st. Warszawy XII Wydzia Gospodarczy Krajowego Rejestru Sdowego, nr rejestru przedsibiorców KRS 025237, NIP: 526-021-50-88. 
Wedug stanu na dzie 01.01.2011 r. kapita zakadowy BRE Banku SA (w caoci wpacony) wynosi 168.346.696 zotych.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread Binyamin Dissen
On Wed, 13 Jul 2011 10:28:33 +0200 "R.S." 
wrote:

:>W dniu 2011-07-12 21:36, Ted MacNEIL pisze:
:>> I disagree.
:>> JCL meets all criteria to be a programming language.
:>> It doesn't do everything, but what language does?

:>Watch the name: JOB CONTROL language.

How many legs does a dog have, if you call a tail a leg?

Four - just because you call a tail a leg does not make it a leg.

:>In fact there is no big value in JCL classification, especially as there 
:>is no single exact definition of programming language. Last, but not 
:>least: let's imagine we would work out the classification. And ?

:>> But, it is more complex than channel programmes, and they're considered a 
programming language.
:>You compare "channel programs" to "programming language". Not to mention 
:>that "channel programs" are functionally similar to "SCSI commands".

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-13 Thread R.S.

W dniu 2011-07-12 21:36, Ted MacNEIL pisze:

I disagree.
JCL meets all criteria to be a programming language.
It doesn't do everything, but what language does?


Watch the name: JOB CONTROL language.

In fact there is no big value in JCL classification, especially as there 
is no single exact definition of programming language. Last, but not 
least: let's imagine we would work out the classification. And ?




But, it is more complex than channel programmes, and they're considered a 
programming language.
You compare "channel programs" to "programming language". Not to mention 
that "channel programs" are functionally similar to "SCSI commands".


--
Radoslaw Skorupka
Lodz, Poland


--
Tre tej wiadomoci moe zawiera informacje prawnie chronione Banku 
przeznaczone wycznie do uytku subowego adresata. Odbiorc moe by jedynie 
jej adresat z wyczeniem dostpu osób trzecich. Jeeli nie jeste adresatem 
niniejszej wiadomoci lub pracownikiem upowanionym do jej przekazania 
adresatowi, informujemy, e jej rozpowszechnianie, kopiowanie, rozprowadzanie 
lub inne dziaanie o podobnym charakterze jest prawnie zabronione i moe by 
karalne. Jeeli otrzymae t wiadomo omykowo, prosimy niezwocznie 
zawiadomi nadawc wysyajc odpowied oraz trwale usun t wiadomo 
wczajc w to wszelkie jej kopie wydrukowane lub zapisane na dysku.

This e-mail may contain legally privileged information of the Bank and is intended solely for business use of the addressee. This e-mail may only be received by the addressee and may not be disclosed to any third parties. If you are not the intended addressee of this e-mail or the employee authorised to forward it to the addressee, be advised that any dissemination, copying, distribution or any other similar activity is legally prohibited and may be punishable. If you received this e-mail by mistake please advise the sender immediately by using the reply facility in your e-mail software and delete permanently this e-mail including any copies of it either printed or saved to hard drive. 


BRE Bank SA, 00-950 Warszawa, ul. Senatorska 18, tel. +48 (22) 829 00 00, fax 
+48 (22) 829 00 33, e-mail: i...@brebank.pl
Sd Rejonowy dla m. st. Warszawy XII Wydzia Gospodarczy Krajowego Rejestru Sdowego, nr rejestru przedsibiorców KRS 025237, NIP: 526-021-50-88. 
Wedug stanu na dzie 01.01.2011 r. kapita zakadowy BRE Banku SA (w caoci wpacony) wynosi 168.346.696 zotych.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Brian Westerman
I have a UJV exit that we market which allows you to create variables for BATCH 
jobs as well as STC's.  At our customer sites we use it to control the DSN's of 
the backups and hundreds of other jobs.  The users also take advantage of the 
capabilities, (the ones that know how to read the manual :)).

You can license ours, or you can download a very similar one from 
www.cbttape.org/ file 573 that has a few less capabilities (but should be able 
to do the below), but is free.

i.e.

//   SET BKPDSN='D&ZYEAR.&ZMONTH.&ZDAY..T&ZTIME.'


//BACKUP00 EXEC PGM=ADRDSSU,REGION=0M  
//SYSPRINT DD SYSOUT=* 
//DISK0DD UNIT=3390,DISP=SHR,VOL=SER=FC6C00
//TAPE0DD UNIT=3480,DISP=(,CATLG),LABEL=(1,SL),
//DSN=SYSTAPE.Z13DL1.&BKPDSN,VOL=(,RETAIN,,10)

ends up with a DSN (assuming the job runs today at 22:59) of:

SYSTAPE.Z13DL1.D110712.T2259 

There are literally hundreds (well, maybe "a lot" is a better term) of JCL 
variables that you can create using the exit and you are not limited to running 
as a Started Task for any of them.

Some people don't like using exits, I personally feel that a good exit is worth 
it's weight in gold.  Eventually IBM will come around and support doing this 
natively, and (currently) there are a lot of reasons why they can't, but there 
is no reason you shouldn't do it on your own until then.


Brian

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Lizette Koehler
> When we run this job, we hard code JUL09.@1408 to the end of the SYSPRINT
dataset
> name.
> Is there a way to have the JCL automatically add the datestamp

You should look at the system symbols for DUMPSRVR and see if they might be
usable.  It has things like date and time (various flavors) that you might
be able to use.


Lizette

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Jonathan Goossen
Job Control Language

Thank you and have a Terrific day!

Jonathan Goossen, ACS, CL
Tape Specialist
ACT Mainframe Storage Group
651-361-4541

IBM Mainframe Discussion List  wrote on 07/12/2011 
02:08:22 PM:

> From: Cris Hernandez #9 
> To: IBM-MAIN@bama.ua.edu
> Date: 07/12/2011 02:08 PM
> Subject: Re: JCL Question
> Sent by: IBM Mainframe Discussion List 
> 
> contrary to popular misconceptions, JCL is not a programming 
> language, meaning it's not used to manipulate data.  To append data 
> onto any existing file, code disp=mod instead of shr/new/old and use
> appropriate pgm/util to read in & write out what you want. 
> 
> 
> --- On Tue, 7/12/11, Mosley, George  wrote:
> 
> > From: Mosley, George 
> > Subject: JCL Question
> > To: IBM-MAIN@bama.ua.edu
> > Date: Tuesday, July 12, 2011, 1:27 PM
> > Hello All.
> > 
> > We're trying to set up a batch job that will append a
> > datestamp to a dataset name.
> > For example:
> > 
> > //S0 EXEC PGM=EMCSRDF
> > //SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
> > //   
> > STORCLAS=BASE,MGMTCLAS=MEDIUM,
> > //DISP=(,CATLG),
> > //   
> > SPACE=(TRK,(15,15),RLSE),
> > //   
> > DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
> > //SYSINDD *
> > EMC-SQ VOL,44FA,INV_TRKS
> > /*  
> > 
> > When we run this job, we hard code JUL09.@1408 to the end
> > of the SYSPRINT dataset name.
> > Is there a way to have the JCL automatically add the
> > datestamp?
> > 
> > George (ICBC) 
> > 
> > This email and any attachments are intended only for the
> > named
> > recipient and may contain confidential and/or privileged
> > material.
> > Any unauthorized copying, dissemination or other use by a
> > person
> > other than the named recipient of this communication is
> > prohibited.
> >  If you received this in error or are not named as a
> > recipient,
> > please notify the sender and destroy all copies of this
> > email
> > immediately.
> > 
> > --
> > For IBM-MAIN subscribe / signoff / archive access
> > instructions,
> > send email to lists...@bama.ua.edu
> > with the message: GET IBM-MAIN INFO
> > Search the archives at http://bama.ua.edu/archives/ibm-main.html
> > 
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html


This e-mail message and all attachments transmitted with it may
contain legally privileged and/or confidential information intended
solely for the use of the addressee(s). If the reader of this
message is not the intended recipient, you are hereby notified that
any reading, dissemination, distribution, copying, forwarding or
other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please
notify the sender immediately and delete this message and all
copies and backups thereof. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Ted MacNEIL
>No looping construct.
>Has TIC

Looping constructs are not required to make it a programming language.

It makes it easier, but it's not required.

-
Ted MacNEIL
eamacn...@yahoo.ca
Twitter: @TedMacNEIL

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Binyamin Dissen
On Tue, 12 Jul 2011 19:36:09 + Ted MacNEIL  wrote:

:>I disagree.
:>JCL meets all criteria to be a programming language.
:>It doesn't do everything, but what language does?

No looping construct.

:>But, it is more complex than channel programmes, and they're considered a 
programming language.

Has TIC

:>Ted MacNEIL
:>eamacn...@yahoo.ca
:>Twitter: @TedMacNEIL
:>
:>-Original Message-
:>From: Cris Hernandez #9 
:>Sender: IBM Mainframe Discussion List 
:>Date: Tue, 12 Jul 2011 12:08:22 
:>To: 
:>Reply-To: IBM Mainframe Discussion List 
:>Subject: Re: JCL Question
:>
:>contrary to popular misconceptions, JCL is not a programming language, 
meaning it's not used to manipulate data.  To append data onto any existing 
file, code disp=mod instead of shr/new/old and use appropriate pgm/util to read 
in & write out what you want.  
:>
:>
:>--- On Tue, 7/12/11, Mosley, George  wrote:
:>
:>> From: Mosley, George 
:>> Subject: JCL Question
:>> To: IBM-MAIN@bama.ua.edu
:>> Date: Tuesday, July 12, 2011, 1:27 PM
:>> Hello All.
:>> 
:>> We're trying to set up a batch job that will append a
:>> datestamp to a dataset name.
:>> For example:
:>> 
:>> //S0     EXEC PGM=EMCSRDF
:>> //SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
:>> //           
:>> STORCLAS=BASE,MGMTCLAS=MEDIUM,
:>> //            DISP=(,CATLG),
:>> //           
:>> SPACE=(TRK,(15,15),RLSE),
:>> //           
:>> DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
:>> //SYSIN    DD *
:>> EMC-SQ VOL,44FA,INV_TRKS
:>> /*  
:>> 
:>> When we run this job, we hard code JUL09.@1408 to the end
:>> of the SYSPRINT dataset name.
:>> Is there a way to have the JCL automatically add the
:>> datestamp?
:>> 
:>> George (ICBC) 
:>> 
:>> This email and any attachments are intended only for the
:>> named
:>> recipient and may contain confidential and/or privileged
:>> material.
:>> Any unauthorized copying, dissemination or other use by a
:>> person
:>> other than the named recipient of this communication is
:>> prohibited.
:>>  If you received this in error or are not named as a
:>> recipient,
:>> please notify the sender and destroy all copies of this
:>> email
:>> immediately.
:>> 
:>> --
:>> For IBM-MAIN subscribe / signoff / archive access
:>> instructions,
:>> send email to lists...@bama.ua.edu
:>> with the message: GET IBM-MAIN INFO
:>> Search the archives at http://bama.ua.edu/archives/ibm-main.html
:>> 
:>
:>--
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
:>Search the archives at http://bama.ua.edu/archives/ibm-main.html
:>
:>--
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
:>Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Ted MacNEIL
I disagree.
JCL meets all criteria to be a programming language.
It doesn't do everything, but what language does?

But, it is more complex than channel programmes, and they're considered a 
programming language.
-
Ted MacNEIL
eamacn...@yahoo.ca
Twitter: @TedMacNEIL

-Original Message-
From: Cris Hernandez #9 
Sender: IBM Mainframe Discussion List 
Date: Tue, 12 Jul 2011 12:08:22 
To: 
Reply-To: IBM Mainframe Discussion List 
Subject: Re: JCL Question

contrary to popular misconceptions, JCL is not a programming language, meaning 
it's not used to manipulate data.  To append data onto any existing file, code 
disp=mod instead of shr/new/old and use appropriate pgm/util to read in & write 
out what you want.  


--- On Tue, 7/12/11, Mosley, George  wrote:

> From: Mosley, George 
> Subject: JCL Question
> To: IBM-MAIN@bama.ua.edu
> Date: Tuesday, July 12, 2011, 1:27 PM
> Hello All.
> 
> We're trying to set up a batch job that will append a
> datestamp to a dataset name.
> For example:
> 
> //S0     EXEC PGM=EMCSRDF
> //SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
> //           
> STORCLAS=BASE,MGMTCLAS=MEDIUM,
> //            DISP=(,CATLG),
> //           
> SPACE=(TRK,(15,15),RLSE),
> //           
> DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
> //SYSIN    DD *
> EMC-SQ VOL,44FA,INV_TRKS
> /*  
> 
> When we run this job, we hard code JUL09.@1408 to the end
> of the SYSPRINT dataset name.
> Is there a way to have the JCL automatically add the
> datestamp?
> 
> George (ICBC) 
> 
> This email and any attachments are intended only for the
> named
> recipient and may contain confidential and/or privileged
> material.
> Any unauthorized copying, dissemination or other use by a
> person
> other than the named recipient of this communication is
> prohibited.
>  If you received this in error or are not named as a
> recipient,
> please notify the sender and destroy all copies of this
> email
> immediately.
> 
> --
> For IBM-MAIN subscribe / signoff / archive access
> instructions,
> send email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Starr, Alan
George,

As others have mentioned, this is not a big deal IF the job can run as an STC 
(i.e. using dynamic system symbols).

I had a customer who absolutely insisted on doing something similar (i.e. 
placing a time-stamp in a DSN created by a batch job). I could easily do it 
with a REXX or CLIST (e.g. that uses ISPF File Tailoring or EDIT Macro services 
or even the EDIT CP).  I didn't want to do that, so I came up with an 
alternative that you may find too messy to utilize.

In a nutshell, the batch jobstep (S0 in your case) creates a dataset having a 
"base" DSN (i.e. without any date/time stamp information); this would be 
DSN=STRG.SRDF.INVTRKS in your case. A subsequent jobstep renames this dataset, 
adding a time-stamp. The JCL for that step is:

// SET MYDSN=STRG.SRDF.INVTRKS   
// SET STAMP='$(date "+.D%y%m%d.T%H%M%S")'   
//*  
//USS  EXEC PGM=BPXBATCH,REGION=31M, 
//   PARM='sh tso -t "RENAME ''&MYDSN'' ''&MYDSN&STAMP''"' 
//STDOUTDD SYSOUT=* 

The time-stamp comprises the current date (Dyymmdd) and time (Thhmmss). Be sure 
that you use CAPS OFF because case is significant. Also, it's very difficult to 
differentiate apostrophes from quotation marks in the sample above.  Here is 
the text of the parm with Q utilized as quotation mark (") and A utilized as 
apostrophe ('):
 //   PARM=Ash tso -t QRENAME AA&MYDSNAA AA&MYDSN&STAMPAAQA

Short explanation of what I am doing:

1) I am embedding a USS environment variable in the DSN using the special 
$(command) notation. This notation causes the OUTPUT of the specified command 
to be substituted in place of $(command)
2) The USS command that I am invoking is "date". The string specified in 
quotation marks, following the plus sign, is a mask. All characters except %_ 
(where _ represents some character) represent themselves (e.g. the D, T and .) 
%_ is replaced by some piece of the current date or time; there is a whole slew 
of possibilities (see USS commands).
3) the PARM tells the USS shell to invoke a TSO service (i.e. RENAME). The 
shell substitutes all USS environment values, including $(command), before 
invoking the tso service.

Cheers,
Alan

 

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Mosley, George
Sent: Tuesday, July 12, 2011 10:28 AM
To: IBM-MAIN@bama.ua.edu
Subject: JCL Question

Hello All.

We're trying to set up a batch job that will append a datestamp to a dataset 
name.
For example:

//S0 EXEC PGM=EMCSRDF
//SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
//STORCLAS=BASE,MGMTCLAS=MEDIUM,
//DISP=(,CATLG),
//SPACE=(TRK,(15,15),RLSE),
//DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
//SYSINDD *
EMC-SQ VOL,44FA,INV_TRKS
/*  

When we run this job, we hard code JUL09.@1408 to the end of the SYSPRINT 
dataset name.
Is there a way to have the JCL automatically add the datestamp?

George (ICBC)

This email and any attachments are intended only for the named recipient and 
may contain confidential and/or privileged material.
Any unauthorized copying, dissemination or other use by a person other than the 
named recipient of this communication is prohibited.
 If you received this in error or are not named as a recipient, please notify 
the sender and destroy all copies of this email immediately.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Cris Hernandez #9
contrary to popular misconceptions, JCL is not a programming language, meaning 
it's not used to manipulate data.  To append data onto any existing file, code 
disp=mod instead of shr/new/old and use appropriate pgm/util to read in & write 
out what you want.  


--- On Tue, 7/12/11, Mosley, George  wrote:

> From: Mosley, George 
> Subject: JCL Question
> To: IBM-MAIN@bama.ua.edu
> Date: Tuesday, July 12, 2011, 1:27 PM
> Hello All.
> 
> We're trying to set up a batch job that will append a
> datestamp to a dataset name.
> For example:
> 
> //S0     EXEC PGM=EMCSRDF
> //SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
> //           
> STORCLAS=BASE,MGMTCLAS=MEDIUM,
> //            DISP=(,CATLG),
> //           
> SPACE=(TRK,(15,15),RLSE),
> //           
> DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
> //SYSIN    DD *
> EMC-SQ VOL,44FA,INV_TRKS
> /*  
> 
> When we run this job, we hard code JUL09.@1408 to the end
> of the SYSPRINT dataset name.
> Is there a way to have the JCL automatically add the
> datestamp?
> 
> George (ICBC) 
> 
> This email and any attachments are intended only for the
> named
> recipient and may contain confidential and/or privileged
> material.
> Any unauthorized copying, dissemination or other use by a
> person
> other than the named recipient of this communication is
> prohibited.
>  If you received this in error or are not named as a
> recipient,
> please notify the sender and destroy all copies of this
> email
> immediately.
> 
> --
> For IBM-MAIN subscribe / signoff / archive access
> instructions,
> send email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Gerhard Postpischil

On 7/12/2011 1:27 PM, Mosley, George wrote:

We're trying to set up a batch job that will append a datestamp to a dataset 
name.
//SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
Is there a way to have the JCL automatically add the datestamp?


Not per se, but you could add code for the submission/conversion 
date in a system exit (e.g., IEFUJV, or one of the JES exits). 
Depending on how you get the JCL into the system, it might be 
easier to do as part of the submission process?



Gerhard Postpischil
Bradford, VT

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Veilleux, Jon L
I found this on the web and it appears to work but you can bypass the first job 
by running as a Started Task:

//ABAB77V1 JOB (0400,PT,PES),'KIRAN',CLASS=C,MSGCLASS=X,  
// MSGLEVEL=(1,1),NOTIFY=ABAB77,REGION=0008192K  
//STEP0100 EXEC PGM=EZACFSM1  
//SYSOUTDD SYSOUT=(*,INTRDR)  
//SYSIN DD DATA,DLM=@@
//ABAB77V2 JOB (0400,PT,PES),
// 'VIJAY',  
// CLASS=C,  
// MSGCLASS=X,
// NOTIFY=&SYSUID
//STEPK1   EXEC PGM=IEBGENER  
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=ABAB.TX.SND.SQUS0001.SI,DISP=SHR
//SYSUT2   DD DSN=ABAB.TX.SND.SQUS0001.SI.D&LYYMMDD..T&LHHMMSS,  
//DISP=(NEW,CATLG,DELETE),
//SPACE=(CYL,(2,2),RLSE),  
//DCB=(LRECL=890,RECFM=FB)  
//SYSIN   DD  DUMMY
@@  

For the Started Task all you need is:

//STEPK1   EXEC PGM=IEBGENER  
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=ABAB.TX.SND.SQUS0001.SI,DISP=SHR
//SYSUT2   DD DSN=ABAB.TX.SND.SQUS0001.SI.D&LYYMMDD..T&LHHMMSS,  
//DISP=(NEW,CATLG,DELETE),
//SPACE=(CYL,(2,2),RLSE),  
//DCB=(LRECL=890,RECFM=FB)  
//SYSIN   DD  DUMMY

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Mosley, George
Sent: Tuesday, July 12, 2011 1:28 PM
To: IBM-MAIN@bama.ua.edu
Subject: JCL Question

Hello All.

We're trying to set up a batch job that will append a datestamp to a dataset 
name.
For example:

//S0 EXEC PGM=EMCSRDF
//SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
//STORCLAS=BASE,MGMTCLAS=MEDIUM,
//DISP=(,CATLG),
//SPACE=(TRK,(15,15),RLSE),
//DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
//SYSINDD *
EMC-SQ VOL,44FA,INV_TRKS
/*  

When we run this job, we hard code JUL09.@1408 to the end of the SYSPRINT 
dataset name.
Is there a way to have the JCL automatically add the datestamp?

George (ICBC)

This email and any attachments are intended only for the named recipient and 
may contain confidential and/or privileged material.
Any unauthorized copying, dissemination or other use by a person other than the 
named recipient of this communication is prohibited.
 If you received this in error or are not named as a recipient, please notify 
the sender and destroy all copies of this email immediately.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Staller, Allan
IIRC, static system symbols can be substituted in JCL. Check the Init &
Tuning Guide for details as what the static system symbols are.

Try:

//SYSPRINT DD DSN=STRG.SRDF.INVTRKS.&SYSDATE.,
//STORCLAS=BASE,MGMTCLAS=MEDIUM,
//DISP=(,CATLG),
//SPACE=(TRK,(15,15),RLSE),
//DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)

(I think I got the syntax right). 

If that does not work, there are several utility programs on the CBT
"tape" (www.cbttape.org)
 that will perform symbol substitution for you.

HTH,


We're trying to set up a batch job that will append a datestamp to a
dataset name.
For example:

//SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
//STORCLAS=BASE,MGMTCLAS=MEDIUM,
//DISP=(,CATLG),
//SPACE=(TRK,(15,15),RLSE),
//DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
//

 
When we run this job, we hard code JUL09.@1408 to the end of the
SYSPRINT dataset name.
Is there a way to have the JCL automatically add the datestamp?


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: JCL Question

2011-07-12 Thread Paul Gilmartin
On Tue, 12 Jul 2011 17:27:58 +, Mosley, George wrote:
>
>Is there a way to have the JCL automatically add the datestamp?
>
No.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


JCL Question

2011-07-12 Thread Mosley, George
Hello All.

We're trying to set up a batch job that will append a datestamp to a dataset 
name.
For example:

//S0 EXEC PGM=EMCSRDF
//SYSPRINT DD DSN=STRG.SRDF.INVTRKS.JUL09.@1408,
//STORCLAS=BASE,MGMTCLAS=MEDIUM,
//DISP=(,CATLG),
//SPACE=(TRK,(15,15),RLSE),
//DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
//SYSINDD *
EMC-SQ VOL,44FA,INV_TRKS
/*  

When we run this job, we hard code JUL09.@1408 to the end of the SYSPRINT 
dataset name.
Is there a way to have the JCL automatically add the datestamp?

George (ICBC) 

This email and any attachments are intended only for the named
recipient and may contain confidential and/or privileged material.
Any unauthorized copying, dissemination or other use by a person
other than the named recipient of this communication is prohibited.
 If you received this in error or are not named as a recipient,
please notify the sender and destroy all copies of this email
immediately.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-02-01 Thread Robert Birdsall
Sorry for the delayed response...

Yes, it is permissible to omit the continuation mark.
>From the z/OS V1R10.0 MVS JCL Reference manual section 17.1.4:

Continuing a Relational Expression 

You can continue relational-expressions on the next JCL statement. Break the 
relational-expression where a blank is valid on the current statement, and 
continue the expression beginning in column 4 through 16 of the next 
statement. Do not put comments on the statement that you are continuing. 
You can code comments after you have completed the statement. For 
example: 




//TESTCON  IF (RC = 8 | RC = 10 | RC = 12 |
//RC = 14)  THEN COMMENTS OK HERE

Note the lack of continuation character.


On Fri, 21 Jan 2011 09:22:06 -0600, Paul Gilmartin  
wrote:

>On Fri, 21 Jan 2011 08:08:32 -0600, Robert Birdsall wrote:
>
>>Similar to Gil's reply - skip if you've had enough...
>>...
>>// IF (STEPA.RC = 4 AND STEPB.RC = 0 AND STEPC.RUN = FALSE AND
>>// STEPD.RC = 8 AND STEPE.RUN = FALSE) OR
>>...
>>
>Is it permissible to omit the continuation mark in col. 72
>as you appear to have done?  I thought that was permitted
>only if the continued line ended with a comma.
>
>(I looked briefly, not thoroughly, for this in the IF...ELSE
>chapter of the JCL RM.)
>
>Beware of COND=ONLY to suppress execution.  Decades ago, a
>colleague did that, but a prior step ABENDed.  Embarrassing
>because it was my program.  I've since used COND=(0,LE).
>
>Still waiting for a followup in COND format from the person who
>posed the challenge...
>
>-- gil
>
>--
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
>Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


SV: SV: SV: If Else JCL question

2011-01-24 Thread Thomas Berg
> -Ursprungligt meddelande-
> Från: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] För Paul
> Gilmartin
> Skickat: den 24 januari 2011 14:55
> Till: IBM-MAIN@bama.ua.edu
> Ämne: Re: SV: SV: If Else JCL question
> 
> On Mon, 24 Jan 2011 12:37:38 +0100, Thomas Berg wrote:
> >
> >My main dislike with IF..THEN etc. is that the resulting JCL
> >is not easy to read (for me at least).  With a keyword at
> >each EXEC it is at least more compact.  And You don't have to
> >
> FSVO "easy to read" and "compact".  Compare CM Poncelet's
> realization of a compound condition (which he suggested) to
> mine:
> 
> http://bama.ua.edu/cgi-bin/wa?A2=ind1101&L=ibm-main&P=103415
> 

It wasn't my intention to translate "easy to read" as "compact".
It's more about the impression of the JCL code to be "cluttered" 
by the IF-constructs - including more code lines. 

I tried once using IF-constructs for a more complicated case which resulted 
in a JCL with more IF-construct lines that the rest. 
I won a bit in more understandable conditions but lose more in the 
overall readability. 

I suppose a part of my difficulties with these "new" constructs is my 
relatively short experience with them.  After all, I have lived with 
the "old" constructs in nearly 30 years.  (OH MY GOD!)  :)


 
Regards, 
Thomas Berg 
_ 
Thomas Berg   Specialist   A M   SWEDBANK 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: SV: SV: If Else JCL question

2011-01-24 Thread Paul Gilmartin
On Mon, 24 Jan 2011 12:37:38 +0100, Thomas Berg wrote:
>
>My main dislike with IF..THEN etc. is that the resulting JCL
>is not easy to read (for me at least).  With a keyword at
>each EXEC it is at least more compact.  And You don't have to
>
FSVO "easy to read" and "compact".  Compare CM Poncelet's
realization of a compound condition (which he suggested) to
mine:

http://bama.ua.edu/cgi-bin/wa?A2=ind1101&L=ibm-main&P=103415

>search for pairing the IF's with the ENDIF's etc.
>
IBM missed a useful, valuable, feature here by failing to
require that the label on ELSE and ENDIF match that on IF.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


SV: SV: If Else JCL question

2011-01-24 Thread Thomas Berg
> -Ursprungligt meddelande-
> Från: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] För Paul
> Gilmartin
> Skickat: den 22 januari 2011 01:11
> Till: IBM-MAIN@bama.ua.edu
> Ämne: Re: SV: If Else JCL question
> 
> On Fri, 21 Jan 2011 13:28:51 +0100, Thomas Berg wrote:
> 
> >I would have preferred something like this instead of the delivered
> IF..THEN logic:
> >
> >//S050   EXEC  WHATEVER,RUNIF=(RC,LE,4,S010)
> >RUNIF=(RC,8,S010)
> >RUNIF=(RUN,S020)
> >RUNIF=(RUN,ANY)
> >RUNIF=(NOTRUN,S030)
> >RUNIF=(FLUSHED,S040)
> >RUNIF=(JCLERROR,S040)
> >..and in combinations as in COND.
> >etc.
> >
> Why?
> 
> Eliding the "EQ" may be more confusing than convenient.

Maybe.  But not for me, I see it that an "EQ" or "=" is naturally implicit. 

> Is there any difference between NOTRUN and FLUSHED?  If so,
> should there also be a NOTFLUSHED?

I it could be JCLERROR (rather than "FLUSHED" due to previous RC).

> The ability to test and recover from a JCLERROR is a novel
> concept.  Would IBM buy it as a construct in IF...THEN?
> Why not?
> 
> And why not just extend COND with the new constructs?

Mainly due to backward compatibility concerns.  And it could 
lead to confusion with two different type of syntaxthinking 
in COND.

> 
> IF...THEN has some nice properties:

My main dislike with IF..THEN etc. is that the resulting JCL 
is not easy to read (for me at least).  With a keyword at 
each EXEC it is at least more compact.  And You don't have to 
search for pairing the IF's with the ENDIF's etc.  

> 
> o ELSE provides a nice alternative; no need to invert the
>   COND with deMorgan's Laws (and COND supports disjunction
>   but not conjunction).
> 
> o IF...THEN can control multiple steps with no need to
>   restate the COND on every EXEC statement (but symbol
>   substitution could simplify this).

Yes, this is nice in itself.  But You still have to pair 
the ENDIF's with the IF's etc.

> o One or more of the controlled steps can be a PROC call
>   with no need to override COND on the individual PROC
>   steps, and no conflict with COND in legacy library
>   PROCs

My idea is that the "RUNIF" would work also against the step 
that EXEC's the proc. (Including the proc's steps.)

> o The ability to test for specific ABEND codes.
> 
> All in all, I see considerable fear of innovation here.
> Perhaps, "If I couldn't run it on my turnkey MVS 3.8 under
> Hercules, I'd rather not deal with it."

Isn't that a fair stance ?  :)



Hälsn Thomas 
_ 
Thomas Berg   Specialist   A M   SWEDBANK 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-22 Thread CM Poncelet

Paul Gilmartin wrote:


On Fri, 21 Jan 2011 02:01:45 +, CM Poncelet  wrote:

 


Any boolean tests can be performed with 'COND=', but not so with 'IF
ELSE etc.' We have already discussed this in the past.

   


Sorry; I missed that.

 


But please show me how 'IF ELSE ...' handles the following:

Execute STEPF if
- STEPA sets CC=04, STEPB sets CC=00, STEPC did not execute, STEPD sets
CC=08 and STEPE did not execute
or if
- STEPA sets CC=00, STEPB did not execute, STEPC sets CC=04, STEPD did
not execute and STEPE sets CC=00
or if
- STEPA did not execute, STEPB sets CC=00, STEPC sets CC=04, STEPD sets
CC=08 and STEPE sets either CC=04 or CC=08
otherwise do not execute STEPF.

   


OK:

//
//IFELSEJOB  505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//USERCOUTPUT JESDS=ALL,DEFAULT=YES,
//  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
//STEPA  EXEC PGM=IEFBR14
//STEPB  EXEC PGM=IEFBR14
//STEPC  EXEC PGM=IEFBR14
//STEPD  EXEC PGM=IEFBR14
//STEPE  EXEC PGM=IEFBR14
//TEST  IF ( STEPA.RC=04 & STEPB.RC=00 &   x
//   STEPC.RUN=FALSE & STEPD.RC=08 & STEPE.RUN=FALSE ) |   x
// ( STEPA.RC=00 & STEPB.RUN=FALSE &   x
//   STEPC.RC=04 & STEPD.RUN=FALSE & STEPE.RC=00 )  |  x
// ( STEPA.RUN=FALSE & STEPB.RC=00 &   x
//   STEPC.RC=04 & STEPD.RC=08 &   x
// ( STEPE.RC=04 | STEPE.RC=08 ) ) THEN
//STEPF  EXEC PGM=IEFBR14
//TEST  ENDIF
//

   :w ! submit 


Tested; STEPA through STEPE execute; STEPF is skipped because
of condiional expression.  I didn't check with truth table.  Also
typos possible.

Now, kindly reciprocate and show me how this is coded with the
COND parameter on the EXEC statement, please,



Here it is again, hopefully more legible ...

Case #1:

//STEPA  EXEC PGM=IDCAMS   

//SYSPRINT DD SYSOUT=* 

//SYSINDD *

 SET MAXCC EQ 4   

//STEPB  EXEC PGM=IEFBR14  

//STEPC  EXEC PGM=IEFBR14,COND=(0,LE)  

//STEPD  EXEC PGM=IDCAMS   

//SYSPRINT DD SYSOUT=* 

//SYSINDD *

 SET MAXCC EQ 8   

//STEPE  EXEC PGM=IEFBR14,COND=(0,LE)  

//*

//EX01   EXEC PGM=IEFBR14, 

//COND=((04,NE,STEPA),(00,NE,STEPB),(00,LE,STEPC), 

//(08,NE,STEPD),(00,LE,STEPE)) 

//EX02   EXEC PGM=IEFBR14, 

//COND=((00,NE,STEPA),(00,LE,STEPB),(04,NE,STEPC), 

//(00,LE,STEPD),(00,NE,STEPE)) 

//OX03   EXEC PGM=IEFBR14, 

//COND=((04,EQ,STEPE),(08,EQ,STEPE))   

//EX03   EXEC PGM=IEFBR14,


//COND=((00,LE,STEPA),(00,NE,STEPB),(04,NE,STEPC),

//(08,NE,STEPD),(00,LE,OX03)) 

//NX04   EXEC PGM=IEFBR14,

//COND=((00,LE,EX01),(00,LE,EX02),(00,LE,EX03))   

//*   

//STEPF  EXEC PGM=IEFBR14,COND=(00,LE,NX04)   


Case #2:

//STEPA  EXEC PGM=IEFBR14 

//STEPB  EXEC PGM=IEFBR14,COND=(0,LE) 

//STEPC  EXEC PGM=IDCAMS  

//SYSPRINT DD SYSOUT=*

//SYSINDD *   

 SET MAXCC EQ 4  

//STEPD  EXEC PGM=IEFBR14,COND=(0,LE) 

//STEPE  EXEC PGM=IEFBR14 

//*   

//EX01   EXEC PGM=IEFBR14,


//COND=((04,NE,STEPA),(00,NE,STEPB),(00,LE,STEPC),

//(08,NE,STEPD),(00,LE,STEPE))

//EX02   EXEC PGM=IEFBR14,


//COND=((00,NE,STEPA),(00,LE,STEPB),(04,NE,STEPC),

//(00,LE,STEPD),(00,NE,STEPE))

//OX03   EXEC PGM=IEFBR14,

//COND=((04,EQ,STEPE),(08,EQ,STEPE))  

//EX03   EXEC PGM=IEFBR14,


//COND=((00,LE,STEPA),(00,NE,STEPB),(04,NE,STEPC),

//(08,NE,STEPD),(00,LE,OX03)) 

//NX04   EXEC PGM=IEFBR14, 


//COND=((00,LE

Re: If Else JCL question

2011-01-22 Thread CM Poncelet

Paul Gilmartin wrote:


On Fri, 21 Jan 2011 02:01:45 +, CM Poncelet  wrote:

 


Any boolean tests can be performed with 'COND=', but not so with 'IF
ELSE etc.' We have already discussed this in the past.

   


Sorry; I missed that.
 

Actually, I did not realise 'IF ELSE ...' now supports boolean testing 
(if it does, that is). As far as I know, it didn't in the past - but, 
then again, I never use it anyway.


 


But please show me how 'IF ELSE ...' handles the following:

Execute STEPF if
- STEPA sets CC=04, STEPB sets CC=00, STEPC did not execute, STEPD sets
CC=08 and STEPE did not execute
or if
- STEPA sets CC=00, STEPB did not execute, STEPC sets CC=04, STEPD did
not execute and STEPE sets CC=00
or if
- STEPA did not execute, STEPB sets CC=00, STEPC sets CC=04, STEPD sets
CC=08 and STEPE sets either CC=04 or CC=08
otherwise do not execute STEPF.

   


OK:

//
//IFELSEJOB  505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//USERCOUTPUT JESDS=ALL,DEFAULT=YES,
//  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
//STEPA  EXEC PGM=IEFBR14
//STEPB  EXEC PGM=IEFBR14
//STEPC  EXEC PGM=IEFBR14
//STEPD  EXEC PGM=IEFBR14
//STEPE  EXEC PGM=IEFBR14
//TEST  IF ( STEPA.RC=04 & STEPB.RC=00 &   x
//   STEPC.RUN=FALSE & STEPD.RC=08 & STEPE.RUN=FALSE ) |   x
// ( STEPA.RC=00 & STEPB.RUN=FALSE &   x
//   STEPC.RC=04 & STEPD.RUN=FALSE & STEPE.RC=00 )  |  x
// ( STEPA.RUN=FALSE & STEPB.RC=00 &   x
//   STEPC.RC=04 & STEPD.RC=08 &   x
// ( STEPE.RC=04 | STEPE.RC=08 ) ) THEN
//STEPF  EXEC PGM=IEFBR14
//TEST  ENDIF
//

   :w ! submit 


Tested; STEPA through STEPE execute; STEPF is skipped because
of condiional expression.  I didn't check with truth table.  Also
typos possible.

Now, kindly reciprocate and show me how this is coded with the
COND parameter on the EXEC statement, please,



Case #1:

//STEPA  EXEC PGM=IDCAMS 
//SYSPRINT DD SYSOUT=*   
//SYSINDD *  
 SET MAXCC EQ 4 
//STEPB  EXEC PGM=IEFBR14
//STEPC  EXEC PGM=IEFBR14,COND=(0,LE)
//STEPD  EXEC PGM=IDCAMS 
//SYSPRINT DD SYSOUT=*   
//SYSINDD *  
 SET MAXCC EQ 8 
//STEPE  EXEC PGM=IEFBR14,COND=(0,LE)
//*

//* THE FOLLOWING ARE THE SAME IN ALL CASES:
//*  
   
//EX01   EXEC PGM=IEFBR14,   
//COND=((04,NE,STEPA),(00,NE,STEPB),(00,LE,STEPC),
//(08,NE,STEPD),(00,LE,STEPE))   
//EX02   EXEC PGM=IEFBR14,   
//COND=((00,NE,STEPA),(00,LE,STEPB),(04,NE,STEPC),
//(00,LE,STEPD),(00,NE,STEPE))   
//OX03   EXEC PGM=IEFBR14,   
//COND=((04,EQ,STEPE),(08,EQ,STEPE)) 
//EX03   EXEC PGM=IEFBR14,   
//COND=((00,LE,STEPA),(00,NE,STEPB),(04,NE,STEPC),
//(08,NE,STEPD),(00,LE,OX03))
//NX04   EXEC PGM=IEFBR14,   
//COND=((00,LE,EX01),(00,LE,EX02),(00,LE,EX03))  
//*  
//STEPF  EXEC PGM=IEFBR14,COND=(00,LE,NX04)   


Case #2:

//STEPA  EXEC PGM=IEFBR14
//STEPB  EXEC PGM=IEFBR14,COND=(0,LE)
//STEPC  EXEC PGM=IDCAMS 
//SYSPRINT DD SYSOUT=*   
//SYSINDD *  
 SET MAXCC EQ 4 
//STEPD  EXEC PGM=IEFBR14,COND=(0,LE)
//STEPE  EXEC PGM=IEFBR14
//*

//* THE FOLLOWING ARE THE SAME IN ALL CASES:
//* 
  

//EX01   EXEC PGM=IEFBR14,   
//COND=((04,NE,STEPA),(00,NE,STEPB),(00,LE,STEPC),
//(08,NE,STEPD),(00,LE,STEPE))   
//EX02   EXEC PGM=IEFBR14,   
//COND=((00,NE,STEPA),(00,LE,STEPB),(04,NE,STEPC),
//(00,LE,STEPD),(00,NE,STEPE))   
//OX03   EXEC PGM=IEFBR14,   
//COND=((04,EQ,STEPE),(08,EQ,STEPE)) 
//EX03   EXEC PGM=IEFBR14,   
//  

If Else JCL question

2011-01-21 Thread john gilmore
This thread, like other long-running ones, has degenerated into a slanging 
match over trivia.
 
As a matter of formal syntax COND= is not so powerful as IF-THEN-ELSE, and 
assertions to the contrary do no credit to the logical prowess of those who 
make them.
 
Anciently there was in fact a distinction between 'flushed' and 'not run'.  The 
first meant that the (usually proper) balance of a job stream had been 
discarded in medias res.  'Not run' meant that an entire entity was not run, 
executed, as in 'JCL error, job not run'.  This distinction, like that between 
disinterested and uninterested, was valuable; but it was too subtle to survive. 
 
 
Beyond these unarguables we arrive at differences of opinion: preferences for 
rubies over diamonds.  I may prefer my own syntactic sugar to yours or the 
familiar to the unfamiliar (and thus ipso facto suspect).   These preferencres 
are not rational, but neither are they vicious, and the only mechanisms for 
resolving differences in them are, again, Justice Holmes' trinity of battle, 
compromise, or a jeweler who has both (rubies and diamonds).
 
If it were enforceable--Tiny changes in subject-line text would make 
enforcement impossible--there would be much to be said for limiting all threads 
to, say, 30 posts.  After some such number of them those who had something 
useful or diverting to say would have said it; and sclerosis would already be, 
like the train from Rapallo, in arrivo.

John Gilmore Ashland, MA 01721-1817 USA

  
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: SV: If Else JCL question

2011-01-21 Thread Paul Gilmartin
On Fri, 21 Jan 2011 13:28:51 +0100, Thomas Berg wrote:

>I would have preferred something like this instead of the delivered IF..THEN 
>logic:
>
>//S050   EXEC  WHATEVER,RUNIF=(RC,LE,4,S010)
>RUNIF=(RC,8,S010)
>RUNIF=(RUN,S020)
>RUNIF=(RUN,ANY)
>RUNIF=(NOTRUN,S030)
>RUNIF=(FLUSHED,S040)
>RUNIF=(JCLERROR,S040)
>..and in combinations as in COND.
>etc.
>
Why?

Eliding the "EQ" may be more confusing than convenient.

Is there any difference between NOTRUN and FLUSHED?  If so,
should there also be a NOTFLUSHED?

The ability to test and recover from a JCLERROR is a novel
concept.  Would IBM buy it as a construct in IF...THEN?
Why not?

And why not just extend COND with the new constructs?

IF...THEN has some nice properties:

o ELSE provides a nice alternative; no need to invert the
  COND with deMorgan's Laws (and COND supports disjunction
  but not conjunction).

o IF...THEN can control multiple steps with no need to
  restate the COND on every EXEC statement (but symbol
  substitution could simplify this).

o One or more of the controlled steps can be a PROC call
  with no need to override COND on the individual PROC
  steps, and no conflict with COND in legacy library
  PROCs

o The ability to test for specific ABEND codes.

All in all, I see considerable fear of innovation here.
Perhaps, "If I couldn't run it on my turnkey MVS 3.8 under
Hercules, I'd rather not deal with it."

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-21 Thread Stan Weyman
   right you are about the COND EVEN and ONLY use.  I was thinking of another 
issue when I inserted the 'lazy' comment.  I've always considered the inverse 
nature of COND checking to be a problem (if this condition is met, bypass this 
step I think is the name of the game - I don't write much JCL anymore).  If a 
job with multiple steps got complex enough to require the use of both COND 
EVEN/ONLY and the standard COND=(x,op) checks, then I would seriously look to 
splitting this piece of work into multiple jobs.  IMHO of course.  Thanks for 
the correction Cris.

   regards

Stan Weyman 
Senior Software Engineer
stan.wey...@emc.com
EMC²  (508)249-3966
where information lives
It is wise to keep in mind that neither
success nor failure is ever final...


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Cris Hernandez #9
Sent: Friday, January 21, 2011 4:38 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: If Else JCL question

COND=EVEN and COND=ONLY only take effect when there is a system or user abend 
returned, they have nothing to do with cond code checking. 
If either failed to perform according to specs, I'd be raising cain with my 
sysprogs in short order. 

hernandez



--- On Fri, 1/21/11, Stan Weyman  wrote:

> From: Stan Weyman 
> Subject: Re: If Else JCL question
> To: IBM-MAIN@bama.ua.edu
> Date: Friday, January 21, 2011, 10:34 AM
> << Beware of COND=ONLY to
> suppress execution.  Decades ago, a
> colleague did that, but a prior step ABENDed. 
> Embarrassing
> because it was my program.  I've since used
> COND=(0,LE). >>
> 
>    I've had terrible experiences using
> COND=ONLY and, to a lesser extent, COND=EVEN.  Always
> considered them the lazy way to handle exceptions (just my
> opinion though) so I've avoided them if at all possible.
>  
>      Stan
> 
> Stan Weyman 
> Senior Software Engineer
> stan.wey...@emc.com
> EMC²  (508)249-3966
> where information lives
> It is wise to keep in mind that neither
> success nor failure is ever final...
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu]
> On Behalf Of Paul Gilmartin
> Sent: Friday, January 21, 2011 10:22 AM
> To: IBM-MAIN@bama.ua.edu
> Subject: Re: If Else JCL question
> 
> On Fri, 21 Jan 2011 08:08:32 -0600, Robert Birdsall wrote:
> 
> >Similar to Gil's reply - skip if you've had enough...
> >    ...
> >// IF (STEPA.RC = 4 AND STEPB.RC = 0 AND STEPC.RUN =
> FALSE AND
> >//     STEPD.RC = 8 AND STEPE.RUN =
> FALSE) OR
> >    ...
> >
> Is it permissible to omit the continuation mark in col. 72
> as you appear to have done?  I thought that was
> permitted
> only if the continued line ended with a comma.
> 
> (I looked briefly, not thoroughly, for this in the
> IF...ELSE
> chapter of the JCL RM.)
> 
> Beware of COND=ONLY to suppress execution.  Decades
> ago, a
> colleague did that, but a prior step ABENDed. 
> Embarrassing
> because it was my program.  I've since used
> COND=(0,LE).
> 
> Still waiting for a followup in COND format from the person
> who
> posed the challenge...
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access
> instructions,
> send email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 
> --
> For IBM-MAIN subscribe / signoff / archive access
> instructions,
> send email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 


  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-21 Thread Cris Hernandez #9
COND=EVEN and COND=ONLY only take effect when there is a system or user abend 
returned, they have nothing to do with cond code checking. 
If either failed to perform according to specs, I'd be raising cain with my 
sysprogs in short order. 

hernandez



--- On Fri, 1/21/11, Stan Weyman  wrote:

> From: Stan Weyman 
> Subject: Re: If Else JCL question
> To: IBM-MAIN@bama.ua.edu
> Date: Friday, January 21, 2011, 10:34 AM
> << Beware of COND=ONLY to
> suppress execution.  Decades ago, a
> colleague did that, but a prior step ABENDed. 
> Embarrassing
> because it was my program.  I've since used
> COND=(0,LE). >>
> 
>    I've had terrible experiences using
> COND=ONLY and, to a lesser extent, COND=EVEN.  Always
> considered them the lazy way to handle exceptions (just my
> opinion though) so I've avoided them if at all possible.
>  
>      Stan
> 
> Stan Weyman 
> Senior Software Engineer
> stan.wey...@emc.com
> EMC²  (508)249-3966
> where information lives
> It is wise to keep in mind that neither
> success nor failure is ever final...
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu]
> On Behalf Of Paul Gilmartin
> Sent: Friday, January 21, 2011 10:22 AM
> To: IBM-MAIN@bama.ua.edu
> Subject: Re: If Else JCL question
> 
> On Fri, 21 Jan 2011 08:08:32 -0600, Robert Birdsall wrote:
> 
> >Similar to Gil's reply - skip if you've had enough...
> >    ...
> >// IF (STEPA.RC = 4 AND STEPB.RC = 0 AND STEPC.RUN =
> FALSE AND
> >//     STEPD.RC = 8 AND STEPE.RUN =
> FALSE) OR
> >    ...
> >
> Is it permissible to omit the continuation mark in col. 72
> as you appear to have done?  I thought that was
> permitted
> only if the continued line ended with a comma.
> 
> (I looked briefly, not thoroughly, for this in the
> IF...ELSE
> chapter of the JCL RM.)
> 
> Beware of COND=ONLY to suppress execution.  Decades
> ago, a
> colleague did that, but a prior step ABENDed. 
> Embarrassing
> because it was my program.  I've since used
> COND=(0,LE).
> 
> Still waiting for a followup in COND format from the person
> who
> posed the challenge...
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access
> instructions,
> send email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 
> --
> For IBM-MAIN subscribe / signoff / archive access
> instructions,
> send email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 


  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-21 Thread Stan Weyman
<< Beware of COND=ONLY to suppress execution.  Decades ago, a
colleague did that, but a prior step ABENDed.  Embarrassing
because it was my program.  I've since used COND=(0,LE). >>

   I've had terrible experiences using COND=ONLY and, to a lesser extent, 
COND=EVEN.  Always considered them the lazy way to handle exceptions (just my 
opinion though) so I've avoided them if at all possible.
 
 Stan

Stan Weyman 
Senior Software Engineer
stan.wey...@emc.com
EMC²  (508)249-3966
where information lives
It is wise to keep in mind that neither
success nor failure is ever final...

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Paul Gilmartin
Sent: Friday, January 21, 2011 10:22 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: If Else JCL question

On Fri, 21 Jan 2011 08:08:32 -0600, Robert Birdsall wrote:

>Similar to Gil's reply - skip if you've had enough...
>...
>// IF (STEPA.RC = 4 AND STEPB.RC = 0 AND STEPC.RUN = FALSE AND
>// STEPD.RC = 8 AND STEPE.RUN = FALSE) OR
>...
>
Is it permissible to omit the continuation mark in col. 72
as you appear to have done?  I thought that was permitted
only if the continued line ended with a comma.

(I looked briefly, not thoroughly, for this in the IF...ELSE
chapter of the JCL RM.)

Beware of COND=ONLY to suppress execution.  Decades ago, a
colleague did that, but a prior step ABENDed.  Embarrassing
because it was my program.  I've since used COND=(0,LE).

Still waiting for a followup in COND format from the person who
posed the challenge...

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-21 Thread Paul Gilmartin
On Fri, 21 Jan 2011 08:08:32 -0600, Robert Birdsall wrote:

>Similar to Gil's reply - skip if you've had enough...
>...
>// IF (STEPA.RC = 4 AND STEPB.RC = 0 AND STEPC.RUN = FALSE AND
>// STEPD.RC = 8 AND STEPE.RUN = FALSE) OR
>...
>
Is it permissible to omit the continuation mark in col. 72
as you appear to have done?  I thought that was permitted
only if the continued line ended with a comma.

(I looked briefly, not thoroughly, for this in the IF...ELSE
chapter of the JCL RM.)

Beware of COND=ONLY to suppress execution.  Decades ago, a
colleague did that, but a prior step ABENDed.  Embarrassing
because it was my program.  I've since used COND=(0,LE).

Still waiting for a followup in COND format from the person who
posed the challenge...

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-21 Thread Robert Birdsall
Similar to Gil's reply - skip if you've had enough...

I did test the following for all 4 execute STEPF conditions and some do not 
execute STEPF conditions.  It works correctly as far as I can tell.
Change the MAXCC=0 or the ',COND=ONLY' as required to test any condition 
you want.

//JOBNAME JOB (whatever),'BSquare',CLASS=X,MSGCLASS=X,NOTIFY=&SYSUID
//*
//STEPAEXEC PGM=IDCAMS,COND=ONLY
//SYSPRINT DD DUMMY
//SYSIN DD *
  SET MAXCC=0
//STEPBEXEC PGM=IDCAMS,COND=ONLY
//SYSPRINT DD DUMMY
//SYSIN DD *
  SET MAXCC=0
//STEPCEXEC PGM=IDCAMS,COND=ONLY
//SYSPRINT DD DUMMY
//SYSIN DD *
  SET MAXCC=0
//STEPDEXEC PGM=IDCAMS,COND=ONLY
//SYSPRINT DD DUMMY
//SYSIN DD *
  SET MAXCC=0
//STEPEEXEC PGM=IDCAMS,COND=ONLY
//SYSPRINT DD DUMMY
//SYSIN DD *
  SET MAXCC=0
// IF (STEPA.RC = 4 AND STEPB.RC = 0 AND STEPC.RUN = FALSE AND
// STEPD.RC = 8 AND STEPE.RUN = FALSE) OR
//(STEPA.RC = 0 AND STEPB.RUN = FALSE AND STEPC.RC = 4 AND
// STEPD.RUN = FALSE AND STEPE.RC = 0) OR
//(STEPA.RUN= FALSE AND STEPB.RC = 0 AND STEPC.RC = 4 AND
// STEPD.RC = 8 AND (STEPE.RC = 4 OR STEPE.RC = 8)) THEN
//STEPFEXEC PGM=IEFBR14
// ENDIF
//STEPGEXEC PGM=IEFBR14

On Fri, 21 Jan 2011 02:01:45 +, CM Poncelet  
wrote:

>Any boolean tests can be performed with 'COND=', but not so with 'IF
>ELSE etc.' We have already discussed this in the past.
>
>But please show me how 'IF ELSE ...' handles the following:
>
>Execute STEPF if
>- STEPA sets CC=04, STEPB sets CC=00, STEPC did not execute, STEPD sets
>CC=08 and STEPE did not execute
>or if
>- STEPA sets CC=00, STEPB did not execute, STEPC sets CC=04, STEPD did
>not execute and STEPE sets CC=00
>or if
>- STEPA did not execute, STEPB sets CC=00, STEPC sets CC=04, STEPD sets
>CC=08 and STEPE sets either CC=04 or CC=08
>otherwise do not execute STEPF.
>
>'IF ELSE ...' is to 'COND=' as 'mouse' is to 'keyboard'.
>
>Cheers, Chris Poncelet

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-21 Thread Mark Zelden
On Thu, 20 Jan 2011 15:11:40 -0800, Edward Jaffe
 wrote:

>On 1/19/2011 10:11 AM, Donald Johnson wrote:
>> We used to use a program called KABOOM, which did not exist (as I suspect
>> with BLOWUP). One JCL statement, and a very prominent S806 abend.
>
>We use:
>
>//ABEND806 EXEC PGM=ABEND806
>
>This program does exactly what its name implies. ;-)
>
>--

I've also used PGM=EXPCT806

--
Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS   
mailto:mzel...@flash.net  
Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html 
Systems Programming expert at http://expertanswercenter.techtarget.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


SV: If Else JCL question

2011-01-21 Thread Thomas Berg
I would have preferred something like this instead of the delivered IF..THEN 
logic:

//S050   EXEC  WHATEVER,RUNIF=(RC,LE,4,S010)
RUNIF=(RC,8,S010)
RUNIF=(RUN,S020) 
RUNIF=(RUN,ANY)
RUNIF=(NOTRUN,S030)
RUNIF=(FLUSHED,S040)  
RUNIF=(JCLERROR,S040)  
..and in combinations as in COND.
etc.


 
Regards, 
Thomas Berg 
_ 
Thomas Berg   Specialist   A M   SWEDBANK 

> -Ursprungligt meddelande-
> Från: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] För Paul
> Gilmartin
> Skickat: den 21 januari 2011 07:37
> Till: IBM-MAIN@bama.ua.edu
> Ämne: Re: If Else JCL question
> 
> On Fri, 21 Jan 2011 02:01:45 +, CM Poncelet 
> wrote:
> 
> >Any boolean tests can be performed with 'COND=', but not so with 'IF
> >ELSE etc.' We have already discussed this in the past.
> >
> Sorry; I missed that.
> 
> >But please show me how 'IF ELSE ...' handles the following:
> >
> >Execute STEPF if
> >- STEPA sets CC=04, STEPB sets CC=00, STEPC did not execute, STEPD sets
> >CC=08 and STEPE did not execute
> >or if
> >- STEPA sets CC=00, STEPB did not execute, STEPC sets CC=04, STEPD did
> >not execute and STEPE sets CC=00
> >or if
> >- STEPA did not execute, STEPB sets CC=00, STEPC sets CC=04, STEPD sets
> >CC=08 and STEPE sets either CC=04 or CC=08
> >otherwise do not execute STEPF.
> >
> OK:
> 
> //
> //IFELSEJOB  505303JOB,'Paul Gilmartin',
> // MSGLEVEL=(1,1),REGION=0M
> //*
> //USERCOUTPUT JESDS=ALL,DEFAULT=YES,
> //  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
> //*
> //STEPA  EXEC PGM=IEFBR14
> //STEPB  EXEC PGM=IEFBR14
> //STEPC  EXEC PGM=IEFBR14
> //STEPD  EXEC PGM=IEFBR14
> //STEPE  EXEC PGM=IEFBR14
> //TEST  IF ( STEPA.RC=04 & STEPB.RC=00 &   x
> //   STEPC.RUN=FALSE & STEPD.RC=08 & STEPE.RUN=FALSE ) |   x
> // ( STEPA.RC=00 & STEPB.RUN=FALSE &   x
> //   STEPC.RC=04 & STEPD.RUN=FALSE & STEPE.RC=00 )  |  x
> // ( STEPA.RUN=FALSE & STEPB.RC=00 &   x
> //   STEPC.RC=04 & STEPD.RC=08 &   x
> // ( STEPE.RC=04 | STEPE.RC=08 ) ) THEN
> //STEPF  EXEC PGM=IEFBR14
> //TEST  ENDIF
> //
> 
> :w ! submit
> 
> Tested; STEPA through STEPE execute; STEPF is skipped because
> of condiional expression.  I didn't check with truth table.  Also
> typos possible.
> 
> Now, kindly reciprocate and show me how this is coded with the
> COND parameter on the EXEC statement, please,
> 
> >'IF ELSE ...' is to 'COND=' as 'mouse' is to 'keyboard'.
> >
> I fail to see the analogy.
> 
> Thanks,
> gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-21 Thread Chase, John
> -Original Message-
> From: IBM Mainframe Discussion List On Behalf Of Frank Swarbrick
> 
> [ snip ]
> But what COND says is "execute if 4 is less than the return code".  [
snip ]

Almost:  "Execute UNLESS 4 is less than the return code."

-jc-

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Paul Gilmartin
On Fri, 21 Jan 2011 02:01:45 +, CM Poncelet  wrote:

>Any boolean tests can be performed with 'COND=', but not so with 'IF
>ELSE etc.' We have already discussed this in the past.
>
Sorry; I missed that.

>But please show me how 'IF ELSE ...' handles the following:
>
>Execute STEPF if
>- STEPA sets CC=04, STEPB sets CC=00, STEPC did not execute, STEPD sets
>CC=08 and STEPE did not execute
>or if
>- STEPA sets CC=00, STEPB did not execute, STEPC sets CC=04, STEPD did
>not execute and STEPE sets CC=00
>or if
>- STEPA did not execute, STEPB sets CC=00, STEPC sets CC=04, STEPD sets
>CC=08 and STEPE sets either CC=04 or CC=08
>otherwise do not execute STEPF.
>
OK:

//
//IFELSEJOB  505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//USERCOUTPUT JESDS=ALL,DEFAULT=YES,
//  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
//STEPA  EXEC PGM=IEFBR14
//STEPB  EXEC PGM=IEFBR14
//STEPC  EXEC PGM=IEFBR14
//STEPD  EXEC PGM=IEFBR14
//STEPE  EXEC PGM=IEFBR14
//TEST  IF ( STEPA.RC=04 & STEPB.RC=00 &   x
//   STEPC.RUN=FALSE & STEPD.RC=08 & STEPE.RUN=FALSE ) |   x
// ( STEPA.RC=00 & STEPB.RUN=FALSE &   x
//   STEPC.RC=04 & STEPD.RUN=FALSE & STEPE.RC=00 )  |  x
// ( STEPA.RUN=FALSE & STEPB.RC=00 &   x
//   STEPC.RC=04 & STEPD.RC=08 &   x
// ( STEPE.RC=04 | STEPE.RC=08 ) ) THEN
//STEPF  EXEC PGM=IEFBR14
//TEST  ENDIF
//

:w ! submit 

Tested; STEPA through STEPE execute; STEPF is skipped because
of condiional expression.  I didn't check with truth table.  Also
typos possible.

Now, kindly reciprocate and show me how this is coded with the
COND parameter on the EXEC statement, please,

>'IF ELSE ...' is to 'COND=' as 'mouse' is to 'keyboard'.
>
I fail to see the analogy.

Thanks,
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Tony Harminc
On 20 January 2011 21:31, John Eells  wrote:
> Erik Janssen wrote:
>>
>> We use EXEC PGM=IEFBR15, but the funny thing was when I used EXEC
>> PGM=KABOOM or something like that (because obviously it doesn't matter what
>> you use as long as the program doesn't exist), some incident manager
>> informed me that the standard to force an S806 abend was to use program
>> IEFBR15 and that I should not start using my own programs  :-)
>
> 
>
> A Long Time Ago, In A...well, you get the idea...there was an IBM
> recommendation from ITSO or WSC (I don't recall which) to run one IEFBR15
> per CP in a unique reporting performance group (RPGN), and subtract the time
> spent in that RPGN from 100% to find true CPU busy on systems that might
> have low utilization effects.
>
> A later dispatcher update made this unnecessary, but there might still be
> copies of that program lying around here and there with that name. BR15 is,
> of course, a very efficient loop.  It's probably worth a quick check on your
> system to make sure it's not there, just in case, in these days of VWLC.
>
> Just a thought.

At all the places I've worked, IEFBR15 caused either an S322 or an
S222 abend, depending on how on-the-ball the operators were. So it's
not entirely wrong to say that IEFBR15 may cause an abend, but it can
be an expensive way of doing it.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Ted MacNEIL
>subtract the time spent in that RPGN from 100% to find true CPU busy on 
>systems that might have low utilization effects.

Except for the fact that software measurements suffer from the fact that not 
all CPU consumed is capured.

-
Ted MacNEIL
eamacn...@yahoo.ca

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread John Eells

Erik Janssen wrote:

We use EXEC PGM=IEFBR15, but the funny thing was when I used EXEC PGM=KABOOM or 
something like that (because obviously it doesn't matter what you use as long 
as the program doesn't exist), some incident manager informed me that the 
standard to force an S806 abend was to use program IEFBR15 and that I should 
not start using my own programs  :-)



A Long Time Ago, In A...well, you get the idea...there was an IBM 
recommendation from ITSO or WSC (I don't recall which) to run one 
IEFBR15 per CP in a unique reporting performance group (RPGN), and 
subtract the time spent in that RPGN from 100% to find true CPU busy on 
systems that might have low utilization effects.


A later dispatcher update made this unnecessary, but there might still 
be copies of that program lying around here and there with that name. 
BR15 is, of course, a very efficient loop.  It's probably worth a quick 
check on your system to make sure it's not there, just in case, in these 
days of VWLC.


Just a thought.

--
John Eells
z/OS Technical Marketing
IBM Poughkeepsie
ee...@us.ibm.com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread CM Poncelet
Any boolean tests can be performed with 'COND=', but not so with 'IF 
ELSE etc.' We have already discussed this in the past.


But please show me how 'IF ELSE ...' handles the following:

Execute STEPF if
- STEPA sets CC=04, STEPB sets CC=00, STEPC did not execute, STEPD sets 
CC=08 and STEPE did not execute

or if
- STEPA sets CC=00, STEPB did not execute, STEPC sets CC=04, STEPD did 
not execute and STEPE sets CC=00

or if
- STEPA did not execute, STEPB sets CC=00, STEPC sets CC=04, STEPD sets 
CC=08 and STEPE sets either CC=04 or CC=08

otherwise do not execute STEPF.

'IF ELSE ...' is to 'COND=' as 'mouse' is to 'keyboard'.

Cheers, Chris Poncelet


Paul Gilmartin wrote:


On Thu, 20 Jan 2011 20:04:08 +, CM Poncelet wrote:

 


But one of the most useful purposes of COND= testing is
COND=(0,LE,) ... which ensures the current jobstep will NOT
execute unless previous jobstep  did NOT execute. So 'NOT
logic' can still do what 'IF ELSE etc.' cannot.  CP

   


What am I missing?  From:

 Title:  z/OS V1R12.0 MVS JCL Reference
 Document Number: SA22-7597-14

   17.1.4.5 Relational-Expression Keywords
   ...
   ^stepname.RUN
   stepname.RUN=FALSE

   Indicates that the relational expression tests that a
   specific job step (stepname) did not start execution. 


-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


 



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Shane
> By "as advertised", do we mean:
> 
> IEFBR15  CSECT
>  BR15
>  END

"we" do.

> I like ABEND806.  Until some novice tries to generalize:
> 
> //STEP  EXEC PGM=ABEND213
> 
> ... and complains that it still ABENDs with 806, not 213.

ROTF - hadn't thought of that. You must deal with more novices than me.

Shane ...

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Paul Gilmartin
On Fri, 21 Jan 2011 11:16:46 +1100, Shane Ginnane wrote:

>I usually keep an IEFBR15 laying around for test purposes.
>And like Eds', this does as advertised.
>Best to keep such away from your "incident manager"   ;-)
>
By "as advertised", do we mean:

IEFBR15  CSECT
 BR15
 END

Just curious.  I can envision some tests for which it would
be useful.

I like ABEND806.  Until some novice tries to generalize:

//STEP  EXEC PGM=ABEND213

... and complains that it still ABENDs with 806, not 213.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Wayne Bickerdike
Shane,

Have you been hiding that IEFBR15 from me? I was using IFEBR14.

As we know DNA stands for National Dyslexic Association...:)

Wayne

On Fri, Jan 21, 2011 at 11:16 AM, Shane Ginnane  wrote:
> I usually keep an IEFBR15 laying around for test purposes.
> And like Eds', this does as advertised.
> Best to keep such away from your "incident manager"   ;-)
>
> Shane ...
>
> On Fri, Jan 21st, 2011 at 10:47 AM, Erik Janssen wrote:
>
>> We use EXEC PGM=IEFBR15, but the funny thing was when I used EXEC
>> PGM=KABOOM or something like that (because obviously it doesn't matter
>> what you use as long as the program doesn't exist), some incident manager
>> informed me that the standard to force an S806 abend was to use program
>> IEFBR15 and that I should not start using my own programs  :-)
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>



-- 
Wayne V. Bickerdike

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Shane Ginnane
I usually keep an IEFBR15 laying around for test purposes.
And like Eds', this does as advertised.
Best to keep such away from your "incident manager"   ;-)

Shane ...

On Fri, Jan 21st, 2011 at 10:47 AM, Erik Janssen wrote:

> We use EXEC PGM=IEFBR15, but the funny thing was when I used EXEC
> PGM=KABOOM or something like that (because obviously it doesn't matter
> what you use as long as the program doesn't exist), some incident manager
> informed me that the standard to force an S806 abend was to use program
> IEFBR15 and that I should not start using my own programs  :-)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Frank Swarbrick
Honestly, I no longer know.  I just know it's confusing as heck, and I have yet 
to see a defense of it.  (Well, John Gilmore seemed to think it was 
understandable, if not perhaps defensible).

On 1/20/2011 at 3:00 PM, in message
, Greg Shirey
 wrote:
> Either I'm confused too, or COND says "do NOT execute if 4 is less than the 
> return code"; that is - COND=(4,LT).  
> 
> Unless you meant something else...  
> 
> Greg Shirey
> Ben E. Keith Company 
> 
> -Original Message-
> From: IBM Mainframe Discussion List On Behalf Of Frank Swarbrick
> Sent: Thursday, January 20, 2011 2:42 PM
> 
> It's not only "not" logic, but is also what I would call "inverse 
> conditional".
> 
> Ideally there would be an option to say "execute if the return code is equal 
> to zero" or "execute if the return code is less than 5".
> Even some "not" logic would be OK (IMO) if we could say "execute if the 
> return code is NOT greater than 4".  In fact, I would rather prefer this.
> But what COND says is "execute if 4 is less than the return code".  Or 
> something like that!   To me it's "doubly confusing".  So confusing that I 
> can't even figure out the rest of what I was going to say about it!  :-)
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html

>>> 

The information contained in this electronic communication and any document 
attached hereto or transmitted herewith is confidential and intended for the 
exclusive use of the individual or entity named above.  If the reader of this 
message is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
examination, use, dissemination, distribution or copying of this communication 
or any part thereof is strictly prohibited.  If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this communication.  Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Erik Janssen
We use EXEC PGM=IEFBR15, but the funny thing was when I used EXEC PGM=KABOOM or 
something like that (because obviously it doesn't matter what you use as long 
as the program doesn't exist), some incident manager informed me that the 
standard to force an S806 abend was to use program IEFBR15 and that I should 
not start using my own programs  :-)

Regards,

Erik.

Van: IBM Mainframe Discussion List [IBM-MAIN@bama.ua.edu] namens Edward Jaffe 
[edja...@phoenixsoftware.com]
Verzonden: vrijdag 21 januari 2011 0:11
Aan: IBM-MAIN@bama.ua.edu
Onderwerp: Re: If Else JCL question

On 1/19/2011 10:11 AM, Donald Johnson wrote:
> We used to use a program called KABOOM, which did not exist (as I suspect
> with BLOWUP). One JCL statement, and a very prominent S806 abend.

We use:

//ABEND806 EXEC PGM=ABEND806

This program does exactly what its name implies. ;-)

--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
310-338-0400 x318
edja...@phoenixsoftware.com
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html
-
ATTENTION:
The information in this electronic mail message is private and
confidential, and only intended for the addressee. Should you
receive this message by mistake, you are hereby notified that
any disclosure, reproduction, distribution or use of this
message is strictly prohibited. Please inform the sender by
reply transmission and delete the message without copying or
opening it.

Messages and attachments are scanned for all viruses known.
If this message contains password-protected attachments, the
files have NOT been scanned for viruses by the ING mail domain.
Always scan attachments before opening them.
-

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Edward Jaffe

On 1/19/2011 10:11 AM, Donald Johnson wrote:

We used to use a program called KABOOM, which did not exist (as I suspect
with BLOWUP). One JCL statement, and a very prominent S806 abend.


We use:

//ABEND806 EXEC PGM=ABEND806

This program does exactly what its name implies. ;-)

--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
310-338-0400 x318
edja...@phoenixsoftware.com
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Donnelly, John P
Gotta do this:

>>>>>>>>>>>>>>>>>>>>>%$%$#@$CONDCODES<<<<<<<<<<<<<<<<<< 
//STEP  EXEC PGM=IEFBR14,COND=(9,LT)  SAYS  
"RUN IEFBR14 UNLESS 9 IS LESS THAN THE CURRENT MAXIMUM RETURN CODE."

"IF IT'S TRUE, DON'T DO"... 
>>>>>>>>>>>>>>>>>>>>>%$%$#@$CONDCODES<<<<<<<<<<<<<<<<<< 


John Donnelly
National Semiconductor Corporation
2900 Semiconductor Drive
Santa Clara, CA 95051

408-721-5640 
408-470-8364 Cell
cjp...@nsc.com



-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Greg Shirey
Sent: Thursday, January 20, 2011 2:01 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: If Else JCL question

Either I'm confused too, or COND says "do NOT execute if 4 is less than the 
return code"; that is - COND=(4,LT).  

Unless you meant something else...  

Greg Shirey
Ben E. Keith Company 

-Original Message-
From: IBM Mainframe Discussion List On Behalf Of Frank Swarbrick
Sent: Thursday, January 20, 2011 2:42 PM

It's not only "not" logic, but is also what I would call "inverse conditional".

Ideally there would be an option to say "execute if the return code is equal to 
zero" or "execute if the return code is less than 5".
Even some "not" logic would be OK (IMO) if we could say "execute if the return 
code is NOT greater than 4".  In fact, I would rather prefer this.
But what COND says is "execute if 4 is less than the return code".  Or 
something like that!   To me it's "doubly confusing".  So confusing that I 
can't even figure out the rest of what I was going to say about it!  :-)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Greg Shirey
Either I'm confused too, or COND says "do NOT execute if 4 is less than the 
return code"; that is - COND=(4,LT).  

Unless you meant something else...  

Greg Shirey
Ben E. Keith Company 

-Original Message-
From: IBM Mainframe Discussion List On Behalf Of Frank Swarbrick
Sent: Thursday, January 20, 2011 2:42 PM

It's not only "not" logic, but is also what I would call "inverse conditional".

Ideally there would be an option to say "execute if the return code is equal to 
zero" or "execute if the return code is less than 5".
Even some "not" logic would be OK (IMO) if we could say "execute if the return 
code is NOT greater than 4".  In fact, I would rather prefer this.
But what COND says is "execute if 4 is less than the return code".  Or 
something like that!   To me it's "doubly confusing".  So confusing that I 
can't even figure out the rest of what I was going to say about it!  :-)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Ted MacNEIL
>Where was blue kryptonite when we needed it!

Somebody save me!
C'mon!

-
Ted MacNEIL
eamacn...@yahoo.ca

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


If Else JCL question

2011-01-20 Thread john gilmore
Mark Pace wrote:
 
| I wasn't looking for a lesson. Thank you very little.
 
and I was not offering one to Mr Pace but to others here who may prefer logic 
to sloganeering.  
 
The relational expressions a > b and b < a are equivalent; and either can be 
obtained from the other by simple, readily learned transformations.  In 
particular, (4,>,RC) can be derived mechanically from (RC,<,4).  It has been my 
experience as a teacher that people who have difficulties with JCL and related 
programming difficulties do not know enough formal logic asnd lack manipulative 
facility in it.  Both can be and should be taught, except perhaps to Mr Pace, 
who prefers shibboleths.  
 
He of course has a right to his views, which he has exercised in setting them 
out here; and I equally have a right to dispute them when, as here, I judge 
them to be nonsense. 

John Gilmore Ashland, MA 01721-1817 USA

  
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Mark Pace
I wasn't looking for a lesson. Thank you very little.

On Thu, Jan 20, 2011 at 3:57 PM, john gilmore wrote:

> I was looking this morning at data on non-multiple and multiple human
> births in which live births were classified as single(si), double(do),
> triple(tr), quadruple (qa), or quintuple (qi).
>
> Now if one were interested only in single births it would be folly to write
>
> ¬do & ¬tr & ¬qa & ¬qi
>
> instead of writing just
>
> si
>
> If, on the other hand, one were interested in all multiple births it would
> also be folly to write
>
> do | tr | qa | qi
>
> instead of writing just
>
> ¬si
>
> because someone had taught you that negative logic was 'bad'.
>
> NOT logic may be awkward, or again it may be felicitous.  What is always
> and everywhere inexcusable is the replacement of thinking with slogans.
>  ROT is an apposite acronym for rule of thumb.   The mentors who retailed
> these dubious notions would have done better to teach fewer|none of them and
> more substantive logic.
>
>
>
>
> John Gilmore Ashland, MA 01721-1817 USA
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>



-- 
Mark D Pace
Senior Systems Engineer
Mainline Information Systems

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


If Else JCL question

2011-01-20 Thread john gilmore
I was looking this morning at data on non-multiple and multiple human births in 
which live births were classified as single(si), double(do), triple(tr), 
quadruple (qa), or quintuple (qi).
 
Now if one were interested only in single births it would be folly to write
 
¬do & ¬tr & ¬qa & ¬qi
 
instead of writing just
 
si
 
If, on the other hand, one were interested in all multiple births it would also 
be folly to write
 
do | tr | qa | qi
 
instead of writing just
 
¬si
 
because someone had taught you that negative logic was 'bad'.
 
NOT logic may be awkward, or again it may be felicitous.  What is always and 
everywhere inexcusable is the replacement of thinking with slogans.ROT is 
an apposite acronym for rule of thumb.   The mentors who retailed these dubious 
notions would have done better to teach fewer|none of them and more substantive 
logic.
 
 


John Gilmore Ashland, MA 01721-1817 USA

  
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Frank Swarbrick
It's not only "not" logic, but is also what I would call "inverse conditional".

Ideally there would be an option to say "execute if the return code is equal to 
zero" or "execute if the return code is less than 5".
Even some "not" logic would be OK (IMO) if we could say "execute if the return 
code is NOT greater than 4".  In fact, I would rather prefer this.
But what COND says is "execute if 4 is less than the return code".  Or 
something like that!   To me it's "doubly confusing".  So confusing that I 
can't even figure out the rest of what I was going to say about it!  :-)

I think whoever came up with the way COND works must be an alien from an 
alternate (bizarro!) universe.  Where was blue kryptonite when we needed it!

Frank
-- 

Frank Swarbrick
Applications Architect - Mainframe Applications Development
FirstBank Data Corporation - Lakewood, CO  USA
P: 303-235-1403


On 1/20/2011 at 12:22 PM, in message
, Mark Pace
 wrote:
> One thing I've been taught since I was in school 30+ years ago.  Do not use
> NOT logic.  COND goes against everything I've worked at my entire career.
> 
> On Thu, Jan 20, 2011 at 2:07 PM, Lindy Mayfield
> wrote:
> 
>> LOL.  I've been writing JCL for 25 years and I still cannot get the COND
>> right.
>>
>> 
>> From: IBM Mainframe Discussion List [IBM-MAIN@bama.ua.edu] On Behalf Of
>> Paul Gilmartin [paulgboul...@aim.com] 
>> Sent: 20 January 2011 02:45
>> To: IBM-MAIN@bama.ua.edu 
>> Subject: Re: If Else JCL question
>>
>> On Wed, 19 Jan 2011 13:13:03 -0800, Cris Hernandez #9 wrote:
>>
>> >suppose I'm old school, never saw a need to code IF-THEN-ELSE in JCL, only
>> use cond code checking and never have any issues with step execution or job
>> flow.
>> >the only cond code testing I ever do when writing procs is, "if it's true,
>> it's through", meaning the step/job won't execute if the COND is true.
>> >
>> >I guess IBM added all that IF-THEN-ELSE stuff because too many coders
>> never learned that lesson.
>> >
>>http://db.cs.berkeley.edu/postgres.html 
>>
>> -- gil
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
>> Search the archives at http://bama.ua.edu/archives/ibm-main.html 
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
>> Search the archives at http://bama.ua.edu/archives/ibm-main.html 
>>
> 
> 

>>> 

The information contained in this electronic communication and any document 
attached hereto or transmitted herewith is confidential and intended for the 
exclusive use of the individual or entity named above.  If the reader of this 
message is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
examination, use, dissemination, distribution or copying of this communication 
or any part thereof is strictly prohibited.  If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this communication.  Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Paul Gilmartin
On Thu, 20 Jan 2011 20:04:08 +, CM Poncelet wrote:

>But one of the most useful purposes of COND= testing is
>COND=(0,LE,) ... which ensures the current jobstep will NOT
>execute unless previous jobstep  did NOT execute. So 'NOT
>logic' can still do what 'IF ELSE etc.' cannot.  CP
>
What am I missing?  From:

  Title:  z/OS V1R12.0 MVS JCL Reference
  Document Number: SA22-7597-14

17.1.4.5 Relational-Expression Keywords
...
^stepname.RUN
stepname.RUN=FALSE

Indicates that the relational expression tests that a
specific job step (stepname) did not start execution. 

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Paul Gilmartin
On Thu, 20 Jan 2011 14:22:36 -0500, Mark Pace wrote:

>One thing I've been taught since I was in school 30+ years ago.  Do not use
>NOT logic.  COND goes against everything I've worked at my entire career.
>
Assemblerthink.  Or maybe BASICthink.  The IF ... GOTO ...
paradigm tersified and carried to an illogical extreme.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread CM Poncelet
But one of the most useful purposes of COND= testing is 
COND=(0,LE,) ... which ensures the current jobstep will NOT 
execute unless previous jobstep  did NOT execute. So 'NOT 
logic' can still do what 'IF ELSE etc.' cannot.  CP


Mark Pace wrote:


One thing I've been taught since I was in school 30+ years ago.  Do not use
NOT logic.  COND goes against everything I've worked at my entire career.

On Thu, Jan 20, 2011 at 2:07 PM, Lindy Mayfield
wrote:

 


LOL.  I've been writing JCL for 25 years and I still cannot get the COND
right.


From: IBM Mainframe Discussion List [IBM-MAIN@bama.ua.edu] On Behalf Of
Paul Gilmartin [paulgboul...@aim.com]
Sent: 20 January 2011 02:45
To: IBM-MAIN@bama.ua.edu
Subject: Re: If Else JCL question

On Wed, 19 Jan 2011 13:13:03 -0800, Cris Hernandez #9 wrote:

   


suppose I'm old school, never saw a need to code IF-THEN-ELSE in JCL, only
 


use cond code checking and never have any issues with step execution or job
flow.
   


the only cond code testing I ever do when writing procs is, "if it's true,
 


it's through", meaning the step/job won't execute if the COND is true.
   


I guess IBM added all that IF-THEN-ELSE stuff because too many coders
 


never learned that lesson.
   


  http://db.cs.berkeley.edu/postgres.html

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

   





 



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Ted MacNEIL
>One thing I've been taught since I was in school 30+ years ago.
>Do not use NOT logic.
>COND goes against everything I've worked at my entire career.

I started as a JCL jockey (Prod Support/Job Scheduling) in 1981, and I believe 
the 'NOT Logic' is why a lot of people have problems.

I used to keep a photocopy of a table, from the JCL Reference, that had entries 
of what normal humans wanted mapped to COND equivalents, because I still have 
problems, after 30 years of working with JCL.

I don't know if that table still exists.

-
Ted MacNEIL
eamacn...@yahoo.ca

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Mark Pace
One thing I've been taught since I was in school 30+ years ago.  Do not use
NOT logic.  COND goes against everything I've worked at my entire career.

On Thu, Jan 20, 2011 at 2:07 PM, Lindy Mayfield
wrote:

> LOL.  I've been writing JCL for 25 years and I still cannot get the COND
> right.
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@bama.ua.edu] On Behalf Of
> Paul Gilmartin [paulgboul...@aim.com]
> Sent: 20 January 2011 02:45
> To: IBM-MAIN@bama.ua.edu
> Subject: Re: If Else JCL question
>
> On Wed, 19 Jan 2011 13:13:03 -0800, Cris Hernandez #9 wrote:
>
> >suppose I'm old school, never saw a need to code IF-THEN-ELSE in JCL, only
> use cond code checking and never have any issues with step execution or job
> flow.
> >the only cond code testing I ever do when writing procs is, "if it's true,
> it's through", meaning the step/job won't execute if the COND is true.
> >
> >I guess IBM added all that IF-THEN-ELSE stuff because too many coders
> never learned that lesson.
> >
>http://db.cs.berkeley.edu/postgres.html
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>



-- 
Mark D Pace
Senior Systems Engineer
Mainline Information Systems

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Lindy Mayfield
LOL.  I've been writing JCL for 25 years and I still cannot get the COND right.


From: IBM Mainframe Discussion List [IBM-MAIN@bama.ua.edu] On Behalf Of Paul 
Gilmartin [paulgboul...@aim.com]
Sent: 20 January 2011 02:45
To: IBM-MAIN@bama.ua.edu
Subject: Re: If Else JCL question

On Wed, 19 Jan 2011 13:13:03 -0800, Cris Hernandez #9 wrote:

>suppose I'm old school, never saw a need to code IF-THEN-ELSE in JCL, only use 
>cond code checking and never have any issues with step execution or job flow.
>the only cond code testing I ever do when writing procs is, "if it's true, 
>it's through", meaning the step/job won't execute if the COND is true.
>
>I guess IBM added all that IF-THEN-ELSE stuff because too many coders never 
>learned that lesson.
>
http://db.cs.berkeley.edu/postgres.html

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-20 Thread Chase, John
> -Original Message-
> From: IBM Mainframe Discussion List On Behalf Of Gainsford, Allen
> 
> > the only cond code testing I ever do when writing procs is,
> > "if it's true, it's through", meaning the step/job won't
> > execute if the COND is true.
> 
> Heh.  I learned that one as "If true, don't do".  Works out
> the same, and is catchy enough for me to remember it...

Given the statement EXEC PGM=IEFBR14,COND=(4,LT), I was taught to read
it:

"Execute program IEFBR14 unless 4 is less than the current condition
code."

-jc-

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Paul Gilmartin
On Wed, 19 Jan 2011 13:13:03 -0800, Cris Hernandez #9 wrote:

>suppose I'm old school, never saw a need to code IF-THEN-ELSE in JCL, only use 
>cond code checking and never have any issues with step execution or job flow.
>the only cond code testing I ever do when writing procs is, "if it's true, 
>it's through", meaning the step/job won't execute if the COND is true.
>
>I guess IBM added all that IF-THEN-ELSE stuff because too many coders never 
>learned that lesson.
>
http://db.cs.berkeley.edu/postgres.html

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Gainsford, Allen
> the only cond code testing I ever do when writing procs is,
> "if it's true, it's through", meaning the step/job won't
> execute if the COND is true.  

Heh.  I learned that one as "If true, don't do".  Works out
the same, and is catchy enough for me to remember it...


Allen Gainsford
===
Info Developer, Banking Shared Services
HP Enterprise Services (South Pacific)
Office +64-4-474-5133 | Fax +64-4-474-5258 | Email a...@hp.com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Cris Hernandez #9
suppose I'm old school, never saw a need to code IF-THEN-ELSE in JCL, only use 
cond code checking and never have any issues with step execution or job flow. 
the only cond code testing I ever do when writing procs is, "if it's true, it's 
through", meaning the step/job won't execute if the COND is true.  

I guess IBM added all that IF-THEN-ELSE stuff because too many coders never 
learned that lesson. 

hernandez


--- On Wed, 1/19/11, Erik Janssen  wrote:

> From: Erik Janssen 
> Subject: Re: If Else JCL question
> To: IBM-MAIN@bama.ua.edu
> Date: Wednesday, January 19, 2011, 11:09 AM
> Actually, JOB COND=(4,LE) will flush
> all steps after RC greater than or equal to 4.
> JOB COND=(4,LT) will flush all steps after RC greater that
> 4...
> 
> Personally, even though I still use COND= myself I *should*
> start using IF/THEN since I can never figure out the COND=
> logic without running some test job to see if what I though
> that would happen actually does...
> 
> Regards,
> 
> Erik.
> 
> 
> -Oorspronkelijk bericht-
> Van: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu]
> Namens McKown, John
> Verzonden: woensdag 19 januari 2011 15:14
> Aan: IBM-MAIN@bama.ua.edu
> Onderwerp: Re: If Else JCL question
> 
> I like using COND= on the JOB card. Suppose each step must
> end with an RC LE 0.
> 
> //MYJOB JOB COND=(4,LE)
> 
> This flushes the remaining steps in a job after the step
> which gets an RC greater than 4. Of course, you can't have a
> different RC for flushing based on the individual steps.
> That requires nesting the IF
> 
> //STEP1 EXEC PGM=
> // IF (STEP1.RC LE 4) THEN
> //STEP2 EXEC PGM=
> // IF (STEP2.RC LE 8) THEN
> //STEP3 EXEC PGM=
> // IF (STEP3.RC EQ 0) THEN
> //STEP4 EXEC PGM=
> // ENDIF
> // ENDIF
> // ENDIF
> 
> John McKown
> 
> Systems Engineer IV
> 
> IT
> 
> 
> 
> Administrative Services Group
> 
> 
> 
> HealthMarkets(r)
> 
> 
> 
> 9151 Boulevard 26 * N. Richland Hills * TX 76010
> 
> (817) 255-3225 phone *
> 
> john.mck...@healthmarkets.com
> * www.HealthMarkets.com
> 
> 
> 
> Confidentiality Notice: This e-mail message may contain
> confidential or proprietary information. If you are not the
> intended recipient, please contact the sender by reply
> e-mail and destroy all copies of the original message.
> HealthMarkets(r) is the brand name for products underwritten
> and issued by the insurance subsidiaries of HealthMarkets,
> Inc. -The Chesapeake Life Insurance Company(r), Mid-West
> National Life Insurance Company of TennesseeSM and The MEGA
> Life and Health Insurance Company.SM
> 
> 
> 
> > -Original Message-
> > From: IBM Mainframe Discussion List
> > [mailto:IBM-MAIN@bama.ua.edu]
> On Behalf Of Mark Pace
> > Sent: Wednesday, January 19, 2011 7:58 AM
> > To: IBM-MAIN@bama.ua.edu
> > Subject: If Else JCL question
> >
> > Seems to be a very rookie question, but I can't find
> the answer.
> >
> > I have a series of JCLs that I want to put together as
> 1 JCL with IF
> > THEN to test RC.  What I can't find is a way to
> stop the JCL if a step
> > has a bad RC.
> >  ie:
> > STEP1
> > IF (STEP1.RC EQ 0) then
> > STEP2
> > ELSE
> >   ABEND or GOTO EOJ or somehow end this
> thing ENDIF
> > IF (STEP2.RC   etc, etc)
> >
> > VSE has labels so I can use a GOTO, but I see nothing
> like that in
> > z/OS JCL.
> >
> > --
> > Mark D Pace
> > Senior Systems Engineer
> > Mainline Information Systems
> >
> >
> --
> > For IBM-MAIN subscribe / signoff / archive access
> instructions, send
> > email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO
> > Search the archives at http://bama.ua.edu/archives/ibm-main.html
> >
> >
> 
> --
> For IBM-MAIN subscribe / signoff / archive access
> instructions, send email to lists...@bama.ua.edu
> with the message: GET IBM-MAIN INFO Search the archives at
> http://bama.ua.edu/archives/ibm-main.html
> -
> ATTENTION:
> The information in this electronic mail message is private
> and
> confidential, and only intended for the addressee. Should
> you
> receive this message by mistake, you are hereby notified
> that
> any disclosure, reproduction, distribution or use of this
> message is strictly prohibited. Please inform the sender
> by
> reply transmission

Re: If Else JCL question

2011-01-19 Thread Jonathan Goossen
We force the abend to stop running the job immediately. This flags that 
something is wrong and needs to be looked at.

In the original post, Mark wanted to "ABEND or GOTO EOJ or somehow end 
this thing"

If you don't want to abend the job but just conditionally run one or more 
steps, then I use IF-THEN-ENDIF with no else. I have written programs that 
set the return code to 1, 2, or 3 to indicate to the JCL future steps to 
run. Then anything 4+ will raise an error.

IBM Mainframe Discussion List  wrote on 01/19/2011 
12:07:36 PM:

> From: Paul Gilmartin 
> To: IBM-MAIN@bama.ua.edu
> Date: 01/19/2011 12:08 PM
> Subject: Re: If Else JCL question
> Sent by: IBM Mainframe Discussion List 
> 
> On Wed, 19 Jan 2011 09:50:56 -0600, Jonathan Goossen wrote:
> 
> >We force an ABEND by calling a program that always ABENDs
> >
> >//STEP1 ...
> >//IF (STEP1.RC EQ 0) then
> >//STEP2 ...
> >//ELSE
> >//SAEXEC  PGM=BLOWUP
> >//ENDIF
> >
> Do you really _want_ the ABEND?  If not, why not move the
> ELSE and ENDIF to the end of the JCL?
> 
> BTW, What's an easy way to force an ABEND (without a program
> specifically for the purpose)?  The most concise way that
> comes to mind is:
> 
> //STEP EXEC  PGM=IEBGENER
> //SYSUT1DD   PATH='/',RECFM=FB,LRECL=80
> ...
> ... gives a nice IEC143I 213-F8.  But it requires three
> additional DD statements.  Is there a shorter way?
> 
> I know I can use a trivial IDCAMS step to set RC.
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html


This e-mail message and all attachments transmitted with it may
contain legally privileged and/or confidential information intended
solely for the use of the addressee(s). If the reader of this
message is not the intended recipient, you are hereby notified that
any reading, dissemination, distribution, copying, forwarding or
other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please
notify the sender immediately and delete this message and all
copies and backups thereof. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Paul Gilmartin
On Wed, 19 Jan 2011 13:11:26 -0500, Donald Johnson wrote:

>We used to use a program called KABOOM, which did not exist (as I suspect
>with BLOWUP). One JCL statement, and a very prominent S806 abend.
>*don*
>
Why do I do things the hard way!?  I never considered that.

>>//STEP EXEC  PGM=IEBGENER
>>//SYSUT1DD   PATH='/',RECFM=FB,LRECL=80
>>
Well, I scrambled to contrive a method which had no dependency
on any data set's content.  If someone were, unbeknownst to you,
to make KABOOM an alias of IEFBR14 ...

Yah, I know; vanishingly improbable.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Donald Johnson
We used to use a program called KABOOM, which did not exist (as I suspect
with BLOWUP). One JCL statement, and a very prominent S806 abend.
*don*

On Wed, Jan 19, 2011 at 1:07 PM, Paul Gilmartin wrote:

> On Wed, 19 Jan 2011 09:50:56 -0600, Jonathan Goossen wrote:
>
> >We force an ABEND by calling a program that always ABENDs
> >
> >//STEP1 ...
> >//IF (STEP1.RC EQ 0) then
> >//STEP2 ...
> >//ELSE
> >//SAEXEC  PGM=BLOWUP
> >//ENDIF
> >
> Do you really _want_ the ABEND?  If not, why not move the
> ELSE and ENDIF to the end of the JCL?
>
> BTW, What's an easy way to force an ABEND (without a program
> specifically for the purpose)?  The most concise way that
> comes to mind is:
>
>//STEP EXEC  PGM=IEBGENER
>//SYSUT1DD   PATH='/',RECFM=FB,LRECL=80
>...
> ... gives a nice IEC143I 213-F8.  But it requires three
> additional DD statements.  Is there a shorter way?
>
> I know I can use a trivial IDCAMS step to set RC.
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Paul Gilmartin
On Wed, 19 Jan 2011 09:50:56 -0600, Jonathan Goossen wrote:

>We force an ABEND by calling a program that always ABENDs
>
>//STEP1 ...
>//IF (STEP1.RC EQ 0) then
>//STEP2 ...
>//ELSE
>//SAEXEC  PGM=BLOWUP
>//ENDIF
>
Do you really _want_ the ABEND?  If not, why not move the
ELSE and ENDIF to the end of the JCL?

BTW, What's an easy way to force an ABEND (without a program
specifically for the purpose)?  The most concise way that
comes to mind is:

//STEP EXEC  PGM=IEBGENER
//SYSUT1DD   PATH='/',RECFM=FB,LRECL=80
...
... gives a nice IEC143I 213-F8.  But it requires three
additional DD statements.  Is there a shorter way?

I know I can use a trivial IDCAMS step to set RC.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Steve Comstock

On 1/19/2011 9:09 AM, Erik Janssen wrote:

Actually, JOB COND=(4,LE) will flush all steps after RC greater
than or equal to 4. JOB COND=(4,LT) will flush all steps after
RC greater that 4...

Personally, even though I still use COND= myself I *should* start
using IF/THEN since I can never figure out the COND= logic without
running some test job to see if what I though that would happen
actually does...

Regards,

Erik.




  http://www.trainersfriend.com/JCL_courses/B620descrpt.htm

maybe in conjunction with

  http://www.trainersfriend.com/TSO_Clist_REXX_Dialog_Mgr/a634descrpt.htm

makes for a nice 5-day package. Reinforce / remember all those
tricks you knew but maybe have forgotten, plus learn new features
that you may not have had time to pay attention to.



:-)





-Oorspronkelijk bericht-
Van: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] Namens McKown, 
John
Verzonden: woensdag 19 januari 2011 15:14
Aan: IBM-MAIN@bama.ua.edu
Onderwerp: Re: If Else JCL question

I like using COND= on the JOB card. Suppose each step must end with an RC LE 0.

//MYJOB JOB COND=(4,LE)

This flushes the remaining steps in a job after the step which gets an RC 
greater than 4. Of course, you can't have a different RC for flushing based on 
the individual steps. That requires nesting the IF

//STEP1 EXEC PGM=
// IF (STEP1.RC LE 4) THEN
//STEP2 EXEC PGM=
// IF (STEP2.RC LE 8) THEN
//STEP3 EXEC PGM=
// IF (STEP3.RC EQ 0) THEN
//STEP4 EXEC PGM=
// ENDIF
// ENDIF
// ENDIF

John McKown

Systems Engineer IV

IT



Administrative Services Group



HealthMarkets(r)



9151 Boulevard 26 * N. Richland Hills * TX 76010

(817) 255-3225 phone *

john.mck...@healthmarkets.com * www.HealthMarkets.com



Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM




-Original Message-
From: IBM Mainframe Discussion List
[mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Pace
Sent: Wednesday, January 19, 2011 7:58 AM
To: IBM-MAIN@bama.ua.edu
Subject: If Else JCL question

Seems to be a very rookie question, but I can't find the answer.

I have a series of JCLs that I want to put together as 1 JCL with IF
THEN to test RC.  What I can't find is a way to stop the JCL if a step
has a bad RC.
  ie:
STEP1
IF (STEP1.RC EQ 0) then
STEP2
ELSE
   ABEND or GOTO EOJ or somehow end this thing ENDIF
IF (STEP2.RC   etc, etc)

VSE has labels so I can use a GOTO, but I see nothing like that in
z/OS JCL.




--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
  + Training your people is an excellent investment

* Try our new tool for calculating your Return On Investment
for training dollars at
  http://www.trainersfriend.com/ROI/roi.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Erik Janssen
Actually, JOB COND=(4,LE) will flush all steps after RC greater than or equal 
to 4.
JOB COND=(4,LT) will flush all steps after RC greater that 4...

Personally, even though I still use COND= myself I *should* start using IF/THEN 
since I can never figure out the COND= logic without running some test job to 
see if what I though that would happen actually does...

Regards,

Erik.


-Oorspronkelijk bericht-
Van: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] Namens McKown, 
John
Verzonden: woensdag 19 januari 2011 15:14
Aan: IBM-MAIN@bama.ua.edu
Onderwerp: Re: If Else JCL question

I like using COND= on the JOB card. Suppose each step must end with an RC LE 0.

//MYJOB JOB COND=(4,LE)

This flushes the remaining steps in a job after the step which gets an RC 
greater than 4. Of course, you can't have a different RC for flushing based on 
the individual steps. That requires nesting the IF

//STEP1 EXEC PGM=
// IF (STEP1.RC LE 4) THEN
//STEP2 EXEC PGM=
// IF (STEP2.RC LE 8) THEN
//STEP3 EXEC PGM=
// IF (STEP3.RC EQ 0) THEN
//STEP4 EXEC PGM=
// ENDIF
// ENDIF
// ENDIF

John McKown

Systems Engineer IV

IT



Administrative Services Group



HealthMarkets(r)



9151 Boulevard 26 * N. Richland Hills * TX 76010

(817) 255-3225 phone *

john.mck...@healthmarkets.com * www.HealthMarkets.com



Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM



> -Original Message-
> From: IBM Mainframe Discussion List
> [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Pace
> Sent: Wednesday, January 19, 2011 7:58 AM
> To: IBM-MAIN@bama.ua.edu
> Subject: If Else JCL question
>
> Seems to be a very rookie question, but I can't find the answer.
>
> I have a series of JCLs that I want to put together as 1 JCL with IF
> THEN to test RC.  What I can't find is a way to stop the JCL if a step
> has a bad RC.
>  ie:
> STEP1
> IF (STEP1.RC EQ 0) then
> STEP2
> ELSE
>   ABEND or GOTO EOJ or somehow end this thing ENDIF
> IF (STEP2.RC   etc, etc)
>
> VSE has labels so I can use a GOTO, but I see nothing like that in
> z/OS JCL.
>
> --
> Mark D Pace
> Senior Systems Engineer
> Mainline Information Systems
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>
>

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
-
ATTENTION:
The information in this electronic mail message is private and
confidential, and only intended for the addressee. Should you
receive this message by mistake, you are hereby notified that
any disclosure, reproduction, distribution or use of this
message is strictly prohibited. Please inform the sender by
reply transmission and delete the message without copying or
opening it.

Messages and attachments are scanned for all viruses known.
If this message contains password-protected attachments, the
files have NOT been scanned for viruses by the ING mail domain.
Always scan attachments before opening them.
-

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Jonathan Goossen
Our QuickRef states that the nesting level is 15.


IBM Mainframe Discussion List  wrote on 01/19/2011 
08:19:08 AM:

> From: Mark Pace 
> To: IBM-MAIN@bama.ua.edu
> Date: 01/19/2011 08:19 AM
> Subject: Re: If Else JCL question
> Sent by: IBM Mainframe Discussion List 
> 
> Thanks, John.  I couldn't tell from the quick reference I was reading if 
you
> could nest the IF statements.  Fortunately this series of steps should 
all
> end with RC=0.
> 
> On Wed, Jan 19, 2011 at 9:13 AM, McKown, John 
 > wrote:
> 
> > I like using COND= on the JOB card. Suppose each step must end with an 
RC
> > LE 0.
> >
> > //MYJOB JOB COND=(4,LE)
> >
> > This flushes the remaining steps in a job after the step which gets an 
RC
> > greater than 4. Of course, you can't have a different RC for flushing 
based
> > on the individual steps. That requires nesting the IF
> >
> > //STEP1 EXEC PGM=
> > // IF (STEP1.RC LE 4) THEN
> > //STEP2 EXEC PGM=
> > // IF (STEP2.RC LE 8) THEN
> > //STEP3 EXEC PGM=
> > // IF (STEP3.RC EQ 0) THEN
> > //STEP4 EXEC PGM=
> > // ENDIF
> > // ENDIF
> > // ENDIF
> >
> > John McKown
> >
> > Systems Engineer IV
> >
> > IT
> >
> >
> >
> > Administrative Services Group
> >
> >
> >
> > HealthMarkets(r)
> >
> >
> >
> > 9151 Boulevard 26 * N. Richland Hills * TX 76010
> >
> > (817) 255-3225 phone *
> >
> > john.mck...@healthmarkets.com * www.HealthMarkets.com
> >
> >
> >
> > Confidentiality Notice: This e-mail message may contain confidential 
or
> > proprietary information. If you are not the intended recipient, please
> > contact the sender by reply e-mail and destroy all copies of the 
original
> > message. HealthMarkets(r) is the brand name for products underwritten 
and
> > issued by the insurance subsidiaries of HealthMarkets, Inc. -The 
Chesapeake
> > Life Insurance Company(r), Mid-West National Life Insurance Company of
> > TennesseeSM and The MEGA Life and Health Insurance Company.SM
> >
> >
> >
> > > -Original Message-
> > > From: IBM Mainframe Discussion List
> > > [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Pace
> > > Sent: Wednesday, January 19, 2011 7:58 AM
> > > To: IBM-MAIN@bama.ua.edu
> > > Subject: If Else JCL question
> > >
> > > Seems to be a very rookie question, but I can't find the answer.
> > >
> > > I have a series of JCLs that I want to put together as 1 JCL
> > > with IF THEN to
> > > test RC.  What I can't find is a way to stop the JCL if a
> > > step has a bad RC.
> > >  ie:
> > > STEP1
> > > IF (STEP1.RC EQ 0) then
> > > STEP2
> > > ELSE
> > >   ABEND or GOTO EOJ or somehow end this thing
> > > ENDIF
> > > IF (STEP2.RC   etc, etc)
> > >
> > > VSE has labels so I can use a GOTO, but I see nothing like
> > > that in z/OS
> > > JCL.
> > >
> > > --
> > > Mark D Pace
> > > Senior Systems Engineer
> > > Mainline Information Systems
> > >
> > > 
--
> > > For IBM-MAIN subscribe / signoff / archive access instructions,
> > > send email to lists...@bama.ua.edu with the message: GET IBM-MAIN 
INFO
> > > Search the archives at http://bama.ua.edu/archives/ibm-main.html
> > >
> > >
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> > Search the archives at http://bama.ua.edu/archives/ibm-main.html
> >
> 
> 
> 
> -- 
> Mark D Pace
> Senior Systems Engineer
> Mainline Information Systems
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html


This e-mail message and all attachments transmitted with it may
contain legally privileged and/or confidential information intended
solely for the use of the addressee(s). If the reader of this
message is not the intended recipient, you are hereby notified that
any reading, dissemination, distribution, copying, forwarding or
other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please
notify the sender immediately and delete this message and all
copies and backups thereof. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Jonathan Goossen
We force an ABEND by calling a program that always ABENDs

//STEP1 ...
//IF (STEP1.RC EQ 0) then
//STEP2 ...
//ELSE
//SAEXEC  PGM=BLOWUP
//ENDIF

.

IBM Mainframe Discussion List  wrote on 01/19/2011 
07:57:49 AM:

> From: Mark Pace 
> To: IBM-MAIN@bama.ua.edu
> Date: 01/19/2011 07:58 AM
> Subject: If Else JCL question
> Sent by: IBM Mainframe Discussion List 
> 
> Seems to be a very rookie question, but I can't find the answer.
> 
> I have a series of JCLs that I want to put together as 1 JCL with IF 
THEN to
> test RC.  What I can't find is a way to stop the JCL if a step has a bad 
RC.
>  ie:
> STEP1
> IF (STEP1.RC EQ 0) then
> STEP2
> ELSE
>   ABEND or GOTO EOJ or somehow end this thing
> ENDIF
> IF (STEP2.RC   etc, etc)
> 
> VSE has labels so I can use a GOTO, but I see nothing like that in z/OS
> JCL.
> 
> -- 
> Mark D Pace
> Senior Systems Engineer
> Mainline Information Systems
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html


This e-mail message and all attachments transmitted with it may
contain legally privileged and/or confidential information intended
solely for the use of the addressee(s). If the reader of this
message is not the intended recipient, you are hereby notified that
any reading, dissemination, distribution, copying, forwarding or
other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please
notify the sender immediately and delete this message and all
copies and backups thereof. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread Mark Pace
Thanks, John.  I couldn't tell from the quick reference I was reading if you
could nest the IF statements.  Fortunately this series of steps should all
end with RC=0.

On Wed, Jan 19, 2011 at 9:13 AM, McKown, John  wrote:

> I like using COND= on the JOB card. Suppose each step must end with an RC
> LE 0.
>
> //MYJOB JOB COND=(4,LE)
>
> This flushes the remaining steps in a job after the step which gets an RC
> greater than 4. Of course, you can't have a different RC for flushing based
> on the individual steps. That requires nesting the IF
>
> //STEP1 EXEC PGM=
> // IF (STEP1.RC LE 4) THEN
> //STEP2 EXEC PGM=
> // IF (STEP2.RC LE 8) THEN
> //STEP3 EXEC PGM=
> // IF (STEP3.RC EQ 0) THEN
> //STEP4 EXEC PGM=
> // ENDIF
> // ENDIF
> // ENDIF
>
> John McKown
>
> Systems Engineer IV
>
> IT
>
>
>
> Administrative Services Group
>
>
>
> HealthMarkets(r)
>
>
>
> 9151 Boulevard 26 * N. Richland Hills * TX 76010
>
> (817) 255-3225 phone *
>
> john.mck...@healthmarkets.com * www.HealthMarkets.com
>
>
>
> Confidentiality Notice: This e-mail message may contain confidential or
> proprietary information. If you are not the intended recipient, please
> contact the sender by reply e-mail and destroy all copies of the original
> message. HealthMarkets(r) is the brand name for products underwritten and
> issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake
> Life Insurance Company(r), Mid-West National Life Insurance Company of
> TennesseeSM and The MEGA Life and Health Insurance Company.SM
>
>
>
> > -Original Message-
> > From: IBM Mainframe Discussion List
> > [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Pace
> > Sent: Wednesday, January 19, 2011 7:58 AM
> > To: IBM-MAIN@bama.ua.edu
> > Subject: If Else JCL question
> >
> > Seems to be a very rookie question, but I can't find the answer.
> >
> > I have a series of JCLs that I want to put together as 1 JCL
> > with IF THEN to
> > test RC.  What I can't find is a way to stop the JCL if a
> > step has a bad RC.
> >  ie:
> > STEP1
> > IF (STEP1.RC EQ 0) then
> > STEP2
> > ELSE
> >   ABEND or GOTO EOJ or somehow end this thing
> > ENDIF
> > IF (STEP2.RC   etc, etc)
> >
> > VSE has labels so I can use a GOTO, but I see nothing like
> > that in z/OS
> > JCL.
> >
> > --
> > Mark D Pace
> > Senior Systems Engineer
> > Mainline Information Systems
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> > Search the archives at http://bama.ua.edu/archives/ibm-main.html
> >
> >
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>



-- 
Mark D Pace
Senior Systems Engineer
Mainline Information Systems

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: If Else JCL question

2011-01-19 Thread McKown, John
I like using COND= on the JOB card. Suppose each step must end with an RC LE 0.

//MYJOB JOB COND=(4,LE)

This flushes the remaining steps in a job after the step which gets an RC 
greater than 4. Of course, you can't have a different RC for flushing based on 
the individual steps. That requires nesting the IF

//STEP1 EXEC PGM=
// IF (STEP1.RC LE 4) THEN
//STEP2 EXEC PGM=
// IF (STEP2.RC LE 8) THEN
//STEP3 EXEC PGM=
// IF (STEP3.RC EQ 0) THEN
//STEP4 EXEC PGM=
// ENDIF
// ENDIF
// ENDIF

John McKown 

Systems Engineer IV

IT

 

Administrative Services Group

 

HealthMarkets(r)

 

9151 Boulevard 26 * N. Richland Hills * TX 76010

(817) 255-3225 phone * 

john.mck...@healthmarkets.com * www.HealthMarkets.com

 

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM

 

> -Original Message-
> From: IBM Mainframe Discussion List 
> [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Pace
> Sent: Wednesday, January 19, 2011 7:58 AM
> To: IBM-MAIN@bama.ua.edu
> Subject: If Else JCL question
> 
> Seems to be a very rookie question, but I can't find the answer.
> 
> I have a series of JCLs that I want to put together as 1 JCL 
> with IF THEN to
> test RC.  What I can't find is a way to stop the JCL if a 
> step has a bad RC.
>  ie:
> STEP1
> IF (STEP1.RC EQ 0) then
> STEP2
> ELSE
>   ABEND or GOTO EOJ or somehow end this thing
> ENDIF
> IF (STEP2.RC   etc, etc)
> 
> VSE has labels so I can use a GOTO, but I see nothing like 
> that in z/OS
> JCL.
> 
> -- 
> Mark D Pace
> Senior Systems Engineer
> Mainline Information Systems
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 
> 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


If Else JCL question

2011-01-19 Thread Mark Pace
Seems to be a very rookie question, but I can't find the answer.

I have a series of JCLs that I want to put together as 1 JCL with IF THEN to
test RC.  What I can't find is a way to stop the JCL if a step has a bad RC.
 ie:
STEP1
IF (STEP1.RC EQ 0) then
STEP2
ELSE
  ABEND or GOTO EOJ or somehow end this thing
ENDIF
IF (STEP2.RC   etc, etc)

VSE has labels so I can use a GOTO, but I see nothing like that in z/OS
JCL.

-- 
Mark D Pace
Senior Systems Engineer
Mainline Information Systems

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-25 Thread Paul Gilmartin
On Wed, 25 Aug 2010 14:21:46 -0500, Mike Schwab wrote:
>>
>Or, consider the procname in
>//stepname EXEC procname,keywords=values
>to be the positional parameter, with an option is to replace
>'procname' with 'PROC=procname' or 'PGM=pgmname'.
>
Humpty Dumpty.

If so, it was irresponsible to choose a notation subjectively
conflated with the syntax of keyword parameters.  But, as
John G. observes, responsibility in that area was not an
esteemed design principle 45 years ago.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-25 Thread Mike Schwab
On Wed, Aug 25, 2010 at 12:33 PM, Shmuel Metz (Seymour J.)
 wrote:
> In <008301cb4453$4242cec0$c6c86c...@org>, on 08/25/2010
>   at 05:44 AM, Charles Mills  said:
>
>>PGM= is positional, is it not?
>
> Yes. I could make a case that it shouldn't be, and it's as confusing
> as the default for SPACE.
>
> Or take the change in the processing of DD overrides - please!
>
Or, consider the procname in
//stepname EXEC procname,keywords=values
to be the positional parameter, with an option is to replace
'procname' with 'PROC=procname' or 'PGM=pgmname'.
-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-25 Thread Shmuel Metz (Seymour J.)
In <008301cb4453$4242cec0$c6c86c...@org>, on 08/25/2010
   at 05:44 AM, Charles Mills  said:

>PGM= is positional, is it not?

Yes. I could make a case that it shouldn't be, and it's as confusing
as the default for SPACE.

Or take the change in the processing of DD overrides - please!
 
-- 
 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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-25 Thread john gilmore
Charles Mills wrote:
 
| PGM= is positional, is it not?
 
and this of course is a debater's point, but it is one I should have been 
tempted to make too in response to a too sweeping "WTF?".
 
The first parameter following EXEC may be any one of
 
o PGM=,
 
o PROC=, or just
 
o .
 
This last default option is the problematic one.  
 
Like the assignment statement in some statement-level procedural languages, an 
instance of it it is most easily recognized as "not being an instance of some 
other permitted thing", in this case a supported EXEC-statement keyword 
parameter, here one of PGM= or PROC=.
 
Two design errors are thus conflated:
 
o treating GUBBINS as an instance of PROC=GUBBINS was the first, major blunder; 
but
 
o judging that a scan that required only that positional parameters be kept in 
sequence would be
   too difficult to write or maintain was the second.
 
The HLASM, for example, permits the keyword and positional parameters of a 
macro definition to be intermixed, with only the positional ones kept in 
sequence.  If, say, one writes
 
|   macro
|   EXAMPLE  positional1,keyword1=,positional2,keyword2=,positional3
| . . . 
|   mend
 
in a macro definition, EXAMPLE macro instructions can take such forms as
 
|   EXAMPLE  
keyword2=,positional1,positional2,keyword1=,positional3
|   EXAMPLE  
keyword1=,positional1,keyword2=,positional2,positional3
 
The only requirement is that positional1 come before positional2, positional2 
come before positional3, etc., in such a macro instruction.  Keyword parameters 
may be interspersed among them in any sequence.
 
It would now be difficult to sort out who took this decision or why it was 
taken (if indeed it was ever taken explicitly); but JCL, in spite of its name, 
was not really conceived of originally as a language having a formal syntax.  
 
There is evidence that, circa 1963, it was thought of as nothing more than a 
convenient set of coding conventions that could, again conveniently, be 
borrowed from assembly language, which was of course very familiar to all of 
the borrowers.
 
Coherence---The notion that knowledge of a subset of some language should make 
plausible, almost invariably confirmed conjectures about its unknown facilities 
possible---was not yet valued as it is or, better, should be today.
 
John Gilmore Ashland, MA 01721-1817 USA 
  
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-25 Thread Howard Brazee
On 24 Aug 2010 13:25:12 -0700, st...@trainersfriend.com (Steve
Comstock) wrote:

>Exactly. In my JCL class, I proclaim, "parameters are either
>keyword or positional", then I explain what those two terms
>mean; then when we get to the EXEC statement I recall that
>earlier assertion and then say, "I lied; the PGM parm on
>the execute statement is _both_ keyword and positional."

I like that process - it makes it easier for the students to remember
what you were teaching.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-25 Thread Charles Mills
PGM= is positional, is it not?

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Shmuel Metz (Seymour J.)
Sent: Tuesday, August 24, 2010 8:38 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: simple JCL question

In , on 08/19/2010
   at 06:37 PM, Paul Gilmartin  said:

>You generally laud JCL for embracing Assembler's syntactic
>conventions.  Another it spurned was order-independence of keyword
>arguments.

WTF? Keyword arguments in JCL are order-independent. 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-24 Thread Steve Comstock

Paul Gilmartin wrote:

On Tue, 24 Aug 2010 11:38:09 -0400, Shmuel Metz (Seymour J.) wrote:

You generally laud JCL for embracing Assembler's syntactic
conventions.  Another it spurned was order-independence of keyword
arguments.

WTF? Keyword arguments in JCL are order-independent. Perhaps you are
thinking of references to specific steps, but there's no analog to
that in assembler.


Try:

//STEP  EXEC  PARM='42',PGM=IEFBR14

-- gil


Exactly. In my JCL class, I proclaim, "parameters are either
keyword or positional", then I explain what those two terms
mean; then when we get to the EXEC statement I recall that
earlier assertion and then say, "I lied; the PGM parm on
the execute statement is _both_ keyword and positional."



--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
  + Training your people is an excellent investment

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-24 Thread Pommier, Rex R.
Gil,

The problem with your example is that even though it looks like it is, 
PGM=xxx is not a keyword argument.  According to the JCL reference manual, 
the first parameter after the EXEC statement is a positional parm and the rest 
of them are keyword.  The While I'm not saying I agree with it, that's the way 
it is defined and documented.  Now, if IBM were to require PROC=y to 
execute a PROC (and make everybody change their JCL to comply), then I would 
think it would be a simple thing to change the PGM= to be a keyword parm, but I 
don't think IBM will do that (nor do I want them to).

Rex

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Paul Gilmartin
Sent: Tuesday, August 24, 2010 3:07 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: simple JCL question

On Tue, 24 Aug 2010 11:38:09 -0400, Shmuel Metz (Seymour J.) wrote:
>
>>You generally laud JCL for embracing Assembler's syntactic
>>conventions.  Another it spurned was order-independence of keyword
>>arguments.
>
>WTF? Keyword arguments in JCL are order-independent. Perhaps you are
>thinking of references to specific steps, but there's no analog to
>that in assembler.
>
Try:

//STEP  EXEC  PARM='42',PGM=IEFBR14

-- gil


The information contained in this e-mail may contain confidential and/or 
privileged information and is intended for the sole use of the intended 
recipient. If you are not the intended recipient, you are hereby notified that 
any unauthorized use, disclosure, distribution or copying of this communication 
is strictly prohibited. If you received this e-mail in error, please reply to 
sender and destroy or delete the message and any attachments. Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-24 Thread Paul Gilmartin
On Tue, 24 Aug 2010 11:38:09 -0400, Shmuel Metz (Seymour J.) wrote:
>
>>You generally laud JCL for embracing Assembler's syntactic
>>conventions.  Another it spurned was order-independence of keyword
>>arguments.
>
>WTF? Keyword arguments in JCL are order-independent. Perhaps you are
>thinking of references to specific steps, but there's no analog to
>that in assembler.
>
Try:

//STEP  EXEC  PARM='42',PGM=IEFBR14

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-24 Thread zMan
On Tue, Aug 24, 2010 at 11:38 AM, Shmuel Metz (Seymour J.)
 wrote:
>Perhaps you are
> thinking of references to specific steps, but there's no analog to
> that in assembler.

Sure there is -- the order of the instructions! (Although with OoO
Execution, even THAT changes...)

Yes, I'm kidding. Of course you're right about this.
-- 
zMan -- "I've got a mainframe and I'm not afraid to use it"

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: simple JCL question

2010-08-24 Thread Shmuel Metz (Seymour J.)
In , on 08/19/2010
   at 06:37 PM, Paul Gilmartin  said:

>You generally laud JCL for embracing Assembler's syntactic
>conventions.  Another it spurned was order-independence of keyword
>arguments.

WTF? Keyword arguments in JCL are order-independent. Perhaps you are
thinking of references to specific steps, but there's no analog to
that in assembler.
 
-- 
 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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


  1   2   3   >