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

concatenate tso commands in Batch PARM


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
parsesource

New User


Joined: 06 Feb 2006
Posts: 97

PostPosted: Tue Mar 02, 2010 5:12 pm
Reply with quote

How can i concatenate tso commands in Batch PARM?

in TSO Online TSO TIME;TSO TIME executes two TIME commands

in Batch
PGM=IJEKFT01,PARM='TIME;TIME'

returns
IKJ56621I INVALID COMMAND NAME SYNTAX

I dont want to use SYSTSIN
Back to top
View user's profile Send private message
parsesource

New User


Joined: 06 Feb 2006
Posts: 97

PostPosted: Tue Mar 02, 2010 5:14 pm
Reply with quote

I know an option would be to call a rexx, parse further Parameter and use ADDRESS TSO within it

but is there a native solution?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Mar 02, 2010 5:29 pm
Reply with quote

I think, but not 100%, that the semi-colon delimiter is ISPF rather than TSO, so would not be accepted as a delimiter in a native TSO environment.

I may be wrong, but it has been known before icon_eek.gif
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Tue Mar 02, 2010 5:37 pm
Reply with quote

PGM=IJEKFT01 will give a S806 abend.

Beside that, is there a reason for not using SYSTSIN?

I believed that using the ";" separator was to indicate sequential execution of commands is an ISPF feature and not a TSO feature.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Mar 02, 2010 6:20 pm
Reply with quote

once upon a time there was a FDP ( Field Developed Program) called PCF ( Program Control Facility )
that Would let concatenate commands !
Back to top
View user's profile Send private message
parsesource

New User


Joined: 06 Feb 2006
Posts: 97

PostPosted: Tue Mar 02, 2010 6:41 pm
Reply with quote

The PARM Statement is part of the JCL; SYSTSIN is instream-Data, not visible after job-offload. That is the reason, why i prefer PARM
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Tue Mar 02, 2010 6:45 pm
Reply with quote

parsesource wrote:
The PARM Statement is part of the JCL; SYSTSIN is instream-Data, not visible after job-offload. That is the reason, why i prefer PARM


It CAN be instream. You can always put your SYSTSIN data in cardlib
members.
But what did you do with the other responses?
Back to top
View user's profile Send private message
parsesource

New User


Joined: 06 Feb 2006
Posts: 97

PostPosted: Wed Mar 03, 2010 12:04 am
Reply with quote

PeterHolland wrote:
parsesource wrote:
The PARM Statement is part of the JCL; SYSTSIN is instream-Data, not visible after job-offload. That is the reason, why i prefer PARM


It CAN be instream. You can always put your SYSTSIN data in cardlib
members.
But what did you do with the other responses?


i dont like cardlib member. i only use them if there´s no other choice

other responses? sysout? is visible after offload.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Mar 03, 2010 12:08 am
Reply with quote

Hello,

Quote:
SYSTSIN is instream-Data,
Only by local convention. . .

Most places put "control cards" in a pds so that they can be used repeatedly and if there ever is a change, it can be made in only one place rather than everywhere it is needed. . .
Back to top
View user's profile Send private message
Kjeld

Active User


Joined: 15 Dec 2009
Posts: 365
Location: Denmark

PostPosted: Wed Mar 03, 2010 6:05 pm
Reply with quote

PeterHolland wrote:
PGM=IJEKFT01 will give a S806 abend.


It is a typo in the original post. The right name is IKJEFT01.

If you code 2 instream cards or supply 2 lines in a ds to SYSTSIN DD with

Code:

TIME
TIME

you will get both commands executed. If you include a
Code:
//SYSTSPRT DD SYSOUT=output class
you will get your input documented.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Wed Mar 03, 2010 7:15 pm
Reply with quote

parsesource wrote:
i dont like cardlib member. i only use them if there´s no other choice
Oh, I know the feeling!
For example, I don't like very much my work. I go there "only if there´s no other choice"...
Back to top
View user's profile Send private message
Kjeld

Active User


Joined: 15 Dec 2009
Posts: 365
Location: Denmark

PostPosted: Wed Mar 03, 2010 7:35 pm
Reply with quote

expat wrote:
I think, but not 100%, that the semi-colon delimiter is ISPF rather than TSO, so would not be accepted as a delimiter in a native TSO environment.

I may be wrong, but it has been known before icon_eek.gif

I'm sure this feature is provided by the ISPF environment, as you also can change the delimiter character to be used in the ISPF settings.

You can execute TSO TIME;TSO TIME from the ISPF command line but if you switch to native TSO mode online and issue TIME;TIME at the READY prompt, you will get an 'invalid command' error
Back to top
View user's profile Send private message
Use Net

New User


Joined: 10 Feb 2010
Posts: 8
Location: Europe

PostPosted: Sun Mar 07, 2010 4:08 pm
Reply with quote

parsesource wrote:
How can i concatenate tso commands in Batch PARM?

in TSO Online TSO TIME;TSO TIME executes two TIME commands

in Batch PGM=IJEKFT01,PARM='TIME;TIME'

returns IKJ56621I INVALID COMMAND NAME SYNTAX

I dont want to use SYSTSIN



TSO TIME;TSO TIME executes two TIME commands in ISPF, not in TSO.

In TSO BATCH, the PARM can only contain a single TSO command. If you want to execute several TSO commands, you have to execute a CLIST, a REXX exec, or a command that will do it for you.

You can use REXXTRY to put several REXX commands in the PARM.
The doc is here: gsf-soft.com/Freeware/REXXTRY.shtml
Here is an example that you can find in the "Invocation in BATCH mode." section:

//TMP1 EXEC PGM=IKJEFT01,PARM='REXXTRY SAY DATE(); SAY TIME() '
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY

You can download REXXTRY from here: gsf-soft.com/Freeware/
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 -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts How to get a stack trace on a looping... ABENDS & Debugging 5
No new posts Calling Java method from batch COBOL ... COBOL Programming 5
No new posts JCL EXEC PARM data in C Java & MQSeries 2
No new posts Help in Automating Batch JCL jobs mon... JCL & VSAM 3
No new posts Need to specify PARM='POSIX(ON) Java & MQSeries 4
Search our Forums:

Back to Top