I use the attached CLIST to change the concatenations of any of the DDNAMEs,
except for STEPLIB. I use an main CLIST that is invoked at login time to add
to several of the pre-Allocated DDNAMEs and create a few. The $Realloc.txt is
some simple documentation I found for the CLIST.
Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of Edward Finnell
Sent: Wednesday, November 30, 2016 5:26 PM
To: [email protected]
Subject: Re: concat
Attachments are permitted for .txt.
In a message dated 11/30/2016 12:30:40 P.M. Central Standard Time,
[email protected] writes:
I don't believe that we can attach files on this listserv, so here it is in
source form:
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
PROC 1 DS FIRST LAST ADD REPLACE NOLIST LIST NOPROMPT PROMPT SHR OLD -
HELP DELETE DDNAME(SYSPROC) DISP(SHR) DEBUG NOERROR
CONTROL NOFLUSH
IF &DS = HELP OR &HELP = HELP THEN DO
HELP REALLOC
EXIT CODE(0)
END
IF &OLD = OLD THEN SET DISP = OLD
IF &PROMPT = PROMPT THEN DO
SET LIST = LIST
ISPEXEC CONTROL DISPLAY LINE
END
IF &LIST = LIST THEN CONTROL LIST NOFLUSH
SET SYSOUTTRAP = 1000
LISTA ST
SET SYSOUTTRAP = 0
SET FOUND = NO
SET DSFOUND = NO
SET CONCAT = &STR()
SET PREF = &SYSPREF..
SET PREFL = &LENGTH(&STR(&PREF))
IF &SUBSTR(1:1,&DS) = ' THEN SET DS1 = &DS
ELSE IF &SYSPREF = THEN SET DS1 = '&DS'
ELSE SET DS1 = '&SYSPREF..&DS'
SET I = 1
DO WHILE &STR(&FOUND) = NO AND &SYSOUTLINE >= &I
SET DDN = &&SYSOUTLINE&I..
IF &DEBUG. = DEBUG THEN WRITE DEBUG DDN IS &DDN.
IF &LENGTH(&STR(&DDN)) > 9 THEN -
IF &STR(&SUBSTR(2:10,&DDN)) = &STR( &DDNAME) THEN DO
SET FOUND = YES
SET I = &I - 1
SET DSN = &&SYSOUTLINE&I..
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN.
IF &LIST = LIST THEN WRITE &DDNAME ALLOCATION IS
IF &LIST = LIST THEN WRITE '&DSN'
SET DS2 = '&DSN'
IF &LENGTH(&DSN) > &PREFL THEN -
IF &SUBSTR(1:&PREFL,&DSN) = &STR(&PREF) THEN DO
SET DSN = &SUBSTR(&EVAL(&PREFL+1):&LENGTH(&DSN),&DSN)
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN.
END
ELSE DO
SET DSN = '&DSN'
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN.
END
ELSE DO
SET DSN = '&DSN'
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN.
END
IF &REPLACE = AND &DS1 ^= &DS2 THEN SET CONCAT = &DSN
IF &DS1 = &DS2 THEN SET DSFOUND = YES
END
ELSE SET I = &I + 1
ELSE SET I = &I + 1
END
IF &FOUND = YES THEN DO
DO WHILE &EVAL(&I+3) <= &SYSOUTLINE
SET I = &I + 3
SET DDN = &&SYSOUTLINE&I
IF &DEBUG. = DEBUG THEN WRITE DEBUG DDN IS &DDN.
IF &STR(&SUBSTR(1:3,&DDN)) = &STR() THEN DO
IF &REPLACE = REPLACE AND &LAST = LAST THEN -
SET CONCAT = &CONCAT&STR( ')&DSN'
SET I = &I - 1
SET DSN = &&SYSOUTLINE&I
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN.
IF &LIST = LIST THEN WRITE '&DSN'
SET DS2 = '&DSN'
IF &LENGTH(&DSN) > &PREFL THEN -
IF &SUBSTR(1:&PREFL,&DSN) = &STR(&PREF) THEN DO
SET DSN = &SUBSTR(&EVAL(&PREFL+1):&LENGTH(&DSN),&DSN)
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN.
END
ELSE DO
SET DSN = '&DSN'
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN
END
ELSE DO
SET DSN = '&DSN'
IF &DEBUG. = DEBUG THEN WRITE DEBUG DSN IS &DSN
END
IF &REPLACE = OR &LAST = THEN -
IF &DS1 ^= &DS2 THEN SET CONCAT = &CONCAT &DSN
IF &DS1 = &DS2 THEN SET DSFOUND = YES
END
ELSE SET I = &SYSOUTLINE
END
END
ELSE DO
IF &LIST = LIST THEN WRITE &DDNAME IS NOT ALLOCATED.
END
IF &LIST = LIST THEN DO
IF &DELETE = DELETE THEN DO
IF &DSFOUND = YES THEN WRITE &DS WILL BE DELETED FROM THE LIST.
END
ELSE IF &REPLACE = REPLACE THEN DO
IF &LAST = LAST THEN WRITE THE LAST DATASET WILL BE REPLACED BY &DS..
ELSE WRITE THE FIRST DATASET WILL BE REPLACED BY &DS..
END
ELSE DO
IF &LAST = LAST THEN WRITE &DS WILL BE ADDED TO THE END OF THIS LIST.
ELSE WRITE &DS WILL BE ADDED TO THE TOP OF THIS LIST.
END
END
IF &DELETE = DELETE THEN DO
IF &DSFOUND = NO THEN DO
IF &NOERROR ^= NOERROR THEN +
WRITE DATASET &DS1 WAS NOT FOUND IN &DDNAME ALLOCATION.
EXIT CODE(4)
END
SET CONCAT2 = &CONCAT
END
ELSE IF &LAST = LAST THEN SET CONCAT2 = &CONCAT &DS
ELSE SET CONCAT2 = &DS &CONCAT
IF &PROMPT = PROMPT THEN DO
WRITE ALLOCATION WILL BE CHANGED WITH THE FOLLOWING COMMAND:
IF &CONCAT2 = THEN WRITE FREE FI(&DDNAME)
ELSE WRITE ALLOC FI(&DDNAME) DS(&CONCAT2) &DISP
WRITENR ENTER YES TO EXECUTE THIS COMMAND ===>
READ
IF &SYSDVAL ^= YES THEN EXIT CODE(0)
END
IF &CONCAT2 = THEN FREE FI(&DDNAME)
ELSE ALLOC FI(&DDNAME) DS(&CONCAT2) &DISP REUSE
SET RC = &LASTCC
IF &RC ^= 0 THEN DO
WRITE ALLOCATION FAILED, RETURN CODE &RC..
IF &PROMPT = PROMPT THEN DO
WRITE ALLOCATION WILL BE CHANGED WITH THE FOLLOWING COMMAND:
WRITE ALLOC FI(&DDNAME) DS(&CONCAT) &DISP
WRITENR ENTER YES TO EXECUTE THIS COMMAND ===>
READ
IF &SYSDVAL ^= YES THEN EXIT CODE(0)
END
ALLOC FI(&DDNAME) DS(&CONCAT) &DISP REUSE
SET RC = &LASTCC
END
EXIT CODE(&RC)
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
TSO CLIST REALLOC TSO CLIST REALLOC
Author: Graeme McRae
formatted on 1995/04/01
06:54
Contact your local support team to update
and maintain this if you need it.
--------------------------------------------------------------------------------
CLIST NAME. REALLOC
users. ISPF users to change ISPF concatenations
type. TSO CLIST resides in SYS1.TSOCLIST
--------------------------------------------------------------------------------
REALLOC Reallocate ddname according to profile
--------------------------------------------------------------------------------
related ddname pdsdd proc (proc includes proc, clist, and panels) rename
--------------------------------------------------------------------------------
The REALLOC clist command allows the ISPF user to reallocate the datasets for a
given ddname.
--------------------------------------------------------------------------------
Since square brackets are not available, optional
material is enclosed in European brackets <...>.
REALLOC 'dsname' <...options...>
--------------------------------------------------------------------------------
Examples:
REALLOC 'SYS1.TSOCLIST' first ddname(SYSPROC) add list
REALLOC 'SYS1.TSOCLIST' first add <same ending result as
above>
===================> TSO HELP REALLOC =================================
FUNCTION - &
The %REALLOC clist adds, replaces, or deletes a dataset from a concatenated
PDS allocation. If the dataset was already in the concatenation it will not
be entered twice.
SYNTAX -
%REALLOC 'DSNAME'
DDNAME(DDNAME)
FIRST | LAST
ADD | REPLACE | DELETE
NOLIST | LIST | PROMPT
OPERANDS -
DSNAME THE DSNAME YOU WISH TO ADD OR DELETE
DDNAME THE DDNAME YOU WISH TO AFFECT
THE DEFAULT IS "SYSPROC". FOR CLISTS.
FIRST ADD OR REPLACE THE DATASET FIRST IN THE CONCATENATION
"FIRST" IS THE DEFAULT.
LAST ADD OR REPLACE THE DATASET AT THE END OF THE
CONCATENATION.
ADD ADD THIS DATASET TO THE CONCATENATION.
"ADD" IS THE DEFAULT.
REPLACE REPLACE THE FIRST OR LAST DATASET WITH THIS ONE.
DELETE DELETE THIS DATASET FROM THE CONCATENATION.
YOU MAY NOT USE FIRST OR LAST WITH DELETE.
NOLIST DO NOT LIST THE CONCATENATION.
"NOLIST" IS THE DEFAULT.
LIST LIST THE CURRENT CONCATENATION AND THE CHANGES AS
THEY ARE MADE.
PROMPT LIST THE CHANGES, AND PROMPT THE USER TO "OK" THEM
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN