NAMADR          NAME AND ADDRESS                       TAANAMA

 The Name  and Address tool  is designed  to allow you  to key in  names
 and addresses  (such as from  business cards) and  then find a  name by
 using a simple search technique.

 Each  user can  have his  own unique data  base or  a data  base can be
 shared by multiple users.

 The following features exist:

   **   Auxiliary keywords can be added.   A list of valid  keywords can
        be entered.

   **   Search on any  value in the name and address  or the key fields.
        Name  and address  fields are scanned  by default  and each word
        becomes a key.

   **   Subfile display shows the records  that match the search  value.

   **   Simple  display  for  displaying  the data,  making  changes  or
        adding new records.

   **   Options  exist such  as whether the  field should  be displayed,
        what the  prompts are,  and  what the  length  and type  of  the
        fields are.

   **   Scan command to scan for any value in the data base.

   **   Print command to print  all or selected parts of  the data base.

   **   Notes  can  be added  to  a  name record  (done  via the  NTEFIL
        tool).

 You can access all the functions from a menu:

            GO  MENU(NAMADR)

 A  later section  on 'Getting Started'  will describe what  you need to
 do to create the  objects required by the  NAMADR tool.  Before  you do
 this,  you  should   become  familiar  with  the  tool   by  using  the
 Demonstration provided.

 Basic demonstration
 -------------------

 The  best way to  understand the  Name and Address  tool is  to try the
 demonstration.   Not  every  supplied  function will  be  used  in  the
 demonstration, but  you should get a  good idea of the  basic functions
 and where to look for more detail.

 The Demonstration is divided into two sections.

         - Basic
         - Advanced

 The  Basic  demonstration  should give  you  enough  to understand  the
 concept and a good idea about the general use of the tool.

 The Advanced demonstration explores more of the options.

 If you are going to  being using the NAMADR tool,  you will want to  go
 thru the Advanced section.   However, you might want to  stop after the
 Basic  section, create the  files as  described in the  Getting Started
 section  and then  gain some  experience by  entering some of  your own
 data.

   1.   Enter the command:

            GO  MENU(NAMADR)

   2.   The NAMADR  menu appears  with all of  the functions.   Most  of
        the  options  are commands.    When  you  select an  option  the
        command  prompt  will  appear.    You  can  use  the  Help  text
        associated with  each  command to  assist you  in  understanding
        the commands and parameters.

        Select Option  1 'Edit name  and address'  and use the  Help key
        when  the command appears.   This will  give you an  idea of the
        type of Help text available on each command.

   3.   Return to the menu.  The  rest of the demonstration assumes  you
        will  be entering  commands from  the  menu.   You  could use  a
        command  entry line.    The command  entry form  of  the command
        will be shown and should be filled in on the Command prompt.

   4.   Determine a library to be used only for the demonstration.

                Note,  it is simpler to use  a library you do not intend
                to use for production  data.  The last  instruction will
                suggest  you   delete  the   objects  with   a  supplied
                command.

   5.   Select  Option 11 for  'Create a demonstration'.   A prompt will
        appear for  the library  name.   If you  are entering  commands,
        specify:

           CALL   TAATOOL/TAANAMAC21 PARM(xxxx)

        where xxxx is the library you selected.

        The  program  will  run  the CRTNAMADR  command  to  create  the
        objects needed,  copy demonstration data, and  run the RGZNAMADR
        command to build the access paths required.

                Note, the  TAANAMAC21  program  uses  the  required  DDS
                source in  library TAATOOL.   If it  does not exist,  it
                uses the  source from the TAA Archive.   This allows the
                demonstration   to   work   with   either   a   full  or
                demonstration license  of  the TAA  Productivity  Tools.
                If  you  use  any   of  the  required  DDS  source  from
                TAATOOL,  all  of  the DDS  source  must  exist  in that
                library.

   6.   Select Option  1  to  'Edit  name and  address'  and  enter  the
        library name you used to create the objects in:

           EDTNAMADR   NAMADRPLIB(xxxx)

   7.   The subfile  display appears.  When  no 'Search' value  has been
        entered  on the command,  all of  the records appear  in arrival
        sequence and  the  cursor  is  positioned  on  the  'Search  on'
        field.  Use Option 2 (Change) on the Albert Adams record.

   8.   The  Change Record  display  appears which  is  the basic  entry
        display.   There are  7 address  fields (including the  name), 6
        telephone  fields,  6 auxiliary  key  fields, and  6 description
        fields.  These  fields are known  as ADDR1-7, TEL1-6,  AUXKY1-6,
        and  DESCR1-6 and have  standard titles  (prompts).   The titles
        for  these fields are  highlighted and the text  can be changed.

        For example, in  this demonstration,  the text for  some of  the
        Telephone  fields  has  been   changed  to  'Extension',  'Fax',
        'Beeper',  and 'Home  phone'.  You  can tailor  the text  to fit
        your needs (a later step will describe how).

        The Print ID fields on the  bottom of the display work with  the
        PRTNAMADR command which is described later.

   9.   The  first auxiliary  key  field has  had  the text  changed  to
        'Cust/Vend'.  Albert Adams has a value of VENDOR.

   10.  Return to  the subfile display.   Enter VENDOR  into the 'Search
        on' field at the top of the display and press Enter.

   11.  You  should see those records that  match the value VENDOR.  The
        cursor is  positioned  to  the  first record  because  a  search
        value  was used.   Note  that  the right  hand column  indicates
        where  the match was found  and the tailored  text for the first
        auxiliary key field  appears.  The  'Bill Thumberbun' record  is
        not highlighted because  the value in the field  is VENDORB (use
        Option 5 to display the record).

   12.  The 'Search  on' value is used to  search against an access path
        file that is created  from the data.   Enter the value TOM  into
        the 'Search  on'  field and  press Enter.    Two records  should
        appear since  the value TOM  appears in both the  first name and
        the  last  name of  two  different records.    When a  record is
        added or changed,  the name and address  data is scanned.   Each
        word (ended  by a blank  or a dash)  is entered into  the access
        path  file.  Some words  like 'Mr.' or 'The'  are bypassed.  You
        can control what words are bypassed.

   13.  Enter the value  THUMB into 'Search  on' and press  Enter.   All
        of the  records that have  THUMB will appear.   Note  that THUMB
        may  be  found  in  any  part  of  the  Name, the  company,  the
        address, the  telephone fields,  or  the auxiliary  key  fields.
        The description fields are not used for keys.

   14.  You can  also search on  telephone numbers or  Zip codes.   Each
        piece  of a  field that  is  separated by  a blank  or  - (dash)
        becomes  a  separate key  value.   Enter  the  value 493  in the
        'Search on' field  and the records  that contain that number  or
        prefix  will  appear.    Note  that  the number  is  used  as  a
        telephone  exchange, the beginning part  of a specific telephone
        number, and the beginning part of a Zip code.

   15.  Enter the  value  STOOL  in  the 'Search  on'  field  and  press
        Enter.   No records will appear  because there are no  keys that
        begin  with 'STOOL'.   The error  message that  appears suggests
        the use of the  F16 key for SCNNAMADR  (Scan name and  address).
        This  is a  separate  command,  but  can be  accessed  from  the
        subfile display.

   16.  Press  F16  and  you  will  see  the prompt  for  the  SCNNAMADR
        command  with  the 'Search  on' field  already specified  as the
        argument to scan for (you can overkey).

        SCNNAMADR will  translate every  field in the  name and  address
        file  including the description  fields to  upper case  and then
        scans  for the  argument.   Any data  in the  additional 'notes'
        file is not considered.

        Press Enter to  scan the  file for  the word STOOL.   A  spooled
        file will  be displayed with the  results.  The field  where the
        argument  was found  is  shown along  with the  first  3 address
        fields.

        If you want to see the  detail record, you must determine  which
        record you  want from the  output and then  enter a value  (such
        as the last name) when you return to the subfile display.

   17.  Return  to  the  subfile   display  and  enter  the  value  TODO
        (something  'to do') in  the 'Search on'  field and press Enter.
        Two records should  appear.  Use option  2 on the 'Phil  Beyers'
        record.    The value  TODO  appears  in  the 2nd  auxiliary  key
        field.   Assume you have  done whatever was  needed and now want
        to remove  the TODO  value.   Replace the  value  TODO with  the
        value DONE  and press Enter.   You  should see an  error message
        saying that the value is invalid.

        Each  of the  auxiliary key  fields  can have  a unique  list of
        valid values  or multiple  auxiliary key  fields can  share  the
        same list.   In the  definition for this  application, Auxiliary
        key  1 has  a unique  list and  Auxiliary Key  2  and 3  share a
        common list.

   18.  Use  F15 to see  the list of  valid values.   From the Auxiliary
        Key Valid  Values  display use  F13  to see  the  keys that  are
        controlled by the *ALL value.

        In  this definition,  Auxiliary key  fields 1-3  have a  list of
        valid  values  and 4-6  do  not  (anything could  be  keyed into
        fields 4-6).

   19.  Return to the 'Phil Beyers'  record and press Enter again.   You
        should see the same error message.

   20.  Use  F23 for  additional information  about the  message.   When
        error  messages appear  and there is  additional text,  F23 will
        be active and you can access more information.

   21.  Return to  the 'Phil  Beyers'  record and  blank out  the  value
        DONE  (all blanks  in  the  2nd  Auxiliary Key  field).    Press
        Enter.   Since  the  field is  not  a 'mandatory  entry'  in the
        demonstration,  blanks are  valid and  the list  of valid values
        is not checked.

   22.  Since the TODO  value no longer exists  in the record, you  will
        not see the  'Phil Beyers' record on the  subfile display.  Each
        time  a  record is  changed,  all  of the  existing  access path
        records  are  deleted  for  the  changed  record  and  then  the
        existing values are added.

   23.  Enter the value  PHIL in the 'Search on' field,  press Enter and
        then  re-access  the  Phil  Beyers  record  with the  2  Option.
        Change the 2nd Auxiliary key to TODO and press Enter.

   24.  Then enter  TODO  in  the  'Search on'  field  and  press  Enter
        again.  You should see Phil Beyers back on the TODO list.

 Either end the Basic  Demonstration at this point or  continue with the
 Advanced Demonstration.

 Advanced demonstration
 ----------------------

 If you  are continuing directly from Basic  Demonstration, skip to Step
 4.

   1.   The  same  demonstration  data  as  was  created  in  the  Basic
        Demonstration can be  used for the  Advanced Demonstration.   If
        the data  no longer exists, re-create it  using the instructions
        from the Basic Demonstration.

   2.   Using  either the NAMADR  menu or the  EDTNAMADR command, access
        the subfile display for the demonstration data.

   3.   Enter PHIL in the 'Search on' field.

   4.   Access the Phil  Beyers record with  the 2 Option.   Change  the
        State value from  IL to ZZ and  press Enter.  You  should see an
        error   message  because  the  definition   of  the  application
        requires the value be a valid  State or Canadian province.   Try
        entering blanks into  the State field  and pressing Enter.   You
        should  see a message  stating that  the field is  mandatory and
        must be entered.

        If  you have some addresses  that are not in  the USA or Canada,
        the default definition  allows an entry of  the State XX.   This
        allows  you to  have a  mandatory  entry State  field and  still
        handle  addresses  outside the  USA and  Canada.   The  Jean Val
        Jean record has a State of XX.

        Change the State value to IL.

   5.   Try entering the  Zip code field  as 1A345.   You should see  an
        error message  stating that only  numeric values 0-9  are valid.
        This  is based on the  application definition.   The default for
        most of the  fields is that  they are character  fields and  are
        not  mandatory.     For   the  demonstration,  the   application
        definition  was   changed  so  that  certain   fields  could  be
        validated.

   6.   Try  entering the Zip code  field as 123456.   You should see an
        error  message stating  that  the  maximum  length is  5.    The
        default for the  Zip code field is that it  is a character field
        of  12  bytes.   The  demonstration  application  definition has
        specified a maximum  length of 5.   You can  shorten the  length
        of most  of the fields  on the display  and control  what values
        are entered.

   7.   Enter a Zip code of 60635 for Phil Beyers and press Enter.

   8.   Re-access  the Phil  Beyers record  with  Option 2.   Use  F7 to
        display  the  Create   and  Change  date   information.     This
        describes who created  and changed the record and  the date/time
        for each.   You should  see your user  profile name as  the user
        who made the change.

   9.   Return  to the Phil Beyers record and  use F9 to access the Note
        function.  This uses  a data base file  that is created as  part
        of  the Name  and Address  objects, but  is operated  on  by the
        NTEFIL  TAA Tool.   It allows  you to  add notes  that relate to
        the name  and address record.   Use  F6 to  add a  note (key  in
        anything  you want).    For a  full  explanation  of the  NTEFIL
        tool, see the NTEFIL documentation.

   10.  When  you return to  the Phil Beyers  record, you should  see an
        indication  on  the  top  of  the  display  that  'Notes  exist'
        (assuming you added a record).

   11.  The Description  fields  toward the  bottom of  the Phil  Beyers
        record   can  also  be   used  for   any  notes   or  additional
        descriptive  information.   The  first  field has  a  prompt for
        'Internet ID', but the text can be changed.

        The Description  fields are not  used for keys.   They are  text
        only.  Press Enter to end the Phil Beyers record.

   12.  Use the  Option 3  (Copy) to copy  one of the  existing records.
        Then  use the  other options of  Change, Display,  and Delete to
        the new record.

   13.  When  the  subfile  display  appears,  use  F13  to  access  the
        definition  of the  application.   A menu  appears which  allows
        you  to access  specific  definitions.   Enter 1  for  the first
        option (Headings) and press Enter.

   14.  The Heading  information  lets you  see  what the  text  is  for
        several of the prompts  that appear on the major  displays.  F10
        may be  used to display the  same information so that  it may be
        changed.

        Only  a user  who has  *CHANGE authority  to the  definition can
        change  the  definition.    See  the  later  discussion  of  the
        GRT/RVKNAMADR commands.

   15.  Use F10 to  access the change display for  the Headings.  Change
        the  title  to your  own  words such  as 'My  Personal  Name and
        Address'.  This  field requires you to  right adjust the  value.
        When you  end the  change display,  you return  to the  'Heading
        information' again.

   16.  Press Enter  again and you will be  back at the subfile display.
        Note that the heading of the display has changed.

   17.  Press F13 to  access the definition  again and Enter  a '1'  for
        the 'Column  Display' The Column  display lets you  control what
        fields  and what  prompts appear  on the  subfile display.   For
        example,  the  Column  1  field is  defined  as  ADDR1  which is
        intended  as the  name  field.    You  could change  this  to  a
        different field and also change the title of the column.

        End this display and then return to the subfile display.

        When the  subfile display appears,  note that there is  room for
        3  fields  of  15  characters  in  length  and  one  field of  8
        characters in  length.    Most  of the  address  fields  are  40
        characters in  length so some  truncation occurs on  the subfile
        display.   You  cannot  change the  lengths that  appear  on the
        subfile display.

   18.  Use F13 to  access the Display  Definition display.   Enter a  1
        for the  Address fields  and press  Enter.   The Address  fields
        present  a menu for  each field  with the current  text (prompt)
        supplied.   If you  access the definition of  ADDR1 you will see
        the detail  information  about  the field.    Each field  has  a
        series  of attributes  that control  the definition  of  what is
        entered.

        Each  attribute has Help text that  describes the valid entries.
        Place the  cursor on the  'Allow' field  and press  Enter.   You
        should see  that there  is an  option for  whether the field  is
        allowed  to appear on the  detail record display.   For example,
        if you  are  not  going  to  use  the  ADDR4  field,  you  could
        eliminate it from the display (blanks would appear).

        F10 is  used for Change  mode to change  the attributes.   Press
        F10.

        Place  the cursor  on the  'Type' field  and  press Help.   Roll
        through  the types  of fields that  are supported.   The default
        is C for character.

   19.  Return to the 'Display Definition' display.

   20.  The Telephone and Auxiliary  Key definitions are similar  to the
        Address field definitions.

   21.  The  Description  field definitions  only  allow  you to  change
        many of the text descriptions that appear on the display.

   22.  The  Note Tool options  allow you to determine  what options are
        passed to  the  Note file  tool.   See  the explanation  in  the
        NTEFIL tool documentation.

   23.  The Print  ID options  allow you to  control whether  the fields
        appear and their titles.

   24.  Use F3 to back out to the menu or a command entry line.

   25.  Select  Option  1  to 'Edit  name  and  address'  and enter  the
        command:

              EDTNAMADR   SEARCH(THUMB) NAMADRPLIB(xxxx)

        The SEARCH entry allows you to  go right to the records you  are
        interested in.  Return to the menu.

   26.  Select  Option 7  to  'Print Name  and  Address'.   Specify  the
        library and take all of the other defaults:

              PRTNAMADR   NAMADRPLIB(xxxx)

        If  you are  on the  NAMADR menu,  back out  to a  command entry
        line and use WRKSPLF to display the output.

        The  default output prints  all of the  information in your Name
        and Address file  to allow an offline  hard copy form.   Several
        options are provided to tailor the output.

   27.  Use GO NAMADR again.

        Select Option  7 to 'Print Name  and Address' again  and look at
        the  prompts.  The  command works in conjunction  with the Print
        ID fields  that  were displayed  at  the  bottom of  the  detail
        record.  You  do not have to  use these fields, but  if you want
        to tailor  the offline hard copy form,  see the later discussion
        on Printing  the Name  and Address  file.   Use F3  to Exit  the
        Command prompt and return to the menu.

   28.  When the Name and  Address objects are created by  the CRTNAMADR
        command,  the user  becomes  the owner  of the  objects  and the
        *PUBLIC  has *USE  authority to  the objects.   This  means that
        another  user could  use  the  files,  but could  not  make  any
        changes to the data or the definition.

        Two commands  are provided  to assist you  with authority.   The
        GRT/RVKNAMADR  commands allow you  to grant  or revoke authority
        to the Name and Address objects.

        Select Option 5 for 'Grant  name and address objects.' You  will
        notice  that there  is an  authorization  for the  data and  the
        definition.   For example, you may want  to allow other users to
        change  your  Name  and  Address  files,  but  not  change   the
        definition.   Use F3 to  Exit the Command  prompt and return  to
        the menu.

   29.  Select  Option  4 for  'Reorganize  name  and address  objects.'
        This  command allows  you to reorganize  the files.   If you add
        records to the NAMADRP  file using CPYF, the CVTDBFFMT  tool, or
        your  own  application,  there  will  not  be  any  access  path
        entries  for the  added data.   The RGZNAMADR  command refreshes
        the information.   If you are  out of synch  or suspect  damage,
        see the later discussion of RGZNAMADR.

   30.  If  you  change the  definition  of  the application  when  data
        already  exists in  the file,  some of  the current  records may
        not meet your validation  rules.  The  CHKNAMADR command may  be
        used  to  check   the  current  data  against   the  application
        definition.

        Select Option  9 for 'Check  name and address.'  Run the command
        for  your library  of demonstration  data.   You should  not see
        any errors.

   31.  Because the  Name and  Address function may  be frequently  used
        during  the  day,  you  may  want  the files  left  open  and  a
        shorthand  command to  use the  function rather  than EDTNAMADR.
        The CRTNAMEDT  command  is  designed  to  create  your  personal
        shorthand command which will provide:

            - Access to the function with less keystrokes
            - Your own default for the NAMADRPLIB parameter
            - Your own default for the SETLR parameter

        Select Option 10  for 'Create Shorthand EDT  command' Create the
        NAM  command in  a library  on  your library  list and  name the
        library where your demonstration data exists:

              CRTNAMEDT  CMD(yyy/NAM) NAMADRPLIB(xxx)

   32.  Back out to command entry and use the NAM command as:

              NAM TOM

        You should access the records with TOM as keys.

   33.  Back out to command entry and  duplicate the command and run  it
        again.   You  should  see a  faster  response time  because  the
        files are already open.

   34.  Back  out to  command entry  and close  the  files with  the NAM
        command:

              NAM  SETLR(*ONIMMED)

   35.  You  have  finished the  demonstration.   You should  now delete
        the objects.

        Use the WRKOBJ command to find the NAM command as:

              WRKOBJ   NAM

        Delete the  command.  When  you have  created your own  personal
        name  and address  objects, you  can use  CRTNAMEDT to  create a
        specific  command  that  defaults  to  the  library  where  your
        objects exist.

        To delete the demonstration objects in your library, enter:

              DLTNAMADR  NAMADRPLIB(xxx)

 Getting Started
 ---------------

 To begin processing, you  must create the  objects needed for the  Name
 and Address tool.  You can operate from the NAMADR menu by entering:

             GO   MENU(NAMADR)

 Select Option  2 for 'Create  the name  and address objects'  and enter
 your library:

             CRTNAMADR    NAMADRPLIB(xxx)

 This  creates the objects  that will contain  your data into  the named
 library.

 Select Option 1 for 'Edit name and address' and enter your library:

             EDTNAMADR    NAMADRPLIB(xxx)

 You are  now ready  to enter  name and  address records  or tailor  the
 application.   You may also  want a shorthand  command as described  in
 the next section.

 Shorthand command
 -----------------

 Because the  EDTNAMADR command may  be used very  frequently during the
 day  and you may want  to keep the files open,  a shorthand command may
 be of value.

 For example, instead of continually saying:

              EDTNAMADR    NAMADRPLIB(xxx) SETLR(*OFF)

 a shorthand command can be developed that will allow you to say:

              NAM

 or whatever shorthand name you want.

 Since the first  parameter is the  search field, you could  immediately
 access the THUMB records with:

              NAM THUMB

 To create this  command, the CRTNAMEDT command is  provided (it is also
 on the NAMADR menu).  You would specify:

              CRTNAMEDT   CMD(zzz/xxx) NAMADRPLIB(yyyy) SETLR(*OFF) +
                            TEXT('My shorthand to EDTNAMADR)

 CRTNAMEDT  duplicates the  EDTNAMADR command  to the library  you named
 and changes the defaults of  the NAMADRPLIB and SETLR parameters.   The
 command CPP  is the  same as that  of the  EDTNAMADR command,  the same
 parameters are available, and the same help text exists.

 Commands and menus supported
 ----------------------------

      NAMADR        Menu (has all of the following commands)
      CRTNAMADR     Create name and address objects
      DLTNAMADR     Delete name and address objects
      EDTNAMADR     Edit name and address
      RGZNAMADR     Reorganize name and address
      GRTNAMADR     Grant name and address objects
      RVKNAMADR     Revoke name and address objects
      PRTNAMADR     Print name and address
      SCNNAMADR     Scan name and address
      CHKNAMADR     Check name and address
      CRTNAMEDT     Create name and address EDT cmd (shorthand)

 Objects created by CRTNAMADR in your library
 --------------------------------------------

      NAMADRP   *FILE     PF    Name and address master by Arrvl seq
      NAMADRQ   *FILE     PF    Access path keys by Key
      NAMADRS   *FILE     LF    Access path keys by RR to NAMADRP
      NAMADRV   *FILE     PF    Auxiliary key validation by Key/Value
      NAMADRW   *FILE     LF    Auxiliary key validation by Arrvl seq
      NAMADRN   *FILE     PF    Notes file
      NAMADRB   *DTAARA         Application definition

 The NAMADRP Name and Address Record
 -----------------------------------

 The Name and Address Record is made up of the following fields:

      Intended for       Number of    Maximum length
      ------------       --------     --------------

      Name and address      5              40
      State                 1               2
      Zip code              1              12
      Telephone             6              12
      Auxiliary keys        6              12
      Description           6              60
      Print 1               1               3
      Print 2               1               3
      Print 3               1               4
   *  Create user           1              10
   *  Create date           1               7
   *  Create time           1               6
   *  Create time modifier  1               3
   *  Change user           1              10
   *  Change date           1               7
   *  Change time           1               6

 The * fields are standard and cannot be modified.

 While the  application has defaults for the  definition, you can define
 your own descriptions and shorten  the lengths of the optional  fields,
 make some mandatory, etc.

 Any 'notes'  that are  added are placed  in a  separate data  base file
 and managed by the NTEFIL tool.

 It  is up  to  your own  imagination  as to  how  you want  to use  the
 fields.   For  example, you  could decide  that a  key value  of 'TODO'
 (something 'to do') will be  entered when you have some function  to be
 performed  relating to  the Name  and address  (such as  send  out some
 material).   You could  then specify a  search for the  TODO values and
 see the work to be done.   When the work is completed, you could  blank
 the TODO value  or change the key  to the date you  performed the work.

 Tailoring the application
 -------------------------

 There   are  several   functions  you   can   perform  to   tailor  the
 application.  This includes:

   **   Determining what fields exist on the main displays.

   **   Changing the  prompts that  appear  for field  descriptions  and
        the title of the display.

   **   Describing  the  attributes  of each  field  such  as  making  a
        'mandatory entry' field.

   **   Describing  the valid values  that may  be entered into  the Key
        fields.

 To tailor the application, use F13 from the subfile display.

 The   prompts  and  help   text  will  assist   you  in  modifying  the
 application.    See also  the  later  section  on  Modification.    The
 following are the major objects used for tailoring:

   **   The data area  NAMADRB is created by CRTNAMADR  and will contain
        definition  defaults.  The  fields default  to 'character' types
        and allow any data or blanks to be entered.

   **   The validity checking  fields are  stored in  the TAANAMAV  file
        which is  created by CRTNAMADR.   The default is that  any value
        may be  entered into a Key field  without any validity checking.

   **   A list of values  to be bypassed instead  of making Access  Path
        records is  defined for names  and addresses.   For example,  it
        would  be normal to  exclude the  word 'The'.   The words  to be
        bypassed  are kept in the TAANAMAA  data area in TAATOOL and act
        as a system default.   The words could be entered in  a language
        other  than  English.     You  should  not  modify  the  TAATOOL
        version.   See the later  discussion for how  to tailor the list
        of words to be bypassed.

 It would be  considered normal to change  the definition after  working
 with the Name  and Address tool for awhile.   You may then  have a good
 idea of  such things as what  valid values you want  to check for, what
 fields should be 'mandatory entry', or  the type of fields to  specify.
 When you change the definition,  you may have data in the  file that no
 longer meets  your requirements.   To find these  errors, the CHKNAMADR
 command  exists.    It reads  every  record and  performs  any validity
 checking rules on each field.

 Search Technique
 ----------------

 The Name and  Address file (NAMADRP) defaults  so that the records  are
 entered without  any unique  key being assigned  (you could  assign one
 of  the Auxiliary Key  fields as a  unique number).  The  tool uses the
 relative record number from the Name  and Address record as the key  to
 a second  physical file  (NAMADRQ) where  the search  values are  kept.
 This is called the Access Path file.

 When  a record  is added to  the Name  and Address file,  the non-blank
 values  from  the  fields  (except  for  the  Description  fields)  are
 written as  separate  records to  the Access  Path  file.   For a  name
 field with  a value of 'Tom  Thumb', the field would be  scanned and by
 default  two records  would be entered  into the Access  Path file (one
 for 'Tom'  and one for  'Thumb').   This allows you  to specify  either
 value  as a search  criteria.   All the  address fields  (except State)
 and  all the Telephone fields default to  multiple keys.  Each piece of
 a telephone number (separated  by a blank  or dash) becomes a  separate
 key.   Thus if  you have  a part of  a phone  number, you  can probably
 determine who it belongs to in the file.

 When  a  change occurs,  all  of  the existing  records  with  the same
 relative record  number are  deleted and  the current  values from  the
 name and  address  record are  used to  generate new  access path  file
 records.

 When  the  EDTNAMADR  subfile  display  appears, the  rightmost  column
 describes  which field in the record  matches the search criteria.  For
 example, if a match is  found on an Auxiliary Key field, the  data that
 caused the  match is probably  not on the  subfile display.   The value
 that  displays  is  the  field  description  such  as  'Name', but  the
 description can  be  tailored.    If  the value  is  equal,  the  field
 description appears  highlighted.  If the  value in the  record matches
 generically,  the field description is  displayed without highlighting.

 When a  field is  specified as  having multiple  keys (such  as a  name
 field), any  periods, commas, or  single character fields  are ignored.
 Before writing  to the Access  Path file, the value  is checked against
 a  table to  determine if it  is a word  to be bypassed.   For example,
 'Inc' or 'The' can be bypassed.

 A list of words  to be bypassed is standard  and can be modified.   See
 the  later  section.   All  keys  are  translated  to upper  case  when
 written to the Access Path file.

 The  support prevents the same record from  appearing more than once in
 a subfile  (up  to  999  entries)  if the  search  value  is  found  in
 multiple fields  of a  Name and  Address record.   For example,  if you
 have  a record for  'William Williams' and  scan for WILLIAM,  only one
 record would appear in the first 999 entries for WILLIAM.

 If you  cannot  locate  a  record using  the  'Search  on'  value,  the
 SCNNAMADR command  can be helpful.   It will  scan the data  fields for
 the data you  are looking for.  The fixed  fields (such as create date,
 Print ID) are not scanned nor is the note file.

 Printing the Name and Address file
 ----------------------------------

 The  purpose of  the PRTNAMADR  command is  to allow  you to  make hard
 copy versions  of your names  and addresses.   The command has  various
 options  which  can  be  used  to  select  and  sort  the  data  before
 printing.   You may prefer your own format  in which case you will need
 to write  a  program to  process the  NAMADRP  file (it  is  externally
 described).

 The PRTNAMADR  command uses the  'Print ID' fields  which exist  at the
 bottom  of  the  detail  record  display  to  assist in  selection  and
 sorting.   The  fields  are  flexible enough  to  allow  a  variety  of
 approaches.

   **   The data  is  always sorted  in order  of  PRINT1 (high  order),
        PRINT2, and PRINT3 before printing occurs.

   **   If  the  PRINTn  fields  are  used  on  the  PRTNAMADR  command,
        selection   will  occur.     Records  which  do   not  have  the
        corresponding PRINTn values, will not be printed.

 You may want a complete listing  of all the names and addresses  or you
 may want a shorter version of just important names and addresses.

 For example,  assume you  decide that the  major print field  PRINT1 is
 to be  used for the letter of the alphabet  where you want the name and
 address to  print.   If the  name of  the person  is  'Bill Thumb'  who
 works for  the 'The ABC  Company', you  probably want to  assign either
 the  letter T for  Thumb or A  for ABC.   Or your may  want a numerical
 designation such as 030.

 The PRINT2  field could  be used  to provide  some relative  importance
 about the name  and address.  For example,  you may want to use  010 as
 a name  that is very  important to you  and 999 for  a name that  is in
 the data base, but you will probably have no contact with again.

 If  you want  to print  all names and  addresses with  an importance of
 050 or better, you would specify:

           PRTNAMADR   PRINT2(050) SEL2(*LE) ...

 If you prefer to say  999 is for the most important addresses  and want
 to print at level 700 or better, you would specify:

           PRTNAMADR   PRINT2(700) SEL2(*GE) ...

 The  PRINT3 field  could be  used to  control the  sequence  within the
 other  two  fields.   If  you  have designated  values  for  PRINT1 and
 PRINT2, you might use PRINT3 to control the sequence within.

 If you  do  not have  any  Print ID  values,  the  data is  printed  in
 arrival sequence.

 The PRTNAMADR  field will  always print  the ADDRn  fields.  The  other
 fields  such as TELn,  AUXKYn, or DESCRn  are optional.   Each optional
 field has  a corresponding  parameter  on the  PRTNAMADR command.    By
 default, they print if a value exists in the record.

 If you  are using  the PRINTn fields,  you may  want to  skip to a  new
 page  when a  break occurs.   For example,  if PRINT1  is used  for the
 letter  of  the alphabet  where you  want the  name printed,  you could
 specify that a new page be started with each letter by:

           PRTNAMADR   SKIP(*PRINT1) ...

 The spooled output has a format  that is intended for 8 1/2 by  11 inch
 pages.

 To check all  of the records to  ensure that they have a  Print ID, use
 the  CHKNAMADR command.   It supports  parameters to allow  you to flag
 any records that have blank values.

 Copying data to the Name and Address file
 -----------------------------------------

 It is valid to have a program,  CPYF, or the TAA Tool CVTDBFFMT to  add
 records to  the Name  and Address file.   If you  write a  program, the
 file NAMADRP is externally described for your use.

 The  From file  can be  another NAMADRP file  or one  of your  own data
 bases.  The  CVTDBFFMT tool can  be helpful if converting  from one  of
 your own data bases.

 Unless you use CPYF  from another NAMADRP file, you  should not attempt
 to place any values in the following fields:

             NMCRTD       Create date
             NMCRTT       Create time
             NMCRTU       Create user
             NMCRTV       Create unique value
             NNCHGD       Change date
             NMCHGT       Change time
             NMCHGU       Change user

 After adding  records to the  file, you must run  the RGZNAMADR command
 described  in  the  next  section.    It  will  assume  values  for the
 previously  mentioned  fields   and  create  the  proper   access  path
 records.

 If you  copy data from  another NAMADRP file,  you will lose  any Notes
 that are part of the From file.

 Reorganizing the Files
 ----------------------

 Use  of the  RGZNAMADR command  periodically or for  special situations
 is recommended.

 Because the  Relative Record number  of the  Name and  Address file  is
 used as the  key to the Access  Path file, there are  several functions
 that could  be performed which would invalidate  the data in the Access
 Path file.  For example, you could  use RGZPFM on the Name and  Address
 file and cause  the Relative Record numbers  to change.  Or if  you add
 records  with a  program or  CPYF  to the  Name and  Address  file, the
 Access Path file would not be updated with the new information.

 If  you  change  the  definition of  the  application  relating  to the
 Access Path considerations you  may also need RGZNAMADR.   For example,
 if  you changed  a definition  of a  telephone field  from  a 'multiple
 key'  type to  a 'single  key' type,  the existing  data in  the Access
 Path file  is  not consistent  with your  definition  and needs  to  be
 rebuilt.

 Most changes  to the definition such  as defining a field  as mandatory
 are  not a  consideration for  the  existing access  path keys  and you
 would not need RGZNAMADR.

 The RGZNAMADR command does the following:

   **   Uses the  system  RGZPFM  command to  reorganize  the  Name  and
        Address file.   This removes  any deleted  records.  If  deleted
        records existed,  the Relative Record  numbers of the  file have
        then changed.

   **   Rebuilds  the Access Path file based  on the new Relative Record
        numbers and your application  definition.  The Access  Path file
        is cleared  and then each  record is processed  as if it  were a
        new  record being added.  This  will regenerate any key records.

   **   Ensures that  the  internal  unique  key that  is  generated  is
        really unique.   There  is a remote  possibility that  this will
        occur.   It is more likely if you use  CPYF to copy from another
        NAMADRP  file.    If  duplicates  are  found,  instructions  are
        provided about how to fix the problem.

   **   Processes the  Note File and  removes any  records for Name  and
        Address  records that  no longer  exist.   When a  Delete occurs
        from  the  EDTNAMADR  display,  no check  occurs  to  delete any
        notes related to the name and address record.

   **   Reorganizes the Note file if any deleted records exist.

 Thus anytime  the  Access Path  file  no longer  matches the  Name  and
 Address  file  or  the   Access  Path  definition  of  the  application
 changes, RGZNAMADR rebuilds the structure correctly.

 Handling of the Note File
 -------------------------

 The  Note function is provided by using  a call to the program provided
 by the NTEFIL tool.  This will  allow you to add notes to any Name  and
 Address record.   A function key from  the Display or Change  of a name
 and address record will allow access to the Note function.

 The  file used (NAMADRN) is  automatically created by  CRTNAMADR in the
 library you specified.   The key  to the  file is based  on the  Create
 date/time and an  internally assigned value  which is part of  the Name
 and Address  record.  Thus reorganizing the Name  and Address file will
 not destroy the link between the two files.

 If  a record  is deleted  in the  Name and  Address file,  any existing
 notes for the record  will still remain in  the Note file.   These will
 be cleaned up by the next use of the RGZNAMADR command.

 CRTNAMADR command parameters                          *CMD
 ----------------------------

    NAMADRPLIB    The  library to  contain the  objects required  by the
                  tool.

                  The   library   should  be   one   which   you  backup
                  regularly.

    SRCLIB        The source  library of  the DDS  source.   *TAAARC  is
                  the  default  to  access  the   source  from  the  TAA
                  Archive.   A specific library may also  be used if you
                  have first  copied  the  source from  the  Archive  to
                  your library.   QATTDDS must be the source  file name.

 DLTNAMADR command parameters                          *CMD
 ----------------------------

    NAMADRPLIB    The library  containing the Name  and Address objects.

 EDTNAMADR command parameters                          *CMD
 ----------------------------

    SEARCH        The  value  to  search  for.   If  the  value  is left
                  blank, the subfile appears  with one page of Name  and
                  Address records.   The Search field at the  top of the
                  display can be used to enter a search.

                  The  cursor will be positioned at  the Search field if
                  it is blank.   If  a value was  specified, the  cursor
                  will be positioned at the first record.

    NAMADRPLIB    The library containing  the objects used by  the tool.
                  *LIBL  is the default.   A  library or *CURLIB  may be
                  specified.

    SETLR         The setting of  LR when the  RPG Search program  ends.
                  The default is *  which means to use the  setting from
                  the last  time the program  was called if  it is still
                  active.   If the  program has not  been active before,
                  the * value is  treated as if *ON had  been specified.
                  The next  time the program  is called, the  files will
                  be  opened  and  the  description  of the  application
                  will be re-accessed.

                  If * is specified and  a previous call to the  program
                  specified *OFF, the  program ends as if  *OFF had been
                  specified again.

                  *OFF  may be specified  if you intend  periodic use of
                  the tool and  want to  avoid the  overhead of  opening
                  and  closing  files.    The  next  time  you  use  the
                  function and  want to keep the files  open, you should
                  use  the default of *.   The disadvantages of *OFF are
                  that 1) More overhead  exists in your PAG, and  2) The
                  files  cannot be saved  while the  files are  open for
                  update.

                  *ONIMMED  may be specified if you  want the program to
                  end  and  close  the  files  without  performing   any
                  search.

 RGZNAMADR command parameters                          *CMD
 ----------------------------

    NAMADRPLIB    The  library containing  the  objects.   *LIBL is  the
                  default.  A library or *CURLIB may be specified.

 GRTNAMADR command parameters                          *CMD
 ----------------------------

    USER          The  user  to  grant authority  to  for  the name  and
                  address objects.   A  user of  the system  or  *PUBLIC
                  may be used.

    NAMADRPLIB    The  library  where  the  name   and  address  objects
                  exist.   *LIBL is the  default.  A  library or *CURLIB
                  may also be specified.

    DTAAUT        The  data authority.  The  default is *USE which means
                  the user is able  to display any of the data,  but not
                  make any changes.

                  *CHANGE may  be specified to allow the  user to change
                  any of the data.

                  When  CRTNAMADR  is  used,  *PUBLIC  is  allowed  *USE
                  access to the  data.  If you  want to prevent  *PUBLIC
                  access, use RVKNAMADR.

    DFNAUT        The authority  to the  definition of  the application.
                  The  default is *USE which  means the user  is able to
                  use  the   definition   of  the   name   and   address
                  application,  but   not  make   any  changes  to   the
                  definition.

                  *CHANGE may  be specified to allow the  user to change
                  the definition of the application.

 RVKNAMADR command parameters                          *CMD
 ----------------------------

    USER          The  user  to  revoke  authority  from  the  name  and
                  address objects.   A  user  of the  system or  *PUBLIC
                  may be used.

                  When  CRTNAMADR  is  used,  *PUBLIC  is  allowed  *USE
                  access  to the data.   If you want  to prevent *PUBLIC
                  access, specify *PUBLIC.

    NAMADRPLIB    The  library  where  the  name  and  address   objects
                  exist.   *LIBL is the default.   A library  or *CURLIB
                  may also be specified.

 PRTNAMADR command parameters                          *CMD
 ----------------------------

    PRINT1        The  major print ID field.   * is  the default meaning
                  all values will  be used  (the field is  not used  for
                  selection criteria).

                  If  a  value  is  entered,  it  will   be  used  as  a
                  selection criteria.  See also the SEL1 parameter.

    PRINT2        The  intermediate  print  ID  field.   This  parameter
                  determines  if  selection  will  be used.    *  is the
                  default meaning  all values  will be  used (the  field
                  is not used for selection criteria).

                  If  a  value  is  entered,   it  will  be  used  as  a
                  selection criteria.  See also the SEL2 parameter.

    PRINT3        The  minor print ID field.   This parameter determines
                  if selection will be used.   * is the default  meaning
                  all values  will be  used (the field  is not  used for
                  selection criteria).

                  If  a  value   is  entered,  it  will  be  used  as  a
                  selection criteria.  See also the SEL3 parameter.

    SEL1          Major print selection.

                  *EQ is the default  meaning only the values  specified
                  for PRINT1 will  be used.   If PRINT1(*) is  used, all
                  values will be selected.

                  *LE  may be entered  to select  those values  that are
                  less  than or equal  to the PRINT1 value.   *LE is not
                  valid if PRINT1(*) is used.

                  *GE may  be entered to  select those  values that  are
                  greater than  or equal  to the PRINT1  value.   *GE is
                  not valid if PRINT1(*) is used.

    SEL2          Intermediate print selection.

                  *EQ  is the default meaning  only the values specified
                  for PRINT2 will  be used.  If  PRINT2(*) is used,  all
                  values will be selected.

                  *LE may  be entered  to select  those values  that are
                  less  than or equal to  the PRINT2 value.   *LE is not
                  valid if PRINT2(*) is used.

                  *GE may be  entered to  select those  values that  are
                  greater than  or equal to  the PRINT2  value.  *GE  is
                  not valid if PRINT2(*) is used.

    SEL3          Minor print selection.

                  *EQ is  the default meaning only  the values specified
                  for  PRINT3 will be  used.  If  PRINT3(*) is used, all
                  values will be selected.

                  *LE may  be entered  to select those  values that  are
                  less than  or equal to the  PRINT3 value.  *LE  is not
                  valid if PRINT3(*) is used.

                  *GE  may be  entered to  select those values  that are
                  greater than or  equal to  the PRINT3 value.   *GE  is
                  not valid if PRINT3(*) is used.

    SKIP          Whether to skip  to a new page when one  of the PRINTn
                  fields  changes.   *NONE  is  the  default and  causes
                  only normal overflow skipping to occur.

                  *PRINT1 causes a skip  to a new page  if the value  in
                  the  PRINT1 field  for  a  record  to be  printed  has
                  changed.

                  *PRINT2 causes  a skip to  a new page if  the value in
                  the  PRINT2  field  for  a record  to  be  printed has
                  changed.

                  *PRINT3 causes a  skip to a new  page if the value  in
                  the  PRINT3  field for  a  record  to  be printed  has
                  changed.

    NAMADRPLIB    The  library   where  the  name  and  address  objects
                  exist.  *LIBL  is the default.   A library or  *CURLIB
                  may be specified.

    TEL1          A  Y/N value  for  whether the  TEL1  field should  be
                  printed.   The default is  Y for yes  which will cause
                  the field to print if  it contains a non-blank  value.

    TEL2          A  Y/N value  for  whether the  TEL2  field should  be
                  printed.   The default is  Y for yes  which will cause
                  the  field to print if  it contains a non-blank value.

    TEL3          A Y/N  value  for whether  the  TEL3 field  should  be
                  printed.   The default is  Y for yes which  will cause
                  the  field to print if it  contains a non-blank value.

    TEL4          A Y/N  value  for whether  the  TEL4 field  should  be
                  printed.   The default is Y  for yes which  will cause
                  the field  to print if it  contains a non-blank value.

    TEL5          A Y/N  value  for whether  the  TEL5 field  should  be
                  printed.  The  default is Y  for yes which  will cause
                  the field  to print if it contains  a non-blank value.

    TEL6          A  Y/N  value for  whether  the TEL6  field  should be
                  printed.  The  default is Y  for yes which will  cause
                  the field  to print if it contains  a non-blank value.

    AUXKY1        A  Y/N value  for whether  the AUXKY1 field  should be
                  printed.  The  default is Y for  yes which will  cause
                  the field to  print if it contains  a non-blank value.

    AUXKY2        A  Y/N value  for whether the  AUXKY2 field  should be
                  printed.  The default  is Y for  yes which will  cause
                  the field to  print if it contains a  non-blank value.

    AUXKY3        A  Y/N value for  whether the  AUXKY3 field  should be
                  printed.   The default  is Y for  yes which will cause
                  the field to print  if it contains a  non-blank value.

    AUXKY4        A  Y/N value for  whether the  AUXKY4 field  should be
                  printed.   The default  is Y for yes  which will cause
                  the field to print if  it contains a non-blank  value.

    AUXKY5        A Y/N  value for  whether the  AUXKY5 field should  be
                  printed.   The default is  Y for yes  which will cause
                  the field to print if  it contains a non-blank  value.

    AUXKY6        A Y/N  value for  whether the  AUXKY6 field should  be
                  printed.   The default is  Y for yes  which will cause
                  the  field to print if  it contains a non-blank value.

    DESCR1        A Y/N  value for whether  the DESCR1  field should  be
                  printed.   The default is  Y for yes which  will cause
                  the  field to print if it  contains a non-blank value.

    DESCR2        A Y/N value  for whether  the DESCR2  field should  be
                  printed.   The default is Y  for yes which  will cause
                  the field  to print if it  contains a non-blank value.

    DESCR3        A Y/N value  for whether  the DESCR3  field should  be
                  printed.  The  default is Y  for yes which  will cause
                  the field  to print if it contains  a non-blank value.

    DESCR4        A  Y/N value  for whether  the DESCR4  field should be
                  printed.  The  default is Y  for yes which will  cause
                  the field  to print if it contains  a non-blank value.

    DESCR5        A  Y/N value  for whether  the DESCR5 field  should be
                  printed.  The  default is Y for  yes which will  cause
                  the field to  print if it contains  a non-blank value.

    DESCR6        A  Y/N value  for whether the  DESCR6 field  should be
                  printed.  The default  is Y for  yes which will  cause
                  the field to  print if it contains a  non-blank value.

 SCNNAMADR command parameters                          *CMD
 ----------------------------

    ARGUMENT      The argument to scan for.

    NAMADRPLIB    The  library  where   the  name  and  address  objects
                  exist.   *LIBL is  the default.   A library or *CURLIB
                  may be specified.

    OUTPUT        How  to  output  the  results.    *  is  the  default.
                  *PRINT   may  be   specified.     This  is   the  same
                  definition as most DSP commands.

 CHKNAMADR command parameters                          *CMD
 ----------------------------

    NAMADRPLIB    The  library   where  the  name  and  address  objects
                  exist.  *LIBL  is the default.   A library or  *CURLIB
                  may be specified.

    PRINT1        A  *YES/*NO value  that defaults  to *NO.   *NO  means
                  that   any  value  in   the  PRINT1   field  is  valid
                  including blanks.

                  *YES means  to print  an  error if  a blank  value  is
                  found.

    PRINT2        A *YES/*NO  value  that defaults  to *NO.   *NO  means
                  that   any  value  in   the  PRINT2  field   is  valid
                  including blanks.

                  *YES  means  to print  an error  if  a blank  value is
                  found.

    PRINT3        A *YES/*NO  value that  defaults  to *NO.   *NO  means
                  that  any   value  in   the  PRINT3  field   is  valid
                  including blanks.

                  *YES  means  to print  an error  if  a blank  value is
                  found.

 CRTNAMEDT command parameters                          *CMD
 ----------------------------

    CMD           The  qualified  name  of  the  command  you   want  to
                  create.   The command name  must not already  exist in
                  the  specified  library.    The  library  defaults  to
                  *CURLIB.

    NAMADRPLIB    The default  library  for  the  NAMADRPLIB  parameter.
                  This  should  be  the  library   where  the  name  and
                  address objects exist.

    SETLR         The  default for  the SETLR  parameter.   *OFF  is the
                  default  which  differs  from  the  EDTNAMADR default.
                  This will  keep  the  files  open to  allow  a  faster
                  access the next time the command is used.

                  *,  *ON, or  *ONIMMED may  be  used.   For a  complete
                  understanding,   see   the  same   parameter   on  the
                  EDTNAMADR command.

    TEXT          The text of the command definition object.

 Defining the Application
 ------------------------

 A default definition is provided  when you use CRTNAMADR.  The  NAMADRB
 data area is created with defaults.

 To modify  the defaults, use the  F13 option from the  subfile display.
 It provides an interactive interface and help text to assist you.

 You  must  have *CHANGE  authority  to  the definition  to  be  able to
 change it.  See the GRTNAMADR command.

 See the following sections for additional tailoring details.

 Auxiliary Key field validity checking
 -------------------------------------

 Each of  the  6  Auxiliary  Key fields  can  have  individual  validity
 checking or any  of the fields may use  a common set of  valid entries.

 For  example, you could  decide that the  first 4 Auxiliary  Key fields
 will  be used for characteristics of  the Name record such as SUPPLIES,
 PAPER, RIBBONS.  You  define the valid keywords as being  for Auxiliary
 Key *ALL  and then define  Auxiliary Key fields  1-4 as using  the *ALL
 function.   You could  enter any of  the valid  keywords into Auxiliary
 Keys 1-4.   You might  decide to use  Auxiliary Key 5  to describe  the
 type  of record  such as  PERSONAL, CUSTOMER,  VENDOR, or  OTHER.   You
 could change  the definition of Auxiliary  Key 5 to specify  a list and
 then use the Function  key to access the  display that allows entry  of
 the values.

 You can  have  some or  all Auxiliary  Key  fields that  have no  valid
 value  checking.   All of the  fields are  optional by  default meaning
 that blank values are valid (not 'mandatory entry').

 To  see  the list  of  valid values,  use  F15 from  the  detail record
 display.   To change the  list, use  F13 from the  subfile display  and
 select  the  option  to  access  the Auxiliary  Key  field  definition.
 Select  the desired  Auxiliary Key field  and modify  the attribute for
 List of  Values.   Once the  field is  specified as  being checked  for
 valid values,  command key F15  will be active  to allow you  to access
 the valid values and make changes.

 State and Province Validation
 -----------------------------

 The  abbreviations for  the 50  states,  DC, and  PR (Puerto  Rico) are
 contained in the TAANAMAA data area in TAATOOL.

 The value XX is supplied as a  State and as a Canadian Province.   This
 value is intended  to allow the State field  to be used as  a mandatory
 entry  field and still  provide for addresses  that are outside  the US
 or Canada.

 You  can  change the  definition (such  as  eliminating the  XX State).
 See the next section.

 Modifying the TAANAMAA Data Area
 --------------------------------

 The TAANAMAA  data area is  used to  hold words  that will be  bypassed
 (not  included  in  the  access  path files)  and  State  and  Province
 abbreviations.

 When  a name field is  entered such as  'The ABC Co.',  it is normal to
 want to exclude the words 'The' and 'Co.'.

 Any  blanks,  or  single  character  values,  commas,  or  periods  are
 automatically excluded.

 A default list  of words to be bypassed  is provided in a data  area in
 TAATOOL.   There  is a unique  set of  words for  a Name type  of field
 which will bypass words  like 'Mr' or 'The'  and another unique set  of
 words for  an Address like  'Ave' or  'St'.  You  may also define  your
 own set.   The data area in  TAATOOL should not be modified  as it will
 be  replaced  on the  next  release (see  later  discussion for  how to
 duplicate).  You can see the data area by the command:

              DSPDTAARA   DTAARA(TAATOOL/TAANAMAA)

 The layout of  the data area  is designed to be  maintained by the  TAA
 Tool EDTDTAARA2 command.

 The data  area is  divided into 4  sections.  The  first 500  bytes are
 for  words to be bypassed for  Name type fields.  There  is room for 40
 words with each  word taking  up 12 bytes  and two extra  bytes at  the
 end of  each line.   Periods  are entered where  no word  exists (these
 are  not  used  in  the search,  but  are  designed  to  assist you  in
 entering data by keying over the  period).  Each of the other  sections
 has a similar layout.

 Bytes 501-999 are words to be bypassed in Addresses.

 Bytes 1001-1499 are reserved  for your own needs as a  User defined set
 of words  that may be unique  to your application.  The  row of entries
 begins  with  defaults  of USER,  USER...    These are  intended  to be
 replaced.

 Bytes 1501-1700 contain  the USA State abbreviations.   You can add  or
 delete from  this list.   The XX State  is intended to allow  the field
 be  defined as  mandatory entry and  still allow  addresses outside the
 USA or Canada to be entered.

 Bytes 1701-1800  contain the  Canadian Province  abbreviations and  the
 XX entry.

 The support allows you to do one of the following:

   **   Use the default as provided in TAATOOL.

   **   Define your  own installation  wide default.   The version  must
        be in QGPL.  Do the following:

              CRTDUPOBJ    OBJ(TAANAMAA) FROMLIB(TAATOOL) +
                             OBJTYPE(*DTAARA) TOLIB(QGPL) +
                             NEWOBJ(NAMADRA)
              EDTDTAARA2   DTAARA(QGPL/NAMADRA)

        And change the words to fit your requirements.

   **   Define your  own application needs by creating  the data area in
        the  library  with  the  name  and  address  objects.    Do  the
        following:

              CRTDUPOBJ    OBJ(TAANAMAA) FROMLIB(TAATOOL) +
                             OBJTYPE(*DTAARA) TOLIB(xxx) +
                             NEWOBJ(NAMADRA)
              EDTDTAARA2   DTAARA(xxx/NAMADRA)

        And change the words to fit your requirements.

 The search technique used to determine which data area to use, is:

   **   If the  data  area NAMADRA  exists in  the same  library as  the
        NAMADRP file, it is used.

   **   If not  in the NAMADRP library,  the data area is  looked for in
        QGPL and if found, it is used.

   **   If  not in either  of the above, the  default version in TAATOOL
        is used.

 Restrictions
 ------------

 The number of name and  address records that can exist  is 999,999,999.

 Prerequisites
 -------------

 The following TAA Tools must be on your system:

      CHKACTOBJ       Check active object
      CHKOBJ2         Check object 2
      CPYTAADDS       Copy TAA DDS
      EDTVAR          Edit variable
      FILEFDBCK       File feedback
      HLRMVMSG        HLL Remove message
      LOCKMSG         Lock message
      NTEFIL          Note file
      PMTOPR          Prompt operator
      RTVSYSVAL3      Retrieve system value 3
      SNDCOMPMSG      Send completion message
      SNDDIAGMSG      Send diagnostic message
      SNDESCMSG       Send escape message
      SNDSTSMSG       Send status message
      WRTSRC          Write source

 Implementation
 --------------

 The tool  is ready  to use, but  you must use  CRTNAMADR to  create the
 objects needed.

 You  will probably want to tailor the  definition of the application as
 described previously.

 Objects used by the tool
 ------------------------

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

    EDTNAMADR     *CMD                   TAANAMA       QATTCMD
    CRTNAMADR     *CMD                   TAANAMA2      QATTCMD
    RGZNAMADR     *CMD                   TAANAMA3      QATTCMD
    DLTNAMADR     *CMD                   TAANAMA4      QATTCMD
    GRTNAMADR     *CMD                   TAANAMA5      QATTCMD
    RVKNAMADR     *CMD                   TAANAMA6      QATTCMD
    PRTNAMADR     *CMD                   TAANAMA7      QATTCMD
    SCNNAMADR     *CMD                   TAANAMA8      QATTCMD
    CRTNAMEDT     *CMD                   TAANAMA9      QATTCMD
    CHKNAMADR     *CMD                   TAANAMA10     QATTCMD
    TAANAMAC      *PGM       CLP         TAANAMAC      QATTCL
    TAANAMAC2     *PGM       CLP         TAANAMAC2     QATTCL
    TAANAMAC3     *PGM       CLP         TAANAMAC3     QATTCL
    TAANAMAC4     *PGM       CLP         TAANAMAC4     QATTCL
    TAANAMAC5     *PGM       CLP         TAANAMAC5     QATTCL
    TAANAMAC6     *PGM       CLP         TAANAMAC6     QATTCL
    TAANAMAC7     *PGM       CLP         TAANAMAC7     QATTCL
    TAANAMAC8     *PGM       CLP         TAANAMAC8     QATTCL
    TAANAMAC9     *PGM       CLP         TAANAMAC9     QATTCL
    TAANAMAC10    *PGM       CLP         TAANAMAC10    QATTCL
    TAANAMAC11    *PGM       CLP         TAANAMAC11    QATTCL
    TAANAMAC21    *PGM       CLP         TAANAMAC21    QATTCL
    TAANAMAC22    *PGM       CLP         TAANAMAC22    QATTCL
    TAANAMAC23    *PGM       CLP         TAANAMAC23    QATTCL
    TAANAMAR      *PGM       RPG         TAANAMAR      QATTRPG
    TAANAMAR3     *PGM       RPG         TAANAMAR3     QATTRPG
    TAANAMAR7     *PGM       RPG         TAANAMAR7     QATTRPG
    TAANAMAR8     *PGM       RPG         TAANAMAR8     QATTRPG
    TAANAMAR10    *PGM       RPG         TAANAMAR10    QATTRPG
    TAANAMAR12    *PGM       RPG         TAANAMAR12    QATTRPG
    TAANAMAR13    *PGM       RPG         TAANAMAR13    QATTRPG
    TAANAMAR14    *PGM       RPG         TAANAMAR14    QATTRPG
    TAANAMAR15    *PGM       RPG         TAANAMAR15    QATTRPG
    TAANAMAD      *FILE      DSPF        TAANAMAD      QATTDDS
    TAANAMAE      *FILE      DSPF        TAANAMAE      QATTDDS
    TAANAMAF      *FILE      DSPF        TAANAMAF      QATTDDS
    TAANAMAG      *FILE      DSPF        TAANAMAG      QATTDDS

 Objects used by the tool - Continued
 ------------------------------------

    TAANAMAP      *FILE      PF          TAANAMAP      QATTDDS
    TAANAMAQ      *FILE      PF          TAANAMAQ      QATTDDS
    TAANAMAS      *FILE      LF          TAANAMAS      QATTDDS
    TAANAMAV      *FILE      PF          TAANAMAV      QATTDDS
    TAANAMAW      *FILE      LF          TAANAMAW      QATTDDS
    TAANAMAZ      *FILE      PF          TAANAMAZ      QATTDDS
    NAMADR        *MENU                       No source
    TAANAMAA      *DTAARA                     No source
    TAANAMAB      *DTAARA                     No source
    TAANAMAT1     *FILE      PF               No source
    TAANAMAT2     *FILE      PF               No source
    TAANAMAT3     *DTAARA                     No source

 The TAANAMTx objects are used to supply the demonstration data.

 The data base file usage is:

      TAANAMAP  creates NAMADRP - Name and Address PF by Arrvl seq
      TAANAMAQ  creates NAMADRQ - Access Path PF by Key
      TAANAMAS  creates NAMADRS - Access Path LF by NAMADRP RR
      TAANAMAV  creates NAMADRV - Valid values PF by Key/Value
      TAANAMAW  creates NAMADRW - Valid values LF by Arrvl seq
      TAANAMAZ  Work file used by RGZNAMADR

 The NAMADRN file  is created by  using the CRTNTEFIL  command from  the
 NTEFIL tool.

 Structure
 ---------

 NAMADR   Menu
    TAANAMAC23  CL Pgm
    TAANAMAG    Display file

 EDTNAMADR   Cmd
    TAANAMAC   CL Pgm
      TAANAMAR   RPG Pgm
        TAANAMAD   Display file
        TAANAMAC11  CL Pgm - Updates data area
        TAANAMAC22  CL Pgm - SCNNAMADR
        TAANAMAR14  RPG Pgm - Access valid keys
          TAANAMAE    Display file
        TAANAMAR15  RPG Pgm - Display valid keys
          TAANAMAF    Display file

 CRTNAMADR   Cmd
    TAANAMAC2  CL pgm

 DLTNAMADR   Cmd
    TAANAMAC4  CL pgm

 RGZNAMADR   Cmd
    TAANAMAC3  CL pgm
      TAANAMAR3    RPG Pgm
      TAANAMAR12   RPG Pgm  - Read work file - ensure unique values
      TAANAMAR13   RPG Pgm  - Delete unused note file records

 GRTNAMADR   Cmd
    TAANAMAC5  CL pgm

 RVKNAMADR   Cmd
    TAANAMAC6  CL pgm

 PRTNAMADR   Cmd
    TAANAMAC7  CL pgm
      TAANAMAR7  RPG  Pgm

 SCNNAMADR   Cmd
    TAANAMAC8  CL pgm
      TAANAMAR8  RPG  Pgm

 CHKNAMADR   Cmd
    TAANAMAC10  CL pgm
      TAANAMAR10  RPG  Pgm

 Structure - Continued
 ---------------------

 CRTNAMEDT   Cmd
    TAANAMAC9  CL pgm

 TAANAMAC21  CL Pgm - Create demonstration

Added to TAA Productivity Tools May 1, 1996


Home Page

Powered by AS/400Powered by AS/400 Last modified on July 15, 2010 © 1995, 2010 - Jim Sloan, Inc.