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