The Display Deleted Space command displays the amount of deleted
record space that exists in one or more libraries. If variable
length fields exist, the allocated length is considered rather than
the maximum record length. An omit list of libraries may also be
specified.
You must have *ALLOBJ special authority to specify *ALLUSR as the
libraries to be scanned.
Only physical data files are considered.
A typical command would be:
DSPDLTSPC LIB(xxx)
All physical data base members in the named library would be found
and checked for deleted records. One line would be printed for each
member with deleted records (based on the default for LSTTYPE). If
the member has variable length fields, the allocated length of all
the fields is used instead of the maximum record length before
multiplying by the number of deleted records.
The deleted space values appear in 'bytes'.
System handling of variable length records
------------------------------------------
Most calculations of the amount of deleted record space do not
consider variable length fields. Therefore, the calculation assumes
that the amount of space that exists is the number of deleted records
times the maximum record length.
When a variable length field exists, an optional allocated length may
exist. The allocated space is in every record. If the field value
exceeds the allocated space, an overflow area is used.
If a record with a variable length field that has data in the
overflow area is deleted, the storage of both the allocated space and
the overflow area remain on the system. The system provides
information to determine the allocated space that can be reclaimed,
but no information is available concerning the space used in the
overflow area.
The DSPDLTSPC command provides a better understanding of the amount
of deleted record space that exists by determining the allocated
length of each record. This is the sum of the field lengths of
non-variable length fields plus the sum of the allocated length of
variable length fields. This value is used to multiply by the number
of deleted records.
This calculation would only be correct if the records that were
deleted did not use any storage in the overflow area.
Therefore, the amount of deleted record space shown for a member with
variable length fields should be considered a minimum of what can be
reclaimed.
DSPDLTSPC escape messages you can monitor for
---------------------------------------------
TAA9892 No physical data file members were found
Escape messages from based on functions will be re-sent.
Command parameters *CMD
------------------
LIB The library or libraries to be scanned. A list of
to 300 libraries may be entered. A generic name may
be used or the special values *LIBL, *USRLIBL,
*CURLIB, or *ALLUSR.
You must have *ALLOBJ special authority to specify
*ALL or *ALLUSR.
ASPDEV Specifies the auxiliary storage pool (ASP) device
name where storage for the library containing the
object is allocated. If the library resides in an
ASP that is not part of the thread's library name
space, this parameter must be specified to ensure
the correct library is searched. If this parameter
is used when the library qualifier specified for the
Object prompt (OBJ parameter) is *CURLIB, *LIBL, or
*USRLIBL, ASPDEV(*) is the only valid value.
This parameter can be specified as a list of two
values (elements) or as a single value. The
possible single values are:
* = The ASPs that are currently part of the thread's
library name space will be searched to locate the
library. This includes the system ASP (ASP 1), all
defined basic user ASPs (ASPs 2-32), and, if the
thread has an ASP group, the primary and secondary
ASPs in the thread's ASP group.
*ALLAVL = All available ASPs will be searched. This
includes the system ASP (ASP 1), all defined basic
user ASPs (ASPs 2-32), and all available primary and
secondary ASPs, (ASPs 33-255) with a status of
'Available'.
*CURASPGRP = If the thread has an ASP group, the
primary and secondary ASPs in the thread's ASP group
will be searched to locate the library. The system
ASP (ASP 1) and defined basic user ASPs (ASPs 2-32)
will not be searched. If no ASP group is associated
with the thread, an error will be issued.
*SYSBAS = The system ASP (ASP 1) and all defined
basic user ASPs (ASPs 2-32) will be searched to
locate the library. No primary or secondary ASPs
will be searched even if the thread has an ASP
group.
Element 1: Device
The device name of the primary or secondary ASP to
be searched. The primary or secondary ASP must have
been activated (by varying on the ASP device) and
have a status of 'Available'. The system ASP (ASP
1) and defined user basic ASPs (ASPs 2-32) will not
be searched.
Element 2: Search type
*ASP = Specifies that only the single auxiliary
storage pool (ASP) device named in element 1 is to
be searched.
*ASPGRP = Specifies that the entire group of the
primary auxiliary storage pool (ASP) device named in
element 1 is to be searched.
LIBTYPE The type of library to be processed. The default is
*ALL for both production and test.
*PROD may be used for just production libraries.
*TEST may be used for just test libraries.
OMITLIB A list of up to 300 libraries to be omitted.
An omit list may not be entered for LIB(*CURLIB).
Any library entered is checked for existence.
No check occurs to see if an omit library would have
been selected. For example, if LIB(*LIBL) is
entered with OMITLIB(ABC) and library ABC is not on
the library list, no error occurs.
LSTTYPE The type of listing. *DLTONLY is the default to
print a line for each member that has deleted
records.
*ALL may be specified to print a line for each
member whether it has deleted records or not.
OUTPUT How the output should be displayed. * means a
display appears if the command is used
interactively. If the command is run in batch or
*PRINT is specified, a spooled file is output.
Restrictions
------------
You must have *ALLOBJ special authority to specify *ALL or *ALLUSR as
the libraries to be scanned.
The amount of space that can be reclaimed for a deleted record with
variable length fields should be considered a minimum. See the
previous comments.
If a file has more than 998 fields and some of which are variable
length, the allocated length cannot be determined and the member is
flagged.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHKALLOBJ Check *ALLOBJ special authority
CHKDUPLST Check duplicate list
CHKGENERC Check generic
CHKGENOBJ Check generic object
CHKOBJ3 Check object 3
CMPLSTPARM Compare list parameters
CRTDUPPF Create duplicate physical file
CVTMBRD Convert member description
EXTLST Extract list
EXTLST2 Extract list 2
RPGSTSDS RPG status data structure
RTVDBFA Retrieve data base file attributes
RTVFLDARR Retrieve field array
RTVSYSVAL3 Retrieve system value 3
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
SNDJLGMSG Send job log message
SNDSTSMSG Send status message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
DSPDLTSPC *CMD TAADBKC QATTCMD
TAADBKCC *PGM CLP TAADBKCC QATTCL
TAADBKCC2 *PGM CLP TAADBKCC2 QATTCL
TAADBKCR *PGM RPG TAADBKCR QATTRPG
TAADBKCR2 *PGM RPG TAADBKCR2 QATTRPG
Structure
---------
DSPDLTSPC Cmd
TAADBKCC CL Pgm
TAADBKCR RPG Pgm - does listing
TAADBKCC2 CL Pgm - does RTVDBFA
TAADBKCR2 RPG Pgm does RTVFLDARR
|