TAA Tools

The Check DDS  Spelling command checks  the literals in either  DSPF or
PRTF type  source.  A  spooled file is  created if any  spelling errors

You  must  have  a dictionary  on  your  system such  as  TAADFT.   The
QTWCHKSP API  is used.   Unique  spelling dictionaries  can be  created
with the CRTSPADCT command which is part of the Operating System.

Special  dictionaries are  supplied  with the  TAA Productivity  Tools.
See the discussion with the TAADCT TAA Tool.

The  command operates  on either a  single member  or all  members in a
file such as:


If MBR(*ALL) is requested,  a summary spooled  file is output with  one
line per member.

The  spelling dictionaries  used may  be  specified on  the command  or

Only literals  (those beginning with an apostrophe  in position 45) are
checked.  Only  the data in  the literal  section of the  DDS specs  is
checked.  If  the previous line  indicates a literal  continuation, the
continuation line is checked also.

If MBR(*ALL) is  specified, a change date may  be entered so only those
members  which  have  been  changed  after  the  change  date  will  be

Handling of multi line literals

If a  literal requires more  than a single  source record (record  ends
with + or  -), the literal is  built up in a work  area before checking
the  spelling.   This  ensures  that any  words that  are  split across
multiple source statements are properly checked.

If an error is found, the  first source record and sequence number  are
shown as  the error.   If the  error is on  a continuation  record, you
will  not be able to  see the exact  source record in  error by looking
at the output.

Misleading output

Because of  the way  the  API returns  errors, the  CHKDDSSPE  function
will not always identify  the proper statement where the  error exists.

For  example, you  may have  spelled the  word 'for  ' as  'fo '.   The
first  scan occurs  for the word  in error followed  by a blank.   If a
match is not found,  a period is added  and the scan occurs for  'fo.'.
If a match  is not found, a +  is added and the scan  occurs for 'fo+'.
If  a match is  not found,  a scan occurs  for the exact  length of the
word in error.

Because of  this technique,  the spell  checking will  find the  error,
but  when it  attempts  to identify  the  statement  that contains  the
error, it may indicate the wrong statement.

If this  occurs, position to the statement shown  and scan for the word
that is incorrect.  You should come to it within a few statements.


The performance of the spell check API  is not as good as that used  by
the Office  Editor or  Text Management.   You should  not expect  great
performance from CHKDDSSPE.

The  API has significant  overhead to begin  checking.  To  improve the
performance  of the CHKDDSSPE command, a  block of 1000 bytes is passed
containing only literals.

While spell checking is occurring, the CPU is very busy.

Command parameters                                    *CMD

   SRCFILE       The qualified  file  name of  the  source file  to  be
                 checked.   QDDSSRC is the default.   The library value
                 defaults to *LIBL.  *CURLIB may also be specified.

   MBR           The  member to be spell checked.   *ALL is the default
                 to check all members in the file.

   SRCTYP        The source  type  to  be  checked.    *DSPPRT  is  the
                 default to  check any  source types  of DSPF or  PRTF.
                 An  individual type may  be named for  the types DSPF,
                 DSPF38, PRTF, or PRTF38.

   DLTSPLF       Determines if  the  spooled  file is  deleted  if  the
                 correct  spelling  exists.     *YES  is   the  default
                 meaning  to  delete  the  spooled  file if  no  errors
                 exist.    The current  implementation does  not output
                 the spooled file unless spelling errors occur.

                 *NO  may be  specified  to  retain  the  spooled  file
                 whether spelling errors exist or not.

   CHGDATE       If MBR(*ALL)  is specified,  any date entered  will be
                 checked  against the last change  date of each member.
                 If the  member  was changed  on  or after  the  change
                 date, it  will be  checked.   Members which  were last
                 changed  before  the  change  date  will be  bypassed.
                 The change  date (if  any) should  be entered  in  job

   ESCAPE        A  *YES/*NO value  for  whether  to send  the  TAA9893
                 message  as an escape  type if spelling  errors exist.
                 *YES is the default.

                 *NO   may  be   specified  to   receive  a  completion

   DICT          The qualified  name of the  spelling dictionary to  be
                 used.   The  default is  *DFT which  means to  use the
                 DCTARA parameter.

                 A  list  of up  to  8 dictionaries  may be  named.   A
                 dictionary must be created  by the CRTSPADCT  command.

   DCTARA        An   optional  parameter   that  allows   a  list   of
                 dictionaries  to be  specified by  naming a  data area
                 in  library  TAADCT  that  contains  the  list.    The
                 default is  *DFT.  A  data area may  only be named  if
                 DICT(*DFT) is used.

                 If  a  dictionary  is  named,  DCTARA(*NONE)  must  be

                 The  list  of dictionaries  must be  entered according
                 to  the  CRTDCTARA   TAA  Tool   and  the  data   area
                 containing the  dictionaries must exist  in the TAADCT
                 library.   Up  to 8 dictionaries  may be  named in the
                 data area.

                 If both  DICT(*DFT)  and DCTARA(*DFT)  are  specified,
                 the following rules exist.

                 1) If  the library TAADCT  does not exist,  the TAADFT
                 dictionary in QDCT is used.

                 2)  If the TAADCT library  exists, a data  area by the
                 name of  the  user  of  the job  is  searched  for  in
                 TAADCT.   If it  does not  exist, a data  area by  the
                 name of SYSTEM is searched for in TAADCT.

                 3)   If   neither  data   area   exists,  the   TAADFT
                 dictionary in TAATOOL is used.


Only valid DDS specifications are checked.

If  the  error  occurs  on  a  continuation  record  (a  literal  spans
multiple source  records), only the  first record  of the statement  is
shown and its sequence number.

In some  cases the  wrong statement will  be identified because  of the
way   in  which  the  API  returns   information.    See  the  previous


The following TAA Tools must be on your system:

     EDTVAR          Edit variable
     FILEFDBCK       File feedback
     HLRMVMSG        HLL Remove message
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape message
     SNDSTSMSG       Send status message


None, the tool is ready to use.

Objects used by the tool

   Object        Type    Attribute      Src member    Src file
   ------        ----    ---------      ----------    ----------

   CHKDDSSPE     *CMD                   TAATXTF       QATTCMD
   TAATXTFC      *PGM       CLP         TAATXTFC      QATTCL
   TAATXTFR      *PGM       RPG         TAATXTFR      QATTRPG
   TAATXTFR2     *PGM       RPG         TAATXTFR2     QATTRPG

Added to TAA Productivity tools May 1, 1996

Home Page Up to Top