Re: PARM=

2005-05-13 Thread Robin Murray
Skip Robinson wrote:
[snip]
Let's just KISS: increase the allowable string length to 256. That should
be plenty for any well-designed application. 
[snip]

I would say 4K would be a better number. If you wanted to pass two path 
names, an input and an output for instance, that would easily use up your 
256 limit even though the parm strings themselves would be easy to read 
and understand. If someone is going to take the time, money and trouble to 
fix this, they may as well make the buffer so large that only extremely 
badly designed programs will run into the limitation. As you point out, 
abuse of the large parm string may occur, but that's shouldn't be JCLs 
concern, it should be the program designer's.

Robin Murray
Tel: (902) 453-7300 x4177
Cell: (902) 430-0637

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


Re: PARM=

2005-05-13 Thread Jay Maynard
On Fri, May 13, 2005 at 08:13:39AM -0400, Bob Shannon wrote:
 Seriously, we're talking about a parameter. I agree that 256 bytes ought
 to be sufficient.  

Indeed. I can't recall where I read it, but someone suggested that program
designers avoid constraints that are powers of ten, for they are likely to
be seen as artificial constraints rather than legitimate limits imposed by
the design. There are good technical reasons for a 256-byte limit on parm
length (MVC), and that would seem to be a good dividing line between what
belongs on a PARM statement and what belongs elsewhere just for the sake of
manageability.

What would be a real advance is being able to provide SYSIN to a started
task or other JCL proc without having to go through the gyrations of having
a separate dataset...

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


Re: PARM=

2005-05-13 Thread Chase, John
 -Original Message-
 From: IBM Mainframe Discussion List On Behalf Of Miklos Szigetvari
 
 Hi
 
 I would vote for the DD solution.
 A reserved (maybe changeable)  DD name for the long PARM's

That is already available.  See, e.g., CICS:

//STEPNAME EXEC PGM=DFHSIP,PARM=(START=INITIAL,SIT=6$,SYSIN)

Although CICS uses the reserved name SYSIN, an application could be coded
to accept literally any DDNAME.  E.g., CICS could have been coded to use
DFHSYSIN.

-jc-

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


Re: PARM=

2005-05-13 Thread Wayne Driscoll
Raymond,
That was my thought as well.  It will not have a negative impact on older
programs, and will clearly require a change to both the called program, and
the caller.  
Wayne Driscoll
Product Developer
Western Metal Supply
NOTE: All opinions are strictly my own.
  

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Raymond Noal
Sent: Thursday, May 12, 2005 6:10 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: PARM=

Have you ever heard the old adage - if it ain't broke, ..

Instead of messing around with the PARM= field, how about adding a new one
like zPARM= (since these are the days of z/OS, z/VM, z/Linux and (soon to
be) z/TPF on our new z/Series processors). Have zPARM= specify a DDNAME,
like, zPARM=ZPARMS, then code a //ZPARMS DD * file for the job. Now you
can have 15PB (random number for the sake of the example) of data for your
parameters. 

Maybe 15PB won't be enough, though, have you seen some of the parameters on
an RPM command for Linux or some of the other open system commands?

HITACHI
 DATA SYSTEMS

Raymond E. Noal
Lab Manager, San Diego Facility
Office: (858) 537 - 3268
Cell:   (858) 248 - 1172


-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Peter Relson
Sent: Thursday, May 12, 2005 2:36 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: PARM=

We all know and love (well, at least know) that the limitation in JCL for
PARM= is 100 total characters. We are thinking (again) about expanding this,
and would like to hear your thoughts.

Some of the possibilities include
- just extending, in JCL processing, so that the target routine gets what it
does today (halfword length followed by string, only the string would
potentially be 100). This is obviously the nicest from the target routine's
perspective if it can handle the extended length
- a service that the target routine can call to give me my parameters.
Obviously the target routine would have to change in order to utilize that
service, and likely would have to dual-path for systems that do not have the
service

One choice that proved not feasible was using a second parameter.
Various utilities already take advantage of the known structure and pass
additional data as additional parameters.

Some of the potential problems an existing target routine might have with an
extended length parameter are
- It provided an area via DS of 100 characters, knowing that the limit was
100, and then did an EX (execute) of an MVC to move the parameter string,
using the length in the halfword. Unfortunately, if the length is (for
example), 256, this would overlay the next 156 bytes
- It did some operation (MVC, TRT, whatever) that is limited to 256
characters which works fine when the limit is 100, but if the routine was
passed 257 characters of data, it might process that as 257 mod 256
characters in some ways.

What do you think?

Peter Relson
z/OS Core Technology Design

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: PARM=

2005-05-13 Thread Paul Gilmartin
In a recent note, Chase, John said:

 Date: Fri, 13 May 2005 08:05:55 -0500
 
  -Original Message-
  From: IBM Mainframe Discussion List On Behalf Of Taddei, Cathy
 
  I agree with Gil and Charles.  IMO, a DD statement would be pointless.
 
Thanks for all the fish (but, not goodbye.)

  If a programmer wanted to receive a parm via DD, they could have done
  it already.  One of the advantages of PARM= is that you can stick it
  in a proc, where DD * will not work.
 
 //A  PROC
 //.
 //SYSIN  DD DDNAME=SYSIN
 //   PEND
 //BB EXEC A
 //.
 //BB.SYSIN  DD *
 ...
 ...
 /*
 
 Works here
 
But not here:

  //A  PROC OPT1=DEFAULT1,OPT2=DEFAULT2,OPT3=DEFAULT3
  //.
  //   PEND
  //BB EXEC A,OPT2='Overriding value 2'
  ...
  /*

... You'd require the programmer to reassert the default
values of PARM options not overridden.

Supplying as examples any number of specific instances in which
the 100-character limit is not constraining does not serve to
refute those cases in which it is burdensome.

-- gil
-- 
StorageTek
INFORMATION made POWERFUL

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


Re: 80 byte jcl record limit

2005-05-13 Thread EA MacNEIL
 In fact, PARM= is limited to 100 bytes. It can  take more than 1 line of 
 JCL. So 80-byte limit for jobcards is not an issue in this context.

.

I totally disagree. Longer JCL cards would solve a lot of problems in 
specifying PARMS that span records.

I have always hated the 80-byte card limit which had really gone the way of the 
dodo, ever since MVS had an interactive component.

(As someone else said, teaching somebody how to span a PARM across more than 
one record is very difficult at o'dark-thirty when production is waiting to 
complete in time.



Ted MacNEIL
[EMAIL PROTECTED]


-
Post your free ad now! Yahoo! Canada Personals

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


Re: 80 byte jcl record limit

2005-05-13 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of 
 [EMAIL PROTECTED]
 Sent: Friday, May 13, 2005 10:22 AM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: 80 byte jcl record limit
 
 
 While the 80 character limit has a long history, I have 
 problems with the
 idea to change the length of a JCL card for what might be a 
 benefit.  Not
 having to learn how to code parameters that span more than 
 one card image.
 
 
 The biggest problem I see is that interactive device one uses 
 to view / edit
 that JCL.  While a mod-5 terminal exist (to display 133 
 characters) the
 standard 27 lines or is it 24 lines is very limiting.  Not to 
 mention the
 size of the characters on the screen.  
 
 A long time ago I played with a source program written in PL/1.  The
 compiler supported input of more than 80 characters.  At the 
 time I was
 interested in writing code that had indentation to improve 
 readability and
 the 80 character limit was causing a readability problems.  
 Taking two 80
 byte records and generating a longer input to the compiler 
 did help. But was
 more of a problem than a benefit.  While I did save the 
 source code, in a
 longer than 80 byte LRECL dataset, editing the source code 
 was a big pain.
 You had to always be shifting left and right to see the 
 complete line of
 input.  
 
 
 Kenneth Leidner
 Imagination is more important than knowledge.

You have hit the main reason that I am concerned about support 80
characters. The other one is sequence numbers. Almost all of our JCL has
sequence numbers and everybody is used to having them. In most cases,
this will not be a problem because the sequence number would be a
comment. However, we do have a few jobs which extend out all the way to
column 72. In that, relatively rare, case, the comment might be taken as
more data for the JCL interpreter.

I also agree that the historic limit of 80 columns on a 3270 screen
could likely be a problem. I have a C source library which is VB/255. I
run a mod-5 (27x132) and, like you, I tried to indent properly. Even
at 132, I had problems due to the length of some my lines. Perhaps I
just too wordie as a programmer. (Example - in COBOL I almost alway use
'IS EQUAL TO' instead of a simple '='. I'm really weird.)


--
John McKown
Senior Systems Programmer
UICI Insurance Center
Information Technology

This message (including any attachments) contains confidential
information intended for a specific individual and purpose, and its'
content is protected by law.  If you are not the intended recipient, you
should delete this message and are hereby notified that any disclosure,
copying, or distribution of this transmission, or taking any action
based on it, is strictly prohibited.

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


Re: 80 byte jcl record limit

2005-05-13 Thread Paul Gilmartin
In a recent note, [log in to unmask] said:

 Date: Fri, 13 May 2005 11:21:41 -0400
 
 The biggest problem I see is that interactive device one uses to view / edit
 that JCL.  While a mod-5 terminal exist (to display 133 characters) the
 standard 27 lines or is it 24 lines is very limiting.  Not to mention the
 size of the characters on the screen.
 
That was then.  This is now.  I'm looking at an SDSF SYSOUT display on
a 58-row by 132-column emulated extended 327x display.  (Thanks again
to various contributors to this list who helped me select the LOGMODE
to make this work.)

-- gil
-- 
StorageTek
INFORMATION made POWERFUL

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


Re: FTPing a ADRDSSU file

2005-05-13 Thread Gabe Torres
Thomas,
  Have you tried this with a ADRDSSU physical dump, or a logical
dump,...or does it matter.??

Thanks,
gabe 

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Thomas Conley
Sent: Thursday, May 12, 2005 9:19 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: FTPing a ADRDSSU file

DFDSS DUMP
TERSE
FTP BIN to preallocated FB1024 file
DETERSE
DFDSS RESTORE
VOILA

Regards,
Tom Conley

- Original Message -
From: Gabe Torres [EMAIL PROTECTED]
Newsgroups: bit.listserv.ibm-main
Sent: Thursday, May 12, 2005 1:11 PM
Subject: FTPing a ADRDSSU file


 Hello List,
  During a past DR Test, we missed taking one of our ADRDSSU Physical
 dumps of a 3390 disk volume.
 
 We were able to FTP the data to the site (finally!), but the FTP-ed
 data was unusable. The data was unrecognizable to the ADRDSSU program.
 
 
 Does anybody have any suggestions on making this process successful.
We
 will be trying it again on the next DR try.
 
 Thanks for any help,
 Gabe
 
 
 Gabe Torres - Systems Programmer
 State of Nevada 
 Dept of Information Technology - Computing Div. 
 This communication, including any attachments, may contain
confidential
 information and is intended only for the individual or entity to whom
it
 is addressed. Any review, dissemination or copying of this
communication
 by anyone other than the intended recipient is strictly prohibited. If
 you are not the intended recipient, please contact the sender by reply
 e-Mail and delete all copies 
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


New Xbox from Microsoft

2005-05-13 Thread Eric Chevalier
The Wall Street Journal (and other news media) reported today on
Microsoft's new game system: the Xbox 360.


http://online.wsj.com/article/0,,SB111592630884332003,00.html?mod=home_whats_news_us

When I first saw the WSJ article, I couldn't help wondering if the 360
part of the name is pure coincidence, or possibly someone at Microsoft is
trying to make a mainframe connection...???  ;-)

Eric

--
Eric Chevalier  E-mail: [EMAIL PROTECTED]
   Web: www.tulsagrammer.com
Is that call really worth your child's life?  HANG UP AND DRIVE!

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


Re: PARM=

2005-05-13 Thread Chase, John
 -Original Message-
 From: IBM Mainframe Discussion List On Behalf Of Taddei, Cathy
 
 Thank you, Eric, that is indeed what I meant -- you cannot 
 place DD * before the PEND statement, or anywhere in a 
 proclib member.  And it is still a restriction in z/OS 1.4, 
 producing error message:
 
 IEFC601I INVALID JCL STATEMENT
 
 if you put DD * in a proc.  And I agree with everyone that 
 said they should get rid of that restriction, in addition to 
 increasing the PARM length.

Seems to me that allowing instream data within a PROC would add little value
unless it was accompanied by allowing variable substitution to occur within
the instream data.  Without substitution, any change desired in the instream
data would require editing the PROC, which would affect all jobs that invoke
it.  I'm assuming that in the general sense, each job would require
something unique in the instream data; that's why the DDNAME keyword is
available on the DD statement.

-jc-

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


Re: OS/VS Cobol Conversion

2005-05-13 Thread Gilbert Saint-Flour
Miller, Pat wrote:

 Is there a utility that examines OS/VS COBOL source files and provides
 a summary of just how much code needs to be altered for Enterprise
 COBOL? Something a little more concise and less cumbersome than
 output from the new compiler, I mean.

http://gsf-soft.com/Products/CB2CONV.shtml

CB2CONV is a mass-conversion tool.  You run it against an entire library 
of COBOL programs and it processes all of them in a single run, 
producing upgraded programs, most of which will compile with a recent 
compiler without further need for manual changes.

-- 

 Gilbert Saint-Flour
 GSF Software
 http://gsf-soft.com/
 mailto:[EMAIL PROTECTED]

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


Fw: PARM=

2005-05-13 Thread Bill Klein
256 seems WAY to small to me - for such things as the LE ENVAR run-time
option.

(In fact, just trying to pass all the LE run-time options that one MIGHT
want to override - without a CEEUOPT makes me question 4096)

Ed Gould [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]...
 on 5/13/05 7:13 AM, Bob Shannon at [EMAIL PROTECTED] wrote:
 
 ---SNIP
 
  Seriously, we're talking about a parameter. I agree that 256 bytes ought
  to be sufficient.
  
 
 Bob,
 
 I sort of agree with you BUT... I have gotten more JCL errors than at
 any time when I was trying to get the rules of multiple JCL statements
when
 passing parm info.. I know once you learn you will never forget but trying
 to teach someone over the phone at 0300 is not pretty:(

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


Fw: PARM=

2005-05-13 Thread Bill Klein
Whatever is done, please remember CEE3PRM (and existing SHARE requirement
SSLNGC0313586) - and of course the fact that LE claims that this works the
same under z/OS and VM.   (VSE already addressed this via the new CEE5PRML
callable service.  See:
 
 http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/fl2pre05/CHANGES.1 

Although it went with the (strange to me) 300 character limit.

Peter Relson [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED].
..
 We all know and love (well, at least know) that the limitation
 in JCL for PARM= is 100 total characters. We are thinking (again)
 about expanding this, and would like to hear your thoughts.
 
 Some of the possibilities include
 - just extending, in JCL processing, so that the target routine
 gets what it does today (halfword length followed by string,
 only the string would potentially be 100). This is obviously
 the nicest from the target routine's perspective if it can handle
 the extended length
 - a service that the target routine can call to give me my parameters.
 Obviously the target routine would have to change in order to utilize
 that service, and likely would have to dual-path for systems that do
 not have the service
 
 One choice that proved not feasible was using a second parameter.
 Various utilities already take advantage of the known structure
 and pass additional data as additional parameters.
 
 Some of the potential problems an existing target routine might have
 with an extended length parameter are
 - It provided an area via DS of 100 characters, knowing that the
 limit was 100, and then did an EX (execute) of an MVC to move the
 parameter string, using the length in the halfword. Unfortunately,
 if the length is (for example), 256, this would overlay the next 156 bytes
 - It did some operation (MVC, TRT, whatever) that is limited to 256
 characters which works fine when the limit is 100, but if the routine
 was passed 257 characters of data, it might process that as 257 mod 256
 characters in some ways.
 
 What do you think?
 
 Peter Relson
 z/OS Core Technology Design

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


Re: PARM=

2005-05-13 Thread Kenneth . W . Leidner
I like most have had to deal with the strange limit of 100 characters on the
PARM statement.  I would support raising the limit in any way that would not
break the old programs still running.  That is the passing of the PARM value
should be done in the same way as today. This way, current programs would
not need to even be aware of the change.  (Yes some person could change the
JCL to pass more than 100 characters to a program that would not handle it,
but then that person needs to change the program first. IE 255 as a max. 

Now as for breaking the 8 bit limit, I would say a new parameter in the JCL
that can not be used if PARM is. The only thing with the keyword name is;
one should look down the line when the current PARM is not used / supported,
if ever, and only the new keyword is in use.  Use XPARM, PARMX ... whatever
as the keyword; but the way the parameter is passed would seem to be the
important thing.  

RR1 = full word length followed by value, program would have to know that
the new keyword was used. 

RR1 = 2 full words.  One being the length of the value, the other pointing
to the value.  So the address of the value is not necessary in storage right
next to the length of the value.  

Use R0 to contain the length and R1 point to the 8 bits of zeros followed by
the value, so an old program thinks the length is zero and no PARM was
passed.  

Use a macro to get the length of the PARM and its location, returned in R0
and R1.  Let MVS deal with the where the PARM and address are hidden in some
control block.  R1 on entry would look as if no PARM was passed.  

Or any of a number of other ways to get a long parameter list to a program. 

The second thing IBM should provide is a macro that would convert the new
PARM format, back to the old one, when the length is 100 characters or less.
This way the JCL could be changed to the new way and with a small change,
insert MACRO x in the program, all will be well. 

 

Kenneth Leidner
Imagination is more important than knowledge.

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Paul Gilmartin
Sent: Friday, May 13, 2005 11:07 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: PARM=

In a recent note, R.S. said:

 Date: Fri, 13 May 2005 14:49:53 +0200
 
 256 bytes ?
 IMHO it is not worth to change from 100 to 256. Many should be enough
 limits occured much too short.
 BTW: I know *existing* OS/390 application using more than 256 bytes in
 PARM. It is c89 compiler. I vaguely recollect, it creates pseudo job
 for compilation, this job looks like regular JCL, but all the compiler
 options are in PARM field (many LINES of PARM) and that's why it is
 circumvented in some way. I don't remember details, but the need is
obvious.
 
As you note, it's a pseudo job, so no circumvention is necessary.
The compiler is invoked by an ATTACH macro; the JCL is never executed.

 Personally I vote for
 //STEP   EXEC ... PARMX=ddname
 //DDNAME DD *
 put here as much as you want (i.e. 64k)
 /*
 
 Or (good for PROCLIB)
 PARMX1='   ',
 PARMX2=''
 etc.
 
Then what?  EXEC whatever,PARM=(PARMX1,PARMX2)?  The constructed
PARM string is still subject to the 100 character limit.

Thinking on the idea of a Binder option to declare the ability
of a program to accept a long PARM, there are a couple alternatives:

o A PARMLIB option, allowing each installation to select what
  the JCL and TSO CALL PARM string limit should be.  Any site
  could specify, 100, 255, 65535, or even a value less than 100
  if that suited them.

o A RACF privilege class identifying the set of users (none, some,
  or all) permitted to use long PARM strings in JCL or in TSO CALL.

Otherwise, I wonder how the PARM is represented while a job is in
the input queue?  Does it reside in a control block?  Is the
structure of that block documented as a programming interface?
Is there a hazard of other breakage if it changes?

-- gil

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


Re: 80 byte jcl record limit

2005-05-13 Thread Volker Bandke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
|
| This list's contributors had to enlighten me, once.  They fixed that a
| while back:
They fixed it? Wasn't it this way since the dawn of time?
- --
~ With kind Regards|\  _,,,---,,_
~ZZZzz /,`.-'`'-.  ;-;;,
~ Volker Bandke   |,4-  ) )-,_. ,\ (  `'-'
~  (BSP GmbH)'---''(_/--'  `-'\_)
~ Darth Vader sleeps with a Teddywookie.
~ (Another Wisdom from my fortune cookie jar)
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFChOnuHm2sbKEAXTARAgaQAJ9tKBsMbUmvdpPyjDC++5zZkWV4LgCeOHQH
ckqfoAL/8ik/SmDA6f161a8=
=xyGm
-END PGP SIGNATURE-
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: 80 byte jcl record limit

2005-05-13 Thread Ray Mullins
There's a neat idea.  The JES spool can handle longer than 80 characters for
data sets.  

I haven't tried it, but can one use the VSAM interface to the INTRDR and put
in records  80 characters?  Variable-length characters?

Later,
Ray

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Low, David
Sent: Friday May 13 2005 06:58
To: IBM-MAIN@BAMA.UA.EDU
Subject: 80 byte jcl record limit

Sorry if this is a stupid question...

Is there, or has there been any requirement of increasing the 80 byte record
limit of jcl?  Reading the PARM= thread with interest, I can imagine
having much longer jcl records would be a great thing if we suddenly have up
to 65K of parm data available.

Thanks.

Dave Low

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to [EMAIL PROTECTED] 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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: PARM=

2005-05-13 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED],
on 05/12/2005
   at 04:09 PM, Raymond Noal [EMAIL PROTECTED] said:

Instead of messing around with the PARM= field, how about adding a
new one like zPARM= (since these are the days of z/OS, z/VM, z/Linux
and (soon to be) z/TPF on our new z/Series processors). Have zPARM=
specify a DDNAME, like, zPARM=ZPARMS, then code a 
//ZPARMS DD * file for the job. Now you can have 15PB (random
number for the sake of the example) of data for your parameters.

That makes sense only if they also support symbolic parameters and
static system symbols for instream data. Personally, I'd prefer just
raising the limits on PARM. Either way you face the issues that Peter
mentioned.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: PARM=

2005-05-13 Thread Shmuel (Seymour J.) Metz
In [EMAIL PROTECTED], on 05/13/2005
   at 09:57 AM, David Andrews [EMAIL PROTECTED] said:

Please also remember the START command processor: convince it to pass
parameters bigger than... what, 61 bytes?  (Whatever fits on a single
generated // PARM='...' card image.)

S MYSTC,A=long,B=long,C=long

//   EXEC  PGM=IEBIBALL,PARM=('A','B','C')

-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 Atid/2http://patriot.net/~shmuel
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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: PARM=

2005-05-13 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on 05/13/2005
   at 01:08 AM, Leonard Woren [EMAIL PROTECTED] said:

I think you had the right idea and then missed:  I propose that the
solution should be // PARM and make it mutually exclusive with the
PARM= keyword on EXEC.  Why complicate things?

That question applies as much to your proposal as to anything else.
Adding a new statement is much more complicated than raising the limit
on an existing keyword.

Well, actually it does make things easier.  Since // PARM would be
all-new, it can be thoughtfully implemented to make it easy to code
long continuations correctly.

Having different continuation rules for different statements would be
a complication for the user.  Why complicate things?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: FTPing a ADRDSSU file

2005-05-13 Thread Ed Gould
on 5/13/05 10:49 AM, Gabe Torres at [EMAIL PROTECTED] wrote:

 Ed,
 There was no blksize info supplied in the DCB, so it must be
 defaulting to whatever ADRDSSU likes.
 gabe   
 

Gabe,

IIRC the blksize ends up being greater than 32K (with DFDSS) and FTP drops
anything after 32K. The trick is to tell DFDSS (via blkszie=32760) not to
create large blksizes.

Ed

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


Re: COBOL II and COMPS

2005-05-13 Thread john gilmore
Bill Klein writes:
On the other hand, the only time that a COMP-5 data item works differently
from a BINARY or COMP (or COMP-4) item (on the mainframe) is *IF* you try
and use values greater than the PICTURE clause allows.  This is an ugly
thing to do and is NEVER recommended.
My response is that I strongly recommend that just this be done, and here we 
have what is not so much an intellectual as a visceral, attitudinal 
difference.

In PL/I, fror example, one writes
declare binary_counter binary fixed(31,0) ;  /* fullword counter */
declare packed_counter decimal fixed(7,0) ; /* seven-digit packed counter */
In the first declaration (31,0) denotes the number of binary digits and the 
number of binary digits following the binary point; and in the second 
declaration (7,0) denotes the nu,mber of decimal digits and the number of 
decimal digits following the decimal point.

COBOL does not make this distinction.  Picture specifications are decimal 
and decimal only EVEN FOR BINARY DATA TYPES.  Unfortunately perhaps but 
unsurprisingly, the powers of 2 and those of 10 are different; and a decimal 
picture specification cann therefore newver accurately represent the 
precision of a binary data type:  It must significantly understate or, much 
worse, overstate, it.

In the tables
|---|
| hardware capacity  
   |
|---|
| b  |  unsigned |   
signed |
|---|
| 1 | 0 = Y = 255 |-128 = 
y = +127 |
| 2 |0 = H = 65,535 |   -32,768 = h = 
+32,767 |
| 4 |  0 = F = 4,294,967,295 | -2,147,483,648 = f  = +2,147,483,647 |
|-|-|

|--|
|COBOL picture capacity  
|
|--|
| b  |  unsigned |   
   signed |
|--|
| 1  |  0 = Y = 99 |  -99 
= y = +99 |
| 2  | 0 = H = 9,999 | -9,999 = h = 
+9,999 |
| 4  |0 = F = 999,999,999 | -999,999,999 = f  = +999,999,999 |
|--|

COBOL is the only statement-level procedural language that has come to terms 
only very grudgingly and still oinly very partially with binary data types 
that the hardware, be it an Intel microprocessor or an IBM maniframe, makes 
available.

John Gilmore
Ashland, MA 01721
U.S.A.
_
Don’t just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/

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


Re: Corrupted SMF record

2005-05-13 Thread Ed Gould
on 5/13/05 1:35 PM, Laine, Rogers at [EMAIL PROTECTED] wrote:

 Hello,
 
 I have a SMF dataset that was MOD'ed to a existing dataset that is now
 corrupted using the program SMFDUMP.
 I was able to use the program IFASMFDP to create a new output dataset up
 to the corrupted record.
 My question is how can I recover the records that are pass the bad one?
 I recall seeing a work around on this list, any ideas?
 
 Rogers
 

Rogerers,

Look at the CBTtape I think they have a S002 fixer upper.

Ed

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


Re: Corrupted SMF record

2005-05-13 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of Laine, Rogers
 Sent: Friday, May 13, 2005 1:35 PM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Corrupted SMF record
 
 
 Hello,
  
 I have a SMF dataset that was MOD'ed to a existing dataset that is now
 corrupted using the program SMFDUMP.
 I was able to use the program IFASMFDP to create a new output 
 dataset up
 to the corrupted record.
 My question is how can I recover the records that are pass 
 the bad one?
 I recall seeing a work around on this list, any ideas? 
  
 Rogers
  

Use DFSORT.

//COPY EXEC PGM=SORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//SORTMSG DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTIN  DD ...
//SORTOUT DD ...
//SYSIN DD *
 OPTION SPANINC=RC0
 SORT FIELDS=(COPY)
/*
//


--
John McKown
Senior Systems Programmer
UICI Insurance Center
Information Technology

This message (including any attachments) contains confidential
information intended for a specific individual and purpose, and its'
content is protected by law.  If you are not the intended recipient, you
should delete this message and are hereby notified that any disclosure,
copying, or distribution of this transmission, or taking any action
based on it, is strictly prohibited.

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


Re: PARM=

2005-05-13 Thread Eric Chevalier
On 13 May 2005 09:53:23 -0700,
[EMAIL PROTECTED] (Chase, John) wrote:

Seems to me that allowing instream data within a PROC would add little value
unless it was accompanied by allowing variable substitution to occur within
the instream data.  Without substitution, any change desired in the instream
data would require editing the PROC, which would affect all jobs that invoke
it.  I'm assuming that in the general sense, each job would require
something unique in the instream data; that's why the DDNAME keyword is
available on the DD statement.

You're right in a general sense, of course. But in my personal
experiences, the parameters that I was passing to a program via a control
file were fairly static and usually didn't change very often. So, for me
at least, having a sysin dataset embedded within a cataloged proc is
valuable, even if no symbolic substitution was performed on the data.
(Although it would definitely be a very nice feature to have.)

Eric

--
Eric Chevalier  E-mail: [EMAIL PROTECTED]
   Web: www.tulsagrammer.com
Is that call really worth your child's life?  HANG UP AND DRIVE!

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


Re: PARM=

2005-05-13 Thread Leonard Woren
On Fri, May 13, 2005 at 02:53:00PM -0700, Charles Mills wrote:

 As Gil pointed out, the ONLY new exposure is for authorized programs.
 Formerly, an authorized program could be confident that it's caller was
 either JCL or another trusted (authorized) program. It would thus be a
 reasonably valid assumption that the authorized program would either get
 = 100 bytes of parms from JCL or something proper (however that might
 be defined) from an authorized caller.
[...]
 With PARM= 100 characters, for the first time, the authorized program
 expecting = 100 bytes might be subject to malicious buffer overflow
 from an untrusted source. The solution is a linker set bit similar to
 AC=1 that says this authorized program expects that it might get  100
 bytes if invoked from JCL.
 
 Charles

By definition, an authorized program is supposed to validity check
everything and not make any assumptions about untrusted input.  It's
a very small leap from there to a conclusion that an authorized
program that breaks in any way due to a long parm was incorrectly
written in the first place.

I've never understood why the exec parm needs to be copied somewhere
by the receiving program, except for printing in which case you
probably need to check the length anyway.  I don't feel like groveling
through my source libs right now, but I'd be surprised if any of my
programs, going back to the 1970s, would break with long parms.


/Leonard

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


Re: PARM=

2005-05-13 Thread Charles Mills
 an authorized program that breaks in any way due to a long parm was
incorrectly written in the first place

Agreed.

But that won't get your data back, or make the dumb mainframe hacked
stories go away.

I would say pretty much by definition all viruses exploit programs that
were incorrectly written in the first place. Virus Checkers are still
big business. Ah! You say, that's Windows, not z/OS. Exactly. That's why
z/OS needs a bit to save authorized programs from surprises they had no
reason to expect.

Agreed on your other point. I've always felt that application
programmers move data; system programmers and software developers
manipulate pointers.

Charles



-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Leonard Woren
Sent: Friday, May 13, 2005 4:04 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: PARM=


On Fri, May 13, 2005 at 02:53:00PM -0700, Charles Mills wrote:

 As Gil pointed out, the ONLY new exposure is for authorized programs. 
 Formerly, an authorized program could be confident that it's caller 
 was either JCL or another trusted (authorized) program. It would thus 
 be a reasonably valid assumption that the authorized program would 
 either get
 = 100 bytes of parms from JCL or something proper (however that 
 might
 be defined) from an authorized caller.
[...]
 With PARM= 100 characters, for the first time, the authorized program

 expecting = 100 bytes might be subject to malicious buffer overflow 
 from an untrusted source. The solution is a linker set bit similar to 
 AC=1 that says this authorized program expects that it might get  
 100 bytes if invoked from JCL.
 
 Charles

By definition, an authorized program is supposed to validity check
everything and not make any assumptions about untrusted input.  It's a
very small leap from there to a conclusion that an authorized program
that breaks in any way due to a long parm was incorrectly written in the
first place.

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


Re: PARM=

2005-05-13 Thread Schiradin,Roland HG-Dir itb-db/dc
Adrian, 

I agree with you regarding the 32K, but after reading some posting it seems
people asking for unlimited parms. I also would like to see some improvements 
in this
area but everything beside 256 is a nightmare for me. 

Of course LE runtime overriding is an issue with some user PARM. Perhaps LE 
should 
avoid using the PARM statement for those overrides. 

However, I believe everything beside 256 is strange to code in a JCL regardless
of the mapping. 

I know BPXBATCH might be a big issue but AOPBATCH introduce a nice workaround. 

I believe Peter Relson receive a lot of input and will be able to find a common 
solution. 

Regard Roland




-Ursprüngliche Nachricht-
Von: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] Im Auftrag von 
Adrian H Auer-Hudson
Gesendet: Samstag, 14. Mai 2005 01:25
An: IBM-MAIN@BAMA.UA.EDU
Betreff: Re: PARM=


--- Schiradin,Roland HG-Dir itb-db/dc [EMAIL PROTECTED] wrote:

From: Schiradin,Roland HG-Dir itb-db/dc [EMAIL PROTECTED]
Date: Sat, 14 May 2005 00:59:54 +0200
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: PARM=

All of our Cobol programs using the PARM will fail if the parm length exceed 
32767

 Linkage section.
   01  OsParms.
 05 OsParms-Length   pic s9(4) comp.
 05 OsParms-Data.
   10 OsParms-CicsId.
  15 OsParm-CicsId-1-5 pic x(5).
  15   pic x(3).
   10  pic x.
   10 OsParms-Program  pic x(8).
   10  pic x.
   10 OsParms-Quietpic x(5).
  88 No-Output value 'QUIET'.

 Procedure Division using OsParms.

However it might be a nightmare to code the correct mapping for 32767 bytes in 
the JCL regardless of PARMX or DDNAMES


Roland

My habit has always been to comma delimit the elements of the PARM.  I move the 
parm into working storage and unstring all but the first two bytes for the 
length held in said two bytes.

It would be great to remove the 100 byte limitation.  My initial thought was to 
go for the max addressable by 16 bits.  However, I think it would be better to 
remain consistent with the length available when a sub program is called be 
another program.  I have written programs designed for execution from a JCL 
exec, or, invocation by a calling program.

We all know that it is unlikely any one would ever code a PARM on an exec with 
32767 bytes of data.  But to impose a shorter length is unnecessarily arbitrary.

Have a great weekend

Adrian.



Webmaster, http://www.losangelesmetro.net.
Supporter of Expo Light Rail - Enabler for the Digital Coast 
http://www.friends4expo.org.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
[EMAIL PROTECTED] 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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: FTPing a ADRDSSU file

2005-05-13 Thread Bruce Black

IIRC the blksize ends up being greater than 32K (with DFDSS) and FTP drops
anything after 32K. The trick is to tell DFDSS (via blkszie=32760) not to
create large blksizes.
I am not positive, but I believe that when the output backup file is on 
disk, DSS writes only blocks up to 32K in length (actually 
32K-8=32760).  This is what FDR does. 

--
Bruce A. Black
Senior Software Developer for FDR
Innovation Data Processing
Little Falls, NJ 07424
973-890-7300
personal: [EMAIL PROTECTED]
sales info: [EMAIL PROTECTED]
tech support: [EMAIL PROTECTED]
web: www.fdr.innovationdp.com
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: FTPing a ADRDSSU file

2005-05-13 Thread Ed Gould
on 5/13/05 9:22 PM, Bruce Black at [EMAIL PROTECTED] wrote:

 
 
 IIRC the blksize ends up being greater than 32K (with DFDSS) and FTP drops
 anything after 32K. The trick is to tell DFDSS (via blkszie=32760) not to
 create large blksizes.
 
 I am not positive, but I believe that when the output backup file is on
 disk, DSS writes only blocks up to 32K in length (actually
 32K-8=32760).  This is what FDR does.

Bruce,

I  think we ran into this issue (with DFDSS) a few years ago. I know that we
had found the trick with DFDSS. We did not use FDR for back up so we
weren't too concerned. What really surprised us is that FTP didn't give
any error message (I didn't know if its been fixed or not ).

I would have been happy if FTP would have put out an error message at least
it would have alerted the user(s). I was really inundated with problems at
the time and didn't follow through openning a PMR against FTP. IIRC I had
gotten a really rotten response on an a PMR I had openned against them (like
this is the way the PC people do things and we are doing everything OUR
WAY to heck with IBM's way of doing things.).


Ed

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