Go to:  Davar site entry | Site contents | Site index | Mainframe | CList | Text bottom

DL  CList  Command

        

DL CList is a customized shortcut to ISPF Data List utility (option 3.4).  It is not a shortcut of a command name (=3.4 is short enough itself), but a shortcut for standard prefixes which get abbreviated via the DL interface.  Abbreviation  Prefix correspondence can be easily customized by updating the WHEN  SET pairs in prefix selection.

This command is particularly useful for computer consultants by providing an easy access to client's data sets some of which often have long names reflecting their business functions with which consultants are not familiar.  DL command permits both to abbreviate and customize data set names' mnemonics so that they are much easier to handle and eventually to memorize.

The heart of the DL command is a prefix-by-abbreviation selection block, where the WHEN  SET pairs can be easily customized (often on the fly) to serve the needs both of stable and short-term name prefix associations.  Normally it makes sense to reserve several numbers for SYSn prefixes and let all other represent the number of a ChangeMan package (ChangeMan prefix is site-specific and it can be determined by browsing a member of a package).  If specified prefix falls though all the above-mentioned tests, it is passed to the Data List utility as-is.

After associations get set, the original DSN prefix is read from the profile, saved in a variable and then new prefix is written to profile.  After that the Data List utility is called (with the new DSN prefix; DL prefix entry panel get skipped).  Upon exit from the Data List utility saved original DSN prefix is restored in profile.

The DL command has an easy accessible help which displays the list of preset DSN prefix abbreviations.  This is performed by viewing the Abbreviation  Prefix pairs extracted from DL command text by the LISTPRF macro.  Example of help display can be found below the command text.




     /* DL  Invoke Data List with Customized Prefixes  10/20/199312/21/1998
     /* --------------------------------------------------------------------
     /* Copyright (C) 19931998 by Vladimir Veytsel            www.davar.net

        PROC 1 R  /* Data set name prefix abbreviation or actual prefix or:
                  /* '?'  - Display list of preset DSN prefix abbreviations
                  /*        (Equivalent:  '/')

        CONTROL NOCAPS
     /* CONTROL NOCAPS,SYMLIST,CONLIST,LIST,MSG

     /* Display List of Preset DSN Prefix Abbreviations --------------------

        IF ((&STR(&R)=&STR(?)| +
            (&STR(&R)=&STR(/)) +
           THEN DO
                   ISPEXEC VIEW DATASET(PGMR.CList(DL)) MACRO(LISTPRF)
                   EXIT
                END

     /* Set Requested Name Prefix by Specified Abbreviation ----------------

        SELECT (&STR(&R))
               WHEN (&STR(*)) SET Prefix=&SYSUID
               WHEN (8)       SET Prefix=&SYSUID
               WHEN (P)       SET Prefix=&SYSUID..PGMR
               WHEN (U)       SET Prefix=&SYSUID..USER

               WHEN (1)       SET Prefix=SYS1      /* System
               WHEN (2)       SET Prefix=SYS2
               WHEN (3)       SET Prefix=SYS3
                                                   /* Programmers
               WHEN (FH)      SET Prefix=DEVFRAN   /* Frank  H
               WHEN (KI)      SET Prefix=DEVKARN   /* Karen  I
               WHEN (VV)      SET Prefix=DEVVICT   /* Victor V

               WHEN (K)       SET Prefix=TEST.S.K  /* Client
               WHEN (L)       SET Prefix=TEST.S.L
               WHEN (M)       SET Prefix=TEST.S.M

               OTHERWISE   IF (&DATATYPE(&STR(&R))=NUM) +
                              /* ChangeMan package CHGMAN.PACK.#nnnnnn */+
                              THEN SET Prefix=&STR(CHGMAN.PACK.#+
                                                   &SUBSTR(&LENGTH(&R):+
                                                   &LENGTH(&R)+5,+
                                                   &STR(00000)&R))
                              ELSE SET Prefix=&STR(&R)  /* Any other prefix
        END

        IF (&STR(&Prefix)^=) +
           THEN DO
                   ISPEXEC VGET (ZDLDSNLV) PROFILE
                   SET SaveDSNLV=&STR(&ZDLDSNLV)  /* Save original DSN pref
                   SET ZDLDSNLV=&STR(&Prefix)     /* Set specified DSN pref
                   ISPEXEC VPUT (ZDLDSNLV) PROFILE
                END

        ISPEXEC CONTROL NONDISPL ENTER            /* Skip prefix entry panel
        ISPEXEC SELECT PGM(ISRUDL) PARM(ISRUDLP)  /* Call Data List utility

        IF (&STR(&SaveDSNLV)^=) +
           THEN DO
                   SET ZDLDSNLV=&STR(&SaveDSNLV)  /* Restore original DSN prf
                   ISPEXEC VPUT (ZDLDSNLV) PROFILE
                END
  


Example of DL command help display



     File  Edit  Confirm  Menu  Utilities  Compilers  Test  Help
   -------------------------------------------------------------------------------
   VIEW       DEVVLAD.PGMR.CList(DL) - 01.28                  Columns 00001 00072
   Command ===> ________________________________________________ Scroll ===> CSR_
   ****** ***************************** Top of Data ******************************
   000001   DL  Invoke Data List with Customized Prefixes  10/20/199312/21/1998
   000002   --------------------------------------------------------------------
   000003
   000004   PROC 1 R     Data set name prefix abbreviation or actual prefix or:
   000005                '?'  - Display list of preset DSN prefix abbreviations
   000006                       (Equivalent:  '/')
   000007
   000008          *     &SYSUID
   000009          8     &SYSUID
   000010          P     &SYSUID..PGMR
   000011          U     &SYSUID..USER
   000012          1     SYS1                    System
   000013          2     SYS2
   000014          3     SYS3
   000015          FH    DEVFRAN                 Frank  H
   000015          KI    DEVKARN                 Karen  I
   000016          VV    DEVVICT                 Victor V
   000017
   000018          K     TEST.S.K           Client
   000019          L     TEST.S.L
            


View [and save] DL.CLS text
(Use [Back] button or [Alt]+[CL] to return here from the viewed text)
Copyright © 19931998 by
Go to:  Davar site entry | Site contents | Site index | Mainframe | CList | Text top