On Tue, May 31, 2005 at 03:16:36PM +0000, john gilmore ([EMAIL PROTECTED]) 
wrote:
> It will he helpful to go back in time to the early years of OS/MFT for the 
> System/360.  The syntax of JCL is of course modelled on that of the F 
> Assembler, and its macro phase in particular. JCL statements then had and 
> still have parameters of two sorts, positional and keyword.
[snip]
> Let me also note that, while there is some similarity between the positional 
> and keyword parameters of a JCL statement and those of an assembly-language 
> macro instruction or the corresponding macro definition, there is a crucial 
> difference too.  An HLASM macro definition may have both, and they may be 
> specified in any order in a corresponding macro instruction.

HLASM didn't exist back in the OS/360 days...  You start out by saying
that JCL was modelled after ASM F's macro language, and then you point
out how JCL is different from HLASM's macro language.  Hmmm.  I seem to
recall that ASMF's macro language *required* all positional parameters
to be specified prior to any keyword parameters.  This is in fact the
way that JCL works.

[snip]
> Once written within a procedure neither of the DD statements
> 
> //<ddname> DD DUMMY
> 
> or
> 
> //<ddname> DD DUMMY, . . .
> 
> can be altered into one that in fact is functional, permits non-null outputs 
> to be written or non-null inputs to be read.

Say what?  Sure it can, you just (may) have to supply more info on the 
override.

> On the other hand
> 
> //SYSPRINT  DD DSN=NULLFILE,BLKSIZE=0,LRECL=137,RECFM=VBA
> 
> can be altered readily by simply supplying a different licit value of DSN=.  

Not likely.  DISP= is missing and the default of (NEW,DELETE) is 
seldom useful.

> This
> difference was the basis for my statement that DSN=NULLFILE was superior to
> DUMMY when used inside procedures.

There is absolutely no internal difference between DSN=NULLFILE and
DUMMY.  I believe this is or at least was stated somewhere in the
manuals (JCL?).  I'm fairly certain that a program cannot even
determine whether the JCL specified DSN=NULLFILE vs DUMMY, because
DUMMY is represented in the JFCB via the DSN being NULLFILE.

It should also be noted that DUMMY and DSN= are defined as mutually
exclusive.  Therefore on a DD override, DSN= supercedes DUMMY and
DUMMY supercedes DSN=.  (This statement applies only to overrides;
what happens if you code both DUMMY and DSN= on a single DD is left
as an exercise for the reader.)
 
> If, say, one wants, N instances of the same 
> DCB information, this is
> better accomplished by coding one operational DCB in extenso and using N - 1 
> references than it is
> by coding one non-operational DD statement that provides  DCB= values (or 
> their functional
> equivalents) and N others that acquire this information by reference.

That's just your preference.  You provide no justification for your
claim that it's "better".
 
> Finally, I want to say something about my notionally 'ex cathedra' 
> pronouncemnts.

Like the one immediately above?
 
> I don't believe in arguments from authority of the form 'Things are thus 
> because I say so'.

But you just did that which you say you don't believe in!



/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

Reply via email to