|
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/1993–12/21/1998
/* --------------------------------------------------------------------
/* Copyright (C) 1993–1998 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
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/1993–12/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
|