Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

REXX/TSO

89 views
Skip to first unread message

John McLaughlin

unread,
Mar 18, 1996, 3:00:00 AM3/18/96
to
In a message dated 96-03-18 08:22:23 EST, Stephanie
Boisvert wrote:

>i'm trying to send a tso allocate command , the problem is
>the command is bigger than 250 caracters.

There are a few different ways to tackle that problem. Here
are the ones I'd try, easiest ones first.

1) Try abbreviating whatever you can. You'll find lots
of opportunities to abbreviate in TSO help on ALLOC

2) Make the command a string first, and concatenate to the
string until you have everything you need.: (The 250 limit
is to the STATEMENT, not a limit to how long a STRING can be)
i.e.. AllocString = "alloc da(..)..... " (first part of string)
AllocString = AllocString parm(...) (concatenate rest of it)
Address TSO ""AllocString""

3) Finally, you could use the "ATTRIB" command to define
some of the allocate attributes, then refer to that ATTRIB
definition in your ALLOC statement. That would split the
amount of text between the ALLOC and ATTRIB statements.


Hope that helps!

John McLaughlin

Ed Gonzalez

unread,
Mar 18, 1996, 3:00:00 AM3/18/96
to
Stephane Boisvert wrote:
>
> Hi everyone,

>
> i'm trying to send a tso allocate command , the problem is
> the command is bigger than 250 caracters.
> I get a IRX0030I error.
>
> How can i get around this?I assume that you are attempting to allocate a
concatenation of datasets
to one ddname (as in a steplib). One method that I have used in the
past is to create short variables for the dataset names as follows:

concat = "'"long.dataset.name01"'" "'"long.dataset.name02"'" . . .

(you can even add to it as follows:)

concat = concat "'"one.more.long.dataset.name"'"

then

"ALLOC DD(DDNAME) DA("concat") SHR REUSE"

Hope this does the trick!

Neil Hancock

unread,
Mar 18, 1996, 3:00:00 AM3/18/96
to
On Mon, 18 Mar 1996 09:11:06 -0800,
Ed Gonzalez <nfn0...@NAPLES.NET> wrote the following:
You can extend this to the keywords themselves.
line1 = 'ALLOC DD(DDNAME)'
line2 = 'DA('dsnames')'
line3 = 'SHR REUSE'
address TSO line1 line2 line3

Or, you could be putting in unnecessary spaces.
Try:
"ALLOC FI(....)",
"DA(......)",
"SHR"
Rather than:
"ALLOC FI(....)
DA(......)
SHR"

--
Neil Hancock, G22c, The Met Office, London Rd, Bracknell, RG12 2SZ, UK.
Email: nhan...@meto.govt.uk * All opinions expressed are *
Phone: +44 1344 856944 * my own and not my employers. *

Stephane Boisvert

unread,
Mar 18, 1996, 3:00:00 AM3/18/96
to

Roy Gardiner

unread,
Mar 19, 1996, 3:00:00 AM3/19/96
to
>Hi Stephane:
>Suppose you need to execute an ALLOC or any other TSO command such as:
>ADDRESS TSO "ALLOCATE DD(...) DA(...) ...."
>and the length of the command is > 250 chars. You can try the following several
> statements instead:
>CMD1 = "ALLOC DD(..) DA(...)"
>CMD2 = "continue previous command"
>CMD3 = "more of the command"
>ADDRESS TSO CMD1 CMD2 CMD3
>This will make your command execution possible
>Hope it will help, Regards, Paul


Or you could:

address "TSO" "ALLOC DD(FRED) SHR REUSE DA(" ,
"'HLQ1.HLQ2.HLQ3'" ,
"'HLQ1.HLQ2.HLQ3'" ,
.
.
.
.
"'HLQ1.HLQ2.HLQ3'" ,
"'HLQ1.HLQ2.HLQ3')"

eliminating varariables. It's only the length of literals that are
restricted, Computed results and variables can be any length.


0 new messages