The Display Object Description 2 command provides a different
interface to DSPOBJD information. If multiple objects exist, a
subfile is displayed which may contain multiple libraries. If a
single object exists, only the detail display is presented. The
detail display contains combined information from the various DSPOBJD
displays. Access to additional object information is provided as
well as search pattern.
See the DSPOBJD4 command which provides a 'display attributes only
function if the user is authorized to the TAADSPOBJ4 authorization
list.
A typical command is entered as:
DSPOBJD2 OBJ(PGMA) OBJTYPE(*PGM)
If multiple PGMA *PGM objects exist on the library list, a subfile is
displayed. Multiple libraries are displayed on a single display.
F11 may be used to flip/flop between displaying the object text
descriptions and the storage sizes. Each object shown may be
selected for the detail display including the library object.
If only a single PGMA is found on the library list, the detail
display is presented immediately.
The detail display combines the important information provided by
DSPOBJD for both the *FULL and *SERVICE options of the DETAIL
parameter. This allows a good review of the important information
about an object including the source member/file/library used for the
create.
If source was used to create the object, the source member level
information is accessed.
For *PGM objects, the 'Minimum release to run on' information is also
displayed.
Function keys are provided to allow a quick access to the specific
displays provided by the system for DSPOBJD DETAIL(*FULL) and DSPOBJD
DETAIL(*SERVICE).
A function key is also available to access DSPOBJAUT.
In addition, for most object types a special function key is provided
to allow access to the specific information about the object. For
example,
** If a *PGM object is being displayed, F8 is allowed to run the
DSPPGM command.
** If a *JOBD object is being displayed, F8 is allowed to run the
DSPJOBD command.
** If a data base file is being displayed, F8 allows access to
the DSPF2 TAA Tool command which allows further access to
attribute, format, and file relationships. Access to the data
is also available.
All of the F8 options invoke DSP commands where the user can display
information about the object. The only exception is the WRKJRNA
command for *JRN objects.
A request that will generate too many objects such as:
DSPOBJD2 OBJ(*ALL/*ALL) OBJTYPE(*ALL)
is rejected with an escape message.
If some selection is specified, but more than 1999 objects meet the
criteria, the first 1999 are displayed along with a special message.
Search pattern
--------------
A search pattern may be entered to provide more flexibility in
finding objects. Three pattern characters may be included:
_ Allows any character to be selected
* Allows generic capability (must be the last character)
% Allows a scan capability (search characters must follow)
Rules
-----
- Combinations of _ and * may exist or _ and *.
- No embedded blanks may exist.
- Using % requires quotes around the search pattern.
- The characters in the pattern are folded to upper case.
Examples
--------
ABC__FG Finds ABCDEFG, ABCDDFG, ABCXXFG etc
ABC* Finds any ABC value (generic)
A_C* Finds ABC, AXCX, AYC etc
AB%12 Finds AB12, ABXXX12, ABX12Y etc
A_C%XYZ Finds ABCXYZ, AWXYZDD, AMCXYZF etc
%123 Finds A123, ABC123, ABCDEFG123 etc
_XY Finds AXY, BXY etc
Performance
-----------
It is best to begin the search pattern with non-special
characters. The first pattern character determines the length
of the generic request that can be passed to the API. This
can limit the number of object names that must be searched for
the pattern. You can also limit the pattern searching by
specifying a library and/or an object type.
Assume you specify:
DSPOBJD2 OBJ(*ALL/*PTN) OBJTYPE(*ALL)
PATTERN(%ABC)
This would require every object on the system to be searched
for the letters ABC.
A better solution is to use letters before the search request
and an object type such as:
DSPOBJD2 OBJ(*ALL/*PTN) OBJTYPE(*PGM)
PATTERN(GL%ABC)
DSPOBJD2 escape messages you can monitor for
--------------------------------------------
TAA9895 No objects meet the criteria (based on ESCAPE parm)
Escape messages from based on functions will be re-sent.
Differences with the system command DSPOBJD
-------------------------------------------
The major differences are as follows:
** The OBJTYPE parameter is required on DSPOBJD, but defaults to
*ALL on DSPOBJD2.
** The search pattern on DSPOBJD2 provides better selection
criteria.
** The DETAIL parameter on DSPOBJD is not supported on DSPOBJD2,
but better function exists.
** DSPOBJD2 supports the OBJATTR parameter (DSPOBJD does not).
** DSPOBJD2 supports an ESCAPE parameter to allow you to control
what the user sees if no objects exist. This is designed for
use when DSPOBJD2 is entered from a menu.
** If objects exist in multiple libraries, DSPOBJD shows a
separate subfile per library. DSPOBJD2 shows a single subfile
and offsets the library name.
** If multiple objects exist, DSPOBJD shows the size of each.
DSPOBJD2 does not show the size on the subfile display, but
does display more of the text description. The size is shown
on the detail display. Accessing size information is
expensive in terms of performance when a large source file is
named.
** Requests that will generate too many objects are rejected by
DSPOBJD2 for interactive use.
Security considerations
-----------------------
System security is used by the internals of the DSPOBJD2 tool.
If multiple objects exist, the subfile will display the objects if
the user is authorized to the library.
If the user is authorized to use the object, the detail information
may be displayed. If the user is excluded from the object or the
object is in a private library, DSPOBJD2 cannot be used to display
the details of the object.
The F8 function key can be used to invoke additional information for
most object types. Most of the options are DSP commands such as
DSPJOBD and DSPOUTQA. These options primarily describe attributes of
the objects as opposed to data. Two exceptions exist:
** Data area data may be displayed.
** Data from data base files may be displayed.
DSP commands do not allow any actions to change anything on the
system. There is one exception where no DSP command exists and a WRK
command is used.
** WRKJRNA for *JRN objects. WRKJRNA allows a user to display
information about the journal, the files being journaled and
the journal receivers. From the journal receiver display, the
user can delete a journal receiver if he is authorized to do
so. Because the user would rarely be authorized to delete a
journal receiver, the WRK command is considered safe to use.
Use with PDM
------------
PDM allows an alternative to define a user option. When the 'Work
with Objects using PDM' display occurs, you can use the special
function keys to create your own option to use DSPOBJD2.
You must first consider where you want to place the options. The
default is the QAUOOPT file in QGPL. You can see which options file
is being used by specifying F18 'Change defaults'.
If you do not want to use the default, then you must create your own
file. A typical solution would be to use CRTDUPOBJ to duplicate the
existing QAUOOPT file in QGPL to a library of your choice (use the
same name of QAUOOPT). Then use the 'Change Defaults' display and
modify the library for the QAUOOPT file.
After you have selected which file to use, the 'Work With Objects'
display should appear. You can use the F16 key for 'User Options'.
This will display the 'Work with User-Defined Options' display and
you will see the existing options. To create a new option, specify
F6.
A display will appear named 'Create User-Defined Options'. You can
enter a 2 character ID for the option. You may choose any
characters, but a typical entry would be 'D2' for DSPOBJD2. The
command you key in should be as follows:
DSPOBJD2 OBJ(&L/&N) OBJTYPE(&T)
The variable names (like &L) are used by PDM to determine what should
be mapped into the command.
Command parameters *CMD
------------------
OBJ The qualified object name to be displayed. The
object name can be generic or the special value
*ALL.
*ALLUSR or *IBM may also be entered if the object
type is *LIB.
The library value defaults to *LIBL. The other
special values that may be entered are *CURLIB,
*ALL, or *ALLUSR.
A generic library name may also be entered. The API
used does not support a generic library name. The
function occurs by using *ALL for the library and
then selecting the individual objects to see if they
exist in the generic library name. Because of this
approach, if a short generic object name is entered,
the performance can be slow as many objects may need
to be accessed and checked for the generic library
name.
OBJTYPE The object type to be displayed. The default is
*ALL for all object types. All of the values
supported by DSPOBJD are provided.
OBJATTR The object attribute to be displayed. The default
is *ALL. An attribute such as RPG, or PF may be
entered to subset the object type being requested.
If you enter a value, you should also use the
OBJTYPE parameter to improve the performance.
A generic value may be entered such as RPG* which
would include all generic values such as RPG, RPG38,
and RPGLE programs.
PATTERN The pattern to be searched for. Special characters
may be included as:
_ Allows any character to be selected
* Allows generic capability
% Allows a scan capability
Typical search patterns would be:
AB_D Finds ABCD, ABXD
ABC* Finds ABC, ABCD
A_C* Finds ABC, AXCD, AYCDEF
AB%12 Find AB12, ABC12, AB123
A__D%34 Finds ABCD34, AXYDZ34, AMMD134
See the previous discussion for rules and additional
examples.
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.
ESCAPE Whether to send an escape message if no objects
exist for the selection criteria. The default is
*YES which means the TAA9895 escape message would be
sent.
*NO may be specified in which case the user would
see an empty subfile with an appropriate message.
OUTPUT How to output the results. * is the default to
display the spooled file if the command is entered
interactively. The spooled file is deleted after it
is displayed.
If the command is entered in batch or *PRINT is
specified, the spooled file is output and retained.
Restrictions
------------
See previous comments.
Prerequisites
-------------
The following TAA Tools must be on your system:
CVTSYSLVL Convert system level
DSPDTAQD Display data queue description
DSPF2 Display file 2
DSPJOBQA Display job queue attributes
DSPMSGFA Display message file attributes
DSPMSGQA Display message queue attributes
DSPOUTQA Display output queue attributes
DSPUSRSPCA Display user space attributes
FILEFDBCK File feedback
HLRMVMSG HLL Remove message
RTVOBJD2 Retrieve object description 2
SNDESCMSG Send escape message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
DSPOBJD2 *CMD TAAOBJO QATTCMD
TAAOBJOC *PGM CLP TAAOBJOC QATTCL
TAAOBJOC2 *PGM CLP TAAOBJOC2 QATTCL
TAAOBJOD *FILE DSPF TAAOBJOD QATTDDS
|