IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

BPXBATCH PARM TOO LONG


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
abhijit.nayak01

Active User


Joined: 22 Mar 2009
Posts: 161
Location: South Africa

PostPosted: Fri Jan 27, 2012 5:07 pm
Reply with quote

Hi,

I am using BPXBATCH to run a shell script but the directory name is too long. How can I use the too long parm. Please suggest.
Here is my BPXBATCH:
Code:
//STEP0001 EXEC PGM=BPXBATCH,REGION=0M                                 
//             PARM='sh /usr/aci/base24eps/v092/b24d/b24d/bin/cardrf b'
//SYSOUT   DD   SYSOUT=*                                               
//*TDIN    DD   PATH='sh /usr/aci/base24eps/v092/b24d/b24d/bin/cardrf b'
//*             ,PATHOPTS=(ORDONh B                                     
//STDOUT   DD   SYSOUT=*                                               
//STDERR   DD   SYSOUT=*   


Error:
3 IEFC605I UNIDENTIFIED OPERATION FIELD.

Thanks,
Abhijit.
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Fri Jan 27, 2012 5:28 pm
Reply with quote

Only you says it is too long - you are allowed 100 characters. Suggest you read your error message and understand it - if necessary look in the Messages and Codes manuals. Then you will see your error.
Back to top
View user's profile Send private message
abhijit.nayak01

Active User


Joined: 22 Mar 2009
Posts: 161
Location: South Africa

PostPosted: Fri Jan 27, 2012 5:40 pm
Reply with quote

Let me show you something:

When I tried with the following code :
PARM='sh /usr/aci/base24eps/v092/b24d/b24d/bin/test1'
The code works well as the full line is between 12-80 cols.
But the code:
PARM='sh /usr/aci/base24eps/v092/b24d/b24d/bin/cardrf b'
is exceeding beyond column 80.
So, I have to continue the directory name in next line.
I tried with below but still no luck:

PARM='sh /usr/aci/base24eps/v092/b24d/b24d/\||
\bin/cardrf b'

Thanks,
Abhijit.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Jan 27, 2012 5:45 pm
Reply with quote

read the jcl manual for the rules about PARM data continuation
Back to top
View user's profile Send private message
abhijit.nayak01

Active User


Joined: 22 Mar 2009
Posts: 161
Location: South Africa

PostPosted: Fri Jan 27, 2012 5:57 pm
Reply with quote

Hi Enrico,

Can you please provide the manual or any link to check the continuation of parm.

Thanks,
Abhijit.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Jan 27, 2012 6:01 pm
Reply with quote

odd that You did not notice at the top of the page the link "IBM Manuals"
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Jan 27, 2012 6:23 pm
Reply with quote

Did you "paste" your JCL? There is a comma missing after =0M.

You can also "pull" your PARM way to the left to get more in.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Jan 27, 2012 6:53 pm
Reply with quote

abhijit.nayak01 wrote:
Hi,

I am using BPXBATCH to run a shell script but the directory name is too long. How can I use the too long parm. Please suggest.
Here is my BPXBATCH:
Code:
//STEP0001 EXEC PGM=BPXBATCH,REGION=0M                                 
//             PARM='sh /usr/aci/base24eps/v092/b24d/b24d/bin/cardrf b'
//SYSOUT   DD   SYSOUT=*                                               
//*TDIN    DD   PATH='sh /usr/aci/base24eps/v092/b24d/b24d/bin/cardrf b'
//*             ,PATHOPTS=(ORDONh B                                     
//STDOUT   DD   SYSOUT=*                                               
//STDERR   DD   SYSOUT=*   


Error:
3 IEFC605I UNIDENTIFIED OPERATION FIELD.

Thanks,
Abhijit.


Definitely the comma. Your error is on line 3. You have JOB card (which you haven't shown, but I think we can assume :-) ), EXEC card, line 3 if PARM is attached to tje EXEC card would be the DD for SYSOUT.

Instead, a lonely PARM has been found as the third card in your deck. And PARM is an UNIDENTIFIED jcl statement.

Maybe with the PATH for STDIN you can even remove the path from the PARM anyway? Just the path needed, not the reference to the script.
Back to top
View user's profile Send private message
abhijit.nayak01

Active User


Joined: 22 Mar 2009
Posts: 161
Location: South Africa

PostPosted: Fri Jan 27, 2012 7:31 pm
Reply with quote

That one was typo error from my side which I later fixed. Temporarily I asked to ADMIN to reduce the name of the script so that I can use it in one line. I used it and ran successfully.

Enrico,

There are lots of manuals and I was not sure which one I have to look for BPXBATCH and also I was running out of time, so, sorry I used the above solution.

Thanks,
Abhijit.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Jan 27, 2012 7:36 pm
Reply with quote

Quote:
There are lots of manuals and I was not sure which one I have to look for BPXBATCH and also I was running out of time,


your running out of time is not our concern
and the PARM length is not a BPXBATCH problem, just a JCL problem
any JCL using the PARM clause might benefit by how to use a PARM up to its maximum allowed length
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Jan 27, 2012 8:00 pm
Reply with quote

Code:
//STEP0001 EXEC PGM=BPXBATCH,REGION=0M,
// PARM='sh ls                                                      -l'
//STDOUT   DD   SYSOUT=*
//STDIN    DD   PATH='/usr'
//STDERR   DD   SYSOUT=*


'sfunny. Don't you suspect this would work? Which has a PARM value longer than your example.

Why did you show us JCL with a "typo" which just happens to give you the exact message you were querying with us? And which can't be achieved anyway with a PARM even longer than you are specifying.

When you do something dumb, 'fess up. Everyone has done it sometime before. But to try to hide it?

Maybe you found it after posting. In which case, why didn't you tell us? Save us all looking at it and concentrate on what your new "problem" would then be. Nothing.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts JCL EXEC PARM data in C Java & MQSeries 2
No new posts Need to specify PARM='POSIX(ON) Java & MQSeries 4
No new posts How to pass the PARM value to my targ... COBOL Programming 8
No new posts Ca7 long running jobs report All Other Mainframe Topics 1
No new posts Passing parm from JCL to Assembler, b... PL/I & Assembler 2
Search our Forums:

Back to Top