Chris,

Thanks. I learned from dealing with assembler macros that only if some
positional parms are omitted between two positional parms commas are
required to occupy the position. I think it's reasonable but...

Anyway I did some extra tests:

S STC0001,3390,DISP=SHR,DSN=SYS1.PARMLIB,JOBNAME=JOHNNY

STC was started successfully and to verify the parse of parms was correct I
checked JESJCL:

//JOHNNY   JOB MSGLEVEL=1
//STARTING EXEC STC0001
XXSTC0001 PROC
XXIEFPROC  EXEC PGM=STC0001,TIME=1440
XXSTEPLIB  DD DISP=SHR,DSN=DMAP001.ADVASM.LOAD
//IEFPROC.IEFRDER DD UNIT=3390,DISP=SHR,DSN=SYS1.PARMLIB

So the JOBNAME and DD parms overriding is correct.

Now place JOBNAME as the first keyword parm:

S STC0001,3390,JOBNAME=JOHNNY,DISP=SHR,DSN=SYS1.PARMLIB
IEE308I START    TERM LENGTH ERROR

Ok. Let's add the commas:

S STC0001,,,3390,JOBNAME=JOHNNY,DISP=SHR,DSN=SYS1.PARMLIB
$HASP100 JOHNNY   ON STCINRDR

Oh... it's started without error. However, I remember that I did a similar
test (adding commas) and it failed too and that's why I asked for help here.
What happened at that time? After searching the log I found it:

S STC0001,3390,,,JOBNAME=3390
IEE309I START    UNIDENTIFIABLE KEYWORD

!!!!   I should have been more careful: What I got was not a TERM LENGTH
error any more! Adding commas did solve the problem and the new error I got
is because of the misspelled jobname '3390': it's not a valid jobname.

On 8/25/07, Chris Mason <[EMAIL PROTECTED]> wrote:

> Johnny
>
> Off the top of my head, you need commas in order to show that the two
> possible positional operands are not specified. Maybe this is necessary
> only
> when you specify one of the positional operands.
>
> But then "off the top of my head" isn't really good enough when the manual
> is potentially before me so, pulling up the START command in the MVS
> Commands manual I found the following under "Syntax":
>
> <quote>
>
> Note:  For any variation of the START command, if you omit devicetype  (or
> devnum), or classes, or volumeserial, you must supply a  comma for each
> one
> of these parameters that you leave out. Do not supply any commas, however,
> after the last parameter you specify.
>
> </quote>
>
> which looks like it might be some way to explaining your experiences.
> Maybe
> it's just not that well expressed!
>
> Here's the template for the START command in the manual for reference:
>
> <quote>
>
> S
>
> membername[.identifier][,devicetype|,[/]devnum][,volumeserial][,parameters][,JOBNAME=jobname],JOBACCT=acct_info][,SUB=subsystemname][,keyword=option[,keyword=option]...]
>
> </quote>
>
> Certainly you don't need extra commas when you supply keyword parameters
> in
> order to supply values for the keywords specified in the procedure - and -
> you are not specifying any positional parameters.
>
> I *think* the "TERM LENGTH ERROR" is because the logic behind the START
> command is trying to treat the keyword=value as a positional parameter
> with
> a fixed length. The volume serial number seems likely, length limit 6
> characters, but "SUB=JES2" would also be too long! - unless the parsing
> stops at the equal sign and discards the rest. The mystery deepens!
>
> Anyhow there are a few ideas to continue your testing.
>
> I hope one of the very many JCL/system command gurus in the list can
> clarify
> these wild surmises come the working week.
>
> Chris Mason
>
>


-- 
Best Regards,
Johnny Luo

----------------------------------------------------------------------
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