home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
progs
/
wd
/
wd.doc
next >
Wrap
Text File
|
1989-11-12
|
306KB
|
7,395 lines
LICENSE
-------
Wilkes Database, version 3.0, is being distributed under the "shareware" or
user supported concept. This software is NOT free software. The use or
reproduction of this software outside of the limits specified in this license
agreement is prohibited.
Non-registered users are granted a limited license to use this software
for a period not to exceed thirty days. During this period they should test
and evaluate the software to determine if it will meet their needs. The use of
this software beyond this limited time period requires registration.
Non-registered users are not allowed to distribute this software without the
express written permission of Wilkes Software inc. The only exceptions to this
distribution restriction are SYSOPS of electronic bulletin boards and
distributors of public domain and user supported software. SYSOPS and
software distributors must abide by the copying restrictions specified below.
Registered users are granted the right to use Wilkes Database on only
one computer at any time. Site licensing agreements are available for
businesses, corporations, and government agencies. Registered users are also
granted the right to copy and distribute Wilkes Database subject to the
following conditions.
Wilkes Database must be copied in its original unmodified form.
All of the files must be included in the copy.
Wilkes Database may not be distributed in conjunction with any other
product without the express written consent of Wilkes Software inc.
ii
WARRANTY
--------
Wilkes Software makes no warranty of any kind, express or implied,
including without limitation, any warranties of merchantability and or fitness
for a particular purpose. Wilkes Software shall not be liable for any
damages, whether direct, indirect, special or consequential arising from a
failure of this software to operate in the manner desired by the user.
Wilkes Software shall not be liable for any damage to data or property which
may be caused directly or indirectly by use of the program.
IN NO EVENT WILL Wilkes Software BE LIABLE TO YOU FOR ANY DAMAGES,
INCLUDING ANY LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE THE PROGRAM, OR FOR ANY
CLAIM BY ANY OTHER PARTY.
iii
REGISTRATION FEES
-----------------
The registration fee for Wilkes Database, version 3.0, is only $45.00, with
quantity discount for 10 or more copies to $30.00/copy.
Government and Education registration fee is only $35.00, with quantity
discount for 10 or more copies to $25.00/copy.
You may fill out and return the registration page below or register on-line
at (901)386-4712. Enter "s" from the main menu and select the software you
wish to register.
Future updates of the site license copy are provided as follows. The first
update is free. All others $15.00.
Prices are for a titled master copy and cover all charges including shipping.
Licensees will be informed when updates become available and given the option
to update at will. There is NO penalty for skipping updates.
iv
If you should require assistance in the use of the Wilkes Database, you
may call the WSI BBS at (901)386-4712.
If you like this software please let me know. If you have enhancements
you would like to see in this software, please let me know those also. If you
have complaints about the way the Wilkes Database functions I would even like
to hear those.
The following is a registration form. In addition to the licensing use,
I will also use this information to correlate requests for additional
functionality and for Wilkes Software mailing list purpose (only by Wilkes
Software). When Wilkes Software offers other software into the shareware
system in the future, information will be sent to registered users of the
Wilkes Database. If you register a non-current version, I will send the
current version to you.
v
to: Wilkes Software, inc.
5231 Longwood Drive
Memphis, TN 38134
Name (first) ____________________ (last) ____________________
Title ___________________________________
Company ___________________________________
Address ___________________________________
___________________________________
City _________________________ State ___ Zip code _______
Where software obtained: ________________________________________
Version of Wilkes Database: 3.0
System: ____________________
OS/2 Version: _____
Phone: (____) ____ - _____
If Gov./Ed. please specify: _____________________________________
COST:
$45/copy - 10 + copies $30/copy
Gov/Ed $35/copy - 10 + copies $25/copy
Tennessee Residents: sales tax is 7.75%
# copies _________ x your price: ____________ + TN sales tax __________
= Total _________________
METHOD OF PAYMENT:
VISA/MASTERCARD/CHECK: __________
V/MC account #: ___________________________ Expiration Date: _________
Signature: __________________________________________________
WILKES DATABASE
(c) copyright 1985, 1986, 1989
by ROGER WILKES
Version 3.0
CONTENTS
INTRODUCTION .............................................. 1
RUNNING THE DATABASE ...................................... 5
THE MENU SCREEN ........................................... 9
SCREEN ADD ........................................ 11
SCREEN UPDATE ..................................... 23
SCREEN COPY ....................................... 29
SCREEN DELETE ..................................... 31
SCREEN-DATA REFORMAT .............................. 33
DISPLAY SCREEN NAMES .............................. 38
THE SYSTEM FUNCTION ............................... 39
SET VIDEO ATTRIBUTES .............................. 42
DATA ADD .......................................... 45
DATA LOOKUP/UPDATE ................................ 53
DATA DISPLAY/UPDATE ............................... 63
DATA PRINT ........................................ 72
DATA COPY ......................................... 95
DATA SORT ......................................... 105
COLUMN ARITHMETIC ................................. 111
APPEND FILE ....................................... 121
INDEXING .......................................... 124
EXAMPLE FILE USAGE ........................................ 134
NAME AND ADDRESS FILE ............................. 135
CHECKBOOK SYSTEM................................... 162
EXAMPLE SYSTEM USAGE ...................................... 177
DOCTOR'S OFFICE SYSTEM ............................ 178
DATA REPRESENTATION ....................................... 214
WD PROGRAM FILES .......................................... 216
ALIEN FILE SCREENS ........................................ 217
GLOSSARY .................................................. 220
page 1
INTRODUCTION
A proper introduction to databases would include texts on database
systems by the eminent theoriticians on the subject, most of whom are to
be found on various campuses around the world. Database theory is still in
its infancy, but much has already been worked out due to the efforts of
some very powerful minds.
The WILKES DATABASE omits most of the database setup work which is
of theoretical value in order to reduce the workload on the user who wants
to rapidly put together the information required to begin the actual
handling of data. This database implementation will not require the user
to be adept at the art of programming.
The basic approach to the WILKES DATABASE was to set up the menu
to drive all other functioning of the system. The names of the menu items
should, for the most part, be descriptive enough to allow the first time
user to get at all of the functions with some valid expectations as to
what will be seen on the following screens.
In order to speed up the functioning of the routines, the screen
form is separate from the actual data files. This is why you will see the
two questions for both the screen name and the name of the data file. This
approach also allows you to take files produced by your own programming
staff and view, modify, sort, etc. those files as long as they meet some
minimal criterion - that the records be of fixed length, the file is an
even multiple of the record length, and that the data is represented by
one of the data types available in the WILKES DATABASE system. These ALIEN
files can be brought into the WILKES DATABASE and afterwards be managed as
if the data was produced by WILKES DATABASE system.
page 2
The initial task of setting up a screen is eased greatly by the
question and answer session the system goes into at the end of the actual
screen painting (i.e. laying out what a screen is to look like). There is
really no way to get around the work involved with the screen building and
retain the power involved in the other menu functions. The data entered at
this point will be used in the various other menu functions in such a way
as to lessen the work involved.
Once the screen building is out of the way you can simply begin to
use the screens you have built to enter, alter, delete and manipulate the
data using the other menu items.
The entering of data in the fields will occasionally sound a BEEP
when the cursor is leaving a field, (i.e. runs out the end of a field, in
either direction).
Please read through this manual once thoroughly, and you should be
able to quickly reference the manual when you need to use a particular
menu item which is not yet totally familiar.
NOTE: In all cases, prompts will be considered answered only when the
enter key has been struck.
EXPLAINATION OF SYMBOLS USED:
There are a few instances in the following text where we must use
a symbol or set of symbols to mean some particular thing. In the note just
above we see that we must hit the enter key in answer to a prompt. Instead
of stating this explicitly in each instance, the symbols {E} will be used.
{E} represents the enter key.
page 3
Within the information displayed on the screen, some of the errors
and within prompts, lower case is used to represent variable information
and upper case to represent constant information.
FUNCTION KEYS:
The function keys have two general meanings. One meaning is taken
when working with data from your files and the other meaning is taken when
working with all other functions of the Wilkes Database. When working on
data from your files the function keys have the meanings:
unshifted/shifted key unshifted/shifted
update(+1/-1) F1|F2 no update(+1/-1)
update(+10/-10) F3|F4 no update(+10/-10)
update(+100/-100) F5|F6 no update(+100/-100)
update(+1000/-1000) F7|F8 no update(+1000/-1000)
begin/delete F9|F10 end/exit
and where the function keys may be used with the alt key depressed:
alt key alt
add F1
indexed lookup F3
page 4
At times other than when manipulating data, only the function keys
F1 and F2 have general meaning. The F1 key generally means accept what I
have entered and the F2 key says to kill what I have entered and return me
to the previous or menu screen or exit from the program. ADD DATA is the
exception to the rule of function keys and even though this function is a
data function the F1 and F2 keys act in the same fashion as the non data
functions.
page 5
RUNNING THE DATABASE
There is only one file on the WILKES DATABASE diskette. This file
(WD.EXE) is the program which builds and maintains your files. In
order to run this program you need to enter the program name, leaving off
the .EXE file name extension. The format for the run statement is
WD <optional file name> {E}
If the <optional file name> is not entered the default file names
will be used to create the files necessary to maintain your screens and
screen attributes and other WILKES DATABASE associated files. The optional
file name must not have a file name extension.
There are several files that are built when you run WD.EXE the
first time. These files will contain the attributes for the screens and
fields in the screens. The default names of these files are WD.P, WD.F,
WD.D and WD.LPT. The WD.LPT file is used to retain the printer specific
information, and the other files will contain data by screen form. The
The WD.D and WD.F files grow each time a new screen form is entered. In
order to get the default file names, all you are required to enter as a
command is
WD {E}
in either upper or lower case. If you wish to specify a new set of files
to contain the screen and field information, you can simply specify the
name of the files to be used with the .D, .F, .P and .LPT extensions in
following fashion, where the files are to be named PATTY.D, PATTY.F,
PATTY.P and PATTY.LPT.
page 6
WD PATTY {E}
This would be useful where several people use the same machine but wish to
keep their files separated. If the files are kept in different directories
the full qualification can be used (on OS2 1.1 or later), so that
WD \PATTY\PATTY {E}
is valid but it might be more useful to keep a copy of WD.EXE in each
directory and simply go to that directory with the OS2 command CD \PATTY
then run the WD.EXE program using the default file names in the PATTY
directory with
WD {E}
If one person is primarily responsible for all databases on the
system, then s/he will probably find it simpler to use the default file
names.
In all of the various menu screen functions prompts are answered
by typing the answer and hitting the enter key or by hitting the enter key
only. In either case the prompts require that the enter key be hit before
the answer is accepted by the WILKES DATABASE.
Some of the prompts are used in so many functions that a brief but
definitive discussion of some of the prompts is better at this point. The
prompts for screen name and file name may be shortened to an asterisk (*)
in some cases. The asterisk designates that the specified menu function is
to use the same screen name or file name that was used just previous to
page 7
this usage (i.e. if the last time the screen name was entered on the menu
screen, the screen name was answered with "screen a", entering an asterisk
into the first position of the screen name this time and hitting the enter
key will produce the result - the screen name "screen a" will be printed
as the actual answer on top of the asterisk, you will be lead to the next
event of the function). If an asterisk was entered both this time and last
time, the screen name used will be the last non asterisk screen name used.
This also means that no screen or file name can begin with an asterisk. If
there are other characters after the asterisk they will be ignored. You
cannot, of course, use the asterisk to produce these results prior to
establishing a screen name or file name to "be like". If you attempt to do
so you will see an error displayed at the bottom of the screen and the
menu screen will be refreshed.
HELP:
There is help available. By depressing the ctrl-a keys or the
ctrl-b keys the screen being worked will temporarily be interrupted with
the appropriate help screen. It is necessary that the file "WD.HLP" be
located in the directory in which you are working for help to be available.
If the "WD.HLP" file is not in the directory in which you are working, the
following error message will appear at the bottom of the screen:
NO HELP AVAILABLE
You can use the OS2 copy to move a copy of the "WD.HLP" file to your work
directory.
If you wish to personalize the "WD.HLP" file, please do so. You
are able to make changes/additions to both the WD HELP and your own HELP
information.
page 8
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? g
The help file has the format
record code - one byte
screen name - twenty bytes
page number - three bytes
help notes - 1520 bytes
action code - one byte
which can be set up as just another screen definition. In order to use
this method of maintaining the help screens, you must make the screen name
and page number fields one field in order to index it as a single field.
You must copy the WD.HLP file to another name (outside WD.EXE) in
order to be able to access it, and index the file on the 23 byte screen
name and page number field. This index file can then be copied to WD.X6
and the new WD.HLP (by another name) file can be copied to WD.HLP to give
a new updated/shrunken help file.
page 9
THE MENU SCREEN
The menu screen is used to get to all functions which the database
can perform. Initially, very little can be done other than setting up
screens with the SCREEN ADD function and altering the printer controls.
The function to DISPLAY SCREEN NAMES will show only a blank screen.
The following pages will address the detailed functioning of the
various menu items. After running the program, the screen will display the
following.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? X
THE ? PROMPT:
X represents the blinking cursor. At this point a choice is made and
by keying a, b, c, d, e, f, g, h, 1, 2, 3, 4, 5, 6, 7, 8 or 9 and hit the
enter key, the program will ask for more information, if more information
is required. The only selection which will not require further information
is the f(DISPLAY SCREEN NAMES) selection.
page 10
After entering a single character the cursor will be at the end of
the field and will rest in a position just to the right of the single
character field. If you key additional information the cursor will remain
in its position at the end of the field and the additional keying will
accomplish nothing more than making an audible beep. In fact, all prompts
within the WILKES DATABASE act in this fashion.
ERRORS:
If an invalid selection is made the following message will display
at the bottom of the screen.
A DISPLAYED SELECTION MUST BE ENTERED
EXIT TO OS2:
EXIT from the program is accomplished by hitting the F2 key at the
? prompt.
page 11
SCREEN ADD
This is the menu selection which must be made to paint a screen to
subsequently enter data into, or in the case of alien files, to be able to
look at and update data with. With the menu information still showing on
the screen, the following prompt will appear.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? a {E}
SCREEN NAME? name {E}
SCREEN NAME:
Screen name may be up to 8 characters and will be accepted in lower
case. If upper case is keyed in, the name will still be displayed in lower
case as it is keyed. There may be blanks in the screen name and they will
be significant if they are at the front of the name or embedded in the
name. It will be easier to remember the names if there are no leading
blanks, but this is a purely personal option. Common sense will dictate
that the screen naming should be associated with the purpose of the screen
page 12
(ex. a screen for a name and address file might be called "nameaddr"). If
the name is to be used often, you may wish to use a short name.
NOTE: The name need not be permanent, since you can copy the screen into a
new screen name and delete the old screen name.
ERRORS:
If a screen already exists by the name entered, the error message,
"name SCREEN ALREADY EXISTS BY THAT NAME"
will be displayed at the bottom of the screen. If you use the asterisk
default for the screen name and the screen name has not been previously
established (i.e. you have just started the WILKES DATABASE) you will see,
at the bottom of the screen, the error message
INVALID SCREEN NAME
SCREEN ATTRIBUTES DEFINITION:
If the screen name does not already exist, the program will
proceed with the screen appearing as follows:
name SCREEN - ATTRIBUTES DEFINITION
USE ALIEN FILES? n {E}
Alien files are files produced outside the WILKES DATABASE or are
to be produced by the WILKES DATABASE for use outside the WILKES DATABASE.
Note that records in an alien file cannot be deleted directly, but the
file may be reformatted into a native file at a later point in time. Alien
page 13
files will be formatted, field by field, in the order of the screen entry,
with no fillers placed between field.
Answer with y(YES), n(NO) and hitting the entry key, or hitting
the entry key will assume n(NO). When the answer is entered, the next
prompt to appear, will be
name SCREEN - ATTRIBUTES DEFINITION
USE ALIEN FILES? n {E}
BLINK FIELDS IN ERROR? y {E}
which requires an answer of y (YES), n(NO) or a default (enter key only)
of y (YES). While entering data with this screen, you may either have
error fields blink or an error message display at the bottom of the
screen. The two possible types of error are 1) The field requires that
some non-blank information be entered and 2) A numeric field contains
non-numeric data.
After answering the previous prompt, the following will be dis-
played:
name SCREEN - ATTRIBUTES DEFINITION
USE ALIEN FILES? n {E}
BLINK FIELDS IN ERROR? y {E}
0 - REVERSE VIDEO
1 - HIGHLIGHT
2 - UNDERSCORE
3 - HIGHLIGHT AND UNDERSCORE
? 2 {E}
page 14
You must enter 0, 1, 2 or 3 and the enter key or simply hit the
enter key for the default highlighting, which is 2(UNDERSCORE).
This prompt requests the default field display attribute. Individ-
ual fields may be given different display attributes but may be entered
more rapidly if they use the default field attribute. If this is your
first time, you will see, a little later, why this is true.
The various choices are all visual and should be tried, to see
which you prefer. Briefly, the REVERSE VIDEO will show a bright background
and dark lettering on the data fields; UNDERSCORE will show underscores on
the data fields; HIGHLIGHT will display the data brighter than the screen
painting; UNDERSCORE AND HIGHLIGHT will show the data fields underscored
and brighter than the screen painting.
When the previous prompt has been answered, the screen will go
blank, except for the blinking cursor in the upper left corner of the
screen.
You must now paint the screen to be exactly as you want it to
appear when you enter, modify, etc. data later on; except, of course, for
the type of highlighting you wish to use on the data fields.
Underscores will denote fields where the data will be displayed or
entered. Consecutive underscores will represent a single field of length
equal to the number of consecutive underscores. There are several cursor
positioning keys to get you from one place on the screen to any other
place on the screen, rapidly. The cursor positioning keys are
page 15
Enter key - Will move the cursor to the beginning of
the next line, or if the cursor is on the
last line the cursor will be placed at the
beginning of the first line.
Cursor left - Will move the cursor one position to the
left with screen wrap (i.e. If the cursor
is at the beginning of the first line when
cursor left is entered, the cursor will
move to the last position on the screen)
and line wrap (i.e. If the cursor is at
the beginning of a line when the cursor
left key is struck, the cursor will move
to the end of the previous line);
Cursor right - Will move the cursor one position to the
right in exactly the opposite fashion from
the action caused by the cursor left (i.e.
With line and screen wrap).
Cursor up - Will move the cursor to the previous line
in the same column with screen wrap.
Cursor down - Will move the cursor to the next line, in
the same column, with screen wrap.
Home key - Will send the cursor to the beginning of
the first line from any position on the
screen.
Backspace key - Will move the cursor to the left and move
a blank into the new cursor position.
Delete key - Will delete the character under the cursor
and shift the rest of the line following
the cursor one position to the left.
page 16
Insert key - Will move the character under the cursor
and all other characters on the line
following the cursor one position to the
right one position, dropping the character
at the end of the line. The character
under the cursor will contain a blank.
Tab key - Will move the cursor right as if tabs were
set every eight positions and will use
line and screen wrap. The shifted tab key
will move the cursor left in exactly the
opposite fashion from the unshifted tab
key.
Control & - When depressed at the same time will blank
Cursor right from the cursor to the end of the line.
Control & end - When depressed at the same time will blank
from the cursor to the end of the screen.
Control & PgUp - When depressed at the same time will shift
all lines below the cursor up and delete
the line under the cursor.
Control & PgDn - When depressed at the same time will shift
the lines under and below the cursor down
one line, dropping the line at the bottom
of the screen.
In addition to the cursor positioning keys you must use the F1 and
F2 keys in terminating the screen painting. The F1 key is used to tell the
program that the painting is finished and you wish to continue. The F2 key
is used to kill the screen painting and return to the main menu. If you
use the F2 key, the painting will be lost.
page 17
NOTE: It is possible to place graphics on the screen along with other
screen displayable characters, but you should be aware that the printer
you are using (you are not alone) will not print all of these characters
as they appear on the screen. If you find a graphic character which looks
nice on the screen you should check to see how it looks on the printer.
Remember that the printing of the screen may look one way on your present
printer and not at all the same on another printer, in the way the graphic
characters print.
SCREEN PAINTING:
The following is an example screen painting which could be used to
keep up with names and addresses.
Address File
Name: ______________________________
Address: _________________________
City: _______________
State: __
Zip: _____-____
Phone - Home: (___)___-____
Work: (___)___-____
FIELD DEFINITIONS AND ATTRIBUTES:
When the F1 key is hit, the screen will display as in our example,
for each field detected in the painting. The following is generated by our
example, where all of the questions have been answered. This screen will
prompt for the answer to one question at a time and require some input
before continuing with the next question.
page 18
name SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
============================================================
Name: ______________________________
============================================================
FIELD NAME? name {E}
0 - ALPHA DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
NOTE: If more than one field is displayed between the double lines, the
field in question is the highlighted underscore field.
FIELD NAME:
The field name is up to eight characters long and blanks (if used)
are significant (i.e. "name 1" is not the same as "name 1" since, in the
first, two blanks separate the "name" from the "1", and in the second only
one blank separates the "name" from the "1").
page 19
STORAGE ATTRIBUTES:
The column of attributes, above on the left, tell how the field is
to be stored, where
CHARACTER - May be any length on the screen and will be
stored in readable form. All other storage types
will be in a form which is not easy for humans
to read, but is easily read by the computer.
UNSIGNED INTEGER- Requires two characters of storage and can keep
up with positive numbers which do not exceed
65,535. You cannot enter a negative number into
this type of field. This data format has only 4
significant digits.
INTEGER - Requires two characters of storage and can keep
up with both positive and negative numbers in
range -32,768 through 32,767. This data format
has only 4 significant digits.
LONG INTEGER - Requires four characters of storage and can keep
up with both positive and negative numbers which
are in the range -2,147,483,648 through
2,147,483,647, which requires 4 characters of
storage and gives nine significant digits.
FLOATING POINT - Is laid out in the format: sign bit, 8 bit
exponent biased 127 and 23 bits of significant.
As this data format is used by the WILKES
DATABASE you will have 7 significant digits (for
example, if you use this data format to contain
dollars and cents you should not expect to use a
money amount greater than $99,999.99). This data
format requires four characters of storage.
page 20
DOUBLE FLOATING - Is laid out in the format: sign bit, 11 bit
POINT exponent biased 1023 and 52 bits of significant.
As this data format is used by the WILKES
DATABASE you can expect no more than 14 digits
of significance (i.e. a dollars and cents field
could contain up to $999,999,999,999.99). This
data format requires 8 bytes of storage.
FIELD REQUIRED:
If the field is required to have something entered every time a
a record is added or updated you can have the WILKES DATABASE check that
something has been entered. The action taken will be to either blink the
field if it is left blank or display an error message at the bottom of the
screen to the effect that the field (by field name) is required. Blinking
error fields or error messages is selected during SCREEN ATTRIBUTES
DEFINITION above.
COPY FIELD DURING ADD:
This prompt pertains only to data being added to a file. If you
answer this prompt with a y(YES), this field will be copied into
successive screens as the screen records are added to the file. Fields not
marked as copy during add will be blanked out when the screen record is
added to the file. For fields where the contents change infrequently, this
mechanism can save the time required to enter this field on each record.
page 21
DISPLAY ATTRIBUTES:
The prompt on the right side of the screen lists the same display
attributes discussed earlier for the screen default. One more display type
(i.e. INVISIBLE) is displayed here. As mentioned earlier, the display
types are visual and each should be used in a play screen. If the default
is desired (i.e. the default set up for the entire screen) simply hit the
enter key.
FLOATING POINT NUMBERS:
If floating point or double floating point is selected, an
additional question will be asked.
name SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
============================================================
Amount ______________
============================================================
FIELD NAME? amount {E}
0 - ALPHA DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 5 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
page 22
POSITIONS TO RIGHT OF DECIMAL POINT:
This prompt pertains only to storage types FLOATING POINT and
DOUBLE FLOATING POINT and is asking for the number of significant digits
after the period. This number may be from zero to nine inclusive. When
working with money amounts, you would usually use "2" here to represent
cents. When all fields have been entered, you will be returned to the main
menu with a message at the bottom of the screen:
name ADDED
NOTE: If you are building a new screen, which is similar to another screen
which has already been built, you may find it quicker to copy the screen
and then update the screen.
NOTE: Each field should be uniquely named, in order to use that field for
sorting, selectively copying and as a reminder in the DATA PRINT. If the
field name is not unique, all entered (i.e. field name is not supplied by
the WILKES DATABASE) references to that field name will be assumed to be
the first occurance of the field name in the screen.
page 23
SCREEN UPDATE
Most of the prompting in the SCREEN UPDATE is the same as in the
SCREEN ADD. The screen name will be prompted for on the menu screen.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? b {E}
SCREEN NAME? name {E}
SCREEN NAME:
The name entered must match the name of the screen which has
already been built with the SCREEN ADD function. It was mentioned in the
section on SCREEN ADD that blanks are significant in the screen name. Here
you must match the screen name exactly, including blanks.
The screen name may be entered as asterisk "*" if the last name
entered in answer to this prompt or the new screen name prompt from any of
the menu selections, other than SCREEN DELETE, is the screen name to be
updated.
page 24
ERRORS:
If no match is found on file for the screen name, the following
message will be displayed at the bottom of the screen.
name NOT FOUND
PRESENT FORM ATTRIBUTES:
If the entered name is found, a new screen will appear with the
following appearing on the bottom half of the screen.
name PRESENT FORM ATTRIBUTES
ALIEN FILES USED,
if this prompt is answered y(YES) at SCREEN ADD or SCREEN
UPDATE time.
<screen default display attribute>
which may be UNDERSCORE FIELDS, HIGHLIGHT FIELDS, REVERSE
VIDEO FIELDS according to which was selected in building
or updating the screen.
BLINK ERRORS
or
ERROR MESSAGES
according to which was selected at SCREEN ADD or SCREEN
UPDATE time.
ANY CHANGES? n {E}
If you wish to make changes to these screen attributes answer y
(YES) and hit the enter key. If these attributes are to remaind unchanged,
enter n(NO) and hit the enter key or just hit the enter key for the
default n(NO).
page 25
SCREEN ATTRIBUTES DEFINITION:
If y(YES) was entered, you will be prompted for the screen
attributes as was done in the SCREEN ADD. The prompts are:
name SCREEN - ATTRIBUTES DEFINITION
USE ALIEN FILES? n {E}
BLINK FIELDS IN ERROR? y {E}
0 - REVERSE VIDEO
1 - HIGHLIGHT
2 - UNDERSCORE
3 - HIGHLIGHT AND UNDERSCORE
? 2 {E}
where all the answers are default answers obtained by hitting the enter
key at each prompt.
SCREEN PAINTING:
Next, the screen painting will be displayed. If no changes are
required, simply hit the F1 key. If you need to alter the painting, make
the alterations using the cursor positioning keys described under SCREEN
ADD above and then hit the F1 key.
NOTE: Take care not to alter the only copy of a screen for which data
file(s) exist. In this case you should copy the screen into a new name
using SCREEN COPY, so that you have both an old and new copy of the screen
to work with; make your changes to the new screen and if you wish to be
able to use the new screen with the old data, use the SCREEN DATA-REFORMAT
page 26
function to build a new file in the format of the new screen. If you
inadvertantly alter the only copy of a screen for which data files exist,
in order to get back to the old screen, you must reconstruct the fields in
the painting as they were for the data file (including the data storage
types, if they have been altered). If you are part way through the SCREEN
UPDATE process and wish to not save the changes you have made, hit the F2
key and you will be returned to the menu screen, with no updates having
been saved.
FIELD DEFINITIONS AND ATTRIBUTES:
After hitting the F1 key, to signal that the screen painting is
complete, the individual field attributes will be displayed, one at a
time, in the following fashion, at the bottom of the screen:
================================================================
name FIELD:
FIELD LENGTH = n BYTES. n POSITIONS TO RIGHT OF DECIMAL MAXIMUM.
<storage type> FIELD.
where <storage type> may be CHARACTER, UNSIGNED INTEGER,
INTEGER, LONG INTEGER, FLOATING POINT or DOUBLE FLOATING
POINT.
<display attribute> FIELD.
where <display attribute> may be REVERSE VIDEO, HIGHLIGHT,
INVISIBLE, UNDERSCORE or HIGHLIGHT AND UNDERSCORE.
BYTE POSITION IN RECORD IS n.
POSITION ON SCREEN IS ROW n, COL n.
page 27
FIELD REQUIRED.
If the "FIELD REQUIRED?" prompt was answered with y(YES)
during SCREEN ADD or SCREEN UPDATE.
or
FIELD NOT REQUIRED.
FIELD CARRIED ON ADD.
or
FIELD NOT CARRIED ON ADD.
according to how the prompt "COPY FIELDS DURING ADD?"
was answered in SCREEN ADD or SCREEN UPDATE.
ANY CHANGES? n {E}
If no changes are to be made, enter n(NO) and hit the enter key or
utilize the default by simply hitting the enter key. If changes are to be
made, enter y(YES) and hit the enter key.
If y(YES) is the answer to the "ANY CHANGES?" prompt, you will be
prompted at the top of the screen for the field attributes, as in the
SCREEN ADD function.
NOTE: The "BYTE POSITION IN RECORD" and "POSITION ON SCREEN" are calcu-
lated by the program and will be updated automatically (if any changes
occurred) whether the prompt "ANY CHANGES?" is answered with y (YES) or
n (NO).
NOTE: If the only change to the screen painting is to change the display
length of one or more numeric fields (i.e. storage type is UNSIGNED
INTEGER, INTEGER, LONG INTEGER, FLOATING POINT or DOUBLE FLOATING POINT)
the actual record layout is not changed and you may use the updated screen
painting with the old data files.
page 28
When the field prompts have been answered, the following message
will be displayed at the bottom of the screen.
name UPDATE COMPLETE
This display signals that the updates made have been saved on disk or
diskette.
page 29
SCREEN COPY
The SCREEN COPY function requires two more pieces of information;
the old screen name and the new screen name. The program uses the
following prompts to obtain this information:
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? c {E}
SCREEN NAME? name {E}
NEW SCREEN NAME? new name {E}
SCREEN NAME:
The screen name is the name of a screen which was set up previous
to the use of the SCREEN COPY. The screen name may be entered as asterisk
"*" if the last name entered in answer to this prompt or the new screen
name prompt from any of the menu selections, other than SCREEN DELETE, is
the screen name to be copied.
page 30
NEW SCREEN NAME:
The new screen name is the name of the screen which is to contain
a duplicate of the screen named in the "SCREEN NAME?" prompt. This screen
name cannot be the same as SCREEN NAME above.
ERRORS:
If the name entered at the "SCREEN NAME?" prompt is not on file,
you will see the following error message displayed at the bottom of the
screen.
name NOT FOUND
If the name entered at the "NEW SCREEN NAME?" prompt is already on
file the following error message will be displayed at the bottom of the
screen.
new name SCREEN ALREADY EXISTS BY THAT NAME
If no errors are detected, the screen information associated with
"name" will be copied and associated with "new name". At the bottom of the
screen, the following message will be displayed:
SCREEN COPIED
NOTE: The SCREEN COPY function duplicates the screen information, so you
may safely update the screen painting of one without disturbing the other.
page 31
SCREEN DELETE
The purpose of the SCREEN DELETE function is to discard screens
which you will never use again. If the screen is deleted you will never
use it again.
Only one additional prompt is required by the SCREEN DELETE:
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? d {E}
SCREEN NAME? name {E}
SCREEN NAME:
The screen name entered must be on file prior to being used here
in the SCREEN DELETE. The screen name may be entered as asterisk "*" if
the last name entered in answer to this prompt or the new screen name
prompt from any of the menu selections, other than SCREEN DELETE, is the
screen name to be deleted.
page 32
ERRORS:
The screen named "name" must be on file in order to be deleted. If
it is not on file you will see the error message
name NOT FOUND
displayed at the bottom of the screen. If "name" is on file, it will be
destroyed in the disk files which contain screen information, and the
following message will be displayed at the bottom of the screen.
name DELETED
NOTE: Even though the screen is no longer on file, the file size will not
be reduced. The record area used by "name" will be reused by subsequent
SCREEN ADD(s). The files containing the screen information never get
smaller.
page 33
SCREEN-DATA REFORMAT
The purpose of the SCREEN-DATA REFORMAT is to copy an old file
used with an old screen painting into a new record format determined by a
new screen painting. New fields may have been necessary which were not
contained in the old screen painting, or there may be more information on
the old screen painting than you desire to retain on file. You may wish to
simply change the length of a field.
The way in which the records are copied is one field at a time for
all matching field names.
The following prompts, with example answers, will be made by the
SCREEN-DATA REFORMAT on the menu screen.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? e {E}
OLD SCREEN NAME? old-name {E}
OLD FILE NAME? oldfile {E}
NEW SCREEN NAME? new-name {E}
NEW FILE NAME? newfile {E}
page 34
OLD SCREEN NAME:
The old screen name may be entered as asterisk (*) if the last
name entered in answer to this prompt or the screen name prompt from any
of the menu selections, other than SCREEN DELETE, is the screen name to be
reformatted.
OLD FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
The old file name may be entered as asterisk (*) if the last file
name entered in answer to this prompt or the file name prompt from any of
the other menu screen selections, if that is the file to be reformatted.
NEW SCREEN NAME:
This is the name of the new screen painting - the way the new file
is to look. This is the screen to be used with the new file for future
data adds, updates, etc. for the new file.
NEW FILE NAME:
This is the name of the OS2 file which is to contain the data from
the old file, but in the format of the new screen. This file name cannot
be the same as the OLD FILE NAME.
page 35
ERRORS:
If "old-name" is not found to be on file, the following error
message will appear at the bottom of the screen:
old-name NOT FOUND
If the "old-name" screen painting contains no fields (i.e. no
underscores appear on the screen painting), the following error message
will appear at the bottom of the screen:
NO DATA FIELDS IN THE 'FROM' SCREEN
If "new-name" is not found to be on file, you will see this error
message at the bottom of the screen:
new-name NOT FOUND
If "new-name" screen painting contains no fields, this error
message will appear at the bottom of the screen:
NO DATA FIELDS IN THE 'TO' SCREEN
If "oldfile" is not found in the current or specified directory,
this error message will appear at the bottom of the screen:
oldfile - FILE NOT PRESENT
If a mismatch is detected between "old-name" screen and "oldfile"
file (i.e. the file is not an even multiple of the record size associated
with the screen), the following error message will appear at the bottom of
the screen:
page 36
FILE NOT CREATED WITH THIS SCREEN
If there are no matching field names between "old-name" screen and
"new-name" screen, you would be building a null file, where no information
in "oldfile" file is transferred to "newfile" file. This is not allowed
and the following error will appear at the bottom of the screen:
NO DATA FIELDS WITH SAME NAMES BETWEEN SCREENS
FILE NAMES CANNOT BE THE SAME
will be the error message if the old file name and the new file name are
the same.
The purpose of the SCREEN DATA - REFORMAT is to copy an old file
used with an old screen painting into a new record format, determined by a
new screen painting. New fields may have been necessary which were not
contained in the old screen painting, or there may be more information on
the old screen painting than you desire to retain on file. You may wish to
simply change the length of a field.
The way in which the records are copied is one field at a time for
all matching field names.
If the new file's field values, copied from the old file, are not
the same as the old field values which can occur when the new fields are
shorter than the old fields, you will see one of the following error
messages.
page 37
field name HAS EXPERIENCED A VALUE CHANGE
where only one truncation or numeric value change has occurred.
n VALUE ERRORS DETECTED IN n NEW RECORD
where there are multiple truncations or numeric value changes have oc-
curred.
If no truncated data or numeric value changes have occurred, the
following message will appear at the bottom of the screen as you are
returned to the menu screen.
n RECORDS IN FILE, n REFORMATTED
Any discrepancy between the two numbers, represents deleted records.
INDEX CONSIDERATIONS:
The file produced by the reformat function will not initially have
an index file associated with it. If you wish to have an index file built
to keep up with this new file you must use the INDEX function to build the
index file.
page 38
DISPLAY SCREEN NAMES
The DISPLAY SCREEN NAMES selection needs no additional informa-
tion and will display, on a new screen, the screen names. Up to 192 screen
names may be displayed; 8 names per line for 24 lines.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? f {E}
If you forget the screen names, or which screens are defined with-
in the present files, this is a quick way to check the defined screen
names.
The limit of 192 screen names, for one set of screen files, should
be reasonable as this would represent over 1.2 megabytes (1.2 million
bytes) just for the screen paintings and their associated information.
page 39
THE SYSTEM FUNCTION
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? i {E}
The purpose of the system function is to provide access to the OS2
operating system. The screen provided to accept input will display a ">"
symbol in the first column of the line being accepted. This prompt will be
displayed only if the Wilkes Database is ready to accept more input.
The system function, as with all of the other functions listed on
the menu screen, has a help screen associated with it. If ctrl-a or ctrl-
b is entered, the help screen will be displayed only if the prompt ">" is
showing. If a program is being run within the system function, it will
be subject to the ctrl-a or ctrl-b and will take the action which it
would have taken had the program been run outside of the Wilkes Database.
page 42
SET VIDEO ATTRIBUTES
This routine was introduced to allow you to define what the screen
is to look like in a personalized way. The file "SCREEN.LPT" will be
initialized differently for the monochrome monitor and the color monitor,
but you can alter the default video display attributes with this function.
The information required by the SET VIDEO ATTRIBUTES is
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? h {E}
page 43
The following screen will be displayed:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
DISPLAY TYPE
Normal Video 7 ___
Reverse Video 112 ___
Highlight 15 ___
Underscore 1 ___
Highlight and Underscore 9 ___
page 44
The various numbers look different from one type of monitor to
another. The only type of monitor which truely has all of the display
types is the monochrome monitor. Unfortunately, the monochrome monitor
does not have the pretty colors. The current settings for the types of
displays appear in the second column and you can give a visual check to
see if they are what you want. If not, you can enter the desired attribute
in the rightmost column.
The normal video is what you will see most of the time, so make it
as pleasing as possible. The rest of the display attributes are associated
with the DATA ADD and UPDATE screens for the fields which you have as part
of your screen paintings.
If you get to this screen and wish to not update the attributes
you can hit the F2 key and be returned to the MENU SCREEN. If you wish to
update the attributes, you must enter the desired number for each of the
attributes. When the last of these is entered, you will be returned to the
MENU SCREEN and the new attributes will be in effect.
If you have entered display attributes which are unreadable, you
can delete the file "SCREEN.LPT" and return to the default attributes. The
printer attributes are also retained in this file and will be returned to
their defaults also. If you have previously set up indexes they are also
located in this file, so don't remove "SCREEN.LPT" if you have indexed any
file and wish to retain this index information.
page 45
DATA ADD
You must use this routine to interactively add records to a file.
The records are added at the end of the file; so that, if you wish the
records to be in some particular order, you may wish to use the DATA SORT
at the end of a DATA ADD session.
The information required by the DATA ADD function is
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 1 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
page 46
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
FILE NOT PRESENT:
If the file does not exist already in the current or specified
directory
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 1 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
FILE NOT PRESENT. CREATE? y {E}
page 47
CREATE:
If you answer this prompt with y(YES), as we did in the example,
you will have created a new file, which is empty. If you answer n(NO), the
new file will not be created and you will have a fresh menu screen.
ERRORS:
The possible errors introduced by your answers to the prompts are
name NOT FOUND
if the named screen is not on file.
FILE NOT CREATED WITH THIS SCREEN
if the file size is not an even multiple of the record size associated
with the screen information.
NO DATA FIELDS IN THE SCREEN
if the screen painting contained no field definitions (i.e. no underscores
in the screen painting).
INDEX CONSIDERATIONS:
When additions are made to files which are indexed, the new record
keys will be placed in the index file automatically. If there are enough
resources to take care of this function no further consideration need be
made.
page 48
INDEXED LOOKUP:
The field at which the cursor rests when Alt F3 keys are entered
is taken to be the field to base the indexed lookup on. If the name of
this field is the same as any field which has been previously indexed, the
file with which the field is associated is a candidate for indexed lookup.
If there is only one candidate, an attempt is made to find a key equal to
the field under the cursor. In order to have a match, the fields must be
defined in the same way (ex. if one is defined as character data of length
seven bytes, then the other must also be character data and be seven bytes
in length).
If there are more than one candidate for the lookup, they will be
displayed one at a time at the bottom of the screen until you either "use"
one or the list of candidates is exhausted. The information listed at the
bottom of the screen is
F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
If one of the displays is picked (F1) or there is only one candidate to be
considered, the search for an equal field value in the "file-name" file is
carried out. If a match is located, the matching record will be displayed
using its own "screen-name" screen painting.
If no matching key is located the following will be displayed at
the bottom ot the screen:
NO MATCH FOUND. CREATE BLANK RECORD(y or n)?
page 49
which may only be answered with a n(no) or y(yes). If the answer is yes
a blank record will be added with the key field only filled in. If there
are checks to be made on the data those checks will not be made here. If
the key was successfully added and the keys of both files were defined in
exactly the same way, the added record will appear on the screen in order
that additional information can be filled into the other fields. If the
question "CREATE BLANK RECORD?" is answered with n(no) then you will be
returned to the record on which you were working when the index lookup
request was made.
After locating one matching key, you can accomplish several tasks:
1) Add a new record to the file whose record is displayed. Alt-F1.
2) Update the displayed record. F1.
3) Find the next matching record in the file. F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
4) Find the previous matching record in the file. Shifted-F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
5) Print the displayed record. Shifted-F2.
6) Delete the displayed record. Shifted-F9.
7) Do another indexed lookup (max depth is ten). Alt-F3.
INDEX ERRORS:
As you move from one file to another, there is information which
must be retained. If you move from file "a" to file "b" and from file "b"
to file "c" before returning to file "a", an additional set of information
page 50
must be retained. For reasons of limited memory you will be allowed to go
to a maximum depth of ten file-to-file movements before the message
MAXIMUM INDEX DEPTH EXCEEDED
is returned at the bottom of the screen. Any time you move back to a file
at a previous level without using the index lookup (i.e. automatically),
the depth at which you are working is reduced by one. This restriction of
depth of ten should not hamper you in any real way with properly designed
systems.
page 51
CURSOR MOVEMENT:
As data is being entered, the cursor will move from the end of one
field to the beginning of the next - emitting an audible beep. The
frequency and duration of the beep is such that the beep should be easily
heard but not intrusive. You can get from field to field by using the
enter or tab key, the cursor key or space bar from the last character
position of the present field. You can move the cursor backward one field
at a time by using the shift tab keys or the cursor left key. These cursor
movements from field to field wrap from top to bottom and visa versa (i.e.
the next field down from the last field on the screen is the first field,
and the next field up from the first field on the screen is the last
field). The home key will send the cursor to the first field from any
position on the screen.
DATA ERRORS:
Fields found to be in error will either blink or display at the
bottom of the screen, depending on how the prompt "BLINK FIELDS IN ERROR?"
was answered during SCREEN ADD or SCREEN UPDATE. The two possible errors
are
fieldname FIELD - REQUIRED
where the field "fieldname" was left blank and this field was marked as a
required field during SCREEN ADD or SCREEN UPDATE.
fieldname FIELD - INVALID VALUE
page 52
where the field "fieldname" has a numeric storage type and the information
entered into the field contains invalid characters for the specific type
of number.
NOTE: Field errors are only detected when you attempt to store the record
by hitting the F1 key.
FUNCTION KEYS:
F1 - Store the data appearing on the screen into the disk
file.
F2 - Do not store the data displayed on the screen. Return to
the menu screen.
Alt F1 - Add the record and leave all information on the screen.
Alt F2 - Print the information appearing on the screen.
Alt F3 - Perform indexed lookup. The indexed lookup is described
above.
page 53
DATA LOOKUP/UPDATE
This routine will help you look up specific records, where simply
searching the file might take too long. The file does not have to be in a
particular order to make a search, and any field may be used in the
search.
The information, which will be prompted for, follows with example
answers.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 2 {E}
0) SCREEN NAME? name {E}
1) FILE NAME? filename {E}
2) FIELD NAME? field a {E} CMP? >= {E} VALUE? BROWN {E}
3) FIELD NAME? field a {E} CMP? <= {E} VALUE? SMITH {E}
4) FIELD NAME? field b {E} CMP? > {E} VALUE? 10 {E}
5) FIELD NAME? field c {E} CMP? = {E} VALUE? 1 {E}
6) FIELD NAME? field d {E} CMP? <> {E} VALUE? 5 {E}
page 54
GENERAL:
It is not necessary to answer more than one line of the prompts 2)
through 6). After line 2) has been entered (or at the end of 3), 4) or 5))
you may simply hit F1 to start the lookup process.
The lookup will be made as if you had asked the program to find
all records which meet the conditions of prompt line 2) AND prompt line 3)
AND prompt line 4) AND prompt line 5) AND prompt line 6).
If there are no records or no more records which meet the
selection criteria, you will abruptly leave the DATA LOOKUP/UPDATE
function and be returned to the menu screen.
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
page 55
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
FIELD NAME:
The field name must be a valid field name for the screen. The name
of the field is that entered when the screen was painted. In order to make
the names easy to remember, the names should be descriptive (for example,
a field containing the name of a person or company might be named "name",
an address might be named "address" and a phone number field might be
named "phone #").
COMPARISON:
The allowed values for the "CMP?" (comparison) prompt are
= equal to
> greater than
< less than
>= greater than or equal to
<= less than or equal to
<> not equal to.
page 56
VALUE:
The VALUE may be up to 30 characters in length. If the field has a
shorter length in the screen painting and the storage type is not numeric,
the VALUE will be truncated on the right before comparing to the value of
the field in the disk file record.
PROMPT ERRORS:
The errors which may be detected in the prompt answers and printed
at the bottom of the screen, are
name NOT FOUND
if the screen name is not found on file.
filename - FILE NOT FOUND
if the file named "filename" is not in the current or specified directory.
FILE NOT CREATED WITH THIS SCREEN
if the file size is not an even multiple of the record size kept as part
of the screen painting information.
NO DATA FIELDS IN THE SCREEN
if the screen is on file but contains no fields.
page 57
field name - FIELD NAME NOT FOUND IN SCREEN
if the field name entered in prompt lines 2) - 6) is not a valid field
name in the specified screen.
DATA ERRORS:
You can update the information on the screen and store the updated
screen data if there are no errors. Data errors will either blink the
field in error or display an error message at the bottom of the screen.
The two possible error displays are
field name FIELD - REQUIRED
if the field was marked as required in the SCREEN ADD or SCREEN UPDATE
functions or
field name FIELD - INVALID VALUE
if the storage type for the field was numeric (i.e. UNSIGNED INTEGER,
INTEGER, LONG INTEGER, FLOATING POINT or DOUBLE FLOATING POINT) and the
field contains a character which is invalid for the numeric type (for
example, INTEGERs cannot contain a period, UNSIGNED INTEGERs cannot have
a hyphen).
INDEX CONSIDERATIONS:
When additions are made to files which are indexed, the new record
keys will be placed in the index file automatically. If there are enough
resources to take care of this function no further consideration need be
made.
page 58
INDEXED LOOKUP:
The field at which the cursor rests when Alt F3 keys are entered
is taken to be the field to base the indexed lookup on. If the name of
this field is the same as any field which has been previously indexed, the
file with which the field is associated is a candidate for indexed lookup.
If there is only one candidate, an attempt is made to find a key equal to
the field under the cursor. In order to have a match, the fields must be
defined in the same way (ex. if one is defined as character data of length
seven bytes, then the other must also be character data and be seven bytes
in length).
If there are more than one candidate for the lookup, they will be
displayed one at a time at the bottom of the screen until you either "use"
one or the list of candidates is exhausted. The information listed at the
bottom of the screen is
F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
If one of the displays is picked (F1) or there is only one candidate to be
considered, the search for an equal field value in the "file-name" file is
carried out. If a match is located, the matching record will be displayed
using its own "screen-name" screen painting.
If no matching key is located the following will be displayed at
the bottom ot the screen:
NO MATCH FOUND. CREATE BLANK RECORD(y or n)?
page 59
which may only be answered with a n(no) or y(yes). If the answer is yes
a blank record will be added with the key field only filled in. If there
are checks to be made on the data those checks will not be made here. If
the key was successfully added and the keys of both files were defined in
exactly the same way, the added record will appear on the screen in order
that additional information can be filled into the other fields. If the
question "CREATE BLANK RECORD?" is answered with n(no) then you will be
returned to the record on which you were working when the index lookup
request was made.
After locating one matching key, you can accomplish several tasks:
1) Add a new record to the file whose record is displayed. Alt-F1.
2) Update the displayed record. F1.
3) Find the next matching record in the file. F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
4) Find the previous matching record in the file. Shifted-F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
5) Print the displayed record. Shifted-F2.
6) Delete the displayed record. Shifted-F9.
7) Do another indexed lookup (max depth is ten). Alt-F3.
INDEX ERRORS:
As you move from one file to another, there is information which
must be retained. If you move from file "a" to file "b" and from file "b"
to file "c" before returning to file "a", an additional set of information
page 60
must be retained. For reasons of limited memory you will be allowed to go
to a maximum depth of ten file-to-file movements before the message
MAXIMUM INDEX DEPTH EXCEEDED
is returned at the bottom of the screen. Any time you move back to a file
at a previous level without using the index lookup (i.e. automatically),
the depth at which you are working is reduced by one. This restriction of
depth of ten should not hamper you in any real way with properly designed
systems.
CURSOR MOVEMENT:
As data is being entered, the cursor will move from the end of one
field to the beginning of the next - emitting an audible beep. The
frequency and duration of the beep is such that the beep should be easily
heard but not intrusive. You can get from field to field by using the
enter or tab key, the cursor key or space bar from the last character
position of the present field. You can move the cursor backward one field
at a time by using the shift tab keys or the cursor left key. These cursor
movements from field to field wrap from top to bottom and visa versa (i.e.
the next field down from the last field on the screen is the first field,
and the next field up from the first field on the screen is the last
field). The home key will send the cursor to the first field from any
position on the screen.
page 61
RECORD DELETION:
You can delete the displayed record by pressing shift and F9 keys,
unless the file is an ALIEN FILE (i.e. marked in the SCREEN ADD or SCREEN
UPDATE as alien). If the record is deletable "n DELETED", where n is the
record number, will appear on the right side of the bottom line, otherwise
"ALIEN RECORD" will appear on the right side of the bottom line. A deleted
record is no longer accessable for all practical purposes, so don't throw
it away if you need it.
NOTE: The record number of the data on the screen is usually showing on
the bottom left of the screen.
FUNCTION KEYS:
F1-F8 - Will move forward in the file to the next record which
meets the selection criteria. If none exist you will be
exited to the menu screen.
shift F1-shift F8
- Will move backward in the file to the prior record which
meets the selection criteria. If none exits you will be
exited to the menu screen.
F9 - Move to the front of the file and then display the first
record (moving forward) which meets the selection
criteria.
F10 - Move to the end of the file and then display the first
record (moving backward) which meets the selection
criteria.
page 62
shifted F9
- Delete the displayed data record from the file and move
to the next record (backward or forward) which meets the
selection criteria.
shifted F10
- Exit back to the menu screen.
Alt F1 - Add the record and leave all information on the screen.
Alt F3 - Perform indexed lookup. The indexed lookup is described
above.
page 63
DATA DISPLAY/UPDATE
The DATA DISPLAY/UPDATE function is useful for perusing (viewing)
and updating the records of a file. If the number of records in the file
is relatively small or you have the records sorted, you may find this
function to be faster to use than the DATA LOOKUP/UPDATE.
The menu screen prompts for the DATA DISPLAY/UPDATE, with example
inputs are
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 3 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
page 64
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
PROMPT ERRORS:
The possible errors, displayed on the last line of the screen, are
name NOT FOUND
if the screen name is not on file.
filename - FILE NOT PRESENT
if the file is not found in the current or specified directory.
FILE NOT CREATED WITH THIS SCREEN
if the file size is not an even multiple of the record size associated
with the screen painting.
NO DATA FIELDS IN THE SCREEN
if no underscore fields (data fields) were entered into the painting while
the screen painting was being formed or updated.
page 65
As with the DATA LOOKUP/UPDATE function, you are allowed to delete
records which are native to the Wilkes database (i.e. not ALIEN FILES). If
you hit the shift F9 keys, one of two possible messages will appear on the
right side of the last line on the screen. These messages are
n DELETED
where n is the record number of the deleted record and
ALIEN RECORD
where the record cannot be deleted because the screen painting for the
file was marked as an ALIEN FILE.
INDEX CONSIDERATIONS:
When additions are made to files which are indexed, the new record
keys will be placed in the index file automatically. If there are enough
resources to take care of this function no further consideration need be
made.
page 66
INDEXED LOOKUP:
The field at which the cursor rests when Alt F3 keys are entered
is taken to be the field to base the indexed lookup on. If the name of
this field is the same as any field which has been previously indexed, the
file with which the field is associated is a candidate for indexed lookup.
If there is only one candidate, an attempt is made to find a key equal to
the field under the cursor. In order to have a match, the fields must be
defined in the same way (ex. if one is defined as character data of length
seven bytes, then the other must also be character data and be seven bytes
in length).
If there are more than one candidate for the lookup, they will be
displayed one at a time at the bottom of the screen until you either "use"
one or the list of candidates is exhausted. The information listed at the
bottom of the screen is
F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
If one of the displays is picked (F1) or there is only one candidate to be
considered, the search for an equal field value in the "file-name" file is
carried out. If a match is located, the matching record will be displayed
using its own "screen-name" screen painting.
If no matching key is located the following will be displayed at
the bottom ot the screen:
NO MATCH FOUND. CREATE BLANK RECORD(y or n)?
page 67
which may only be answered with a n(no) or y(yes). If the answer is yes
a blank record will be added with the key field only filled in. If there
are checks to be made on the data those checks will not be made here. If
the key was successfully added and the keys of both files were defined in
exactly the same way, the added record will appear on the screen in order
that additional information can be filled into the other fields. If the
question "CREATE BLANK RECORD?" is answered with n(no) then you will be
returned to the record on which you were working when the index lookup
request was made.
After locating one matching key, you can accomplish several tasks:
1) Add a new record to the file whose record is displayed. Alt-F1.
2) Update the displayed record. F1.
3) Find the next matching record in the file. F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
4) Find the previous matching record in the file. Shifted-F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
5) Print the displayed record. Shifted-F2.
6) Delete the displayed record. Shifted-F9.
7) Do another indexed lookup (max depth is ten). Alt-F3.
INDEX ERRORS:
As you move from one file to another, there is information which
must be retained. If you move from file "a" to file "b" and from file "b"
to file "c" before returning to file "a", an additional set of information
page 68
must be retained. For reasons of limited memory you will be allowed to go
to a maximum depth of ten file-to-file movements before the message
MAXIMUM INDEX DEPTH EXCEEDED
is returned at the bottom of the screen. Any time you move back to a file
at a previous level without using the index lookup (i.e. automatically),
the depth at which you are working is reduced by one. This restriction of
depth of ten should not hamper you in any real way with properly designed
systems.
CURSOR MOVEMENT:
As data is being entered, the cursor will move from the end of one
field to the beginning of the next - emitting an audible beep. The
frequency and duration of the beep is such that the beep should be easily
heard but not intrusive. You can get from field to field by using the
enter or tab key, the cursor key or space bar from the last character
position of the present field. You can move the cursor backward one field
at a time by using the shift tab keys or the cursor left key. These cursor
movements from field to field wrap from top to bottom and visa versa (i.e.
the next field down from the last field on the screen is the first field,
and the next field up from the first field on the screen is the last
field). The home key will send the cursor to the first field from any
position on the screen.
page 69
EXITING THE FUNCTION:
When you exit the DATA DISPLAY/UPDATE function, with the shift F10
keys, the following message will be displayed at the bottom of the screen.
n RECORDS IN FILE, n DISPLAYS, n UPDATES, n DELETES
NOTE: The record number of the data presently displayed is usually on the
left side of the bottom line on the screen.
If there are deleted records at the end of the file in the
direction you are moving (front or back) you will exit to the menu screen
with the following message displayed at the bottom of the screen.
n RECORDS IN FILE, n DISPLAYS, n UPDATES, n DELETES
FUNCTION KEYS:
F1 - Update the disk record from the screen information,
display the record number updated on the right side of
the last line ("n UPDATED"), and move forward in the
file to the next record which has not been deleted.
F2 - Move forward in the file to the next record which has
not been deleted. Any changes which have been made to
data on the screen is ignored.
F3 - Update, and display the update message as with F1 but
move forward 10 records in the file and display the next
non deleted record.
page 70
F4 - Move forward in the file 10 records and display the next
non deleted record. Ignore any changes which have been
made to the data displayed on the screen.
F5 - Update, and display the update message as with F1 but
move forward 100 records in the file and display the
next non deleted record.
F6 - Move forward in the file 100 records and display the
next non deleted record. Ignore any changes which have
been made to the data displayed on the screen.
F7 - Update, and display the update message as with F1 but
move forward 1000 records in the file and display the
next non deleted record.
F8 - Move forward in the file 1000 records and display the
next non deleted record. Ignore any changes which have
been made to the data displayed on the screen.
F9 - Move to the first record of the file. Any changes made
to the data on the screen will be ignored.
F10 - Move to the last record of the file. Any changes made to
the data on the screen will be ignored.
shift F1 -Same as F1 except that file positioning is backward.
shift F2 -Same as F2 except that file positioning is backward.
shift F3 -Same as F3 except that file positioning is backward.
shift F4 -Same as F4 except that file positioning is backward.
shift F5 -Same as F5 except that file positioning is backward.
shift F6 -Same as F6 except that file positioning is backward.
shift F7 -Same as F7 except that file positioning is backward.
shift F8 -Same as F8 except that file positioning is backward.
shift F9 -Deletes the record on the screen unless the file is an
ALIEN FILE. Move in the direction last moved in by one
record.
page 71
shift F10-Exit back to the menu screen.
Alt F1 - Add the record and leave all information on the screen.
Alt F3 - Perform indexed lookup. The indexed lookup is described
above.
A quick visual reference of the function keys is
UNSHIFTED/SHIFTED UNSHIFTED/SHIFTED
UPDATE(+1/-1) F1|F2 +1/-1
UPDATE(+10/-10) F3|F4 +10/-10
UPDATE(+100/-100) F5|F6 +100/-100
UPDATE(+1000/-1000) F7|F8 +1000/-1000
BEGIN/DELETE F9|F10 END/EXIT
For the function keys with 'Alt' key depressed
WITH ALT KEY
ADD RECORD F1
INDEXED LOOKUP F3
With no other function keys used in conjunction with 'Alt'.
page 72
DATA PRINT
The DATA PRINT function is used to produce printed reports of the
data in the files in as flexible a fashion as possible, while requiring
minimal expertise with computers. DATA PRINT allows print lines up to 240
print positions wide, so you can take advantage of the wide paper with the
condensed print available on some of the printers today. This will let you
print spreadsheets with a lot of spread.
Before you use your printer for the first time you should read the
documentation in the SET PRINTER ATTRIBUTES section.
The menu screen prompts, with example input are
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 4 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
page 73
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
PROMPT ERRORS:
The possible errors generated from the answers to these prompts
will appear at the bottom of the screen and are
name NOT FOUND
if the screen name is not found to be on file.
page 74
filename - FILE NOT PRESENT
if the file "filename" is not found in the current or specified directory.
FILE NOT CREATED WITH THIS SCREEN
if the file size is not an even multiple of the record size associated
with the screen painting.
UNABLE TO PRINT
if an attempt to open the printer gets an immediate end of file.
NO DATA FIELDS IN THE SCREEN
if the screen painting for screen "name" contains no underscore fields.
PRINT FORMAT SCREEN:
If no errors are detected, the menu screen will be replaced by the
following screen, which starts you into the description of the report.
page 75
PRINT FORMAT
REPORT NAME?
NEW SPECIFICATIONS? SAVE SPECIFICATIONS?
COLUMNS/LINE? LINES/PAGE?
HEADER? #HEADER LINES?
DETAIL? #DETAIL LINES?
PAGE BREAKS ON FIELD CHANGE?
TOTALING? SUBTOTALING?
PRINT DATE? HEADER LINE #?
COLUMN #?
PRINT TIME? HEADER LINE #?
COLUMN #?
PRINT PAGE #? HEADER LINE #?
COLUMN #?
PRINT RECORD #? DETAIL LINE #?
COLUMN #?
OMIT BLANK DETAIL LINES?
REPORT NAME:
The report name must be entered and will be validated as a file
name, because the report name will be the name of the file containing the
report specifications if you mark the "SAVE SPECIFICATIONS?" field with y
(YES).
page 76
After entering the report specifications, if the specifications
have been saved, you can produce the report from the saved report input by
entering the report name, which was specified at the time the report
specifications were entered, and answer the querry "NEW SPECIFICATIONS?"
with n(NO). Hit the F1 key 5 times to carry you through the additional
screens and the report should print. You can, of course, make alterations
(either permanent or temporary - depending on the answer to the question
"SAVE SPECIFICATIONS?" with y(YES)) to the report.
NEW SPECIFICATIONS:
If this is the initial building of the report specifications, you
should answer this question with y(YES). If you are running a report which
was defined earlier, you should answer this question with n(NO). See
REPORT NAME above for further considerations.
SAVE SPECIFICATIONS:
If you are building the report specifications for the first time,
or you wish any changes you make to be permanent, you should answer this
question with y(YES). If you are simply running the report or you are
making one time (temporary) changes, you should answer this question with
n(NO). If you wish to run two similar but slightly different reports
regularly, you may wish to build one report, exit the WILKES DATABASE,
copy the report file to a new name, re-enter the WILKES DATABASE and make
the required changes to the new report file.
page 77
COLUMNS/LINE:
This question must be answered if "NEW SPECIFICATIONS?" received a
y(YES), and may be any integer number from 80 to 240 inclusive. This will
be the number of columns on the print line. Representative values for some
types of printer/paper are - narrow paper/regular print: 80, narrow paper/
condensed print or wide paper/regular print: 132, wide paper/condensed
print: up to a maximum of 240.
LINES/PAGE:
This question must be answered if "NEW SPECIFICATIONS?" received a
y(YES), and may be any integer number from 1 to 88 inclusive. This is the
number of lines per page (form) you will be printing on. The maximum of 88
lines represents an eleven inch form printed at 8 lines/inch. You may, of
course, print at 6 lines/inch on a form of length 14 2/3".
HEADER:
This question may be answered with y (YES), where you wish to have
a header print on either report, or answered with n (NO) or simply left
blank, where the report is not to have a header.
page 78
# HEADER LINES:
This question has no meaning if "HEADER?" was answered with n (NO)
or left blank, but must contain a valid number, if entered. The "# HEADER
LINES" plus "# DETAIL LINES" cannot exceed the number of lines per page.
If you asked for HEADER with y (YES), the "# HEADER LINES" entered here is
the number of lines of length "COLUMNS/LINE" to be filled in, a later
screen.
DETAIL:
As with "HEADER", this question wants a y (YES), n(NO) or remain
blank, which defaults as n (NO). If you want detail information from the
file to be printed, you must enter y (YES) here.
# DETAIL LINES:
This question has no meaning if "DETAIL?" was answered with n (NO)
or left blank, but must contain a valid number if entered. The "# HEADER
LINES" plus "# DETAIL LINES" cannot exceed the number of lines per page.
If you asked for DETAIL with y (YES), the "# DETAIL LINES" entered here is
the number of lines of length "COLUMNS/LINE" to be filled in, in a later
screen.
page 79
PAGE BREAK ON FIELD CHANGE:
If you want subtotals or just a new page on a change in some field
or fields, you need to enter a y (YES) here. If you wish to temporarily
turn off page breaks, this field should contain an n(NO) or a blank, which
defaults as n(NO). Even though some later fields are marked for page
breaks, the page breaking will be suppressed.
TOTALING:
This question may be answered with y (YES), n (NO), or left blank
(defaults to NO), and is used as an override in printing totals. In order
for totals to be printed, this question must be answered with a y (YES).
If you wish to turn off all total printing (this does not effect subtotal
printing), enter an n(NO), or leave this field blank. Even if later fields
are marked to print totals they will not be printed unless you enter a y
(YES) here.
SUBTOTALING:
This question may be answered with y (YES), n (NO), or left blank
(defaults to NO), and is used as an override in printing subtotals. In
order for subtotals to be printed, this question must be answered with a y
(YES). If you wish to turn off all subtotal printing, enter an n (NO), or
leave this field blank. Even if later fields are marked to print subtotals
they will not be printed unless you enter a y (YES) here.
page 80
PRINT DATE:
HEADER LINE #:
COLUMN #:
All three of these questions has to do with the printing of system
date in the header area of the report. "PRINT DATE?" must contain y(YES)
for the system date to be printed. "HEADER LINE #?" and "COLUMN #?" define
where, in the heading, the date is to be printed. The line number cannot
be greater than the number of header lines and cannot be less than one if
the date is to be printed. The column number must be greater than zero and
no greater than the "COLUMNS/LINE"-8 if the date is to be printed. Minus
8, because this is the length of the date as it will be placed into the
header print line. The first header line is line one. Column one is the
first print position on the line. The date will be placed into the header
line in the format "mo/da/yr".
PRINT TIME:
HEADER LINE #:
COLUMN #:
All three of these questions has to do with the printing of system
time in the header area of the report. "PRINT TIME?" must contain y(YES)
for the system time to be printed. "HEADER LINE #?" and "COLUMN #?" define
where, in the heading, the time is to be printed. The line number cannot
be greater than the number of header lines and cannot be less than one if
the time is to be printed. The column number must be greater than zero and
no greater than the "COLUMNS/LINE"-5 if the date is to be printed. Minus
5, because this is the length of the time as it will be placed into the
header print line. The first header line is line one. Column one is the
first print position on the line. The time will be placed into the header
line in the format "hr:mn".
page 81
If the time field is selected for print, the format of the time
field will be placed in the header print lines painting in its designated
position on the print line. The display format may be left in the header
line as the actual field will print in the same position.
PRINT PAGE #:
HEADER LINE #:
COLUMN #:
All three of these questions has to do with the printing of the
page number in the header area of the report. "PRINT PAGE #?" must contain
y(YES) for the page number to be printed. "HEADER LINE #" and "COLUMN #?"
define where, in the heading, the page number is to be printed. The line
number cannot be greater than the number of header lines and cannot be
less than one if the page number is to be printed. The column number must
be greater than zero and no greater than the "COLUMNS/LINE"-6 if the
page number is to be printed. Minus 6, because the page number will take
6 positions on the header line. The page number will print as a six digit
number with zero suppress.
If the page# field is selected for print, the format of the page#
field will be placed in the header print lines painting in its designated
position on the print line. The display format may be left in the header
line as the actual field will print in the same position.
page 82
PRINT RECORD #:
DETAIL LINE #:
COLUMN #:
All three of these questions has to do with the printing of the
record number in the detail area of the report. "PRINT RECORD #?" must be
answered with y(YES) for the record number to be printed. "HEADER LINE #?"
and "COLUMN #?" define where, in the detail, the record number is to be
printed. The line number cannot be greater than the number of detail lines
and cannot be less than one if the record number is to be printed. The
column number must be greater than zero and no greater than the "COLUMNS/
LINE"-6 if the record number is to be printed. Minus 6, because the record
number will take 6 positions on the detail line. The record number will be
printed as a six digit number with zero suppress.
If the record# field is selected for print, the format for record#
field will be placed in the detail print lines painting in its designated
position on the print line. The display format may be left in the detail
line as the actual field will print in the same position.
OMIT BLANK DETAIL LINES:
This question requires a y(YES), n(NO) or leave blank (NO) answer.
If the answer is y(YES), the printing of all detail lines which contain
only blanks will be suppressed. If the answer is n(NO), or blank (NO), you
will get blank detail lines printed (i.e. the number of detail lines which
print will match the answer to "# DETAIL LINES?").
page 83
PRINT SCREEN FORMAT ERRORS:
If errors are detected, they will be displayed at the bottom of
the screen and will be caused by an infraction of the rules described
above for the SCREEN FORMAT questions. Possible errors are
INVALID REPORT NAME.
COLUMNS/LINE AND LINES/PAGE MUST BE ENTERED.
# HEADER LINES CANNOT BE > LINES/PAGE OR < 1.
# DETAIL LINES CANNOT BE > LINES/PAGE OR < 1.
SUM OF HEADER LINES AND DETAIL LINES > LINES/PAGE.
DATE MUST APPEAR ON A HEADER LINE IF PRESENT.
TIME MUST APPEAR ON A HEADER LINE IF PRESENT.
PAGE # MUST APPEAR ON A HEADER LINE IF PRESENT.
DETAIL, HEADER OR BOTH MUST BE SPECIFIED.
CURSOR MOVEMENT:
Cursor movement from field to field is accomplished with the enter
and tab keys (forward) and by the shift tab keys (backward) and the screen
wraps in both directions (i.e. the next question after the last question
is the first question and the next question up from the first question is
the last question).
page 84
FUNCTION KEYS:
F1 - Serves as a request to accept the data as it now appears on
the screen. Any errors detected will be displayed at this
time. If all is error free you will either see the next
screen or an update of the present screen from saved report
file information. If the latter, make the desired changes and
press the F1 key again.
F2 - Will abort the DATA PRINT back to the menu screen. Be aware
that it is possible to get the report file into a partially
updated situation with the abort action, making the report
file useless (you may see "report name IS NOT A REPORT FILE"
or "INVALID REPORT FILE report name" the next time you try to
use this report).
HEADER LINES SCREEN:
After the F1 key has been pressed, and there are no errors shown,
the header definition is the next screen to be displayed (if "HEADER?" was
answered with y(YES)). The first line of this screen will contain
HEADER LINES:
and the cursor will be at the beginning of line two. The header lines are
initially blank and you can paint the print line, which may take up to 3
screen lines (maximum print positions on a line is 240). This painting is
to contain all header information which you wish to see printed at the top
of each page. Remember that the information described in the print format
page 85
screen contained, if you requested them, the system date, system time and
page number which will be placed into the specified positions of these
header lines. You may wish to label the date, time and page number fields
in the header lines so that their value is not obscure. (for example, date
is to appear in column 7 of line 1 in the header lines; "DATE:" is placed
into header line 1 columns 1-5, so the printout will show "DATE: MO/DA/YR"
at the beginning of the first line of heading).
You may also wish to have additional header lines to paint 1 or 2
lines of detail heading (and possibly an additional blank line) to have a
way of telling what each column of the detail contains.
If you have more header lines than will display on the screen at
one time, you can still paint them. They will scroll on and off the screen
as necessary when you move the cursor up or down. Scrolling will wrap both
at the top and bottom of the header lines (i.e. the next header line up
from the first header line is the last header line and the next header
line down from the last header line is the first header line).
The header line and column will be displayed at the bottom of the
screen for the position at which the cursor resides. This is simply an aid
to help you in the painting of the report header.
The current line number and column number are displayed at the
bottom of the screen. This should aid you in laying out report headers and
determining where the information will be displayed on the detail lines.
page 86
DETAIL LINES SCREEN:
After the header lines are painted as you wish them to print,
press the F1 or F2 key, as described above, to continue or abort. If you
use F1 to continue, the next screen will be a fresh pallet to paint the
detail lines, but only if you answered "DETAIL?" with y(YES) in the print
format screen. The first line of the detail lines screen will contain
DETAIL LINES:
and the cursor will be on line two. You may paint all or any part of the
detail lines as you wish. If you are printing full page mailers, you might
have 66 lines per detail, which may be the same as the number of lines per
page. The mailer may have a name injected 2 or 3 times (maximum of 5) from
the data record.
If you have defined more detail lines than will show on the screen
at one time, moving the cursor up or down at the screen boundaries will
scroll the detail lines. The detail lines will also wrap from both top and
bottom as the header lines do (see HEADER LINES: above).
The function keys F1 and F2 perform in the same way as described
above, to continue or abort the DATA PRINT function.
The detail line and column will be displayed at the bottom of the
screen for the position at which the cursor resides. This is simply an aid
to help you in the painting of the report detail.
page 87
PRINT DETAIL SCREEN:
After hitting the F1 key, you will be shown the next and last of
the DATA PRINT screens. The detail fields screen displays the following
initial information.
NAME P T S SL PB L#/Col L#/Col L#/Col L#/Col L#/Col
fldnamea
fldnameb
fldnamec
fldnamed
fldnamee
fldnamef
fldnameg
etc,
filling out the screen if necessary. The column on the left is a listing
of all fields described during the screen painting session. Since you have
up to 204 fields in a screen painting, all fields don't necessarily fit on
the screen at one time. This screen, as with "HEADER LINES:" and "DETAIL
LINES:" screens, scrolls forward and backward with wrap at both ends of
the display.
At the bottom of the print detail screen, the display length (in
columns) of the present field is shown. The present field is the field on
which the cursor resides. This display serves only as an aid in producing
the report.
page 88
PRINT(P):
If this field contains y(YES) or you enter y(YES) into this field,
you are requesting that the field specified by the field name to the left
is to print, subject to the override "DETAIL?" in the PRINT FORMAT screen.
If you put y(YES) in the "PRT?" field you must also have at least one line
number-column number with valid information as to where to print the data.
TOTAL(T):
If y(YES) is entered in this field, you are requesting that totals
be kept for the field by the name appearing at the left and that the total
be printed at the end of the report listing. Attempting to total a non-
numeric field is not permitted. Remember that "TOTALING?" in the PRINT
FORMAT screen must contain y(YES) before totals will be accumulated.
SUBTOTAL(S):
If y(YES) is entered in this field, you are requesting that sub-
totals be accumulated and printed at level break time for the field by the
name appearing on the left side of the screen. Attempting to subtotal a
non-numeric field is not permitted. In order to actually get the subtotals
printed there must be at least one field where the "SL" field contains y
(YES) and "SUBTOTALING?" on the PRINT FORMAT screen must contain y (YES).
In order to obtain subtotals, the subtotal level field (SL) must be given
for some field which, when it changes, the subtotals are to print. All of
the fields which have been marked as subtotal fields will be printed when
one of the fields specifying a subtotal level changes.
page 89
The fields containing y (YES) in the subtotal(S) column will have
their subtotals displayed when a field containing a subtotal level changes
its value. The subtotals for the specified level will be zeroed after
being printed and begin accumulating again with the record containing the
new value for the field with the subtotal level. A change of value for one
subtotal level does not clear subtotals for another level.
The following is an example of how the subtotal and subtotal level
columns interact.
NAME P T S SL PB L#/Col L#/Col L#/Col L#/Col L#/Col
fldnamea y 1 1 1
fldnameb y y 2 1
fldnamec y 2 3 1
fldnamed y y 1 30
fldnamee y 3 2 30
fldnamef y y 3 30
We have requested subtotals on 3 fields (fldnameb, fldnamed and fldnamef).
We have also specified that these subtotals are to be printed for three
different fields (fldnamea, fldnamec and fldnamee). Each time fldnamea
changes the three subtotals will be printed:
fldnameb SUBTOTAL BREAK ON fldnamea = number
fldnamed SUBTOTAL BREAK ON fldnamea = number
fldnamef SUBTOTAL BREAK ON fldnamea = number
and the numbers shown will represent the subtotal accumulation since the
biginning of the file or since the last time fldnamea changed. The same is
true of fldnamec and fldnamee. The subtotals accumulated for one level are
independent of subtotals accumulated for another level.
page 90
SUBTOTAL LEVEL(SL):
The subtotal level refers to which subtotal accumulation is to be
printed. Subtotals are accumulated for a given level, which is associated
with a field break (i.e. the contents of the field changes). This may be
any number from 1 to 9 inclusive. If this field is left blank or contains
zero, subtotals will not be displayed for the field. See SUBTOTAL(S) above
for additional information.
PAGE BREAK(PB):
Entering a y(YES) into this field tells the DATA PRINT function to
skip to the top of the next page when the value of the field, whose name
appears on the left, changes. Before page breaking can occur, the question
"PAGE BREAKS ON FIELD CHANGE?" on the PRINT FORMAT screen must have been
answered with a y (YES).
LINE#(L#): COL#(Col):
There are 5 sets of these two fields to allow for printing a field
in up to 5 places within the detail lines. You may find this useful in
printing up to 5-up labels. The LINE#, if entered, must contain a valid
detail line number (i.e. the line number must be greater than zero and not
greater than the answer to "# DETAIL LINES?" on the print format screen).
The COL# (column number), if entered, must be greater than zero and not
greater than the answer to "COLUMNS/LINE?" on the PRINT FORMAT screen.
page 91
FUNCTION KEYS:
The function keys F1 and F2 function as described above and are
used to continue or abort the DATA PRINT respectively. If there are no
errors on the DETAIL FIELDS screen, pressing F1 will continue by printing
the report. If the printer is turned off you will get a message to the
affect that you may retry the print. This message comes from the operating
system and should be explained in your OS2 manual. Aborting the print at
this point will stop the SCREEN program. To retry, simply enter "r" and
press the enter key.
FIELD LENGTH DISPLAY:
The length of the field associated with the line the cursor is on
will be displayed at the bottom of the screen. This is simply a reminder
to aid in the production of the report.
PRINT DETAIL SCREEN ERRORS:
The errors associated with this phase of the printing process are
shown below and, if any occur, they must be corrected before continuing on
with the printing of the report.
TOTALS & SUBTOTALS MAY ONLY BE PRINTED FOR NUMERIC FIELDS
FIRST LINE-COL MUST BE SPECIFIED IF FIELD IS TO BE PRINTED
This means a field was marked to be printed but the position to start the
print in was not specified.
page 92
LINE# MUST NOT BE GREATER THAN lines/page
Where the lines/page is specified on the PRINT FORMAT screen.
COL# MUST NOT BE GREATER THAN columns/line
and
FIELD CANNOT EXTEND BEYOND COLUMN columns/line
Where the columns/line is specified on the PRINT FORMAT screen.
MAXIMUM SUBTOTAL LEVELS EXCEEDED
Where a subtotal level greater than nine or less than zero was entered.
LINE AND COLUMN NUMBERS CANNOT BE NEGATIVE
Where a negative number was entered for line (L#) or column (Col).
SUBTOTAL LEVEL number USED BY MORE THAN ONE FIELD
Where the subtotal level (SL) column contains the same number more than
once. Each field must have its own subtotal level.
LINE# OR COL# SPECIFIED WITHOUT THE OTHER
Where the line number or the column number of a line#/col# pair contains a
number, but not both the line# and the col# are specified.
page 93
EXITING THE FUNCTION:
When the report finishes printing you will be returned to the menu
screen with the following message at the bottom of the screen.
n RECORDS IN FILE, n PRINTED
GENERAL:
While the DATA PRINT function is running (a temporary report file
will be built if you are working with a report file which already exists)
a file by the name "SCREEN.TMP" will be built to contain a copy of the
report file, to allow changes to the report temporarily without destroying
the original report file.
PROCESSING ERRORS:
If there are difficulties in building this temporary file you may
see one of the following error messages displayed at the bottom of the
screen.
UNABLE TO OPEN SCREEN.TMP FOR TEMPORARY STORAGE.
if there is an open error (check the number of files allowed for the disk
medium being used).
page 94
UNABLE TO APPEND TO FILE
if you run out of room on the disk device where the current directory
resides.
If you abort the building of a report which is incomplete on disk,
future use of this incomplete report file may cause the error message
report name IS NOT A REPORT FILE
to be displayed at the bottom of the screen. If you run out of disk space
while building the report you will get the error message
UNABLE TO WRITE TO FILE report name
at the bottom of the screen.
page 95
DATA COPY
The DATA COPY function may be used to copy all or part (deleted
records will not be copied) of a file into a new file. There are three
ways to copy a file: 1) Copy all records which have not been deleted, 2)
Copy records in a browse mode (i.e. copy records which you select as you
are looking at the record) and 3) Copy selectively based on values in the
records. The menu screen will prompt in the following fashion.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 5 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
NEW FILE NAME? newfile {E}
COPY (0)-FILE, (1)-MANUAL, (2)-SELECTOR, (3)-INDEX? 2 {E}
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
page 96
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
NEW FILE NAME:
The file specified here must be a valid OS2 file name. If the file
already exists, it will be removed from the directory to make room for the
new file by the same name by the DATA COPY. This file name cannot be the
same as FILE NAME above.
The new file name is stored as the last file name for use with the
asterisk abreviation for file names.
COPY TYPE:
If the last prompt is answered with "0" or "1", no more data will
be required. If the answer to the last prompt is "2", there will be up to
5 more lines of prompts. If the answer is with "3" one additional field is
required.
page 97
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 5 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
NEW FILE NAME? newfile {E}
COPY (0)-FILE, (1)-MANUAL, (2)-SELECTOR, (3)-INDEX? 2 {E}
FIELD NAME? lastname {E} CMP? >= {E} VALUE? F {E}
FIELD NAME? lastname {E} CMP? < {E} VALUE? M {E}
FIELD NAME? amount {E} CMP? >= {E} VALUE? 30000.00 {E}
FIELD NAME? amount {E} CMP? < {E} VALUE? 50000.00 {E}
FIELD NAME? employed {E} CMP? = {E} VALUE? y {E}
These additional prompts serve as a selection mechanism and will
copy only the records where all of the selector conditions are true. No
more than one selector condition is required and you may press the F1 key
at the point where you wish to enter no more conditions.
FIELD NAME:
The field name is the name given to the field during SCREEN UPDATE
or SCREEN ADD in the FIELD DEFINITIONS AND ATTRIBUTES.
page 98
COMPARISON:
The allowable values for the "CMP?" (comparison) prompt are
= equal to
< less than
> greater than
<= less than or equal to
>= greater than or equal to
<> not equal to.
VALUE:
The value prompt may contain up to 30 characters. If the field is
numeric, the value is assumed to be a number.
PROMPT ERRORS:
Possible errors common to all three forms of the DATA COPY are
name NOT FOUND
if the screen name is not found on file.
filename - FILE NOT PRESENT
if the named file is not in the current or specified directory (the new
file name is not checked for presence).
page 99
FILE NOT CREATED WITH THIS SCREEN
if the file size is not an even multiple of the record size associated
with the screen painting.
NO DATA FIELDS IN THE SCREEN
if the screen painting for the screen name entered does not contain fields
(i.e. underscores).
An error associated with only the selector copy is
fieldname - FIELD NAME NOT FOUND IN SCREEN
where a field name was given which was not associated with a field in the
specified screen.
FILE NAMES CANNOT BE THE SAME
is displayed where the old file name and the new file name are the same.
If no errors are detected the following message will be displayed
at the bottom of the screen as you are taken back to the menu screen.
n RECORDS IN FILE, n COPIED.
FILE COPY:
Copies the undeleted records of the file into the new file.
page 100
MANUAL COPY:
Displays the records and lets you select the records to be copied
into the new file as you browse through the file. The function keys have
the meaning
MANUAL COPY - INDEXED LOOKUP:
The field at which the cursor rests when Alt F3 keys are entered
is taken to be the field to base the indexed lookup on. If the name of
this field is the same as any field which has been previously indexed, the
file with which the field is associated is a candidate for indexed lookup.
If there is only one candidate, an attempt is made to find a key equal to
the field under the cursor. In order to have a match, the fields must be
defined in the same way (ex. if one is defined as character data of length
seven bytes, then the other must also be character data and be seven bytes
in length).
If there are more than one candidate for the lookup, they will be
displayed one at a time at the bottom of the screen until you either "use"
one or the list of candidates is exhausted. The information listed at the
bottom of the screen is
F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
If one of the displays is picked (F1) or there is only one candidate to be
considered, the search for an equal field value in the "file-name" file is
carried out. If a match is located, the matching record will be displayed
using its own "screen-name" screen painting.
page 101
If no matching key is located the following will be displayed at
the bottom ot the screen:
NO MATCH FOUND. CREATE BLANK RECORD(y or n)?
which may only be answered with a n(no) or y(yes). If the answer is yes
a blank record will be added with the key field only filled in. If there
are checks to be made on the data those checks will not be made here. If
the key was successfully added and the keys of both files were defined in
exactly the same way, the added record will appear on the screen in order
that additional information can be filled into the other fields. If the
question "CREATE BLANK RECORD?" is answered with n(no) then you will be
returned to the record on which you were working when the index lookup
request was made.
After locating one matching key, you can accomplish several tasks:
1) Add a new record to the file whose record is displayed. Alt-F1.
2) Update the displayed record. F1.
3) Find the next matching record in the file. F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
4) Find the previous matching record in the file. Shifted-F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
5) Print the displayed record. Shifted-F2.
6) Delete the displayed record. Shifted-F9.
7) Do another indexed lookup (max depth is ten). Alt-F3.
page 102
MANUAL COPY - INDEX ERRORS:
As you move from one file to another, there is information which
must be retained. If you move from file "a" to file "b" and from file "b"
to file "c" before returning to file "a", an additional set of information
must be retained. For reasons of limited memory you will be allowed to go
to a maximum depth of ten file-to-file movements before the message
MAXIMUM INDEX DEPTH EXCEEDED
is returned at the bottom of the screen. Any time you move back to a file
at a previous level without using the index lookup (i.e. automatically),
the depth at which you are working is reduced by one. This restriction of
depth of ten should not hamper you in any real way with properly designed
systems.
MANUAL COPY - FUNCTION KEYS:
F1 - Copy the record and move forward to the next non-deleted
record.
F2 - Move forward to the next non-deleted record.
F3 - Copy the record, move forward 10 records and display the
next non-deleted record.
F4 - Move forward 10 records and display the next non-deleted
record.
F5 - Copy the record, move forward 100 records and display
the next non-deleted record.
F6 - Move forward 100 records and display the next undeleted
record.
page 103
F7 - Copy the record, move forward 1000 records and display
the next undeleted record.
F8 - Move forward 1000 records and display the next undeleted
record.
F9 - Move to the first record in the file and display the
first undeleted record.
F10 - Move to the end of the file and display the first record
which is not deleted (moving backward through the file).
Shifted F1 - Shifted F8
- Accomplish the same task as F1 - F8 except that movement
through the file is backward.
Shifted F9
- Moves forward or backward (the same direction as the
previous movement) one record.
Shifted F10
- Exit the data copy function back to the menu screen.
Alt F1 - Add the record and leave all information on the screen.
Alt F2 - Print the information appearing on the screen.
Alt F3 - Perform indexed lookup. The indexed lookup is described
above.
SELECTOR COPY:
Copies the selected records into the new file and returns to the
menu screen.
NOTE: If there is a file in the current or specified directory with the
same name as the new file, that file will be deleted to make room for the
new file in an automatic fashion.
page 104
INDEX COPY:
An additional prompt for
FIELD NAME?
is required by the index copy. The action taken is to use a previously
defined key as the order in which the new file will be aranged. The file
must have been indexed on a field which provedes the order desired. Using
the copy in this way is equivalent to sorting the file on the field which
was used to build the index.
The new file produced by the copy function will not initially have
an index file associated with it. If you wish to have an index file built
to keep up with this new file you must use the INDEX function to build the
index file.
page 105
DATA SORT
The DATA SORT function sorts on up to 5 fields in both forward and
reverse order (specified by field). The Wilkes database uses a tag sort,
so that the only part of the record which must remain in memory during the
sort are the keys themselves. This means that a 1000 record file of 1500
byte records sorted on a 20 byte key requires only 20,000 bytes for the
keys plus an additional few thousand bytes for the tags rather than the
1,500,000 bytes required by the entire file.
The sort will attempt to procure, form the operating system, all
the memory it needs to accomplish the sort - up to a maximum of 64K bytes.
If the sort requires more memory than your computer has available or more
than the 64K byte limit, you will have to split up the file into smaller
files to be sorted and merged back together with the APPEND FILE function.
There is a second method which can be used to sort the records on
a single key in ascending order. You may build an index file for the field
which is to serve as the sort key, then perform an indexed copy reordering
the new file to the ascending order of the indexed field. Doing a sort in
this manner does not require that the keys be held in memort, but indexing
is a good bit slower than sorting if the keys can be held in memory.
page 106
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 6 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
NEW FILE NAME? newname {E}
FIELD NAME? field 1 {E} f - FORWARD, r - REVERSE? f {E}
FIELD NAME? field 2 {E} f - FORWARD, r - REVERSE? f {E}
FIELD NAME? field 3 {E} f - FORWARD, r - REVERSE? r {E}
FIELD NAME? field 4 {E} f - FORWARD, r - REVERSE? r {E}
FIELD NAME? field 5 {E} f - FORWARD, r - REVERSE? f {E}
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
page 107
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
NEW FILE NAME:
The new file name is the name of a OS2 file and will contain the
records from the file named in "FILE NAME" in sorted order. The sort will
remove any OS2 file with the same name to make room for the newly sorted
file. The new file name cannot be the same as the FILE NAME above.
The new file name is stored as the last file name for use with the
asterisk abreviation for file names.
FIELD NAME:
The field name is the name given to the field during SCREEN ADD or
SCREEN UPDATE in the FIELD DEFINITIONS AND ATTRIBUTES.
page 108
SORT DIRECTION:
The records may be sorted in either forward (ascending) or reverse
(descending) order.
GENERAL:
There may be up to a maximum of 5 sort fields with forward/reverse
order specified separately for each sort field. If you wish to sort on
fewer fields, simply press F1 at the end of the last line of desired data
or at the beginning of the next line. As the maximum number of sort fields
is 5, the DATA SORT will automatically go into the sort phase after line 5
has been entered.
PROMPT ERRORS:
The errors which can be generated by the input to the menu screen
prompts are
FILES MAY NOT BE THE SAME.
if the same file name is given for both the file to be sorted and the new
file name. In our example above this would be "filename" = "newname".
name NOT FOUND
if the screen named "name" is not found to be on file.
page 109
filename - FILE NOT PRESENT
if the file named "filename" is not found in either the current or the
specified directory.
FILE NOT CREATED WITH THIS SCREEN
if the file size of "filename" file is not an even multiple of the record
size associated with the screen painting.
NO DATA FIELDS IN THE SCREEN
if the screen painting "name" contained no underscore fields.
INSUFFICIENT MEMORY TO SORT FILE.
if the DATA SORT was not able to procure enough memory to accomplish the
sort or the sort would have required more than 64K bytes.
FIELD NAME NOT FOUND IN SCREEN
if the field name(s) entered to be sorted on were not defined within the
screen painting "name".
If no errors are detected the file will be sorted into the new
file and you will be returned to the menu screen with the message
n RECORDS IN FILE, n SORTED.
page 110
INDEX CONSIDERATIONS:
The file produced by the sort function will not initially have an
index file associated with it. If you wish to have an index file built to
keep up with this new file you must use the INDEX function to build the
index file.
page 111
COLUMN ARITHMETIC
The purpose of COLUMN ARITHMETIC is to perform the same arithmetic
operation on each record in the file. The reason these arithmetic
operations are referred to as COLUMN ARITHMETIC is that the various fields
in the record can be thought of as the columns of a spreadsheet and the
operations affect an entire column.
The information required by the COLUMN ARITHMETIC function is
obtained on the menu screen with the following prompts, where the answers
are only examples.
EXAMPLE COLUMN ADD:
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 0 {E}
FIELD NAME TO ADD TO? gross {E}
FIELD NAME OR #number TO ADD? #20.50 {E}
page 112
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory.
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
OPERATION:
The operations which may be performed are those listed, and the
operation is selected by use of the number appearing to the left of the
operation name.
page 113
RECEIVING FIELD NAME:
This is the name of the field which is to contain the answer to
the arithmetic add, subtract, divide, multiply or move. This operand also
is a participant in the calculation (right side of the equation) for all
of the arithmetic operations except the move.
This field must be defined as a number. This must have been done
in defining the data fields in SCREEN ADD or SCREEN UPDATE.
FIELD NAME OR CONSTANT:
This prompt can be answered with either a field name of a number
or a constant. Constants are prefixed with "#", immediately followed by a
number. This number may contain a sign and a decimal point. If there are
restrictions on the receiving field (unsigned integers cannot contain a
sign) they may be given values which you don't expect. All constants will
be placed in double floating point storage format and the operation will
be carried out in double floating point format prior to being stored in
the receiving field.
An example of an operation which results in an unexpected answer
would be an INTEGER which initially contains the number 37,767. If one (1)
is added to this number it will become -1. Recall that 37,767 is the
largest value which can be stored in an INTEGER storage type.
page 114
EXAMPLE COLUMN SUBTRACT:
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 1 {E}
FIELD NAME TO SUBTRACT FROM? gross {E}
FIELD NAME OR #number TO SUBTRACT? net {E}
page 115
EXAMPLE COLUMN MULTIPLY:
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 2 {E}
MULTIPLY RECEIVING FIELD NAME? gross {E}
FIELD NAME OR #number TO MULTIPLY? #2 {E}
page 116
EXAMPLE COLUMN DIVIDE:
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 3 {E}
DIVIDE RECEIVING FIELD NAME? gross {E}
FIELD NAME OR #number TO DIVIDE WITH? dependnt {E}
page 117
EXAMPLE COLUMN MOVE:
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? name {E}
FILE NAME? filename {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 4 {E}
FIELD NAME TO MOVE TO? fica {E}
FIELD NAME OR #number TO MOVE? gross {E}
The answer to the last prompt on each of the above screens may be
either a field name or a number prefixed by # (for example, "#100" would
represent the numeric value "100"). In equation form the numeric
operations are:
ADD gross = gross + 20.50
SUBTRACT gross = gross - net
MULTIPLY gross = gross * 2
DIVIDE gross = gross / dependnt
MOVE fica = gross
page 118
STEP BY STEP EXAMPLE:
As an example, we have a screen painting which looks like
NAME AND AMOUNT FILE
NAME ______________________________
AMOUNT _______
where the storage type for "AMOUNT" is floating point. Several rows (i.e.
records) might look like
0) SMITH, JIM 643.35
1) SMITH, MARY 744.62
2) SMITH, NORMAN 1473.11
If we add "50" to "amt" by specifying "add" to field name "amt"
#50, the information in the three records would now contain
0) SMITH, JIM 693.35
1) SMITH, MARY 794.62
2) SMITH, NORMAN 1523.11
NOTE: Any fields named in COLUMN ARITHMETIC must be declared as a numeric
storage type. The numeric storage types are UNSIGNED INTEGER, INTEGER,
LONG INTEGER, FLOATING POINT and DOUBLE FLOATING POINT. These storage
types are discussed, in depth, in the SCREEN ADD section. You should also
be aware of the limitations of the storage types, because you will not be
notified if the result of an arithmetic operation cannot be stored back
into the receiving field.
page 119
ERRORS:
Errors which may occur with COLUMN ARITHMETIC are displayed at the
bottom of the screen when they occur and are
name FIELD NOT FOUND
for invalid field names entered in answer to the prompts.
INVALID NUMERIC VALUE
where a number (i.e. not a valid field name) was entered in answer to the
last prompt on the screen which contained non-numeric characters. The
numeric character set is "0123456789.-".
ONLY NUMERIC FIELDS MAY BE USED
is displayed when the answer to either of the last two prompts on the
screen is the name of a field which is not a numeric storage type.
name NOT FOUND
if the field name entered is not on file.
filename - FILE NOT PRESENT
is displayed if the file named is not found in the current or specified
directory.
page 120
FILE NOT CREATED WITH THIS SCREEN
is displayed if the file size is not an even multiple of the record layout
associated with the screen painting.
DIVIDE BY ZERO NOT ALLOWED
is displayed if an attempt is made to divide a field by a constant zero.
If a divide by zero takes place between two fields, the result will be no
change in the values on file.
If none of the above errors are detected, the designated operation
will be performed and the following message will be displayed upon return
to the menu screen.
n RECORDS IN FILE, n UPDATED.
where any discrepancy in the two numbers represents the number of records
marked as deleted.
page 121
APPEND FILE
The APPEND FILE function is used to tack one file to the end of
another. The reason this function was implemented in the WILKES DATABASE
was to piece together sorted files which required more than one sort pass.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 8 {E}
FILE TO APPEND TO? filename {E}
FILE TO APPEND? littlefile {E}
FILE TO APPEND TO:
The name of a OS2 file which already exists. This file will have
all the information originally in the file plus all the information from
the "FILE TO APPEND" file. The second file is appended to the end of this
file.
page 122
FILE TO APPEND:
The name of the OS2 file which is to be appended to the end of the
"FILE TO APPEND TO" file.
GENERAL:
There are no checks on whether the files use the same screens or
not. If you are unsure of whether the two files contain the same kinds of
records (i.e. they use the same screen), then you should copy the first
("FILE TO APPEND TO?") file to another name using the DATA COPY, before
doing the APPEND FILE. If you find that the records are not the same after
the APPEND FILE is accomplished, you can copy the good version back to the
original file name.
In the example menu screen input above, "filename" is the name of
the file to which "littlefile" will be appended. All of the records of the
file "filename" will preceed the records of "littlefile" and the records
will be in the same order as they appear in the original files.
PROMPT ERRORS:
Possible error messages which show up at the bottom of the screen
are
filename - FILE NOT FOUND
if either of the two files is not found in the current directory or the
directory specified within the file name.
page 123
FILE APPENDED TO ITSELF IS DISALLOWED
if the same file name was given for both the "FILE TO APPEND TO?" and the
"FILE TO APPEND?". If you wish to accomplish the same thing, copy the file
to another name and use the two differently named copies of the same file
to append one to the other.
If no errors are detected, the following message will be displayed
at the bottom of the screen as you are returned to the menu screen.
filename APPENDED TO filename
It is not required that either of the two files be a product of
the WILKES DATABASE. You can append any file to another file, if you have
the room. Please use this ability responsibly.
INDEX CONSIDERATIONS:
The append function will not maintain index information. If the
file which had additional data appended to it was indexed, the additional
records at the end of the file will not have index information placed in
the index file. If you wish to maintain indexes on the entire file with
new additional records appended, you must delete the present indexes and
rebuild them.
page 124
INDEXING
Any file may be indexed by one or more fields for the purpose of
either 1) sorting a very big file by the indexed field or 2) arranging the
file being indexed so that it may be accessed from another file.
The indexing for sort is the trivial of the two cases, but if you
need to accomplish sorting a file which is too big for all of its keys to
be held in memory, you may do the following. Index the file on the field
which is to provide the sort order. Next, copy the file by the index using
the DATA COPY function. The new file will be in the ascending order of the
indexed field.
The main purpose of the INDEX function is to provide rapid access
by key value, to related records. For instance, if we have thousands of
records in which a state field occurs 10 times per record, we may reserve
room for the full state name, say 13 bytes to accomodate Massachusetts, or
we may use only 2 bytes for each state name, saving 11 bytes times 10 uses
of state per record, or 110 bytes per record. Saving 110,000 bytes per
1000 records. We can accomplish this with no loss of data, as we can set
up a file of the states, where the record consists of 1) state abreviation
and 2) state name (2 bytes + 13 bytes = 15 bytes/record times 50 states is
750 bytes for the file and much fewer for the index file. This process is
known as data reduction, where one thing is replaced by another thing, not
quite as big, but with no loss of information. The exact fashion in which
you get from the record in one file to the corresponding record in another
file will be explained below.
page 125
In addition to data reduction, you may wish to lay your files out
in such fashion that one field in file 'a' connects to several records in
file 'b'. For example, in the doctors office system described below, there
are any number of payment records for each patient. We wish to keep all of
the patients personal information in his patient record and all of his
payments in individual payment records. If we have account numbers in both
the patient records and the payment records and the payment records are
indexed on the account number, then we can access a patients payments if
we are looking at that patients patient record. We can establish a similar
access for the patient records to rapidly find a given patient record. If
we wish to find the patient record by patient name, we would index the
patient file by name. As a file may only be indexed on one field and last
name can be a poor matching criteria, when we are looking for J. J. Smith,
we will use a (hopefully) better match mechanism - the first three letters
of the last name followed by the first and middle initials. This requires
five additional characters in each patient record and requires additional
input to get the information into the record, so it has to pay off in some
way, i.e. the speed of information retrieval must be improved enough to
make it worth entering the additional data. A third screen will be painted
to be used as a lookup only screen. It will contain only two fields, each
of which can be used to look up either the patient record or the payment
records. For a continuation of this system see the DOCTORS OFFICE SYSTEM
below.
The indexed files can serve as tables to validate information that
is being entered into records in another file, before the records are sent
to disk. In the example with the state file above, we may validate the
page 126
two character code used to represent the state by performing a lookup on
any state for which we were not sure of the abreviation. This we would do
by entering the abreviation, then performing the indexed lookup. If there
are no matching records (and our state table is complete), we have entered
an erroneous state abreviation. If the indexed lookup returns information
for a state other than the one which we wanted to see, we have a pretty
good idea that what we entered was wrong. At this point we may wish to see
a printout of the state name file, so we don't have to guess on the next
attempt.
There are undoubtedly many other uses for the indexed lookup which
I have not thought of. The use you put it to may be totally unique, having
absolutely nothing to do with the abovementioned uses, so we will get into
how the indexing is accomplished.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? y {E}
page 127
The above prompt answers will show you the indexes which have been
previously set up. The four pieces of data on each index is 1) the screen
defining the data records, 2) the field on which the file was indexed, 3)
the OS2 file name of the data file which is indexed and 4) the OS2 file
name of the file containing the index keys for this index. If all of the
index information cannot fit on one screen, you will have to hit a key to
carry you from one screen full of indexes to the next and back to the menu
screen.
If you had hit n(no) at the prompt above, additional questions are
asked, so the screen looks like the following.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? scr-name {E}
FILE NAME? fil-name {E}
FIELD NAME? fld-name {E}
INDEX FILE NAME? fil-name.ix {E}
BUILD (b) OR DELETE (d)? b {E}
page 128
SCREEN NAME:
If the screen to be used here is the same as the last screen name
entered in any of the menu screen selections then you may enter an
asterisk (*) here for that screen name. If a screen name is entered here
then this screen name will be remembered as the last screen name for
future use in an abreviated form with the asterisk.
FILE NAME:
The file specified here must be a OS2 file which already exists in
the OS2 directory. This is the file to be indexed.
If the file name to be used here is the same as the last file name
entered in any of the menu screen selections then you may abreviate the
file name by entering an asterisk (*). If a file name is entered here then
this file name will be remembered as the last file name for future use in
an abreviated form with the asterisk.
FIELD NAME:
The field name is the name of the field upon which we are to index
the file. This means we will place the values for this field from each of
the FILE NAME file records into the INDEX FILE NAME file ordered in such a
way that we can find any value rapidly.
INDEX FILE NAME:
This will be OS2 file name for the file containing the index keys
whose values are determined by the "field name" above. This file will be
added to and deleted from automatically by the DATA ADD and DATA UPDATE
functions.
page 129
BUILD OR DELETE:
If build is requested, the data file will be processed to extract
the index (key) field contents to be placed into the index file. The index
control information is placed into the SCREEN.LPT file at this time and is
later used when records are added to or deleted from the indexed data file
so we can keep up with the additional keys or delete the keys associated
with deleted records.
If delete is requested, the index file will be deleted and the
index control information retained in the SCREEN.LPT file will be erased.
If you get the following fatal error message
INDEX FILE ERROR, PLEASE RE-INDEX
you will need to delete the index before re-building it.
ERRORS:
Errors which may occur while using the INDEX function are shown at
the bottom of the screen when they occur and are
name NOT FOUND
if the screen name or the field name entered is not on file.
FILE NOT CREATED WITH THIS SCREEN
is displayed if the file size is not an even multiple of the record layout
associated with the screen painting.
page 130
MAXIMUM NUMBER OF INDEX FILES ALREADY DEFINED
will be displayed if the maximum of fifty (50) indexes already exists.
INDEX FOR screen-name, field-name, file-name ALREADY EXISTS
when an attempt is made to index a file on a field which has already been
indexed.
NO INDEX FOR screen-name, field-name, file-name, IX ix-file-name.
if an attempt was made to delete an index which did not exist. Note that
the presence of an index file is not sufficient to constitute indexing. We
must also have the index controls in the SCREEN.LPT file, which is only
built when we build an index with the INDEX function.
If none of the above errors are detected, the designated operation
will be performed and one of the following messages will be displayed upon
return to the menu screen.
n RECORDS IN FILE, n INDEXED.
where any discrepancy in the two numbers represents the number of records
marked as deleted.
or
IX DELETED - screen-name, field-name, file-name, IX ix-file-name.
if the request was to delete the index.
page 131
INDEXED LOOKUP:
The indexed lookup can be accomplished with the DATA UPDATE, DATA
ADD and the manual DATA COPY functions.
The field at which the cursor rests when Alt F3 keys are entered
is taken to be the field to base the indexed lookup on. If the name of
this field is the same as any field which has been previously indexed, the
file with which the field is associated is a candidate for indexed lookup.
If there is only one candidate, an attempt is made to find a key equal to
the field under the cursor. In order to have a match, the fields must be
defined in the same way (ex. if one is defined as character data of length
seven bytes, then the other must also be character data and be seven bytes
in length).
If there are more than one candidate for the lookup, they will be
displayed one at a time at the bottom of the screen until you either "use"
one or the list of candidates is exhausted. The information listed at the
bottom of the screen is
F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
If one of the displays is picked (F1) or there is only one candidate to be
considered, the search for an equal field value in the "file-name" file is
carried out. If a match is located, the matching record will be displayed
using its own "screen-name" screen painting.
If no matching key is located the following will be displayed at
the bottom ot the screen:
NO MATCH FOUND. CREATE BLANK RECORD(y or n)?
page 132
which may only be answered with a n(no) or y(yes). If the answer is yes
a blank record will be added with the key field only filled in. If there
are checks to be made on the data those checks will not be made here. If
the key was successfully added and the keys of both files were defined in
exactly the same way, the added record will appear on the screen in order
that additional information can be filled into the other fields. If the
question "CREATE BLANK RECORD?" is answered with n(no) then you will be
returned to the record on which you were working when the index lookup
request was made.
After locating one matching key, you can accomplish several tasks:
1) Add a new record to the file whose record is displayed. Alt-F1.
2) Update the displayed record. F1.
3) Find the next matching record in the file. F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
4) Find the previous matching record in the file. Shifted-F2.
If none, you will be returned to the record displayed prior to
the indexed lookup.
5) Print the displayed record. Shifted-F2.
6) Delete the displayed record. Shifted-F9.
7) Do another indexed lookup (max depth is ten). Alt-F3.
page 133
The function keys which may be used inside the indexed lookup are:
F1 - update the record.
F2 - display the next record.
Shifted F2 - display the previous record.
Shifted F9 - delete record.
Shifted F10 - Exit level - return to record lookup performed from.
Alt F1 - add the record.
Alt F3 - perform indexed lookup.
INDEXED LOOKUP ERRORS:
As you move from one file to another, there is information which
must be retained. If you move from file "a" to file "b" and from file "b"
to file "c" before returning to file "a", an additional set of information
must be retained. For reasons of limited memory you will be allowed to go
to a maximum depth of ten file-to-file movements before the message
MAXIMUM INDEX DEPTH EXCEEDED
is returned at the bottom of the screen. Any time you move back to a file
at a previous level without using the index lookup (i.e. automatically),
the depth at which you are working is reduced by one. This restriction of
depth of ten should not hamper you in any real way with properly designed
systems.
page 134
EXAMPLE FILE USAGE
The Wilkes database can be used to set up and maintain virtually
any single file database requirements. The following pages will be example
systems, in their entirety, showing the various applicable functions built
into the Wilkes database. The example systems are
1) Name and Address file.
2) Checkbook system.
page 135
NAME AND ADDRESS FILE
This is probably the simplest of the useful database types and one
which is probably useful to everyone who has to keep up with names and
addresses for a company, at home or wherever.
We have decided the data which we will keep in our database will
consist of a name, one line of address, city, state, zip code with all 9
digits, both a home and a work phone number with area codes, relationship
with the person (or business), his and her birthday (for couples) and the
anniversary (again for couples) and the names and birthdays of up to six
of his/her/their children. If we need to add more information later, we
can do so, but for now this is all the information we forsee keeping.
We will first do the screen painting for all this information. You
may arrange the information on the screen in whatever fashion you wish. We
came up with the following.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? a {E}
SCREEN NAME? addr {E}
page 136
name SCREEN - ATTRIBUTES DEFINITION
USE ALIEN FILES? n {E}
BLINK FIELDS IN ERROR? y {E}
0 - REVERSE VIDEO
1 - HIGHLIGHT
2 - UNDERSCORE
3 - HIGHLIGHT AND UNDERSCORE
? 2 {E}
ADDRESS FILE
Name: ______________________________
Address: ______________________________
City: ____________________
State: __
Zip: _____-____
Phone - Home: (___)___-____
Work: (___)___-____
--------------------------------------------------------------
Relationship: _______________
Birthday - His: ____________________
Her: ____________________
Anniversary: ____________________
Children: ____________________ Birthday: ____________________
____________________ ____________________
____________________ ____________________
____________________ ____________________
____________________ ____________________
____________________ ____________________
page 137
We introduced the line of dashes (not underscores) below the phone
number for work to separate the "get in touch with" data from the general
information data.
The following screens are the questions and answers after F1 was
pressed (denoting the screen painting is ready to be stored).
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Name: ______________________________
==========================================================================
FIELD NAME? name {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 138
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Address: ______________________________
==========================================================================
FIELD NAME? addr {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
City: ____________________
==========================================================================
FIELD NAME? city {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 139
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
State: __
==========================================================================
FIELD NAME? state {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Zip: _____-____
==========================================================================
FIELD NAME? zip {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 140
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Zip: _____-____
==========================================================================
FIELD NAME? zip-ext {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Phone - Home: (___)___-____
==========================================================================
FIELD NAME? home-1 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 141
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Phone - Home: (___)___-____
==========================================================================
FIELD NAME? home-2 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Phone - Home: (___)___-____
==========================================================================
FIELD NAME? home-3 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 142
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Work: (___)___-____
==========================================================================
FIELD NAME? work-1 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Work: (___)___-____
==========================================================================
FIELD NAME? work-2 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 143
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Work: (___)___-____
==========================================================================
FIELD NAME? work-3 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Relationship: _______________
==========================================================================
FIELD NAME? relative {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 144
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Birthday - His: ____________________
==========================================================================
FIELD NAME? bday-his {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Her: ____________________
==========================================================================
FIELD NAME? bday-her {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 145
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Anniversary: ____________________
==========================================================================
FIELD NAME? marriage {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Children: ____________________ Birthday: ____________________
==========================================================================
FIELD NAME? child-1 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 146
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
Children: ____________________ Birthday: ____________________
==========================================================================
FIELD NAME? birth-1 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? child-2 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 147
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? birth-2 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? child-3 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 148
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? birth-3 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? child-4 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 149
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? birth-4 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? child-5 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 150
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? birth-5 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? child-6 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 151
addr SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
____________________ ____________________
==========================================================================
FIELD NAME? birth-6 {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 2 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
At this point we have defined all of the fields painted onto the
screen, so we are returned to the menu screen with the message
addr ADDED
showing at the bottom of the screen.
We now have the screen defined and are ready to create a data file
and place our names and addresses into it. This is done by using the DATA
ADD function.
page 152
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 1 {E}
SCREEN NAME? addr {E}
FILE NAME? addr {E}
FILE NOT PRESENT. CREATE? y {E}
Since the screen name is internal to the WILKES DATABASE and the
file name is stored external to the WILKES DATABASE the screens and files
may have the same name. As soon as the enter key is pressed the DATA ADD
screen which we painted with the SCREEN ADD function will appear on the
screen.
page 153
ADDRESS FILE
Name: ______________________________
Address: ______________________________
City: ____________________
State: __
Zip: _____-____
Phone - Home: (___)___-____
Work: (___)___-____
--------------------------------------------------------------
Relationship: _______________
Birthday - His: ____________________
Her: ____________________
Anniversary: ____________________
Children: ____________________ Birthday: ____________________
____________________ ____________________
____________________ ____________________
____________________ ____________________
____________________ ____________________
____________________ ____________________
We fill out this screen with the desired data and press the F1 key
and repeat the process several times. When we are finished entering data
we press the F2 key (just after the last F1) and are returned to the menu
screen. We now have our names and addresses in the file "addr" and we now
want a listing of all of our names and addresses. The screen contains more
data than we want to see on a quick reference list so we select the items
page 154
which we want to see on the printed listing. The name, address, city,
state, zip code and home phone number. We have determined that these
fields will fit on a 132 column line. We did this by the use of a ruler
and a pencil and laying out the information as it will appear on the 132
columns.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 4 {E}
SCREEN NAME? addr {E}
FILE NAME? addr {E}
This will get us to the next screen, which is the PRINT FORMAT
screen, with the knowledge of what the record layout looks like and the
file we are to list.
page 155
PRINT FORMAT
REPORT NAME? addr.rpt
NEW SPECIFICATIONS? y SAVE SPECIFICATIONS? y
COLUMNS/LINE? 132 LINES/PAGE? 66
HEADER? y #HEADER LINES? 7
DETAIL? y #DETAIL LINES? 1
PAGE BREAKS ON FIELD CHANGE?
TOTALING? SUBTOTALING?
PRINT DATE? y HEADER LINE #? 3
COLUMN #? 7
PRINT TIME? y HEADER LINE #? 4
COLUMN #? 7
PRINT PAGE #? y HEADER LINE #? 3
COLUMN #? 115
PRINT RECORD #? DETAIL LINE #?
COLUMN #?
OMIT BLANK DETAIL LINES? y
The PRINT FORMAT screen shows that we wish to establish a report
"addr.rpt" which is new and we wish to save the report. The listing will
be on 132 columns/line and 66 lines/page. There will be 7 heading lines to
paint and one detail line to paint. We wish the system date, time and the
page number to print in the heading lines. If we have blank records they
are not to print ("OMIT BLANK DETAIL LINES?" is y(YES)).
When we press F1 to go on to the HEADER LINES screen we will see
a blank screen except for the name of this screen "HEADER LINES:" located
on line 2 of the screen. The cursor positioning is used to get from line
to line and paint the header lines which appear on REPORT 1 at the end of
this section.
page 156
HEADER LINES:
ADDRESS FILE
Date: MO/DA/YR
Page: nnnnnn
Time: HR:MN
Name Address City
State Zip Phone
We have the header line filled out now. Note that each print line
requires two screen lines to paint. If we were working with an 80 column
print line we could have one print line for each screen line. Reports may
take up to 3 screen lines, where you ask for more than 160 columns/line.
After pressing the F1 key we will see another empty screen except for the
heading "DETAIL LINES:" on the second line of the screen. We will paint in
the single detail line as follows.
DETAIL LINES:
- ( ) -
The dashes in the detail line are used to separate the first five
digits of the zip code from the last four and to separate the first three
digits of the home phone number from the last four digits. The parentheses
are to surround the telephone area code.
When we again press the F1 key we will see following screen with
none of the data filled in except the field names on the left. We add the
desired print positioning data and we have
page 157
NAME P T S SL PB L#/Col L#/Col L#/Col L#/Col L#/Col
name y 1 1
addr y 1 32
city y 1 64
state y 1 85
zip y 1 92
zip-ext y 1 98
home-1 y 1 104
home-2 y 1 108
home-3 y 1 112
work-1
work-2
work-3
relative
bday-his
bday-her
marriage
child-1
birth-1
child-2
birth-2
child-3
birth-3
child-4
birth-4
child-5
birth-5
child-6
birth-6
FIELD LENGTH IS 30
page 158
The field length message at the bottom of the screen is shown as
if the cursor was on the first detail line (as it is when this screen is
first displayed).
Although all of the lines above will not fit on the screen at the
same time, the screen functions as though they were. Lines will be rolled
on and off the screen as necessary. The first and last line of the screen
will be displayed until this screen is exited. From here simply press the
F1 key and get our listing.
When the listing comes out (see REPORT 2 at end of section), we
see that it is not in sorted order. We will now use the DATA SORT to sort
the file into name order.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 6 {E}
SCREEN NAME? addr {E}
FILE NAME? addr {E}
NEW FILE NAME? addr.srt {E}
FIELD NAME? name {E} f - FORWARD, r - REVERSE? f {E}
page 159
After entering f(FORWARD) we press the F1 key to tell the DATA
SORT function that the field named "name" is the only field to sort on.
Now that the records are sorted we are again ready to list out the
file. We must now use the file named "addr.srt" as it is the sorted file.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 4 {E}
SCREEN NAME? addr {E}
FILE NAME? addr.srt {E}
When the PRINT FORMAT screen comes up we will enter only the name
of the report "addr.rpt", which we saved earlier, and an n(NO) in response
to "NEW SPECIFICATIONS?". The other fields we ignore and press the F1 key
5 times. Our report (see REPORT 3 at the end of this section) prints out
in sorted order.
After doing all this work we decide to call up old Jim Smith, just
to have a chat on the phone. Since our name and address file is in sorted
order we chose to use the DATA DISPLAY/UPDATE function to look up his name
and phone number.
page 160
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 3 {E}
SCREEN NAME? addr {E}
FILE NAME? addr.srt {E}
For screen name and file name we actually entered "*"'s because we
knew that "addr" and "addr.srt" were the last screen name and file name we
had used. The asterisks were converted to the screen and file names as
soon as we hit the enter key.
When the first screen of data pops up we hit the F10 key to go to
the end of the file and work our way back to Smith with shifted F2's and
we print it out because we want to. To print Jim Smith's record we press
the Alt F2 keys, while Jim's record is displayed on the screen.
page 161
ADDRESS FILE
Name: Smith, Jim
Address: 23 St.
City: NYC
State: NY
Zip: 99999-
Phone - Home: ( )555-1212
Work: ( ) -
--------------------------------------------------------------
Relationship: Mary's hubby
Birthday - His: December 25
Her:
Anniversary: April 15
Children: Ephraim Birthday:
Zeak
page 162
CHECKBOOK SYSTEM:
We will now put together a system to take care of checkbooks. We
have certain requirements to accomplish some certain ends. These ends are
1) Storage of the deposits, checks, automatic deductions and service fees,
2) A means of distinguishing between the items in 1),
3) The ability to distinguish between the items in 1) which have shown up
on statements and which have not. This implies the ability to balance
the checkbook to a statement,
4) The ability to extract from the database a certain type of expense and
report on that expense type only,
5) Report of the various information from our database, including present
balance.
These ends we shall accomplish in the following way. When we add
the screen called "checks" it might look like the following painting.
page 163
MY CHECKING ACCOUNT
DATE: __/__/__
DEPOSIT(d),CHECK(c),AUTOMATIC DEDUCTION(a),SERVICE FEE(f): _
#: ______
TO: ______________________________
FOR: ______________________________
CREDIT: __________ DEBIT: __________
ON STATEMENT(*): _
__________
Where the meaning of the fields are
1) DATE contains the transaction date (month/day/year),
2) d, c, a or f will distinguish the type of transaction,
3) # is the check number or some identifying number for the transaction,
4) TO is the person or firm to whom the check is made out,
5) FOR serves the same purpose as in a checkbook,
6) CREDIT will contain the money amount associated with the transaction
type DEPOSIT,
7) DEBIT will contain the money amounts associated with the transaction
types CHECK, AUTOMATIC DEDUCTION and SERVICE FEE,
8) ON STATEMENT will contain an asterisk (*) if the transaction has been
on a statement.
page 164
9) The last field contains no description and will not show on our screen.
This field is used only to do additions and subtractions, similar to
the way you would use your checkbook, but without all the work. This is
referred to below as the "total" field.
Separating Credits from Debits keeps us from worrying about debit
amounts being negative. If you don't like double entry checkbooks, which
is the type we are simulating you can replace the CREDIT/DEBIT line of the
painting with a single entry AMOUNT and use negative numbers where money
is being taken out of the account. If you alter the painting to use single
entry, you can also do away with the "total" field and all considerations
associated with the "total" field below.
The following describes the way the data is stored and the names
of the fields as they are to be used later with the Wilkes database.
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
DATE: __/__/__
==========================================================================
FIELD NAME? month {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 1 {E} ? 3 {E}
FIELD REQUIRED? y {E} COPY FIELD DURING ADD? n {E}
page 165
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
DATE: __/__/__
==========================================================================
FIELD NAME? day {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 1 {E} ? 3 {E}
FIELD REQUIRED? y {E} COPY FIELD DURING ADD? n {E}
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
DATE: __/__/__
==========================================================================
FIELD NAME? year {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 1 {E} ? 3 {E}
FIELD REQUIRED? y {E} COPY FIELD DURING ADD? n {E}
page 166
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
DEPOSIT(d),CHECK(c),AUTOMATIC DEDUCTION(a),SERVICE FEE(f): _
==========================================================================
FIELD NAME? type {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 3 {E}
FIELD REQUIRED? y {E} COPY FIELD DURING ADD? n {E}
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
#: ______
==========================================================================
FIELD NAME? number {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 3 {E} ? 3 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 167
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
TO: ______________________________
==========================================================================
FIELD NAME? to {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 3 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
FOR: ______________________________
==========================================================================
FIELD NAME? for {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 3 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
page 168
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
CREDIT: __________ DEBIT: __________
==========================================================================
FIELD NAME? credit {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 5 {E} ? 3 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
CREDIT: __________ DEBIT: __________
==========================================================================
FIELD NAME? debit {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 5 {E} ? 3 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
page 169
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
ON STATEMENT(*): _
==========================================================================
FIELD NAME? on stmt {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 0 {E} ? 3 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
checks SCREEN - FIELD DEFINITIONS AND ATTRIBUTES
==========================================================================
__________
==========================================================================
FIELD NAME? total {E}
0 - CHARACTER DATA DISPLAY ATTRIBUTES
1 - UNSIGNED INTEGER 0 - REVERSE VIDEO
2 - INTEGER 1 - HIGHLIGHT
3 - LONG INTEGER 2 - UNDERSCORE
4 - FLOATING POINT 3 - HIGHLIGHT AND UNDERSCORE
5 - DOUBLE FLOATING POINT 4 - INVISIBLE
? 5 {E} ? 4 {E}
FIELD REQUIRED? n {E} COPY FIELD DURING ADD? n {E}
NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
page 170
My checkbook doesn't actually need the precision used for credits
and debits above (DOUBLE FLOATING POINT), but just in case someone does we
have used DOUBLE rather than simply FLOATING POINT. As the same value is
given for DATA DISPLAY ATTRIBUTES for all fields (except "total") we could
have made this a default by entering HIGHLIGHT AND UNDERSCORE as a screen
attribute (as opposed to field attribute), and press the enter key as a
default for all but the "total" field, which we have requested to be an
invisible field.
We now have a way to enter the data for our checkbook system. When
we enter data we must skip over the invisible "total" field as the DATA
ADD, DATA LOOKUP/UPDATE and DATA DISPLAY/UPDATE functions will move the
cursor to this field as it does to all other fields. Entering data into
this field will not harm anything because of the procedures we will use to
give a value to the "total" field just before printing a report.
COLUMN ARITHMETIC
There are is some arithmetic which must be done to get the proper
numbers into the total field, in order to total the "total" field and show
this as the current balance. With the debits representing positive money
amounts and the credits representing negative money amounts we can
1) move the debits field to the "total" field,
2) multiply the "total" field by -1 to make the amount negative,
3) add the credit field to the "total" field.
This will be accomplished by use of COLUMN ARITHMETIC as follows.
page 171
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? checks {E}
FILE NAME? checkbook {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 4 {E}
FIELD NAME TO MOVE TO? total {E}
FIELD NAME OR #number TO MOVE? debit {E}
page 172
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? checks {E}
FILE NAME? checkbook {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 2 {E}
MULTIPLY RECEIVING FIELD NAME? total {E}
FIELD NAME OR #number TO MULTIPLY? #-1 {E}
page 173
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 7 {E}
SCREEN NAME? checks {E}
FILE NAME? checkbook {E}
0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 0 {E}
FIELD NAME TO ADD TO? total {E}
FIELD NAME OR #number TO ADD? credit {E}
After these three arithmetic operations the "total" field will
contain a value as if the credit/debit had been entered as a single number
with credits being negative and debits being positive. What we have gained
is the ability to total credits and debits separately on our reports.
REPORTS
The length of the various fields is such that we need to print our
reports on wide paper or with condensed print to get all the information
on a single line. We could print two lines of detail for each record but
this is not necessary if our printer is capable of printing condensed or
on wide paper. The following will reflect printing on 132 columns.
page 174
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 4 {E}
SCREEN NAME? checks {E}
FILE NAME? checkbook {E}
PRINT FORMAT
REPORT NAME? checks.rpt
NEW SPECIFICATIONS? y SAVE SPECIFICATIONS? y
COLUMNS/LINE? 132 LINES/PAGE? 66
HEADER? y #HEADER LINES? 5
DETAIL? y #DETAIL LINES? 1
PAGE BREAKS ON FIELD CHANGE? y
TOTALING? y SUBTOTALING? y
PRINT DATE? y HEADER LINE #? 1
COLUMN #? 7
PRINT TIME? y HEADER LINE #? 2
COLUMN #? 7
PRINT PAGE #? y HEADER LINE #? 1
COLUMN #? 125
PRINT RECORD #? DETAIL LINE #?
COLUMN #?
OMIT BLANK DETAIL LINES?
page 175
HEADER LINES:
DATE: MO/DA/YR MY CHECKING REPORT
PAGE: nnnnnn
TIME: HR:MN
DATE # TO: FOR:
DEBIT CREDIT ON STMT TYPE
DETAIL LINES:
/ /
NAME P T S SL PB L# Col L# Col L# Col L# Col L# Col
month y 1 1
day y 1 3
year y 1 5
type y 1 115
number y 1 9
to y 1 16
for y 1 47
credit y y 1 78
debit y y 1 89
on stmt y 1 105
total y
page 176
We can use this report to print out the entire checkbook database
or to report on a portion of the database. When we wish to balance to the
statement, we can use DATA COPY to copy all records containing an asterisk
in the "on stmt" field (we have to be sure to keep the field updated) into
a new file and report on that file. This file should balance to the ending
balance for the statement.
page 177
EXAMPLE SYSTEM USAGE
The Wilkes database can be used to set up and maintain virtually
any multi-file database requirements. The following pages will be example
systems, in their entirety, showing the various applicable functions built
into the Wilkes database. The example system is
Doctor's Office System
page 178
DOCTOR'S OFFICE SYSTEM
PATIENT RECORD:
This system is meant only as a representation of a doctor's office
system. I have not made a case study of a doctor's office to arive at the
system design which follows. There should be enough recognisable concepts
in this design to modify it to a real doctor's office system by someone in
the doctor's office environment.
Any system covering the doctor's office should retain information
on patients. There are certain basic almost invariant pieces of data that
all doctors keep on their patients. The following is a list of the itmes
which fall into this category of not changing very often.
1) Patient's name.
2) Sex.
3) Race.
4) Blood type.
5) Height.
6) Color of Eyes.
7) Birthday.
8) Social Security Number.
9) Phone Number.
10) Address.
11) Occupation.
12) Employer.
13) Spouse' Name.
page 179
14) Spouse' Occupation.
15) Spouse' Employer.
16) Insurance Company.
17) Policy Number.
18) Regular Doctor.
19) Religion Code.
20) Yes/no list of questions/history.
In addition to this information, we will keep an additional piece
of information in order to lookup the patient rapidly in this patient file
knowing only the name. We wish to keep the name separated into the three
fields (first name, middle name and last name) and we know that a looking
up the patient by last name (since we can lookup on only one field at a
time) would not be practical if we had a lot of Smith's. We also know that
any variation in the last name will occur within the first three character
positions. We can reduce the number of possible matches by adding in the
first and middle initials. We now have the name lookup field
21) First three letters of last name, first and middle initials.
We will also assign a patient number to each patient in order to
separate accounts by patient.
22) Patient Number.
Notice that field 19) is Religion Code, instead of Religion. This
is so we can use the Religion Code to lookup information on the Religion,
since the information on a given religion is the same no matter who the
patient is. We will also wish to retain data on each doctor and be able
to access the doctor's record from the patient record.
page 180
A doctor's office has to deal with insurance companies a lot and
there is probably a good reason to retain data relevant only to insurance
companies.
Indexes will be built for the following fields
IX1) Social Security Number (field 8)
IX2) Five Letter Name Code (field 21)
IX3) Patient Number (field 22)
which means that we can find the patient record if we have any one of the
three pieces of information.
PATIENT VISIT RECORD:
As the information in the patient record reflects information that
changes infrequently if at all, the patient visit record will contain the
information which changes each time the patient visits the office.
1) Date of visit.
2) Doctor seen.
3) Weight.
4) Blood Pressure.
5) Reason for visit.
6) Diagnosis and/or Remarks.
7) Some reasonable number of Prescriptions.
8) Charge for visit.
9) Payment Date.
10) Payment Amount.
page 181
In addition to this date we need another field to allow us to
access these records. We will use the Patient Number field to locate this
record and it will be an indexed field.
11) Patient Number.
IX1) Patient Number.
DOCTOR RECORD:
We need very little informtation on the doctor here. The purpose
of this file is to validate the doctor information entered for the patient
and to keep some basic data.
1) Doctor's Last name.
2) Doctor's First and Middle names.
3) Days of Week in office.
4) Phone Number.
5) Beeper Number.
6) Address.
The Doctor's record will be indexed on the Doctor's Last name, so
the doctor field in the Patient and Patient Visit records is the doctor's
last name.
IX1) Doctor's Last name.
page 182
RELIGION RECORD:
The religion record is the location for medical considerations of
the religion. If a religion forbids the treatment of certain medical ills,
for instance, that information would be kept here. The record contains
1) Religion.
2) Religion code.
3) Remarks.
This record will be indexed on the religion code.
IX1) Religion code.
INSURANCE CO. RECORD:
The Insurance Co. record is the location of the information about
the insurance company.
1) Insurance Co. Name.
2) Address.
3) Contact Name.
4) Phone Number.
5) Rating.
The Insurance Co. record will be indexed on
IX1) Insurance Co. Name.
page 183
DRUG INTERACTION RECORD:
This record consists of three fields; the drug being queried, the
drug with which it interacts, and a comment field.
1) Drug.
2) Drug.
3) Comment.
This record is indexed on the drug field (1)).
IX1) Drug.
These records are not directly associated with any other records,
but may be looked up to check on any drug which is on file. If this data
is used at all, there should be a thorough check periodically to validate
the information and updates with new information.
SYSTEM SCREEN PAINTINGS:
In order to avoid the lengthy lookups associated with the DATA
LOOKUP/UPDATE we will have a system screen which will allow us to find any
record using the fields on which they are indexed. We will need all of the
fields refered to as index fields in the records above.
IX1) Social Security Number.
IX2) Five Letter Name Code.
IX3) Patient Number.
IX4) Doctor's Last name.
IX5) Religion code.
IX6) Insurance Co. Name.
IX7) Drug.
page 184
The screen painting for this record will be as shown below
Screen Name: system
DOCTOR'S OFFICE SYSTEM
_________ SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
All of the fields of this screen painting will have a storage type
of character except the patient number field, which will be a long number.
None of the fields are required, and none are to be copied during add, as
our purpose is not to add records with this screen, though we could and
more than likely will at some time. The file we are working with can be
deleted as a OS2 file and recreated with the Wilkes Database as the number
of records gets to be a resource drain.
The field lengths for this screen are:
page 185
FIELD NAME LENGTH STORAGE TYPE
ssn 9 character
namecode 5 character
pat_# 6 long
doctor 15 character
rel_code 2 character
ins_name 15 character
drug 20 character
This screen gives us rapid access to all of the records in the
Doctor's Office System. The rest of the screens associated with individual
files are shown below.
page 186
Screen Name: patient
PATIENT RECORD
PATIENT # ______ NAME EXTRACT: _____
PATIENT NAME: _______________,__________ __________ SEX: _ RACE: _
DATE OF BIRTH: __/__/__ BLOOD TYPE: __ EYES COLOR: _______
HEIGHT: _'__" PHONE #:(___)___-____ RELIGION: __
DOCTOR: _______________ SSN: _________
OCCUPATION: _______________ EMPLOYER: _______________
SPOUSE: _______________,__________ __________
OCCUPATION: _______________ EMPLOYER: _______________
ADDR: _________________________ _________________________
CITY: _______________ ST: __ ZIP: _____
INSURANCE CO. _______________ POLICY NUMBER: __________
MEDICAL HISTORY:
1. _ 2. _ 3. _ 4. _ 5. _ 6. _ 7. _ 8. _ 9. _ 10. _
11. _ 12. _ 13. _ 14. _ 15. _ 16. _ 17. _ 18. _ 19. _ 20. _
21. _ 22. _ 23. _ 24. _ 25. _ 26. _ 27. _ 28. _ 29. _ 30. _
31. _ 32. _ 33. _ 34. _ 35. _ 36. _ 37. _ 38. _ 39. _ 40. _
41. _ 42. _ 43. _ 44. _ 45. _ 46. _ 47. _ 48. _ 49. _ 50. _
51. _ 52. _ 53. _ 54. _ 55. _ 56. _ 57. _ 58. _ 59. _ 60. _
61. _ 62. _ 63. _ 64. _ 65. _ 66. _ 67. _ 68. _ 69. _ 70. _
71. _ 72. _ 73. _ 74. _ 75. _ 76. _ 77. _ 78. _ 79. _ 80. _
81. _ 82. _ 83. _ 84. _ 85. _ 86. _ 87. _ 88. _ 89. _ 90. _
91. _ 92. _ 93. _ 94. _ 95. _ 96. _ 97. _ 98. _ 99. _ 100._
page 187
The field descriptions for these fields are
FIELD NAME LENGTH STORAGE TYPE REQUIRED COPY DURING ADD
pat_# 6 long yes no
namecode 5 character yes no
pat_ln 15 character yes no
pat_fn 10 character yes no
pat_mn 10 character no no
sex 1 character yes no
race 1 character yes no
dob_mo 2 unsigned int yes no
dob_da 2 unsigned int yes no
dob_yr 2 unsigned int yes no
bld_type 2 character yes no
coloreye 7 character no no
ht_ft 1 unsigned int no no
ht_in 2 unsigned int no no
phn_area 3 unsigned int no yes
phn_xchg 3 unsigned int no no
phn_nbr 4 unsigned int no no
rel_code 2 character no no
doctor 15 character no no
ssn 9 character yes no
ocupatn 15 character yes no
employer 15 character yes no
spous_ln 15 character no no
spous_fn 10 character no no
spous_mn 10 character no no
page 188
spous_oc 15 character no no
spous_em 15 character no no
addr1 25 character no no
addr2 25 character no no
city 15 character no yes
state 2 character no yes
zip 5 character no yes
ins_name 15 character yes no
policy 10 character yes no
The medical history fields may have up to 8 character field names
and will have length = 1, storage type = character, required = no and copy
during add = no. We could have used some field description on the screen
which would have been more suggestive of what the field contained than the
number followed by a period, but they would take up more room also. Where
the number of questions is a good many fewer than 100, we would have room
to be more descriptive.
Screen Name: visit
PATIENT VISIT INFORMATION
PATIENT #: ______
DATE: __/__/__ WEIGHT: ___ BLOOD PRESSURE: ___/___
DOCTOR: _______________
COMPLAINT: ____________________________________________________________
DIAGNOSIS: ____________________________________________________________
PRESCRIPTION: ____________________ QTY: ____
CHARGE: $________ AMT. PAID: $________ DATE: __/__/__
page 189
FIELD NAME LENGTH STORAGE TYPE REQUIRED COPY DURING ADD
pat_# 6 long yes no
visit_mo 2 unsigned int yes no
visit_da 2 unsigned int yes no
visit_yr 2 unsigned int yes no
weight 3 unsigned int no no
bp1 3 unsigned int no no
bp2 3 unsigned int no no
doctor 15 character yes no
complain 60 character no no
diagnose 60 character no no
drug 20 character no no
qty 4 unsigned int no no
charge 8 double yes no
paid 8 double no no
pay_mo 2 unsigned int no no
pay_da 2 unsigned int no no
pay_yr 2 unsigned int no no
If more than one prescriptions or more than one payment date is
required, simply copy the record with the basic information, clear payment
and prescription fields and add the additional information. This means the
patient visit record may have continuation records (i.e. after finding one
patient visit record for a given day, continue looking at the file until a
patient visit record for another day is shown or there are no more records
for the lookup key).
page 190
Screen Name: doctor
DOCTOR INFORMATION
NAME: _______________,__________ __________
PHONE: (___)___-____ BEEPER: ___-____
ADDR: _________________________ _________________________
CITY: _______________ STATE: __ ZIP: _____
WORK WEEK: _ M _ TU _ W _ TH _ F _ SA _ SU
FIELD NAME LENGTH STORAGE TYPE REQUIRED COPY DURING ADD
doctor 15 character yes no
doc_fn 10 character no no
doc_mn 10 character no no
ph_area 3 unsigned int no no
ph_xchg 3 unsigned int no no
ph_num 4 unsigned int no no
bep_xchg 3 unsigned int no no
bep_num 4 unsigned int no no
addr_1 25 character no no
addr_2 25 character no no
city 15 character no no
state 2 character no no
zip 5 character no no
work_m 1 character no no
work_tu 1 character no no
work_w 1 character no no
work_th 1 character no no
work_f 1 character no no
work_sa 1 character no no
work_su 1 character no no
page 191
Screen Name: religion
RELIGION INFORMATION
RELIGION CODE: __
RELIGION: _________________________
REMARKS: ____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
FIELD NAME LENGTH STORAGE TYPE REQUIRED COPY DURING ADD
rel_code 2 character yes no
religion 25 character yes no
remark_1 60 character no no
remark_2 60 character no no
remark_3 60 character no no
remark_4 60 character no no
If additional remarks need to be made pertaining to a religion, we
can add another record with the same religion code and religion name. This
also means that we have continuation information for the religion records.
Any time we are looking for remarks specific to a religion, we cannot stop
after finding one record, but must instead, continue looking until no more
matching religion records are found or the religion field is different.
page 192
Screen Name: ins
INSURANCE INFORMATION
COMPANY: _______________
ADDR: _________________________ _________________________
CITY: _______________ STATE: __ ZIP: _____
CONTACT: _________________________ PNONE: (___)___-____
RATING: __
FIELD NAME LENGTH STORAGE TYPE REQUIRED COPY DURING ADD
ins_name 15 character yes no
addr_1 25 character yes no
addr_2 25 character no no
city 15 character yes no
state 2 character yes no
zip 5 character no no
contact 25 character no no
ph_area 3 unsigned int no no
ph_xchg 3 unsigned int no no
ph_num 4 unsigned int no no
rating 2 unsigned int no no
The rating field is just to have a way to readily tell how good an
insurance company has been to us, how helpful, etc. If we were more hyper
we could form a file of outstanding claims for each insurance company, but
this example system will be kept simple.
page 193
Screen Name: interact
DRUG INTERACTION
DRUG: ____________________ INTERACTS WITH: ____________________
COMMENTS: ____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
FIELD NAME LENGTH STORAGE TYPE REQUIRED COPY DURING ADD
drug 20 character yes no
drug_2 20 character yes no
coment_1 60 character no no
coment_2 60 character no no
coment_3 60 character no no
coment_4 60 character no no
Note that the name of the second drug, having a different name (as
it must), cannot be used as a lookup argument in the drug interaction file
as can the prescription drug in the patient visit record.
Again, let me note that this is only an example. Field lengths may
be different if you implement this system. The important things are how a
key piece of information will get you from a record in one file to another
record in a different file.
page 194
SYSTEM INDEXES:
We must set up indexes for the files above so that we may perform
indexed lookups on the various records. The information retained for each
index is 'screen name', 'field name', 'file name' and 'indexed file name'.
We will now give names to the files so we can set up the indexes.
SCREEN NAME FIELD NAME FILE NAME INDEX FILE NAME
patient ssn patient patient.ssn
patient namecode patient patient.nam
visit pat_# visit visit.pat
patient pat_# patient patient.pat
doctor doctor doctor doctor.doc
religion rel_code religion religion.cod
ins ins_name insuranc insuranc.nam
interact drug drugs drugs.drg
page 195
From the menu screen we can now set up the indexes.
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? patient {E}
FILE NAME? patient {E}
FIELD NAME? ssn {E}
INDEX FILE NAME? patient.ssn {E}
BUILD (b) OR DELETE (d)? b {E}
page 196
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? patient {E}
FILE NAME? patient {E}
FIELD NAME? namecode {E}
INDEX FILE NAME? patient.nam {E}
BUILD (b) OR DELETE (d)? b {E}
page 197
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? visit {E}
FILE NAME? visit {E}
FIELD NAME? pat_# {E}
INDEX FILE NAME? visit.pat {E}
BUILD (b) OR DELETE (d)? b {E}
page 198
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? patient {E}
FILE NAME? patient {E}
FIELD NAME? pat_# {E}
INDEX FILE NAME? patient.pat {E}
BUILD (b) OR DELETE (d)? b {E}
page 199
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? doctor {E}
FILE NAME? doctor {E}
FIELD NAME? doctor {E}
INDEX FILE NAME? doctor.doc {E}
BUILD (b) OR DELETE (d)? b {E}
page 200
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? religion {E}
FILE NAME? religion {E}
FIELD NAME? rel_code {E}
INDEX FILE NAME? religion.cod {E}
BUILD (b) OR DELETE (d)? b {E}
page 201
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? ins {E}
FILE NAME? insuranc {E}
FIELD NAME? ins_name {E}
INDEX FILE NAME? insuranc.nam {E}
BUILD (b) OR DELETE (d)? b {E}
page 202
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 9 {E}
DISPLAY INDEXES (y or n)? n {E}
SCREEN NAME? interact {E}
FILE NAME? drugs {E}
FIELD NAME? drug {E}
INDEX FILE NAME? drugs.drg {E}
BUILD (b) OR DELETE (d)? b {E}
An additional file must be created to allow the use of the screen
named 'system'. We will name this file 'system' to keep from having to
remember any more than is absolutely necessary. The DATA ADD function is
used to create the file 'system'.
page 203
USING THE SYSTEM:
Remember that the function keys described under DATA ADD, LOOKUP/
UPDATE and DATA DISPLAY/UPDATE can be used when entering data.
From the menu screen move to the 'system' screen, remember that it
uses a file named 'system'. Enter the information shown below to access a
patient record.
DOCTOR'S OFFICE SYSTEM
123456789 SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
With the cursor positioned in the 'social security number' field
hit the Alt-F3 keys. If you have previously set up a patient record with
this social security number, it will be retrieved and displayed. If there
is no matching patient record the Wilkes database will ask you if you wish
to add a patient record with the social security number entered. All you
have to do to get a record added is to answer this question with a y(yes).
You should fill in the rest of the information and update the record as it
is in the file with only the indexed filed filled in.
page 204
Suppose we know the name of a patient we need to look up, but not
the social security number. Willfred Evelyn Smith is the patient we wish
to find the information on. We can fill in the information as shown below
to find this record.
DOCTOR'S OFFICE SYSTEM
_________ SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
smiwe 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
We will need to store the name extract field and retrieve it the
same way, so we should be consistant with the use of upper case and lower
case letters. Here we assume that the field is entered with all lower case
letters. As with the above example, any matching record will be displayed
on the screen and if there are no matches, you will be querried to add a
patient record. If you add a record, the record will be entered into the
patient file with only the name extract field filled in. You should fill
in the rest of the information while the record is on the screen to update
the record on disk.
page 205
If we know the patient number of the patient we wish to look up,
we can get to the records of two files; the patient file and the patient's
visits file. The last line of the screen will be used to ask you which of
the two files you wish to perform the indexed lookup on. The system screen
will be filled in as below.
DOCTOR'S OFFICE SYSTEM
_________ SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
123456 PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
Again, you will have displayed for you either the desired records
or a prompt to allow you to add a record in whitchever of the two files is
selected (patient file or patient visit file).
We have the doctors on file (this may be a group practice) and we
can lookup the doctor's information by the doctor's last name as displayed
below.
page 206
DOCTOR'S OFFICE SYSTEM
_________ SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
Frankenstein___ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
If we have a Dr. Frankenstein on file, his record will be shown.
If not, you will be asked if you wish to add this record.
If we get a snakebite victim in and he is of a religion which will
prohibit the doctor from helping him to recover, this type of information
would be kept in the religion file and would be accessable as follows.
page 207
DOCTOR'S OFFICE SYSTEM
_________ SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
et RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
Where for example the 'et' may stand for East Tennessee religion.
If this religion is on file, we will see the record displayed, and if not
we will be asked if we wish to add the religion.
We can look up the information kept on the insurance companies by
company name. The following shows an example of looking up company 'XYZ'.
DOCTOR'S OFFICE SYSTEM
_________ SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
XYZ____________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
page 208
If we get a snakebite victim in and he is of a religion which will
prohibit the doctor from helping him to recover, this type of information
would be kept in the religion file and would be accessable as follows.
The interactions between drugs can be maintained only with a great
deal of effort, and most doctor's offices will not have enough manpower to
keep this file updated properly, but just for the sake of argument we will
here assume that we have a good and properly updated drug interaction file
to work with.
DOCTOR'S OFFICE SYSTEM
_________ SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
sodium chloride_____ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
If we have any drugs which interact with sodium chloride they will
be displayed one at a time on the screen.
page 209
As we have performed indexed lookups on the various fields at the
'system' screen, we can also perform those lookups from the patient record
or the patient visit record where those fields are defined. The following
shows what records may be gotten to, from where, with the cursor located
on what fields.
FROM FILE FILE TO ACCESS CURSOR LOCATION (FIELD)
patient visit pat_#
patient patient pat_#
patient religion rel_code
patient doctor doctor
patient insuranc ins_name
visit visit pat_#
visit patient pat_#
visit doctor doctor
visit drugs drug
If you have been through the various parts of the documentation on
adding records, printing reports, updating data files, etc. the remainder
of what must be done to produce reports and so on should be an easy task.
SOME EXAMBLE RECORDS:
Before we halt this exercise, we will add a few records. A record
for each file should suffice. When we first use the system screen no file
will exist and the following should occur.
page 210
M E N U S C R E E N
a - SCREEN ADD 1 - DATA ADD
b - SCREEN UPDATE 2 - DATA LOOKUP/UPDATE
c - SCREEN COPY 3 - DATA DISPLAY/UPDATE
d - SCREEN DELETE 4 - DATA PRINT
e - SCREEN-DATA REFORMAT 5 - DATA COPY
f - DISPLAY SCREEN NAMES 6 - DATA SORT
g - BUILD/REQUEST HELP 7 - COLUMN ARITHMETIC
h - SET VIDEO ATTRIBUTES 8 - APPEND FILE
i - SYSTEM 9 - INDEX
? 1 {E}
SCREEN NAME? system {E}
FILE NAME? system {E}
FILE NOT PRESENT. CREATE? y {E}
This will create the file but we don't really wish to place record
information into the file, so we will use the DATE ADD function each time
we start to work with our doctor's office system.
We can now add a patient record from the 'system' screen. We wish
to add a patient with social security number 415-66-6139. This number is
entered into the 'system' screen as follows.
DOCTOR'S OFFICE SYSTEM
415666139 SOCIAL SECURITY NUMBER - ACCESS TO - PATIENT RECORD
_____ 3 CHARACTERS FROM LAST NAME AND INITIALS
- ACCESS TO - PATIENT RECORD
______ PATIENT NUMBER - ACCESS TO - PATIENT VISIT RECORD
- PATIENT RECORD
_______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
__ RELIGION CODE - ACCESS TO - RELIGION RECORDS
_______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
____________________ DRUG NAME - ACCESS TO - DRUG INTERACTION RECORD
page 211
and hit the Alt-F3 keys. If we already had a record in the patient file
with the same social security number we would have that record displayed,
but we don't yet, so a message at the bottom of the screen will tell us of
the not found condition and ask if we wish to add the record. Answer this
question with 'y'(yes). A blank record will be placed in the patient file
and displayed on the screen for you to update. The only field containing
information initially is the field the indexed lookup was performed on, i.
e. the social security number field. Fill in the rest of the record and
hit F1 to update the record. I filled in mine with the following data.
PATIENT RECORD
PATIENT # 123456 NAME EXTRACT: wilre
PATIENT NAME: Wilkes_________,Roger_____ Errol_____ SEX: m RACE: w
DATE OF BIRTH: 01/05/45 BLOOD TYPE: A+ EYES COLOR: brown__
HEIGHT: 6'_0" PHONE #:(901)386-4712 RELIGION: BA
DOCTOR: Smith__________ SSN: 415666139
OCCUPATION: Analyst________ EMPLOYER: Self___________
SPOUSE: Wilkes_________,Vittoria__ Raspa_____
OCCUPATION: Teacher________ EMPLOYER: Memphis City___
ADDR: 5231 Longwood Drive______ _________________________
CITY: Memphis________ ST: TN ZIP: 38134
INSURANCE CO. Country Farm___ POLICY NUMBER: 112233____
MEDICAL HISTORY:
1. _ 2. _ 3. _ 4. _ 5. _ 6. _ 7. _ 8. _ 9. _ 10. _
11. _ 12. _ 13. _ 14. _ 15. _ 16. _ 17. _ 18. _ 19. _ 20. _
21. _ 22. _ 23. _ 24. _ 25. _ 26. _ 27. _ 28. _ 29. _ 30. _
31. _ 32. _ 33. _ 34. _ 35. _ 36. _ 37. _ 38. _ 39. _ 40. _
41. _ 42. _ 43. _ 44. _ 45. _ 46. _ 47. _ 48. _ 49. _ 50. _
51. _ 52. _ 53. _ 54. _ 55. _ 56. _ 57. _ 58. _ 59. _ 60. _
61. _ 62. _ 63. _ 64. _ 65. _ 66. _ 67. _ 68. _ 69. _ 70. _
71. _ 72. _ 73. _ 74. _ 75. _ 76. _ 77. _ 78. _ 79. _ 80. _
81. _ 82. _ 83. _ 84. _ 85. _ 86. _ 87. _ 88. _ 89. _ 90. _
91. _ 92. _ 93. _ 94. _ 95. _ 96. _ 97. _ 98. _ 99. _ 100._
page 212
Place the cursor on the first (PATIENT #) field and hit the Alt-F3
keys to add a patient visit record. Since we have two files indexed on the
patient number field you will be asked to select which file by a question
at the bottom of the screen. Select the first (visit) by hitting the F1
key. Since this is the first time to add a visit record, there will be a
not found condition on the lookup and you will be asked it you wish to add
a patient visit record. Answer this with a 'y'(yes). The patient number
field will be filled in with the value in the patient record (123456) and
the rest of the fields will be left blank. Fill in the blank fields and
update the record by hitting the F1 key. The record might look like the
following.
PATIENT VISIT INFORMATION
PATIENT #: 123456
DATE: 11/30/86 WEIGHT: 215 BLOOD PRESSURE: 130/80_
DOCTOR: Smith__________
COMPLAINT: Broken Glyph________________________________________________
DIAGNOSIS: Patient does not possess a Glyph____________________________
PRESCRIPTION: Sugar Tablets_______ QTY: 17__
CHARGE: $32______ AMT. PAID: $32______ DATE: 11/30/86
We can place the cursor on the prescription field, hit Alt-F3
and discover that the drug 'Sugar Tablets' does not interact with another
drug. The patient is also not diabetic. Drug interaction information may
be entered from this record, but the natural way of adding the information
for drug interactions would be from the 'system' screen, similar to the
page 213
way the patient record was added. When we update the visit record, we are
returned to the patient record. We may now add other information for the
Doctor, the Religion and the insurance company. These records may be added
from the patient record, but as with the interaction information, the data
for these records would probably be available to add from the 'system'
screen. The other records should be added as an exercise. When you have
at least one record in each file, go back to the 'system' screen and look-
up a patient, a patient visit, a drug interaction, a doctor, an insurance
company and a religion record, then lookup all records associated with the
patient record, then lookup all records associated with the patient visit.
When you have done all of this you should have a pretty good idea
of what you can do with the Wilkes Database in the area of indexed lookup.
page 214
DATA REPRESENTATION
The following is an extract from the SCREEN ADD section of this
document.
CHARACTER - May be any length on the screen and will be
stored in readable form. All other storage types
will be in a form which is not easy for humans
to read, but is easily read by the computer.
UNSIGNED INTEGER- Requires two characters of storage and can keep
up with positive numbers which do not exceed
65,535. You cannot enter a negative number into
this type of field. This data format has only 4
significant digits.
INTEGER - Requires two characters of storage and can keep
up with both positive and negative numbers in
range -32,768 through 32,767. This data format
has only 4 significant digits.
LONG INTEGER - Requires four characters of storage and can keep
up with both positive and negative numbers which
are in the range -2,147,483,648 through
2,147,483,647, which requires 4 characters of
storage and gives nine significant digits.
FLOATING POINT - Is laid out in the format: sign bit, 8 bit
exponent biased 127 and 23 bits of significant.
As this data format is used by the WILKES
DATABASE you will have 7 significant digits (for
example, if you use this data format to contain
dollars and cents you should not expect to use a
money amount greater than $99,999.99). This data
format requires four characters of storage.
page 215
DOUBLE FLOATING - Is laid out in the format: sign bit, 11 bit
POINT exponent biased 1023 and 52 bits of significant.
As this data format is used by the WILKES
DATABASE you can expect no more than 14 digits
of significance (i.e. a dollars and cents field
could contain up to $999,999,999,999.99). This
data format requires 8 bytes of storage.
page 216
WD PROGRAM FILES
The files which you should have on the shipped diskette are WD.EXE
(this is the WILKES DATABASE), WD.HLP (the help screens) and WD.X6 (help
index file).
The run time files which the WD.EXE program uses (the listed file
names assume default at run time) are
WD.P - Screen painting linkage (2048 bytes for each 68 screens)
WD.F - Screen painting field definitions (4096 bytes times the
number of screens)
WD.D - Screen painting (2048 bytes times number of screens)
WD.LPT - Printer controls, Video controls and contains all of the
index information. Index information is initially null.
SCREEN.TMP - Temporary report file
WD.HLP - File containing the help screens.
WD.X6 - This file contains indexes into the WD.HLP file.
The files names would be altered to the following list if we run
the 'WD.EXE' with a parameter.
WD MYFILE
MYFILE.P
MYFILE.F
MYFILE.D
MYFILE.LPT
SCREEN.TMP - This file name does not change.
WD.HLP - This file name does not change.
All other files associated with the WILKES DATABASE are either
data files or the report files generated by your report definitions.
page 217
ALIEN FILE SCREENS
The requirement placed on an ALIEN FILE which you can work with on
the WILKES DATABASE is that the records be of fixed length and the storage
types be one of the storage types discussed under DATA REPRESENTATION on
pages 214 and 215.
If ALIEN FILES are not specified, the position of data within the
record is manipulated for fast access and rome is set aside to mark some
characteristics of the file. If the screen painting is for an ALIEN FILE,
all fields are in the order of appearance on the screen and each byte is
definable positionally. The first underscored field on the screen begins
in the first byte of the data record. There is no padding for numeric data
to align on word boundaries.
Suppose we download a file from a mainframe each night which must
be worked on at our micro. The record format will be known, and we should
be able to get this information from the data processing or programming
department. The file contains
LAST NAME - 20 bytes
FIRST NAME - 10 bytes
MIDDLE INITIAL - 1 byte
CREDIT LIMIT - 12 digits (dollar amount stored in ascii)
BALANCE DUE - 12 digits (dollar and cents amount stored in ascii)
BALANCE AGE - 3 digits (number of days stored in ascii)
PHONE NUMBER - 10 digits (stored in ascii)
The record is 68 bytes long and we can create a screen painting like the
following to look at this data.
page 218
CREDIT INFORMATION
NAME: ____________________, __________ _
CREDIT: ____________ BALANCE DUE: ____________
BALANCE AGE: ___ IN DAYS
PHONE NUMBER: (___)___-____
The storage type would be CHARACTER for all fields in the painting
since the money amounts were also in ascii. We can look at the records and
we can even alter the data, but you cannot use the data in this form to
perform mathematical calculations on the numeric fields, because they are
not of the proper storage type to do so. This can be rectified by copying
the screen above into a new name and adding pertinent fields.
CREDIT INFORMATION
NAME: ____________________, __________ _
CREDIT: ____________ BALANCE DUE: ____________
BALANCE AGE: ___ IN DAYS
PHONE NUMBER: (___)___-____
AVAILABLE CREDIT: ____________
page 219
This screen will have the numeric fields CREDIT, BALANCE DUE,
BALANCE AGE and AVAILABLE CREDIT defined as numeric data types (using the
SCREEN UPDATE function). Now we can look at the numeric fields as numbers.
None of the field names were changed for fields which exist in both the
old and the new screen paintings. We have added the field AVAILABLE CREDIT
to contain the difference between the BALANCE DUE and the CREDIT LIMIT. We
can calculate the AVAILABLE CREDIT from the information in the two fields.
First we must get the data into the format of the new screen. This is done
by using the SCREEN DATA REFORMAT function. When this is accomplished we
can create the AVAILABLE CREDIT field, using COLUMN ARITHMETIC to first
MOVE the CREDIT LIMIT field to the AVAILABLE CREDIT field and subtracting
the BALANCE DUE field from the AVAILABLE CREDIT field. This action will be
enacted in each record of the file. We can now use DATA DISPLAY/UPDATE to
browse through the file and make modifications, including deletions which
we could not do with the ALIEN FILE.
page 220
GLOSSARY
abort - in data processing, denotes the action of stopping
abruptly.
alien file - denotes data files which were created outside the Wilkes
database or files created by the Wilkes database to be
used outside the Wilkes database.
alpha - denotes the alphabetic characters.
append - to tag on. Used in this document to denote tagging one
file to the end of another.
application - in data processing, a program or function used directly
by the computer user.
ascending - in order of increasing value.
ascii - American Standard Code for Information Interchange.
128 character set representable by 7 bits.
asterisk - "*" character.
backspace - The keyboard key with a left arrow pictured on top.
beep - The audible sound heard when the cursor passes the end
of a field.
binary - Number in base 2.
bit - A unit of information. A bit has only two states (0 and
1). A character of information is made up of 8 bits in
most computers.
blink - Display attribute on the screen.
byte - A character.
carriage control- The act of controlling printing by use of special
characters.
page 221
character - Used generally to represent any printable or non-
printable byte. Used in the Wilkes database to represent
readable characters.
code - Representing a set of symbols with another (generally
shorter) set of symbols.
column - Horizontal positioning.
database - A colection of data or information.
descending - In order of decreasing value.
directory - In OS2, all of the files associated with a directory
level. (see OS2 commands mkdir, cd, rmdir).
disk - Generally used to denote fixed (hard) disk.
diskette - Used to denote "floppy" disk.
display attributes
- There are 5 basic display attributes used by the Wilkes
database. Highlight, Underscore, Reverse video,
Highlight & Underscore and Invisible.
download - Denotes movement of data from one computer to another.
drive - A device connected to the computer.
end - Keyboard key with the word "end" on top.
enter - Keyboard key with the word "enter" on top.
field - A unit of specific data. A name field might be 30
characters or more, while a field containing a code
for "yes" or "no" might contain 1 character.
file - A group of records.
filler - Used to take room. Usually to allow information to be
stored on a specific boundary.
floating point - Representation of a number as it is used by the
computer. This storage type contains a decimal point.
page 222
format - The way in which components are arranged. (for example
the format of a record is the arrangement of fields in
the record with their storage requirements).
function - A program or program part which accomplishes a given
task.
generated - Produced by the computer.
header - At the front or top. (for example, a report header).
hexadecimal - Number system using base 16.
highlight - Display attribute where the highlighted area is brighter
than regular.
home - Keyboard key with the word "home" on top.
hyphen - Keyboard key "-".
inclusive - Containing the end points.
integer - A number containing no decimal point. A Wilkes database
storage type having 4 digits of significance.
invisible - Display attribute.
long - A Wilkes database storage type having 8 digits of
significance.
mainframe - Larger computer to which your computer may communicate.
megabytes - Millions of bytes.
memory - Where the computer stores information. Generally used to
denote fast memory (i.e. not disk or other slow memory
storage).
menu screen - A screen offering a selection of functions.
merge - To form one ordered set from 2 or more ordered sets.
native file - Denotes data files generated and used by the Wilkes
database. (see alien file).
null - Binary zero.
page 223
number - In the Wilkes database, may be one of 5 storage types.
Unsigned integer, Integer, Long, Floating point and
Double floating point.
numeric - Character set considered to constitute a number.
open - Action of "opening" a file.
override - Having higher priority.
pad - (see filler).
paint - The process of introducing characters on the screen in
a visually desirable way.
pgdn - Keyboard key with "pgdn" on top denoting "page down".
pgup - Keyboard key with "pgup" on top denoting "page up".
port - Peripheral interface.
program - A collection of instructions to the computer.
prompt - Display requiring action on the part of the user.
record - A collection of fields. A record can contain 1 field.
reformat - Re-arrangement of the fields within a record.
refreshed - Re-displayed.
report - A collection of data generally associated with printed
material.
reverse video - Where the background and lettering are reversed in
appearance.
screen - Video unit associated with computer or terminal.
scrolling - The act of moving lines up or down on the screen.
significance - The ability to hold digits of a number accurately.
slew - To move printer carriage to the top of the next page.
sort - To arange in order.
space - blank character.
tab - Keyboard key containing arrows in both directions.
underscore - Keyboard key "_".
variable - Having the ability to change values.
ADDRESS FILE
Date: 1/ 4/86 Page 1
Time: 7:29
Name Address City State Zip Phone
REPORT 1
ADDRESS FILE
Date: 1/ 4/86 Page 1
Time: 7:25
Name Address City State Zip Phone
Farm, U. W. 333 Nebraska st. Washington NM 11682- (901)555-1212
Frempburger, Elvira unknown Anyburg TX 38116- (444)555-1212
Green, Bo Lynn 116835116438 A st. So. Washington FL 44844-1132 (111)555-1212
Orpington-Pell, Farquhr III Up-town Madison TN 83114- (UNL) -
Brant, Rehm 523 Overseas Munich WA 62349- (888)555-1212
Smith, Elvil Jim Art Jr. E. Donwareni Slicker TN 38134- (UNK) -
Flip 89662 Flop st. State TN 88889-1111 ( )555-1212
Long, Heiken A. 8642 Progression Ave. Austin WI - ( ) -
Jim, Bob 888 Oki Ave. Willwe OK 88789- ( ) -
S., M. Jane Full Avenue Sand Dollar FL 11111-2222 ( )see-book
Rhon, L. Bei 777 Brit st. Lundonville NY 00031- (213)555-1212
Smith, Jim 23 St. NYC NY 99999- ( )555-1212
Willis, Aardway 3434 Elevenworth Tee Rock MD 77777-0334 (358)555-1212
REPORT 2
ADDRESS FILE
Date: 1/ 4/86 Page 1
Time: 7:26
Name Address City State Zip Phone
Brant, Rehm 523 Overseas Munich WA 62349- (888)555-1212
Farm, U. W. 333 Nebraska st. Washington NM 11682- (901)555-1212
Flip 89662 Flop st. State TN 88889-1111 ( )555-1212
Frempburger, Elvira unknown Anyburg TX 38116- (444)555-1212
Green, Bo Lynn 116835116438 A st. So. Washington FL 44844-1132 (111)555-1212
Jim, Bob 888 Oki Ave. Willwe OK 88789- ( ) -
Long, Heiken A. 8642 Progression Ave. Austin WI - ( ) -
Orpington-Pell, Farquhr III Up-town Madison TN 83114- (UNL) -
Rhon, L. Bei 777 Brit st. Lundonville NY 00031- (213)555-1212
S., M. Jane Full Avenue Sand Dollar FL 11111-2222 ( )see-book
Smith, Elvil Jim Art Jr. E. Donwareni Slicker TN 38134- (UNK) -
Smith, Jim 23 St. NYC NY 99999- ( )555-1212
Willis, Aardway 3434 Elevenworth Tee Rock MD 77777-0334 (358)555-1212
REPORT 3