The Change Copyright command changes the language specific Copyright
statement in one or all source files in a library for one, generic or
all source members. Only specific source types are supported and
considered for changes. If a language specific COPYRIGHT statement
exists, it is dropped and the new COPYRIGHT statement inserted.
Only the source types RPGLE, CLLE, and PNLGRP are supported.
*****************************************
* *
* If your language provides a *
* COPYRIGHT statement that is *
* not supported, contact the *
* TAA Productivity Tools owner. *
* *
*****************************************
A typical command would be:
CHGCPYRGT SRCFILE(xxx/*ALL) COPYRIGHT('This is ...')
All source files in the named library would be found. All members
headers would be accessed, but only the supported source types would
be processed.
Since the MBR parameter defaults to *ALL, all members would be
considered.
For each supported source type, the source statements would be copied
to a temporary member in QTEMP.
If no language specific COPYRIGHT statement was found, the existing
source is left as is (no changes occur).
If the language specific COPYRIGHT statement is found, the old
version of the COPYRIGHT is dropped and the new version is output to
the temporary member. After all source statements have been copied
to the temporary member, the original member is replaced by the
revised temporary version.
A listing is produced with one line for each of the supported source
types and whether a change occurred or not.
Standard rules
--------------
The following standard rules apply for any supported
source type.
** Valid source must exist.
** The user must be authorized to change the source which is done
by copying back from the temporary member.
** The new version of the COPYRIGHT will be placed into the
source at the same source statement location as the old
version.
** All lines of source that make up the old version of the
Copyright will be dropped.
** The same Source Sequence number as the first source line of
the COPYRIGHT statement found is used for the first source
line in the revised output. If multiple source lines are
output, each Sequence Number is bumped by .01. The Sequence
number for non-COPYRIGHT lines of source remain unchanged.
** The COPYRIGHT parameter text will appear on displays (such as
DSPPGM DETAIL(*COPYRIGHT) as it was entered in the COPYRIGHT
parameter. When the revised source is output, the CHGCPYRGT
command uses a standard format for how the language specific
COPYRIGHT statement will appear in the source. This is
partially based on the length of the text which is determined
by the last non-blank in the COPYRIGHT parameter. See the
specific language rules for the formatting used.
** The source file maximum width is 240 bytes (the same maximum
as SEU).
RPGLE Rules
-----------
A typical statement would be:
H COPYRIGHT('Copyright ABC Co.')
or
h copyright('Copyright ABC Co.')
** The complete COPYRIGHT keyword and leading parenthesis must
appear in the first record of an H Spec (not in a continuation
record). The keyword can begin in position 7 or any position
thereafter.
** The Copyright text value may be upper or lower case.
** The COPYRIGHT keyword can be upper or lower case. The same
case that is found is used for the output. The output will
have the COPYRIGHT keyword beginning in position 8.
** The existing H spec for COPYRIGHT may extend over multiple
source lines for a maximum of 256 bytes of text.
** The H Spec containing the COPYRIGHT keyword may not contain
any other keywords. This is determined by ensuring the
positions prior to the COPYRIGHT keyword are blank and then
scanning for the 3 character value of Quote/EndParen/Blank.
This allows most combinations of quotes and ending parenthesis
to exist within the COPYRIGHT value.
If the scan value exists, the positions following the ending
parenthesis must be blank. If the COPYRIGHT text value spans
multiple source lines, the last line may not contain another
keyword.
If multiple keywords exist, the 'Changed' column is flagged as
'***' on the listing and the source is not changed.
** The existing H spec and any continuation lines will be
dropped.
** Multiple lines may be output. Regardless of the length of the
source file, the text will be formatted for a 92 byte source
file (80 bytes of source statement). The number of lines of
output will depend on the length of the text. The 256 byte
parameter will appear as follows (the first and last record
will also contain a quote surrounding the text):
Record Positions
------ ---------
1 1 - 51 51 Bytes + COPYRIGHT
2 52 - 113 62 Bytes
3 113 - 175 62 Bytes
4 176 - 217 62 Bytes
4 218 - 256 19 Bytes
---
256
CLLE Rules
----------
A typical statement would be:
COPYRIGHT TEXT('Copyright ABC Co.')
** The existing COPYRIGHT command may extend over multiple source
lines for a maximum of 256 bytes of text. All will be
dropped.
** Multiple lines may be output. The number of lines of output
will depend on the length of the text. Regardless of the
length of the source file, the text will be formatted for a 92
byte source file (80 bytes of source statement). The format
is similar to that by used by SEU prompting except that words
may be split). The 256 byte TEXT parameter will appear as
follows (the first and last record will also contain a quote
surrounding the text and parenthesis):
Record Positions
------ ---------
1 1 - 39 39 Bytes + COPYRIGHT + TEXT
2 40 - 81 42 Bytes
3 82 - 123 42 Bytes
4 124 - 165 42 Bytes
4 166 - 207 42 Bytes
5 208 - 249 42 Bytes
6 250 - 256 7 Bytes
---
256
PNLGRP Rules
------------
A typical statement would be:
:COPYR.Copyright ABC Co.
with the colon (:) beginning in position 1.
** The COPYR Tag does not apply to Command Help Text (it may
exist, but is not used).
** The existing COPYR Tag may appear in only a single source line
with a maximum of 76 bytes.
** When output, it will appear as ':COPYR.xxxx' (no space before
or after the period).
** If your Copyright text + 7 (length of ':COPYR.'), exceeds the
width of the source file source statement, the text will be
truncated.
CHGCPYRGT escape messages you can monitor for
---------------------------------------------
None. Escape messages from based on functions will be re-sent.
Command parameters *CMD
------------------
SRCFILE The qualified name of the source file to be
processed. The special value *ALL may be entered to
process all source files in a named library.
The library qualifier defaults to *LIBL, but may not
be used if *ALL is specified for the source file
name. *CURLIB may also be used.
COPYRIGHT The text of the Copyright statement. Up to 256
bytes may be entered, but some languages do not
support 256 bytes. See the previous discussion of
language rules.
SRCMBR The name of the member to be processed. The default
is *ALL for all members.
A specific member or a generic member name may also
be specified.
Restrictions
------------
See the previous comments.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHKGENERC Check generic
CVTLIBDBF Convert library data base files
EDTVAR Edit variable
HLRMVMSG HLL Remove message
RTVDAT Retrieve date
RTVDBFA Retrieve data base file attributes
RTVSYSVAL3 Retrieve system value 3
SNDCOMPMSG Send completion message
SNDESCMSG Send escape 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
------ ---- --------- ---------- ----------
CHGCPYRGT *CMD TAAPGNE QATTCMD
TAAPGNEC *PGM CLP TAAPGNEC QATTCL
TAAPGNEC2 *PGM CLP TAAPGNEC2 QATTCL
TAAPGNER *PGM RPG TAAPGNER QATTRPG
TAAPGNER11 *PGM RPG TAAPGNER11 QATTRPG
TAAPGNER12 *PGM RPG TAAPGNER12 QATTRPG
TAAPGNER13 *PGM RPG TAAPGNER13 QATTRPG
Structure
---------
CHGCPYRGT Cmd
TAAPGNEC CL pgm - Does CVTLIBDBF if needed
TAAPGNEC2 CL Pgm - Does DSPFD *MBRLIST and reads
TAAPGNER11 RPG Pgm - RPGLE source type
TAAPGNER12 RPG Pgm - CLLE source type
TAAPGNER13 RPG Pgm - PNLGRP source type
TAAPGNER RPG Pgm is the print program called by all other Pgms
|