Go to LeighWeb Home Page            

Back To LeighWeb Mainframe Utilities Page

View the module associated with this documentation

 DDCONCAT is a CLIST which allows the user to dynamically change the
 concatenation sequence of any of the following DDs during logon or while out of
 ISPF (i.e. they must be done at the "READY" prompt of native TSO).

 SYSHELP
 SYSEXEC
 SYSPROC
 ISPPLIB
 ISPMLIB
 ISPSLIB
 ISPTLIB
 ISPLLIB

 It allows you to put one or more libraries before and/or after each one of
 these standard dd's.

 Note: you are responsible for whether any specific library can, in fact, be
 successfully concatenated to a given dd based on MVS restrictions on dataset
 concatenations and installation-specific restrictions.  For example, Fidelity
 CLIST files are all defined VB 255.  An FB 80 library ahead of this
 concatenation will cause any CLISTs executed in concatenation after the FB 80
 library to ABEND.  Also, some installation-specific ISPF commands can only be
 implemented by placing them in the first ISPTLIB library.  If you place a
 different ISPTLIB library first, you may, in fact, nullify your ability to use
 these commands.

 DDCONCAT has 2 keyword parameters for each ISPF ddname and for SYSPROC.  The
 names of these keywords are the ddname prefixed by an "A" or a "B".  For
 example, the CLIST dd "SYSPROC" has the keywords "ASYSPROC" and "BSYSPROC"
 associated with it; the panel dd "ISPPLIB" has "AISPPLIB" and "BISPPLIB", etc.
 The "A" means "after" and the "B" means "before".

 Consequently, you put the library names which you want to place before the
 current xxxxxxx concatenation in the Bxxxxxxx keyword.  To place CLIST library
 "ABC.DEF.CLIST" ahead of the concatenation in SYSPROC, you would invoke
 DDCONCAT as follows:

 %DDCONCAT BSYSPROC('''ABC.DEF.CLIST''')

 You may specify any or all of the keywords which DDCONCAT has in a single call
 to DDCONCAT (indeed, you SHOULD do this for efficiency's sake).

 DDCONCAT uses standard TSO dataset name qualification.  This means that if you
 specify a dataset name in single quotes, it will be used as specified.  If you
 do not specify the single quotes, your user id will be prefixed in front of the
 dataset name.  In the above example, if you had specified
 BSYSPROC(ABC.DEF.CLIST), the actual dataset to be used would have been
 &SYSUID..ABC.DEF.CLIST.  If you want to specify more than one dataset in a
 given keyword parameter, the entire keyword value must be in single quotes as
 well.

 Note that the use of single quotes in CLIST processing of a KEYWORD parameter
 (such as BSYSPROC, or AISPPLIB in this example) is not intuitively obvious.
 CLISTs interpret single quotes a little strangely when passed as part of
 parameters.  In the above example, to maintain the single quotes around
 ABC.DEF.CLIST, three single quotes on each side were needed.  The outer-most
 single quote encompasses the entire parameter, and the next two are then
 interpreted as one single quote.  Note how they are used in the next example.

 For instance, if you wanted to place &SYSUID..GHI.JKL.ISPPLIB and
 MNO.PQR.ISPPLIB after the ISPPLIB concatenation, you would specify the command
 as follows:

 %DDCONCAT AISPPLIB('GHI.JKL.ISPPLIB ''MNO.PQR.ISPPLIB''')

 So, if you wanted to place all of your personal CLIST and ISPF libraries in the
 proper concatenations while logging on, you could call DDCONCAT in the
 following manner:

 %DDCONCAT BSYSPROC(PDS.CLIST) BISPPLIB(PDS.ISPPLIB) &STR(&PLUS)
           BISPTLIB(PDS.ISPTLIB) BISPMLIB(PDS.ISPMLIB) &STR(&PLUS)
           BISPSLIB(PDS.ISPSLIB) BISPLLIB(PDS.ISPLLIB)