The Change Object Description 2 command is an interface into the
QLICOBJD API. It makes it easy to change one or more fields that the
API supports changes for.
You can change such fields as the source file/library/member, the
last source change date, the complier, APAR and PTF information, the
user defined attribute field, etc.
ILE programs can be changed, but the information relative to source
has no meaning to the system. The source information stored within
each module of a program cannot be changed.
A typical command to change the source member so that it would appear
that the program had been created from the ZZZ source member would
be:
CHGOBJD2 OBJ(xxx/yyy) OBJTYPE(*PGM) SRCMBR(ZZZ)
A prompt override program exists to assist in making changes. If you
enter:
CHGOBJD2 OBJ(xxx/yyy) OBJTYPE(*PGM)
and press F4, most of the prompts will be filled in with the current
values of the object.
Changing the information is a security consideration. You can
potentially change the audit trail information provided by the
system. Because of this, use of the command and program are
controlled by the TAACHGOBJ2 authorization list. You must have *USE
authority to the TAACHGOBJ2 authorization list to use the CHGOBJD2
command. In addition, you must also have *CHANGE authority to the
object you are trying to change. You must have *ALLOBJ authority to
create CHGOBJD2.
You can also set the object so that the API cannot be subsequently
used by specifying ALWAPICHG(*NO). This will prevent any further use
of the CHGOBJD2 command or the direct use of the QLICOBJD API. You
can change any of the parameters plus ALWAPICHG on the same CHGOBJD2
command.
If you attempt to change an object that has been set to prevent
changes, TAA9881 is sent as an escape message.
The CHGOBJD2 command defaults most of the parameters to *SAME meaning
'No change'. The command extracts the current values for the
corresponding parameters of the specified object and compares them to
the values specified on the command. If the same value exists, no
change actually occurs. If none of the values are actually changed,
the command completes normally with an appropriate completion
message.
The typical use of the CHGOBJD2 command is that it would be included
in a CL program for use in tailoring objects for distribution or for
internal control. For example, when objects are distributed, you may
want to include information to assist in problem determination.
Command parameters *CMD
------------------
OBJ The qualified object name of the object to be
changed. The library value defaults to *LIBL.
OBJTYPE The object type of the object to be changed.
SRCFILE The source file name to be specified for the object.
The default is *SAME. Up to 10 characters can be
specified. The special value *BLANKS will blank out
the value.
SRCLIB The source file library name to be specified for the
object. The default is *SAME. Up to 10 characters
can be specified. The special value *BLANKS will
blank out the value.
SRCMBR The source file member name to be specified for the
object. The default is *SAME. Up to 10 characters
can be specified. The special value *BLANKS will
blank out the value.
SRCLSTCHG The source last change date to be specified for the
object. The default is *SAME. 13 characters should
be specified in the format CYYMMDDHHMMSS. The
special value *BLANKS will blank out the value.
COMPILER The compiler name to be specified for the object.
The default is *SAME. Up to 13 characters can be
specified. The special value *BLANKS will blank out
the value.
OBJCTLLVL The object control level to be specified for the
object. The default is *SAME. Up to 8 characters
can be specified. The special value *BLANKS will
blank out the value.
LICPGM The licensed program name to be specified for the
object. The default is *SAME. Up to 13 characters
can be specified. The special value *BLANKS will
blank out the value.
PTF The PTF information to be specified for the object.
The default is *SAME. Up to 7 characters can be
specified. The special value *BLANKS will blank out
the value.
APAR The APAR information to be specified for the object.
The default is *SAME. Up to 13 characters can be
specified. The special value *BLANKS will blank out
the value.
ALWAPICHG Whether to allow the QLICOBJD API to change the
object. The default is *SAME.
When an object is created, the default is to allow a
change.
You can specify *NO to prevent a change. Once an
object is specified as *NO, you cannot 1) Reset the
value using CHGOBJD2 or the API or 2) Make any
changes using CHGOBJD2 or the API. Re-creating the
object will cause the default to occur again.
You can change other attributes on the same use of
CHGOBJD2 along with ALWAPICHG(*NO).
On the prompt override program, *YES will appear if
the object can be changed and *NO if it cannot.
USRATTR The user attribute specified for the object. The
default is *SAME. Up to 10 characters can be
specified. This field should not be confused with
the object type or object attribute fields. The
user attribute field is a separate field intended
for user information. The user attribute field is
not used by the system, but can be displayed by
DSPOBJD, exists in the outfile, etc. The special
value *BLANKS will blank out the value.
TEXT The text description specified for the object. The
default is *SAME. Up to 50 characters can be
specified. This is the same value that can be
changed by CHGOBJD and several CHGxxx commands. The
special value *BLANKS will blank out the value.
USERESET Whether to reset the 'days used count' The default
is *NO. *YES may be specified to reset the count.
This is the same value that can be changed by
CHGOBJD.
PRDOPTLDID The product option load ID specified for the object.
The default is *SAME. This value is not retrievable
by RTVOBJD. Up to 4 characters can be specified.
See the description for the QLICOBJD API.
PRDOPTID The product option ID specified for the object. The
default is *SAME. This value is not retrievable by
RTVOBJD. Up to 4 characters can be specified. See
the description for the QLICOBJD API.
COMPID The component ID specified for the object. The
default is *SAME. This value is not retrievable by
RTVOBJD. Up to 4 characters can be specified. See
the description for the QLICOBJD API.
Restrictions
------------
** You must be authorized for *USE authority to the TAACHGOBJ2
authorization list to use CHGOBJD2.
** Once the ALWAPICHG value has been set to *NO, the CHGOBJD2
command can no longer change the object.
** You must be authorized for *CHANGE authority to the specified
object.
Prerequisites
-------------
The following TAA Tools must be on your system:
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
Implementation
--------------
The tool is ready to use, but the users must be authorized to the
TAACHGOBJ2 authorization list.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
CHGOBJD2 *CMD TAAOBJL QATTCMD
TAAOBJLC *PGM CLP TAAOBJLC QATTCL
TAAOBJLC2 *PGM CLP TAAOBJLC2 QATTCL
TAAOBJLC2 is the prompt override program
|