The Convert Object Description command is similar to the DSPOBJD
function of creating an outfile. Unlike DSPOBJD, an object name such
as '*XYZ*' may be specified to output a record for any objects
containing 'XYZ' within the name field. Selection by object
attribute (eg PF) or owner may also be made.
The OUTFILE format is the same as that used by DSPOBJD. The model
file is QADSPOBJ with a format name of QLIDOBJD.
Examples:
** A typical command would be:
CVTOBJD OBJ(LIBA/'*xyz*') OUTFILE(QTEMP/ABC) +
OBJTYPE(*FILE)
The OBJ name would be folded to ensure upper case. A record
would be output for any *FILE objects in library LIBA
containing XYZ in the name.
** The following would request a record be output with any files
with XYZ in the name and a PF or LF attribute.
CVTOBJD OBJ(LIBA/'*xyz*') OUTFILE(QTEMP/ABC) +
OBJTYPE(*FILE) OBJATR(PF LF)
** A generic name by itself may be used such as:
CVTOBJD OBJ(LIBA/XYZ*') OUTFILE(QTEMP/ABC) +
OBJTYPE(*FILE) OBJATR(PF LF)
A record would be output for any *FILE objects beginning with
XYZ and having an attribute of PF and LF would be output.
** If the OBJ value contains a leading asterisk, but not a
trailing asterisk (not generic), the object name must end with
the value provided.
CVTOBJD OBJ('*XYZ') OUTFILE(QTEMP/ABC) +
OBJTYPE(*ALL)
A record would be output for any object types where the name
ends in XYZ. For example, XYZ and AXYZ would be output, but
not XYZA.
Performance
-----------
The system does not support a function to access objects by a string
within a name or by attribute. The only function supplied by the
system is to access by object (could be generic), library, and object
type.
Consequently, when requesting objects by a string within a name or by
attribute, a DSPOBJD outfile is created specifying *ALL for the
objects in the named library and the object type requested. CVTOBJD
then reads the outfile and re-writes the records that match the
requested string within the name and the attributes requested. If
the number of objects that must be accessed to create the DSPOBJD
outfile is considerable, CVTOBJD will be a slow performer.
If a specific owner is requested, the same type of processing must
occur.
If you need all or generic objects without a selection by attribute
or owner, use DSPOBJD instead of CVTOBJD.
CVTOBJD escape messages you can monitor for
-------------------------------------------
TAA9891 No objects were output
Escape messages from based on functions will be re-sent.
Command parameters *CMD
------------------
OBJ A two part parameter for the object and library to
be converted.
The object name to be searched for is the first
part. A specific name (XYZ), a generic name (XYZ*),
a search string ('*xyz*'), or *ALL may be entered.
A search string such as '*xyz*' will be folded to
upper case and will find any objects containing
'XYZ' in the object name.
A search string such as '*xyz' will find any objects
ending in XYZ such as XYZ or AXYZ, but not XYZA.
A value of '**' is invalid. There must be one or
more characters between the asterisks.
The library name where the objects reside is the
second part. A specific library or the special
values *LIBL, *USRLIBL, *CURLIB, *ALL, or *ALLUSR
may be entered.
OUTFILE The qualified name of the outfile to be written to.
The default library is *LIBL which may only be used
if the outfile already exists. The named file must
have the same level ID as the QADSPOBJ file in QSYS.
If the file does not exist, it will be created using
the DSPOBJD model file (QADSPOBJ) with a format name
of QLIDOBJD.
Other valid library qualifiers include a specific
name or *CURLIB.
OBJTYPE The object types to be selected. The default is
*ALL. Use the prompter for a list of the valid
object types. Up to 100 values may be entered.
OBJATR The object attributes to be selected. The default
is *ALL. Up to 100 values may be entered. There is
no checking of the values entered.
OWNER The owner to select. *ALL is the default.
A specific owner may be named.
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.
MBR The name of the data base file member to receive the
output. A list of 2 elements is entered.
The first element is the member name. The default
is *FIRST. A specific member may be named.
The second element determines whether to clear the
member before writing records. *REPLACE is the
default to clear the member.
*ADD may be specified to add records to the existing
data.
Restrictions
------------
None.
Prerequisites
-------------
The following TAA Tools must be on your system:
DUPTAADBF Duplicate TAA data base file
EDTVAR Edit variable
EXTLST2 Extract list 2
RSNLSTMSG Resend last message
RTVFMT Retrieve format
RTVSYSVAL3 Retrieve system value 3
SNDCOMPMSG Send completion message
SNDESCINF Send escape information
SNDESCMSG Send escape message
TRNVAL Translate value
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
CVTOBJD *CMD TAAOBLG QATTCMD
TAAOBLGC *PGM CLP TAAOBLGC QATTCL
TAAOBLGR *PGM RPG TAAOBLGR QATTRPG
TAAOBLGP *FILE PF TAAOBLGP QATTDDS
|