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
|