home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / progs / wd / wd.doc next >
Text File  |  1989-11-12  |  306KB  |  7,395 lines

  1.  
  2.  
  3.  
  4.  
  5.             LICENSE
  6.             -------
  7.  
  8.     Wilkes Database, version 3.0, is being distributed under the "shareware" or
  9. user supported concept.  This software is NOT free software.  The use or
  10. reproduction of this software outside of the limits specified in this license
  11. agreement is prohibited.
  12.  
  13.     Non-registered users are granted a limited license to use this software
  14. for a period not to exceed thirty days.  During this period they should test
  15. and evaluate the software to determine if it will meet their needs. The use of
  16. this software beyond this limited time period requires registration.
  17. Non-registered users are not allowed to distribute this software without the
  18. express written permission of Wilkes Software inc.  The only exceptions to this
  19. distribution restriction are SYSOPS of electronic bulletin boards and
  20. distributors of public domain and user supported software.  SYSOPS and
  21. software distributors must abide by the copying restrictions specified below.
  22.  
  23.     Registered users are granted the right to use Wilkes Database on only
  24. one computer at any time.  Site licensing agreements are available for
  25. businesses, corporations, and government agencies.  Registered users are also
  26. granted the right to copy and distribute Wilkes Database subject to the
  27. following conditions.
  28.  
  29.     Wilkes Database must be copied in its original unmodified form.
  30.  
  31.     All of the files must be included in the copy.
  32.  
  33.     Wilkes Database may not be distributed in conjunction with any other
  34.     product without the express written consent of Wilkes Software inc.
  35.  
  36.                                                                      ii
  37.  
  38.  
  39.                 WARRANTY
  40.                 --------
  41.  
  42.     Wilkes Software makes no warranty of any kind, express or implied,
  43. including without limitation, any warranties of merchantability and or fitness
  44. for a particular purpose.  Wilkes Software shall not be liable for any
  45. damages, whether direct, indirect, special or consequential arising from a
  46. failure of this software to operate in the manner desired by the user.
  47. Wilkes Software shall not be liable for any damage to data or property which
  48. may be caused directly or indirectly by use of the program.
  49.  
  50.     IN NO EVENT WILL Wilkes Software BE LIABLE TO YOU FOR ANY DAMAGES,
  51. INCLUDING ANY LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR CONSEQUENTIAL
  52. DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE THE PROGRAM, OR FOR ANY
  53. CLAIM BY ANY OTHER PARTY.
  54.  
  55.                                                                     iii
  56.  
  57.  
  58.  
  59.             REGISTRATION FEES
  60.             -----------------
  61.  
  62. The registration fee for Wilkes Database, version 3.0, is only $45.00, with
  63. quantity discount for 10 or more copies to $30.00/copy.
  64.  
  65. Government and Education registration fee is only $35.00, with quantity
  66. discount for 10 or more copies to $25.00/copy.
  67.  
  68. You may fill out and return the registration page below or register on-line
  69. at (901)386-4712.  Enter "s" from the main menu and select the software you
  70. wish to register.
  71.  
  72. Future updates of the site license copy are provided as follows. The first
  73. update is free.   All others $15.00.
  74.  
  75. Prices are for a titled master copy and cover all charges including shipping.
  76. Licensees will be informed when updates become available and given the option
  77. to update at will.  There is NO penalty for skipping updates.
  78.  
  79.                                                                      iv
  80.  
  81.  
  82.  
  83.     If you should require assistance in the use of the Wilkes Database, you
  84. may call the WSI BBS at (901)386-4712.
  85.  
  86.     If you like this software please let me know.  If you have enhancements
  87. you would like to see in this software, please let me know those also.  If you
  88. have complaints about the way the Wilkes Database functions I would even like
  89. to hear those.
  90.  
  91.     The following is a registration form.  In addition to the licensing use,
  92. I will also use this information to correlate requests for additional
  93. functionality and for Wilkes Software mailing list purpose (only by Wilkes
  94. Software).  When Wilkes Software offers other software into the shareware
  95. system in the future, information will be sent to registered users of the
  96. Wilkes Database.  If you register a non-current version, I will send the
  97. current version to you.
  98.  
  99.                                                                       v
  100.  
  101. to: Wilkes Software, inc.
  102.     5231 Longwood Drive
  103.     Memphis, TN  38134
  104.  
  105.  
  106.     Name (first) ____________________  (last) ____________________
  107.  
  108.     Title    ___________________________________
  109.  
  110.     Company  ___________________________________
  111.  
  112.     Address  ___________________________________
  113.  
  114.              ___________________________________
  115.  
  116.     City     _________________________  State  ___  Zip code _______
  117.  
  118.     Where software obtained: ________________________________________
  119.  
  120.     Version of Wilkes Database: 3.0
  121.  
  122.     System: ____________________
  123.  
  124.     OS/2 Version: _____
  125.  
  126.     Phone: (____) ____ - _____
  127.  
  128.     If Gov./Ed. please specify: _____________________________________
  129.  
  130. COST:
  131.  
  132.     $45/copy - 10 + copies  $30/copy
  133.     Gov/Ed $35/copy - 10 + copies  $25/copy
  134.  
  135.     Tennessee Residents: sales tax is 7.75%
  136.  
  137.     # copies _________ x your price: ____________ + TN sales tax __________
  138.  
  139.         = Total _________________
  140.  
  141. METHOD OF PAYMENT:
  142.  
  143.     VISA/MASTERCARD/CHECK: __________
  144.  
  145.     V/MC account #: ___________________________  Expiration Date: _________
  146.  
  147.     Signature: __________________________________________________
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.                           WILKES DATABASE
  161.  
  162.                     (c) copyright 1985, 1986, 1989
  163.  
  164.                           by ROGER WILKES
  165.  
  166.         Version 3.0
  167.  
  168.  
  169.         CONTENTS
  170.  
  171.         INTRODUCTION ..............................................   1
  172.         RUNNING THE DATABASE ......................................   5
  173.         THE MENU SCREEN ...........................................   9
  174.                 SCREEN ADD ........................................  11
  175.                 SCREEN UPDATE .....................................  23
  176.                 SCREEN COPY .......................................  29
  177.                 SCREEN DELETE .....................................  31
  178.                 SCREEN-DATA REFORMAT ..............................  33
  179.                 DISPLAY SCREEN NAMES ..............................  38
  180.                 THE SYSTEM FUNCTION ...............................  39
  181.                 SET VIDEO ATTRIBUTES ..............................  42
  182.                 DATA ADD ..........................................  45
  183.                 DATA LOOKUP/UPDATE ................................  53
  184.                 DATA DISPLAY/UPDATE ...............................  63
  185.                 DATA PRINT ........................................  72
  186.                 DATA COPY .........................................  95
  187.                 DATA SORT ......................................... 105
  188.                 COLUMN ARITHMETIC ................................. 111
  189.                 APPEND FILE ....................................... 121
  190.                 INDEXING .......................................... 124
  191.         EXAMPLE FILE USAGE ........................................ 134
  192.                 NAME AND ADDRESS FILE ............................. 135
  193.                 CHECKBOOK SYSTEM................................... 162
  194.         EXAMPLE SYSTEM USAGE ...................................... 177
  195.                 DOCTOR'S OFFICE SYSTEM ............................ 178
  196.         DATA REPRESENTATION ....................................... 214
  197.         WD PROGRAM FILES .......................................... 216
  198.         ALIEN FILE SCREENS ........................................ 217
  199.         GLOSSARY .................................................. 220
  200.  
  201.                                                                 page     1
  202.  
  203.  
  204.                                 INTRODUCTION
  205.  
  206.         A proper introduction to databases would include texts on database
  207. systems by the  eminent theoriticians on the subject,  most of whom are to
  208. be found on various campuses around the world. Database theory is still in
  209. its infancy,  but much has already  been worked  out due to the efforts of
  210. some very powerful minds.
  211.  
  212.         The WILKES DATABASE omits most of the database setup work which is
  213. of theoretical value in order to reduce the workload on the user who wants
  214. to  rapidly put  together the  information  required to  begin  the actual
  215. handling of data.  This database implementation  will not require the user
  216. to be adept at the art of programming.
  217.  
  218.         The basic  approach to the  WILKES DATABASE was to set up the menu
  219. to drive all other functioning of the system.  The names of the menu items
  220. should,  for the most part,  be descriptive enough to allow the first time
  221. user to get  at all of the functions  with some  valid expectations  as to
  222. what will be seen on the following screens.
  223.  
  224.         In order to speed up the functioning of the  routines,  the screen
  225. form is separate from the actual data files.  This is why you will see the
  226. two questions for both the screen name and the name of the data file. This
  227. approach also  allows you  to take  files produced by your own programming
  228. staff and view,  modify,  sort, etc. those files as long as they meet some
  229. minimal criterion  -  that the records be of fixed length,  the file is an
  230. even  multiple of the record length,  and that the data is represented  by
  231. one of the data types available in the WILKES DATABASE system. These ALIEN
  232. files can be brought into the WILKES DATABASE and afterwards be managed as
  233. if the data was produced by WILKES DATABASE system.
  234.  
  235.                                                                 page   2
  236.  
  237.  
  238.  
  239.  
  240.  
  241.         The initial task of setting  up a screen is  eased greatly  by the
  242. question and answer session the system goes into  at the end of the actual
  243. screen painting (i.e. laying out what a screen is to look like).  There is
  244. really no way to get around the work involved with the screen building and
  245. retain the power involved in the other menu functions. The data entered at
  246. this point will be used in the  various other menu functions in such a way
  247. as to lessen the work involved.
  248.  
  249.         Once the screen building is out of the way you can simply begin to
  250. use the screens you have built to enter, alter,  delete and manipulate the
  251. data using the other menu items.
  252.  
  253.         The  entering of data in the fields will occasionally sound a BEEP
  254. when the cursor is leaving a field,  (i.e. runs out the end of a field, in
  255. either direction).
  256.  
  257.         Please read through this manual once thoroughly, and you should be
  258. able to quickly  reference the  manual when  you need to  use a particular
  259. menu item which is not yet totally familiar.
  260.  
  261. NOTE:  In all  cases,  prompts will be  considered answered  only when the
  262. enter key has been struck.
  263.  
  264.  
  265.                 EXPLAINATION OF SYMBOLS USED:
  266.  
  267.         There are a few  instances in the following text where we must use
  268. a symbol or set of symbols to mean some particular thing. In the note just
  269. above we see that we must hit the enter key in answer to a prompt. Instead
  270. of stating this explicitly in each instance, the symbols {E} will be used.
  271. {E} represents the enter key.
  272.  
  273.                                                                 page   3
  274.  
  275.  
  276.  
  277.  
  278.         Within the information displayed on the screen, some of the errors
  279. and within prompts,  lower case is  used to represent variable information
  280. and upper case to represent constant information.
  281.  
  282.  
  283.                         FUNCTION KEYS:
  284.  
  285.         The function keys have two general meanings.  One meaning is taken
  286. when working with data from your files and the other meaning is taken when
  287. working with all other functions of the Wilkes Database.   When working on
  288. data from your files the function keys have the meanings:
  289.  
  290.         unshifted/shifted   key   unshifted/shifted
  291.  
  292.             update(+1/-1)  F1|F2  no update(+1/-1)
  293.           update(+10/-10)  F3|F4  no update(+10/-10)
  294.         update(+100/-100)  F5|F6  no update(+100/-100)
  295.       update(+1000/-1000)  F7|F8  no update(+1000/-1000)
  296.              begin/delete  F9|F10 end/exit
  297.  
  298. and where the function keys may be used with the alt key depressed:
  299.  
  300.                       alt   key   alt
  301.  
  302.                       add  F1
  303.            indexed lookup  F3
  304.  
  305.                                                                 page     4
  306.  
  307.  
  308.  
  309.  
  310.  
  311.         At times other than when manipulating data, only the function keys
  312. F1 and F2 have general meaning.  The F1 key generally  means accept what I
  313. have entered and the F2 key says to kill what I have entered and return me
  314. to the previous or menu screen or exit from the program.   ADD DATA is the
  315. exception to  the rule of function keys and even though this function is a
  316. data  function the F1 and F2  keys act in the same fashion as the non data
  317. functions.
  318.  
  319.                                                                 page     5
  320.  
  321.                         RUNNING THE DATABASE
  322.  
  323.  
  324.  
  325.         There is only one file on the WILKES DATABASE diskette.  This file
  326. (WD.EXE) is  the  program  which  builds  and  maintains  your files.   In
  327. order to run this program you need to enter the program name,  leaving off
  328. the .EXE file name extension. The format for the run statement is
  329.  
  330.         WD <optional file name> {E}
  331.  
  332.         If the <optional file name> is not entered  the default file names
  333. will be used to create the  files necessary to  maintain your  screens and
  334. screen attributes and other WILKES DATABASE associated files. The optional
  335. file name must not have a file name extension.
  336.  
  337.         There are  several  files that are  built when you  run WD.EXE the
  338. first time.  These files will contain the  attributes for the  screens and
  339. fields in the screens.  The default  names of  these files are WD.P, WD.F,
  340. WD.D and WD.LPT.  The WD.LPT  file is used to retain the  printer specific
  341. information,  and the other files will  contain data by screen  form.  The
  342. The  WD.D and WD.F files grow  each time a new screen form is entered.  In
  343. order to get the  default file names,  all you are  required to enter as a
  344. command is
  345.  
  346.         WD {E}
  347.                         
  348. in either upper or lower case.  If you wish to specify a  new set of files
  349. to contain  the screen  and field  information, you can simply specify the
  350. name of the files to be used with the  .D,  .F,  .P and .LPT extensions in
  351. following  fashion,  where  the files  are to be named  PATTY.D,  PATTY.F,
  352. PATTY.P and PATTY.LPT.
  353.  
  354.                                                                 page   6
  355.  
  356.  
  357.  
  358.  
  359.         WD PATTY {E}
  360.  
  361. This would be useful where several people use the same machine but wish to
  362. keep their files separated. If the files are kept in different directories
  363. the full qualification can be used (on OS2 1.1 or later), so that
  364.  
  365.         WD \PATTY\PATTY {E}
  366.  
  367. is  valid but it  might be more  useful to keep a copy of  WD.EXE in  each
  368. directory and simply go to  that directory  with the OS2 command CD \PATTY
  369. then run the  WD.EXE  program using  the default file  names  in the PATTY
  370. directory with
  371.  
  372.         WD {E}
  373.  
  374.         If one person is  primarily  responsible for all  databases on the
  375. system, then  s/he will probably find  it simpler  to use the default file
  376. names.
  377.  
  378.         In all of the  various menu screen  functions prompts are answered
  379. by typing the answer and hitting the enter key or by hitting the enter key
  380. only.  In either case the prompts require that the enter key be hit before
  381. the answer is accepted by the WILKES DATABASE.
  382.  
  383.         Some of the prompts are used in so many functions that a brief but
  384. definitive discussion of some of the prompts is better at this point.  The
  385. prompts for screen  name and file name may be shortened to an asterisk (*)
  386. in some cases. The asterisk designates that the specified menu function is
  387. to use the  same screen  name or file name that was  used just previous to
  388.  
  389.                                                                 page   7
  390.  
  391.  
  392.  
  393.  
  394. this usage (i.e. if the last time the screen  name was entered on the menu
  395. screen, the screen name was answered with "screen a", entering an asterisk
  396. into the first position of the screen name this time and hitting the enter
  397. key will produce the result  -  the screen name "screen a" will be printed
  398. as the actual answer on top of the asterisk,  you will be lead to the next
  399. event of the function). If an asterisk was entered both this time and last
  400. time, the screen name used will be the last non asterisk screen name used.
  401. This also means that no screen or file name can begin with an asterisk. If
  402. there are other characters  after the asterisk they  will be ignored.  You
  403. cannot,  of course,  use the  asterisk to  produce these results  prior to
  404. establishing a screen name or file name to "be like". If you attempt to do
  405. so  you will see  an error displayed  at the  bottom of the screen and the
  406. menu screen will be refreshed.
  407.  
  408.  
  409.                                 HELP:
  410.  
  411.         There is  help available.  By depressing  the  ctrl-a keys  or the
  412. ctrl-b keys  the screen being worked will  temporarily be interrupted with
  413. the  appropriate help screen.  It is necessary  that the file  "WD.HLP" be
  414. located in the directory in which you are working for help to be available.
  415. If the "WD.HLP" file is not in the directory in which you are working, the
  416. following error message will appear at the bottom of the screen:
  417.  
  418.         NO HELP AVAILABLE
  419.  
  420. You can use the  OS2 copy to move a copy of the "WD.HLP" file to your work
  421. directory.
  422.  
  423.         If you wish to personalize the "WD.HLP" file,  please do so.   You
  424. are able to make changes/additions to both  the WD HELP and  your own HELP
  425. information.
  426.  
  427.                                                                 page     8
  428.  
  429.  
  430.  
  431.  
  432.                       M E N U   S C R E E N
  433.  
  434.         a - SCREEN ADD                  1 - DATA ADD
  435.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  436.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  437.         d - SCREEN DELETE               4 - DATA PRINT
  438.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  439.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  440.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  441.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  442.         i - SYSTEM                      9 - INDEX
  443.     ? g
  444.  
  445.         The help file has the format
  446.  
  447.                 record code - one byte
  448.                 screen name - twenty bytes
  449.                 page number - three bytes
  450.                 help notes  - 1520 bytes
  451.                 action code - one byte
  452.  
  453. which  can be set up as just  another screen  definition.  In order to use
  454. this method of maintaining the help screens, you must make the screen name
  455. and page  number fields  one field in order to index it as a single field.
  456.  
  457.         You must copy the WD.HLP file to  another name (outside WD.EXE) in
  458. order to be able to  access it,  and index the  file on the 23 byte screen
  459. name and page  number field.  This index  file can then be copied to WD.X6
  460. and the new WD.HLP (by another name)  file can be copied to WD.HLP to give
  461. a new updated/shrunken help file.
  462.  
  463.                                                                 page     9
  464.  
  465.                         THE MENU SCREEN
  466.  
  467.  
  468.         The menu screen is used to get to all functions which the database
  469. can perform.  Initially, very  little can  be done  other than  setting up
  470. screens with the  SCREEN ADD  function  and altering the printer controls.
  471. The function to DISPLAY SCREEN NAMES will show only a blank screen.
  472.  
  473.         The following  pages will address the detailed functioning  of the
  474. various menu items. After running the program, the screen will display the
  475. following.
  476.  
  477.                       M E N U   S C R E E N
  478.  
  479.         a - SCREEN ADD                  1 - DATA ADD
  480.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  481.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  482.         d - SCREEN DELETE               4 - DATA PRINT
  483.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  484.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  485.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  486.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  487.         i - SYSTEM                      9 - INDEX
  488.     ? X
  489.  
  490.                         THE ? PROMPT:
  491.  
  492.       X represents the blinking cursor. At this point a choice is made and
  493. by keying a, b, c, d, e, f, g, h, 1, 2, 3, 4, 5, 6, 7, 8  or 9 and hit the
  494. enter key, the program will ask for more information,  if more information
  495. is required. The only selection which will not require further information
  496. is the f(DISPLAY SCREEN NAMES) selection.
  497.  
  498.                                                                 page  10
  499.  
  500.  
  501.  
  502.  
  503.         After entering a single character the cursor will be at the end of
  504. the field  and will  rest in  a position just to  the right of the  single
  505. character field. If you key additional  information the cursor will remain
  506. in its  position  at the end of  the field  and the additional keying will
  507. accomplish nothing more than making an audible beep.  In fact, all prompts
  508. within the WILKES DATABASE act in this fashion.
  509.  
  510.  
  511.                         ERRORS:
  512.  
  513.         If an invalid selection is made the following message will display
  514. at the bottom of the screen.
  515.  
  516.         A DISPLAYED SELECTION MUST BE ENTERED
  517.  
  518.  
  519.                         EXIT TO OS2:
  520.  
  521.        EXIT from the program is accomplished by  hitting the F2 key at the
  522. ? prompt.
  523.  
  524.                                                                 page    11
  525.  
  526.                         SCREEN ADD
  527.  
  528.  
  529.         This is the menu selection which must be made to paint a screen to
  530. subsequently enter data into, or in the case of alien files, to be able to
  531. look at  and update data with. With the menu information  still showing on
  532. the screen, the following prompt will appear.
  533.  
  534.                       M E N U   S C R E E N
  535.  
  536.         a - SCREEN ADD                  1 - DATA ADD
  537.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  538.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  539.         d - SCREEN DELETE               4 - DATA PRINT
  540.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  541.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  542.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  543.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  544.         i - SYSTEM                      9 - INDEX
  545.     ? a {E}
  546.     SCREEN NAME? name {E}
  547.  
  548.  
  549.                         SCREEN NAME:
  550.  
  551.      Screen name may be up to 8 characters and  will be  accepted in lower
  552. case. If upper case is keyed in, the name will still be displayed in lower
  553. case as it is keyed.  There may be blanks in the screen name and they will
  554. be  significant if  they are at the  front of the name  or embedded in the
  555. name.  It will be easier  to remember the  names  if there are no  leading
  556. blanks,  but this is  a purely  personal option. Common sense will dictate
  557. that the screen naming should be associated with the purpose of the screen
  558.  
  559.                                                                 page  12
  560.  
  561.  
  562.  
  563. (ex. a screen for a name and address file might be called "nameaddr").  If
  564. the name is to be used often, you may wish to use a short name.
  565. NOTE: The name need not be permanent, since you can copy the screen into a
  566. new screen name and delete the old screen name.
  567.  
  568.  
  569.                         ERRORS:
  570.  
  571.         If a screen already exists by the name entered, the error message,
  572.  
  573.         "name     SCREEN ALREADY EXISTS BY THAT NAME"
  574.  
  575. will be displayed  at the  bottom of  the screen.  If you use the asterisk
  576. default for  the screen name  and the screen  name has not been previously
  577. established (i.e. you have just started the WILKES DATABASE) you will see,
  578. at the bottom of the screen, the error message
  579.  
  580.         INVALID SCREEN NAME
  581.  
  582.  
  583.                 SCREEN ATTRIBUTES DEFINITION:
  584.  
  585.         If  the screen  name  does not  already  exist,  the program  will
  586. proceed with the screen appearing as follows:
  587.  
  588.         name     SCREEN - ATTRIBUTES DEFINITION
  589.         USE ALIEN FILES? n {E}
  590.  
  591.         Alien files are files produced outside the  WILKES DATABASE or are
  592. to be produced by the WILKES DATABASE for use outside the WILKES DATABASE.
  593. Note that  records in an alien file  cannot be deleted  directly,  but the 
  594. file may be reformatted into a native file at a later point in time. Alien
  595.  
  596.                                                                 page  13
  597.  
  598.  
  599.  
  600. files will be formatted, field by field, in the order of the screen entry,
  601. with no fillers placed between field.
  602.         Answer with y(YES),  n(NO) and hitting  the entry key,  or hitting
  603. the entry  key  will assume n(NO).  When the  answer is entered,  the next 
  604. prompt to appear, will be
  605.  
  606.         name     SCREEN - ATTRIBUTES DEFINITION
  607.         USE ALIEN FILES? n {E}
  608.         BLINK FIELDS IN ERROR? y {E}
  609.  
  610. which requires  an answer of y (YES),  n(NO) or a default (enter key only)
  611. of y (YES).  While  entering data  with this screen,  you may  either have 
  612. error  fields blink or  an  error message  display  at the  bottom  of the
  613. screen.  The two possible  types of  error are 1)  The field requires that
  614. some  non-blank  information  be entered and 2)  A numeric field  contains
  615. non-numeric data.
  616.  
  617.         After answering  the previous prompt,  the following  will be dis-
  618. played:             
  619.  
  620.         name     SCREEN - ATTRIBUTES DEFINITION
  621.         USE ALIEN FILES? n {E}
  622.         BLINK FIELDS IN ERROR? y {E}
  623.         0 - REVERSE VIDEO
  624.         1 - HIGHLIGHT
  625.         2 - UNDERSCORE
  626.         3 - HIGHLIGHT AND UNDERSCORE
  627.         ? 2 {E}
  628.  
  629.                                                                 page  14
  630.  
  631.  
  632.  
  633.         You must enter 0, 1, 2 or 3  and the enter  key or  simply hit the
  634. enter key for the default highlighting, which is 2(UNDERSCORE).
  635.  
  636.         This prompt requests the default field display attribute. Individ-  
  637. ual fields may  be given different  display attributes  but may be entered
  638. more rapidly  if they use  the default field  attribute.  If this is  your              
  639. first time, you will see, a little later, why this is true.
  640.         
  641.         The various  choices are  all visual and  should be tried,  to see
  642. which you prefer. Briefly, the REVERSE VIDEO will show a bright background
  643. and dark lettering on the data fields; UNDERSCORE will show underscores on
  644. the data fields; HIGHLIGHT will display the data brighter than  the screen
  645. painting;  UNDERSCORE AND HIGHLIGHT  will show the data fields underscored
  646. and brighter than the screen painting.
  647.  
  648.         When the  previous prompt  has been answered,  the screen  will go 
  649. blank,  except for  the blinking  cursor in  the upper left  corner of the 
  650. screen.
  651.  
  652.         You must  now paint  the screen  to be  exactly as  you want it to 
  653. appear when you enter, modify, etc. data later on;  except, of course, for
  654. the type of highlighting you wish to use on the data fields.
  655.  
  656.         Underscores will denote fields where the data will be displayed or
  657. entered.  Consecutive underscores  will represent a single field of length
  658. equal to the  number of consecutive underscores.  There are several cursor
  659. positioning keys  to get  you from  one place  on the  screen to any other
  660. place on the screen, rapidly. The cursor positioning keys are
  661.  
  662.                                                                 page  15
  663.  
  664.  
  665.  
  666.         Enter key       -       Will move  the cursor to  the beginning of
  667.                                 the next line, or if  the cursor is on the
  668.                                 last line the cursor will be placed at the
  669.                                 beginning of the first line.
  670.         Cursor left     -       Will  move the cursor  one position to the
  671.                                 left with screen  wrap (i.e. If the cursor
  672.                                 is at the beginning of the first line when
  673.                                 cursor left is  entered,  the cursor  will
  674.                                 move to the  last position on  the screen)
  675.                                 and line wrap  (i.e.  If the cursor  is at
  676.                                 the  beginning of a line  when  the cursor
  677.                                 left key  is struck,  the cursor will move
  678.                                 to the end of the previous line);
  679.         Cursor right    -       Will move the  cursor one  position to the
  680.                                 right in exactly the opposite fashion from
  681.                                 the action caused by the cursor left (i.e.
  682.                                 With line and screen wrap).
  683.         Cursor up       -       Will move the cursor to  the previous line
  684.                                 in the same column with screen wrap.
  685.         Cursor down     -       Will move the  cursor to the next line, in
  686.                                 the same column, with screen wrap.
  687.         Home key        -       Will send the  cursor to  the beginning of
  688.                                 the first  line from  any position  on the
  689.                                 screen.
  690.         Backspace key   -       Will move the cursor to  the left and move
  691.                                 a blank into the new cursor position.
  692.         Delete key      -       Will delete the character under the cursor
  693.                                 and shift the  rest of  the line following
  694.                                 the cursor one position to the left.
  695.  
  696.                                                                 page  16
  697.  
  698.  
  699.         Insert key      -       Will move the  character  under the cursor
  700.                                 and  all  other  characters  on  the  line
  701.                                 following  the cursor one position  to the
  702.                                 right one position, dropping the character
  703.                                 at  the  end of  the line.  The  character
  704.                                 under the cursor will contain a blank.
  705.         Tab key         -       Will move the cursor right as if tabs were
  706.                                 set  every  eight  positions  and will use
  707.                                 line and screen wrap.  The shifted tab key
  708.                                 will move the  cursor left in  exactly the
  709.                                 opposite fashion  from the  unshifted  tab
  710.                                 key.
  711.         Control &       -       When depressed at the same time will blank
  712.           Cursor right          from the cursor to the end of the line.
  713.         Control & end   -       When depressed at the same time will blank
  714.                                 from the cursor to the end of the screen.
  715.         Control & PgUp  -       When depressed at the same time will shift
  716.                                 all lines  below the cursor up and  delete
  717.                                 the line under the cursor.
  718.         Control & PgDn  -       When depressed at the same time will shift
  719.                                 the lines  under and below the cursor down
  720.                                 one line, dropping the  line at the bottom
  721.                                 of the screen.
  722.  
  723.         In addition to the cursor positioning keys you must use the F1 and
  724. F2 keys in terminating the screen painting. The F1 key is used to tell the
  725. program that the painting is finished and you wish to continue. The F2 key
  726. is used to kill the  screen painting and  return to the main menu.  If you
  727. use the F2 key, the painting will be lost.
  728.  
  729.                                                                 page  17
  730.  
  731.  
  732. NOTE: It is possible to  place  graphics  on the  screen  along with other
  733. screen  displayable characters,  but you should be  aware that the printer
  734. you are using (you are not alone) will not  print all  of these characters
  735. as they appear on the screen. If you find a graphic  character which looks
  736. nice on the screen you  should check to see how  it looks  on the printer.
  737. Remember that the printing of the  screen may look one way on your present
  738. printer and not at all the same on another printer, in the way the graphic
  739. characters print.
  740.  
  741.  
  742.                         SCREEN PAINTING:
  743.  
  744.         The following is an example screen painting which could be used to
  745. keep up with names and addresses.
  746.  
  747.                           Address File
  748.  
  749.                 Name: ______________________________
  750.              Address: _________________________
  751.                 City: _______________
  752.                State: __
  753.                  Zip: _____-____
  754.         Phone - Home: (___)___-____
  755.                 Work: (___)___-____
  756.  
  757.  
  758.                 FIELD DEFINITIONS AND ATTRIBUTES:
  759.  
  760.         When the F1 key is hit, the screen will display as in our example,
  761. for each field detected in the painting. The following is generated by our
  762. example, where all of the questions  have been answered.  This screen will
  763. prompt for  the answer to one  question  at a time  and require some input
  764. before continuing with the next question.
  765.  
  766.                                                                 page  18
  767.  
  768.  
  769.  
  770.  
  771.         name     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  772.         ============================================================
  773.                 Name: ______________________________
  774.         ============================================================
  775.         FIELD NAME? name {E}
  776.  
  777.         0 - ALPHA                       DATA DISPLAY ATTRIBUTES
  778.         1 - UNSIGNED INTEGER            0 - REVERSE VIDEO
  779.         2 - INTEGER                     1 - HIGHLIGHT
  780.         3 - LONG INTEGER                2 - UNDERSCORE
  781.         4 - FLOATING POINT              3 - HIGHLIGHT AND UNDERSCORE
  782.         5 - DOUBLE FLOATING POINT       4 - INVISIBLE
  783.         ? 0 {E}                         ? 2 {E}
  784.         FIELD REQUIRED? n {E}     COPY FIELD DURING ADD? n {E}
  785.  
  786. NOTE: If more than one  field is displayed  between the double lines,  the
  787. field in question is the highlighted underscore field.
  788.  
  789.  
  790.                         FIELD NAME:
  791.  
  792.         The field name is up to eight characters long and blanks (if used)
  793. are significant (i.e. "name  1" is not  the same as "name 1" since, in the
  794. first, two blanks separate the "name" from the "1", and in the second only
  795. one blank separates the "name" from the "1").
  796.  
  797.                                                                 page  19
  798.  
  799.  
  800.  
  801.  
  802.                         STORAGE ATTRIBUTES:
  803.  
  804.         The column of attributes, above on the left, tell how the field is
  805. to be stored, where
  806.  
  807.         CHARACTER       - May  be  any length  on the  screen and  will be
  808.                           stored in readable form. All other storage types
  809.                           will be in a  form which is not easy  for humans
  810.                           to read, but is easily read by the computer.
  811.         UNSIGNED INTEGER- Requires two characters of  storage and can keep
  812.                           up with  positive  numbers  which do  not exceed
  813.                           65,535. You cannot enter a negative  number into
  814.                           this type of field.  This data format has only 4
  815.                           significant digits.
  816.         INTEGER         - Requires two characters of  storage and can keep
  817.                           up with  both positive  and negative  numbers in
  818.                           range -32,768  through 32,767.  This data format
  819.                           has only 4 significant digits.
  820.         LONG INTEGER    - Requires four characters of storage and can keep
  821.                           up with both positive and negative numbers which
  822.                           are  in   the   range   -2,147,483,648   through
  823.                           2,147,483,647,  which  requires  4 characters of
  824.                           storage and gives nine significant digits.
  825.         FLOATING POINT  - Is  laid  out in  the  format:  sign bit,  8 bit
  826.                           exponent biased 127  and 23 bits of significant.
  827.                           As  this data  format  is  used  by  the  WILKES
  828.                           DATABASE you will have 7 significant digits (for
  829.                           example,  if you use this data format to contain
  830.                           dollars and cents you should not expect to use a
  831.                           money amount greater than $99,999.99). This data
  832.                           format requires four characters of storage.
  833.  
  834.                                                                 page  20
  835.  
  836.  
  837.  
  838.  
  839.         DOUBLE FLOATING - Is laid out  in the  format:  sign bit,  11  bit
  840.            POINT          exponent biased 1023 and 52 bits of significant.      
  841.                           As this  data  format  is  used  by  the  WILKES
  842.                           DATABASE you can  expect no  more than 14 digits
  843.                           of significance  (i.e. a dollars and cents field
  844.                           could contain up to  $999,999,999,999.99).  This
  845.                           data format requires 8 bytes of storage.
  846.  
  847.  
  848.                         FIELD REQUIRED:
  849.  
  850.         If the field is  required to have  something entered  every time a
  851. a record is added  or updated  you can have the WILKES DATABASE check that
  852. something has  been entered.  The action taken will be to either blink the
  853. field if it is left blank or display an error message at the bottom of the
  854. screen to the effect that the field (by field name) is required.  Blinking
  855. error  fields  or error  messages  is selected  during  SCREEN  ATTRIBUTES
  856. DEFINITION above.
  857.  
  858.  
  859.                         COPY FIELD DURING ADD:
  860.  
  861.         This prompt pertains  only to data being  added to a file.  If you
  862. answer  this  prompt  with a  y(YES),  this  field  will  be  copied  into
  863. successive screens as the screen records are added to the file. Fields not
  864. marked as copy  during add will be  blanked out  when the screen record is        
  865. added to the file. For fields where the contents change infrequently, this
  866. mechanism can save the time required to enter this field on each record.
  867.  
  868.                                                                 page  21
  869.  
  870.  
  871.  
  872.  
  873.                         DISPLAY ATTRIBUTES:
  874.  
  875.         The prompt on the  right side of the screen lists the same display
  876. attributes discussed earlier for the screen default. One more display type
  877. (i.e. INVISIBLE) is  displayed  here.  As mentioned  earlier,  the display
  878. types are visual and each should be used in a play screen.  If the default
  879. is desired (i.e. the default  set up for the entire screen) simply hit the
  880. enter key.
  881.  
  882.  
  883.  
  884.                         FLOATING POINT NUMBERS:
  885.  
  886.        If  floating  point  or  double  floating  point  is  selected,  an
  887. additional question will be asked.
  888.  
  889.         name     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  890.         ============================================================
  891.                 Amount ______________
  892.         ============================================================
  893.         FIELD NAME? amount {E}
  894.  
  895.         0 - ALPHA                       DATA DISPLAY ATTRIBUTES
  896.         1 - UNSIGNED INTEGER            0 - REVERSE VIDEO
  897.         2 - INTEGER                     1 - HIGHLIGHT
  898.         3 - LONG INTEGER                2 - UNDERSCORE
  899.         4 - FLOATING POINT              3 - HIGHLIGHT AND UNDERSCORE
  900.         5 - DOUBLE FLOATING POINT       4 - INVISIBLE
  901.         ? 5 {E}                         ? 2 {E}
  902.         FIELD REQUIRED? n {E}     COPY FIELD DURING ADD? n {E}
  903.         NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
  904.  
  905.                                                                 page  22
  906.  
  907.  
  908.  
  909.  
  910.                 POSITIONS TO RIGHT OF DECIMAL POINT:
  911.  
  912.         This prompt  pertains  only to  storage  types FLOATING  POINT and
  913. DOUBLE FLOATING  POINT and is asking for the  number of significant digits
  914. after the  period.  This number  may be from zero to nine inclusive.  When
  915. working with  money amounts,  you would usually use "2" here  to represent
  916. cents. When all fields have been entered, you will be returned to the main
  917. menu with a message at the bottom of the screen:
  918.  
  919.         name     ADDED
  920.  
  921. NOTE: If you are building a new screen, which is similar to another screen
  922. which has already been  built, you may find it quicker to copy  the screen
  923. and then update the screen.
  924.  
  925. NOTE: Each field should be uniquely named,  in order to use that field for
  926. sorting, selectively copying  and as a reminder in the DATA PRINT.  If the
  927. field name is not unique, all entered (i.e.  field name is not supplied by
  928. the WILKES DATABASE)  references to  that field name will be assumed to be
  929. the first occurance of the field name in the screen.
  930.  
  931.                                                                 page    23
  932.  
  933.                                 SCREEN UPDATE
  934.  
  935.  
  936.         Most of the prompting in the  SCREEN UPDATE  is the same as in the
  937. SCREEN ADD. The screen name will be prompted for on the menu screen.
  938.  
  939.                       M E N U   S C R E E N
  940.  
  941.         a - SCREEN ADD                  1 - DATA ADD
  942.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  943.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  944.         d - SCREEN DELETE               4 - DATA PRINT
  945.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  946.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  947.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  948.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  949.         i - SYSTEM                      9 - INDEX
  950.     ? b {E}
  951.     SCREEN NAME? name {E}
  952.  
  953.  
  954.                         SCREEN NAME:
  955.  
  956.         The name  entered must  match the  name of  the screen  which  has
  957. already been built with  the SCREEN ADD function.  It was mentioned in the
  958. section on SCREEN ADD that blanks are significant in the screen name. Here
  959. you must match the screen name exactly, including blanks.
  960.  
  961.         The  screen name may  be entered as asterisk "*"  if the last name
  962. entered in answer to this prompt or the new screen name prompt from any of
  963. the menu  selections,  other than SCREEN DELETE,  is the screen name to be
  964. updated.
  965.  
  966.                                                                 page  24
  967.  
  968.  
  969.  
  970.                         ERRORS:
  971.  
  972.         If no match  is found  on file for the screen name, the  following
  973. message will be displayed at the bottom of the screen.
  974.  
  975.         name     NOT FOUND
  976.  
  977.  
  978.                         PRESENT FORM ATTRIBUTES:
  979.  
  980.         If the entered  name is found,  a new screen will  appear with the
  981. following appearing on the bottom half of the screen.
  982.  
  983.         name     PRESENT FORM ATTRIBUTES
  984.         ALIEN FILES USED,
  985.                 if this prompt is answered y(YES)  at SCREEN ADD or SCREEN
  986.                 UPDATE time.
  987.         <screen default display attribute>
  988.                 which may be  UNDERSCORE FIELDS, HIGHLIGHT FIELDS, REVERSE
  989.                 VIDEO FIELDS according  to which was  selected in building
  990.                 or updating the screen.
  991.         BLINK ERRORS
  992.                 or
  993.         ERROR MESSAGES
  994.                 according to  which was  selected at  SCREEN ADD or SCREEN
  995.                 UPDATE time.
  996.         ANY CHANGES? n {E}
  997.  
  998.         If you wish to make  changes to these  screen attributes  answer y
  999. (YES) and hit the enter key. If these attributes are to remaind unchanged,
  1000. enter n(NO)  and hit  the enter  key  or just  hit the enter  key for  the
  1001. default n(NO).
  1002.  
  1003.                                                                 page  25
  1004.  
  1005.  
  1006.  
  1007.  
  1008.                         SCREEN ATTRIBUTES DEFINITION:
  1009.  
  1010.         If  y(YES)  was  entered,  you  will be  prompted  for the  screen
  1011. attributes as was done in the SCREEN ADD. The prompts are:
  1012.  
  1013.         name     SCREEN - ATTRIBUTES DEFINITION
  1014.         USE ALIEN FILES? n {E}
  1015.         BLINK FIELDS IN ERROR? y {E}
  1016.         0 - REVERSE VIDEO
  1017.         1 - HIGHLIGHT
  1018.         2 - UNDERSCORE
  1019.         3 - HIGHLIGHT AND UNDERSCORE
  1020.         ? 2 {E}
  1021.  
  1022. where all the  answers are default  answers obtained  by hitting the enter
  1023. key at each prompt.
  1024.  
  1025.  
  1026.                         SCREEN PAINTING:
  1027.  
  1028.         Next,  the screen painting  will be displayed.  If no  changes are
  1029. required, simply hit the F1 key.  If you need to alter the painting,  make
  1030. the  alterations using the cursor positioning keys  described under SCREEN
  1031. ADD above and then hit the F1 key.
  1032.  
  1033. NOTE:  Take care  not to  alter the  only copy  of a screen for which data
  1034. file(s) exist.  In this case  you should  copy the screen  into a new name
  1035. using SCREEN COPY, so that you have both an old and new copy of the screen
  1036. to work with;  make your changes  to the new screen  and if you wish to be
  1037. able to use the new screen with the old data, use the SCREEN DATA-REFORMAT
  1038.  
  1039.                                                                 page  26
  1040.  
  1041.  
  1042.  
  1043.  
  1044. function  to build a  new file in  the format of  the new  screen.  If you
  1045. inadvertantly alter the only  copy of a screen for which data files exist,
  1046. in order to get back to the old screen, you must reconstruct the fields in
  1047. the painting  as they were for the  data file  (including the data storage
  1048. types, if they have been altered).  If you are part way through the SCREEN
  1049. UPDATE process and wish to not save the changes you have made,  hit the F2
  1050. key and you  will be returned  to the menu screen,  with no updates having
  1051. been saved.
  1052.  
  1053.  
  1054.                 FIELD DEFINITIONS AND ATTRIBUTES:
  1055.  
  1056.         After hitting  the F1 key,  to signal that  the screen painting is
  1057. complete,  the individual  field attributes  will be  displayed,  one at a
  1058. time, in the following fashion, at the bottom of the screen:
  1059.  
  1060.         ================================================================
  1061.         name     FIELD:
  1062.         FIELD LENGTH = n BYTES. n POSITIONS TO RIGHT OF DECIMAL MAXIMUM.
  1063.         <storage type> FIELD.
  1064.                 where <storage type> may be CHARACTER, UNSIGNED INTEGER,
  1065.                 INTEGER, LONG INTEGER, FLOATING POINT or DOUBLE FLOATING
  1066.                 POINT.
  1067.         <display attribute> FIELD.
  1068.                 where <display attribute> may be REVERSE VIDEO, HIGHLIGHT,
  1069.                 INVISIBLE, UNDERSCORE or HIGHLIGHT AND UNDERSCORE.
  1070.         BYTE POSITION IN RECORD IS n.
  1071.         POSITION ON SCREEN IS ROW n, COL n.
  1072.  
  1073.                                                                 page  27
  1074.  
  1075.  
  1076.  
  1077.  
  1078.         FIELD REQUIRED.
  1079.                 If the "FIELD REQUIRED?" prompt was answered with y(YES)
  1080.                 during SCREEN ADD or SCREEN UPDATE.
  1081.             or
  1082.         FIELD NOT REQUIRED.
  1083.         FIELD CARRIED ON ADD.
  1084.             or
  1085.         FIELD NOT CARRIED ON ADD.
  1086.                 according to how the prompt "COPY FIELDS DURING ADD?"
  1087.                 was answered in SCREEN ADD or SCREEN UPDATE.
  1088.         ANY CHANGES? n {E}
  1089.  
  1090.         If no changes are to be made, enter n(NO) and hit the enter key or
  1091. utilize the default by simply hitting the enter key.  If changes are to be
  1092. made, enter y(YES) and hit the enter key.
  1093.  
  1094.         If y(YES) is the answer to the "ANY CHANGES?" prompt,  you will be
  1095. prompted at the  top of  the screen  for the field  attributes,  as in the
  1096. SCREEN ADD function.
  1097.  
  1098. NOTE:  The "BYTE POSITION IN RECORD"  and  "POSITION ON SCREEN" are calcu-
  1099. lated by  the  program and will  be updated  automatically (if any changes
  1100. occurred) whether  the prompt  "ANY CHANGES?" is  answered with y (YES) or
  1101. n (NO).
  1102.  
  1103. NOTE:  If the only change to  the screen painting is to change the display
  1104. length of one or  more  numeric  fields  (i.e.  storage  type is  UNSIGNED
  1105. INTEGER, INTEGER,  LONG INTEGER, FLOATING POINT  or DOUBLE FLOATING POINT)
  1106. the actual record layout is not changed and you may use the updated screen
  1107. painting with the old data files.
  1108.  
  1109.                                                                 page  28
  1110.  
  1111.  
  1112.  
  1113.  
  1114.         When the field  prompts have been answered,  the following message
  1115. will be displayed at the bottom of the screen.
  1116.  
  1117.         name     UPDATE COMPLETE
  1118.  
  1119. This display  signals that  the updates  made have  been saved  on disk or
  1120. diskette.
  1121.  
  1122.                                                                 page    29
  1123.  
  1124.  
  1125.  
  1126.                         SCREEN COPY
  1127.  
  1128.  
  1129.         The SCREEN COPY function requires two more  pieces of information;
  1130. the  old screen  name  and the  new screen  name.  The  program  uses  the
  1131. following prompts to obtain this information:
  1132.  
  1133.                       M E N U   S C R E E N
  1134.  
  1135.         a - SCREEN ADD                  1 - DATA ADD
  1136.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1137.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1138.         d - SCREEN DELETE               4 - DATA PRINT
  1139.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1140.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1141.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1142.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1143.         i - SYSTEM                      9 - INDEX
  1144.     ? c {E}
  1145.     SCREEN NAME? name {E}
  1146.     NEW SCREEN NAME? new name {E}
  1147.  
  1148.  
  1149.                         SCREEN NAME:
  1150.  
  1151.         The screen name is the name of a screen  which was set up previous
  1152. to the use of the SCREEN COPY.  The screen name may be entered as asterisk
  1153. "*"  if the last name  entered in answer to this prompt or  the new screen
  1154. name prompt from any of the menu selections,  other than SCREEN DELETE, is
  1155. the screen name to be copied.
  1156.  
  1157.                                                                 page  30
  1158.  
  1159.  
  1160.  
  1161.  
  1162.                         NEW SCREEN NAME:
  1163.  
  1164.         The new screen name is the  name of the screen which is to contain
  1165. a duplicate of the screen named in the "SCREEN NAME?" prompt.  This screen
  1166. name cannot be the same as SCREEN NAME above.
  1167.  
  1168.  
  1169.                         ERRORS:
  1170.  
  1171.         If the name entered at the  "SCREEN NAME?"  prompt is not on file,
  1172. you will see the  following error message  displayed at  the bottom of the
  1173. screen.
  1174.  
  1175.         name     NOT FOUND
  1176.  
  1177.         If the name entered at the "NEW SCREEN NAME?" prompt is already on
  1178. file the  following  error message will be  displayed at the bottom of the
  1179. screen.
  1180.  
  1181.         new name SCREEN ALREADY EXISTS BY THAT NAME
  1182.  
  1183.         If no errors are detected,  the screen information associated with
  1184. "name" will be copied and associated with "new name". At the bottom of the
  1185. screen, the following message will be displayed:
  1186.  
  1187.         SCREEN COPIED
  1188.  
  1189. NOTE: The SCREEN COPY function  duplicates the screen information,  so you
  1190. may safely update the screen painting of one without disturbing the other.
  1191.  
  1192.                                                                 page    31
  1193.  
  1194.  
  1195.  
  1196.                         SCREEN DELETE
  1197.  
  1198.  
  1199.         The purpose  of the SCREEN DELETE  function is to  discard screens
  1200. which you will  never use again.  If the screen  is deleted you will never
  1201. use it again.
  1202.  
  1203.         Only one additional prompt is required by the SCREEN DELETE:
  1204.  
  1205.                       M E N U   S C R E E N
  1206.  
  1207.         a - SCREEN ADD                  1 - DATA ADD
  1208.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1209.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1210.         d - SCREEN DELETE               4 - DATA PRINT
  1211.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1212.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1213.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1214.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1215.         i - SYSTEM                      9 - INDEX
  1216.     ? d {E}
  1217.     SCREEN NAME? name {E}
  1218.  
  1219.  
  1220.                         SCREEN NAME:
  1221.  
  1222.         The  screen name entered must be on  file prior to being used here
  1223. in the SCREEN  DELETE.  The screen  name may be entered as asterisk "*" if
  1224. the last  name entered in answer  to this  prompt  or the new  screen name
  1225. prompt from any of the menu selections,  other than SCREEN DELETE,  is the
  1226. screen name to be deleted.
  1227.  
  1228.                                                                 page  32
  1229.  
  1230.  
  1231.  
  1232.  
  1233.                         ERRORS:
  1234.  
  1235.         The screen named "name" must be on file in order to be deleted. If
  1236. it is not on file you will see the error message
  1237.  
  1238.         name     NOT FOUND
  1239.  
  1240. displayed at the bottom  of the screen.  If "name" is on file,  it will be
  1241. destroyed in  the disk  files which  contain  screen information,  and the
  1242. following message will be displayed at the bottom of the screen.
  1243.  
  1244.         name     DELETED
  1245.  
  1246. NOTE:  Even though the screen is no longer on file, the file size will not
  1247. be reduced.  The record  area used by  "name" will be reused by subsequent
  1248. SCREEN ADD(s).  The files  containing the  screen  information  never  get
  1249. smaller.
  1250.  
  1251.                                                                 page    33
  1252.  
  1253.  
  1254.  
  1255.                         SCREEN-DATA REFORMAT
  1256.  
  1257.  
  1258.         The purpose  of the  SCREEN-DATA REFORMAT  is to copy  an old file
  1259. used with an old screen painting into  a new record format determined by a
  1260. new screen painting.  New fields  may have been necessary  which  were not
  1261. contained in the old screen painting,  or there may be more information on
  1262. the old screen painting than you desire to retain on file. You may wish to
  1263. simply change the length of a field.
  1264.  
  1265.         The way in which the records are copied is one field at a time for
  1266. all matching field names.
  1267.  
  1268.         The following prompts,  with example answers,  will be made by the
  1269. SCREEN-DATA REFORMAT on the menu screen.
  1270.  
  1271.                       M E N U   S C R E E N
  1272.  
  1273.         a - SCREEN ADD                  1 - DATA ADD
  1274.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1275.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1276.         d - SCREEN DELETE               4 - DATA PRINT
  1277.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1278.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1279.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1280.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1281.         i - SYSTEM                      9 - INDEX
  1282.     ? e {E}
  1283.     OLD SCREEN NAME? old-name {E}
  1284.     OLD FILE NAME? oldfile {E}
  1285.     NEW SCREEN NAME? new-name {E}
  1286.     NEW FILE NAME? newfile {E}
  1287.  
  1288.                                                                 page  34
  1289.  
  1290.  
  1291.  
  1292.  
  1293.                         OLD SCREEN NAME:
  1294.  
  1295.         The old  screen name may  be entered  as asterisk (*)  if the last
  1296. name entered in answer to  this prompt  or the screen name prompt from any
  1297. of the menu selections, other than SCREEN DELETE, is the screen name to be
  1298. reformatted.
  1299.  
  1300.  
  1301.                         OLD FILE NAME:
  1302.  
  1303.         The file specified here must be a OS2 file which already exists in
  1304. the OS2 directory.
  1305.         The old file name may be entered as  asterisk (*) if the last file
  1306. name entered in answer to this prompt or the file  name prompt from any of
  1307. the other menu screen selections, if that is the file to be reformatted.
  1308.  
  1309.  
  1310.                         NEW SCREEN NAME:
  1311.  
  1312.         This is the name of the new screen painting - the way the new file
  1313. is to look.  This is  the screen to be  used  with the new file for future
  1314. data adds, updates, etc. for the new file.
  1315.  
  1316.  
  1317.                         NEW FILE NAME:
  1318.  
  1319.         This is the name of the OS2 file which is to contain the data from
  1320. the old file,  but in the format of the new screen.  This file name cannot
  1321. be the same as the OLD FILE NAME.
  1322.  
  1323.                                                                 page  35
  1324.  
  1325.  
  1326.  
  1327.                         ERRORS:
  1328.  
  1329.         If  "old-name"  is not  found to be on file,  the following  error
  1330. message will appear at the bottom of the screen:
  1331.        
  1332.         old-name NOT FOUND
  1333.  
  1334.         If the  "old-name" screen  painting  contains  no fields  (i.e. no 
  1335. underscores appear on  the screen painting),  the following  error message
  1336. will appear at the bottom of the screen:
  1337.  
  1338.         NO DATA FIELDS IN THE 'FROM' SCREEN
  1339.  
  1340.         If "new-name" is not found to be on file,  you will see this error
  1341. message at the bottom of the screen:
  1342.  
  1343.         new-name NOT FOUND
  1344.  
  1345.         If  "new-name"  screen  painting  contains  no fields,  this error 
  1346. message will appear at the bottom of the screen:
  1347.  
  1348.         NO DATA FIELDS IN THE 'TO' SCREEN
  1349.  
  1350.         If "oldfile"  is not found in the  current or specified directory,
  1351. this error message will appear at the bottom of the screen:
  1352.  
  1353.         oldfile - FILE NOT PRESENT
  1354.  
  1355.         If a mismatch is detected between "old-name"  screen and "oldfile"
  1356. file (i.e. the  file is not an even multiple of the record size associated
  1357. with the screen), the following error message will appear at the bottom of
  1358. the screen:
  1359.  
  1360.                                                                 page  36
  1361.  
  1362.  
  1363.  
  1364.  
  1365.         FILE NOT CREATED WITH THIS SCREEN
  1366.  
  1367.         If there are no matching field names between "old-name" screen and
  1368. "new-name" screen, you would be building a null file, where no information
  1369. in "oldfile"  file is transferred to  "newfile" file.  This is not allowed
  1370. and the following error will appear at the bottom of the screen:
  1371.  
  1372.         NO DATA FIELDS WITH SAME NAMES BETWEEN SCREENS
  1373.  
  1374.         FILE NAMES CANNOT BE THE SAME
  1375.  
  1376. will be the error  message if the old file  name and the new file name are
  1377. the same.
  1378.  
  1379.         The purpose of the  SCREEN DATA - REFORMAT  is to copy an old file
  1380. used with an old screen painting into a new record format, determined by a
  1381. new screen painting.  New fields  may have  been necessary  which were not
  1382. contained in the old screen painting,  or there may be more information on
  1383. the old screen painting than you desire to retain on file. You may wish to
  1384. simply change the length of a field.
  1385.  
  1386.         The way in which the records are copied is one field at a time for
  1387. all matching field names.
  1388.  
  1389.         If the new file's field values,  copied from the old file, are not
  1390. the same as  the old field values which can occur  when the new fields are
  1391. shorter than  the old  fields,  you will  see one of  the following  error
  1392. messages.
  1393.  
  1394.                                                                 page  37
  1395.  
  1396.  
  1397.  
  1398.  
  1399.         field name HAS EXPERIENCED A VALUE CHANGE
  1400.  
  1401. where only one truncation or numeric value change has occurred.
  1402.  
  1403.         n VALUE ERRORS DETECTED IN n NEW RECORD
  1404.  
  1405. where there  are multiple  truncations or  numeric value  changes have oc-
  1406. curred.
  1407.  
  1408.         If no truncated  data or numeric value changes have occurred,  the
  1409. following message  will appear  at the  bottom  of the screen  as you  are
  1410. returned to the menu screen.
  1411.  
  1412.         n RECORDS IN FILE, n REFORMATTED
  1413.  
  1414. Any discrepancy between the two numbers, represents deleted records.
  1415.  
  1416.  
  1417.                         INDEX CONSIDERATIONS:
  1418.  
  1419.         The file produced by the reformat function will not initially have
  1420. an index file associated with it.  If you wish to have an index file built
  1421. to keep up with this new file you must use the INDEX function to build the
  1422. index file.
  1423.  
  1424.                                                                 page    38
  1425.  
  1426.  
  1427.  
  1428.                         DISPLAY SCREEN NAMES
  1429.  
  1430.  
  1431.         The DISPLAY SCREEN NAMES  selection needs  no additional  informa-
  1432. tion and will display, on a new screen, the screen names. Up to 192 screen
  1433. names may be displayed; 8 names per line for 24 lines.
  1434.  
  1435.                       M E N U   S C R E E N
  1436.  
  1437.         a - SCREEN ADD                  1 - DATA ADD
  1438.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1439.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1440.         d - SCREEN DELETE               4 - DATA PRINT
  1441.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1442.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1443.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1444.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1445.         i - SYSTEM                      9 - INDEX
  1446.     ? f {E}
  1447.  
  1448.         If you forget the screen names, or which screens are defined with-
  1449. in the  present files,  this is a  quick way  to check the  defined screen
  1450. names.
  1451.  
  1452.         The limit of 192 screen names, for one set of screen files, should
  1453. be reasonable  as this would  represent  over 1.2  megabytes (1.2  million
  1454. bytes) just for the screen paintings and their associated information.
  1455.  
  1456.                                                                 page  39
  1457.  
  1458.  
  1459.                         THE SYSTEM FUNCTION
  1460.  
  1461.  
  1462.  
  1463.                       M E N U   S C R E E N
  1464.  
  1465.         a - SCREEN ADD                  1 - DATA ADD
  1466.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1467.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1468.         d - SCREEN DELETE               4 - DATA PRINT
  1469.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1470.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1471.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1472.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1473.         i - SYSTEM                      9 - INDEX
  1474.     ? i {E}
  1475.  
  1476.         The purpose of the system function is to provide access to the OS2
  1477. operating system.  The screen provided  to accept input will display a ">"
  1478. symbol in the first column of the line being accepted. This prompt will be
  1479. displayed only if the Wilkes Database is ready to accept more input.
  1480.  
  1481.         The system function,  as with all of the other functions listed on
  1482. the menu screen, has a help screen associated with it.  If ctrl-a or ctrl-
  1483. b  is entered, the help screen will be displayed only if the prompt ">" is
  1484. showing.  If a program is  being run within  the system function,  it will
  1485. be subject to the  ctrl-a or ctrl-b  and  will  take the  action which  it
  1486. would have taken had the program been run outside of the Wilkes Database.
  1487.  
  1488.                                                                 page  42
  1489.  
  1490.  
  1491.  
  1492.                         SET VIDEO ATTRIBUTES
  1493.  
  1494.  
  1495.         This routine was introduced to allow you to define what the screen
  1496. is to  look like  in a personalized way.   The file  "SCREEN.LPT"  will be
  1497. initialized differently for  the monochrome monitor and the color monitor,
  1498. but you can alter the default video display attributes with this function.
  1499.  
  1500.         The information required by the SET VIDEO ATTRIBUTES is
  1501.  
  1502.                       M E N U   S C R E E N
  1503.  
  1504.         a - SCREEN ADD                  1 - DATA ADD
  1505.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1506.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1507.         d - SCREEN DELETE               4 - DATA PRINT
  1508.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1509.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1510.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1511.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1512.         i - SYSTEM                      9 - INDEX
  1513.     ? h {E}
  1514.  
  1515.                                                                 page  43
  1516.  
  1517.  
  1518.  
  1519.         The following screen will be displayed:
  1520.  
  1521.    0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
  1522.   16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31
  1523.   32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47
  1524.   48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63
  1525.   64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79
  1526.   80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95
  1527.   96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111
  1528.  112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
  1529.  
  1530. DISPLAY TYPE
  1531.  
  1532. Normal Video                    7       ___
  1533. Reverse Video                 112       ___
  1534. Highlight                      15       ___
  1535. Underscore                      1       ___
  1536. Highlight and Underscore        9       ___
  1537.  
  1538.                                                                 page  44
  1539.  
  1540.         
  1541.  
  1542.  
  1543.         The various  numbers look  different from one  type of  monitor to
  1544. another.  The only type  of monitor  which truely  has all  of the display
  1545. types  is the monochrome  monitor.  Unfortunately, the  monochrome monitor
  1546. does not have the  pretty colors.  The current  settings for  the types of
  1547. displays appear  in the  second column and you can  give a visual check to
  1548. see if they are what you want. If not, you can enter the desired attribute
  1549. in the rightmost column.
  1550.  
  1551.         The normal video is what you will see most of the time, so make it
  1552. as pleasing as possible. The rest of the display attributes are associated
  1553. with the DATA ADD and UPDATE screens for the fields which you have as part
  1554. of your screen paintings.
  1555.  
  1556.         If you get  to this screen  and wish to not  update the attributes
  1557. you can hit the F2 key and be returned to the MENU SCREEN.  If you wish to
  1558. update the attributes,  you must  enter the desired number for each of the
  1559. attributes. When the last of these is entered, you will be returned to the
  1560. MENU SCREEN and the new attributes will be in effect.
  1561.  
  1562.         If you have entered  display attributes which are unreadable,  you
  1563. can delete the file "SCREEN.LPT" and return to the default attributes. The
  1564. printer attributes are also  retained in this file and will be returned to
  1565. their defaults also.  If you have  previously set up indexes they are also
  1566. located in this file, so don't remove "SCREEN.LPT" if you have indexed any
  1567. file and wish to retain this index information.
  1568.  
  1569.                                                                 page  45
  1570.  
  1571.  
  1572.  
  1573.                                 DATA ADD
  1574.  
  1575.  
  1576.         You must use this routine to  interactively add records to a file.
  1577. The records are added  at the  end of the  file; so that, if  you wish the
  1578. records to be in some particular order, you may wish to use the  DATA SORT
  1579. at the end of a DATA ADD session.
  1580.  
  1581.         The information required by the DATA ADD function is
  1582.  
  1583.                       M E N U   S C R E E N
  1584.  
  1585.         a - SCREEN ADD                  1 - DATA ADD
  1586.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1587.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1588.         d - SCREEN DELETE               4 - DATA PRINT
  1589.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1590.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1591.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1592.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1593.         i - SYSTEM                      9 - INDEX
  1594.     ? 1 {E}
  1595.     SCREEN NAME? name {E}
  1596.     FILE NAME? filename {E}
  1597.  
  1598.                         SCREEN NAME:
  1599.  
  1600.         If the screen to be used here is the same as  the last screen name
  1601. entered  in any of  the menu  screen  selections  then  you  may  enter an
  1602. asterisk (*) here for  that screen name.  If a screen name is entered here
  1603. then  this  screen name  will be  remembered as  the last screen  name for
  1604. future use in an abreviated form with the asterisk.
  1605.  
  1606.                                                                 page  46
  1607.  
  1608.  
  1609.  
  1610.  
  1611.                         FILE NAME:
  1612.  
  1613.         The file specified here must be a OS2 file which already exists in
  1614. the OS2 directory.
  1615.         If the file name to be used here is the same as the last file name
  1616. entered in  any of the menu  screen selections  then you may abreviate the
  1617. file name by entering an asterisk (*). If a file name is entered here then
  1618. this file name  will be remembered as the last file name for future use in
  1619. an abreviated form with the asterisk.
  1620.  
  1621.  
  1622.                         FILE NOT PRESENT:
  1623.  
  1624.         If the  file  does not  exist already in  the current or specified
  1625. directory
  1626.  
  1627.                       M E N U   S C R E E N
  1628.  
  1629.         a - SCREEN ADD                  1 - DATA ADD
  1630.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1631.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1632.         d - SCREEN DELETE               4 - DATA PRINT
  1633.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1634.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1635.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1636.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1637.         i - SYSTEM                      9 - INDEX
  1638.     ? 1 {E}
  1639.     SCREEN NAME? name {E}
  1640.     FILE NAME? filename {E}
  1641.     FILE NOT PRESENT. CREATE? y {E}
  1642.  
  1643.                                                                 page  47
  1644.  
  1645.  
  1646.  
  1647.  
  1648.                         CREATE:
  1649.  
  1650.         If you answer this  prompt with y(YES),  as we did in the example,
  1651. you will have created a new file, which is empty. If you answer n(NO), the
  1652. new file will not be created and you will have a fresh menu screen.
  1653.  
  1654.  
  1655.                         ERRORS:
  1656.  
  1657.         The possible errors introduced by  your answers to the prompts are
  1658.  
  1659.         name     NOT FOUND
  1660.  
  1661. if the named screen is not on file.
  1662.  
  1663.         FILE NOT CREATED WITH THIS SCREEN
  1664.  
  1665. if the file  size is not  an even multiple  of the record  size associated
  1666. with the screen information.
  1667.  
  1668.         NO DATA FIELDS IN THE SCREEN
  1669.  
  1670. if the screen painting contained no field definitions (i.e. no underscores
  1671. in the screen painting).
  1672.  
  1673.  
  1674.                         INDEX CONSIDERATIONS:
  1675.  
  1676.         When additions are made to files which are indexed, the new record
  1677. keys will be placed in the index file automatically.   If there are enough
  1678. resources to take  care of this function no  further consideration need be
  1679. made.
  1680.  
  1681.                                                                 page    48
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.                         INDEXED LOOKUP:
  1688.  
  1689.         The field at which the cursor rests when  Alt F3  keys are entered
  1690. is taken to be  the field to base  the indexed lookup on.   If the name of
  1691. this field is the same as any field which has been previously indexed, the
  1692. file with which the field is associated is a candidate for indexed lookup.
  1693. If there is only one candidate,  an attempt is made to find a key equal to
  1694. the field under the cursor.  In order to have a match,  the fields must be
  1695. defined in the same way (ex. if one is defined as character data of length
  1696. seven bytes, then the other must also be character data and be seven bytes
  1697. in length).
  1698.  
  1699.         If there are more than one candidate for the lookup,  they will be
  1700. displayed one at a time at the bottom of the screen until you either "use"
  1701. one or the list of candidates is exhausted.  The information listed at the
  1702. bottom of the screen is
  1703.  
  1704.        F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
  1705.  
  1706. If one of the displays is picked (F1) or there is only one candidate to be
  1707. considered, the search for an equal field value in the "file-name" file is
  1708. carried out.  If a match is located, the matching record will be displayed
  1709. using its own "screen-name" screen painting.
  1710.  
  1711.         If no matching key is  located the  following will be displayed at
  1712. the bottom ot the screen:
  1713.  
  1714.         NO MATCH FOUND.  CREATE BLANK RECORD(y or n)?
  1715.  
  1716.                                                                 page    49
  1717.  
  1718.  
  1719.  
  1720.  
  1721. which may only  be answered  with a n(no) or y(yes).  If the answer is yes
  1722. a blank record will be  added with the key field only filled in.  If there
  1723. are checks to be made on the data those checks  will not be made here.  If
  1724. the key was successfully added  and the keys of both files were defined in
  1725. exactly the same way,  the added record will appear on the screen in order
  1726. that  additional information can be  filled into the other fields.  If the
  1727. question  "CREATE BLANK RECORD?"  is answered with n(no)  then you will be
  1728. returned to  the record on  which you were  working when the index  lookup
  1729. request was made.
  1730.  
  1731.         After locating one matching key, you can accomplish several tasks:
  1732.  
  1733.         1) Add a new record to the file whose record is displayed. Alt-F1.
  1734.         2) Update the displayed record. F1.
  1735.         3) Find the next matching record in the file. F2.
  1736.            If none,  you will be returned to the record displayed prior to
  1737.            the indexed lookup.
  1738.         4) Find the previous matching record in the file. Shifted-F2.
  1739.            If none,  you will be returned to the record displayed prior to
  1740.            the indexed lookup.
  1741.         5) Print the displayed record. Shifted-F2.
  1742.         6) Delete the displayed record. Shifted-F9.
  1743.         7) Do another indexed lookup (max depth is ten). Alt-F3.
  1744.  
  1745.  
  1746.                         INDEX ERRORS:
  1747.  
  1748.         As you move from one  file to another,  there is information which
  1749. must be retained.  If you move from file "a" to file "b" and from file "b"
  1750. to file "c" before returning to file "a", an additional set of information
  1751.  
  1752.                                                                 page    50
  1753.  
  1754.  
  1755.  
  1756.  
  1757. must be retained.  For reasons of limited memory you will be allowed to go
  1758. to a maximum depth of ten file-to-file movements before the message
  1759.  
  1760.         MAXIMUM INDEX DEPTH EXCEEDED
  1761.  
  1762. is returned at the bottom of the screen.  Any time you move back to a file
  1763. at a previous level  without using the index lookup  (i.e. automatically),
  1764. the depth at which you are working is reduced by one.  This restriction of
  1765. depth of ten should not hamper  you in any real way with properly designed
  1766. systems.
  1767.  
  1768.                                                                 page  51
  1769.  
  1770.  
  1771.  
  1772.  
  1773.                         CURSOR MOVEMENT:
  1774.  
  1775.         As data is being entered, the cursor will move from the end of one
  1776. field to  the  beginning of  the next  -  emitting an  audible  beep.  The
  1777. frequency and duration of the beep is such that the beep  should be easily
  1778. heard  but not  intrusive.  You can get  from field to field  by using the
  1779. enter or tab key,  the cursor  key or space  bar from the  last  character
  1780. position of the present field.  You can move the cursor backward one field
  1781. at a time by using the shift tab keys or the cursor left key. These cursor
  1782. movements from field to field wrap from top to bottom and visa versa (i.e.
  1783. the  next field down from the last field on the screen is the first field,
  1784. and the  next  field up  from the first  field on  the screen  is the last
  1785. field).  The home  key will  send the cursor  to the first  field from any
  1786. position on the screen.
  1787.  
  1788.  
  1789.                         DATA ERRORS:
  1790.  
  1791.         Fields found to be in error  will either  blink or display  at the
  1792. bottom of the screen, depending on how the prompt "BLINK FIELDS IN ERROR?"
  1793. was  answered during SCREEN ADD or SCREEN UPDATE.  The two possible errors
  1794. are
  1795.  
  1796.         fieldname FIELD - REQUIRED
  1797.  
  1798. where the field "fieldname"  was left blank and this field was marked as a
  1799. required field during SCREEN ADD or SCREEN UPDATE.
  1800.  
  1801.         fieldname FIELD - INVALID VALUE
  1802.  
  1803.                                                                 page  52
  1804.  
  1805.  
  1806.  
  1807.  
  1808. where the field "fieldname" has a numeric storage type and the information
  1809. entered into the field  contains invalid  characters for the specific type
  1810. of number.
  1811.  
  1812. NOTE:  Field errors are only detected when you attempt to store the record
  1813. by hitting the F1 key.
  1814.  
  1815.  
  1816.                         FUNCTION KEYS:
  1817.  
  1818.         F1      - Store  the data  appearing on the  screen into  the disk
  1819.                   file.
  1820.         F2      - Do not store the data displayed on the screen. Return to
  1821.                   the menu screen.
  1822.         Alt F1  - Add the record and leave all information on the screen.
  1823.         Alt F2  - Print the information appearing on the screen.
  1824.         Alt F3  - Perform indexed lookup.  The indexed lookup is described
  1825.                   above.
  1826.  
  1827.                                                                 page  53
  1828.  
  1829.  
  1830.  
  1831.                         DATA LOOKUP/UPDATE
  1832.  
  1833.  
  1834.         This routine will help you look up specific records,  where simply
  1835. searching the file might take too long.  The file does not have to be in a
  1836. particular  order to  make  a search,  and any  field may  be used  in the
  1837. search.
  1838.  
  1839.         The information, which will be prompted for,  follows with example
  1840. answers.
  1841.  
  1842.                       M E N U   S C R E E N
  1843.  
  1844.         a - SCREEN ADD                  1 - DATA ADD
  1845.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  1846.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  1847.         d - SCREEN DELETE               4 - DATA PRINT
  1848.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  1849.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  1850.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  1851.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  1852.         i - SYSTEM                      9 - INDEX
  1853.     ? 2 {E}
  1854. 0)  SCREEN NAME? name {E}
  1855. 1)  FILE NAME? filename {E}
  1856. 2)  FIELD NAME? field a {E} CMP? >= {E}  VALUE? BROWN {E}
  1857. 3)  FIELD NAME? field a {E} CMP? <= {E}  VALUE? SMITH {E}
  1858. 4)  FIELD NAME? field b {E} CMP? > {E}   VALUE? 10 {E}
  1859. 5)  FIELD NAME? field c {E} CMP? = {E}   VALUE? 1 {E}
  1860. 6)  FIELD NAME? field d {E} CMP? <> {E}  VALUE? 5 {E}
  1861.  
  1862.                                                                 page  54
  1863.  
  1864.  
  1865.  
  1866.  
  1867.                         GENERAL:
  1868.  
  1869.         It is not necessary to answer more than one line of the prompts 2)
  1870. through 6). After line 2) has been entered (or at the end of 3), 4) or 5))
  1871. you may simply hit F1 to start the lookup process.
  1872.  
  1873.         The lookup  will be made as  if you had asked the  program to find
  1874. all records which meet the conditions of prompt line 2) AND prompt line 3)
  1875. AND prompt line 4) AND prompt line 5) AND prompt line 6).
  1876.  
  1877.         If  there  are  no records  or no  more  records  which  meet  the
  1878. selection  criteria,  you  will  abruptly  leave the  DATA   LOOKUP/UPDATE
  1879. function and be returned to the menu screen.
  1880.  
  1881.  
  1882.                         SCREEN NAME:
  1883.  
  1884.         If the screen to be used here is the same as  the last screen name
  1885. entered  in any of  the menu  screen  selections  then  you  may  enter an
  1886. asterisk (*) here for  that screen name.  If a screen name is entered here
  1887. then  this  screen name  will be  remembered as  the last screen  name for
  1888. future use in an abreviated form with the asterisk.
  1889.  
  1890.  
  1891.                         FILE NAME:
  1892.  
  1893.         The file specified here must be a OS2 file which already exists in
  1894. the OS2 directory.
  1895.  
  1896.                                                                 page  55
  1897.  
  1898.  
  1899.  
  1900.  
  1901.         If the file name to be used here is the same as the last file name
  1902. entered in  any of the menu  screen selections  then you may abreviate the
  1903. file name by entering an asterisk (*). If a file name is entered here then
  1904. this file name  will be remembered as the last file name for future use in
  1905. an abreviated form with the asterisk.
  1906.  
  1907.  
  1908.                         FIELD NAME:
  1909.  
  1910.         The field name must be a valid field name for the screen. The name
  1911. of the field is that entered when the screen was painted. In order to make
  1912. the names easy to  remember, the names should be descriptive (for example,
  1913. a field containing the name of a person or  company might be named "name",
  1914. an  address  might be named "address"  and a  phone number field  might be
  1915. named "phone #").
  1916.  
  1917.  
  1918.                         COMPARISON:
  1919.  
  1920.         The allowed values for the "CMP?" (comparison) prompt are
  1921.                 =       equal to
  1922.                 >       greater than
  1923.                 <       less than
  1924.                 >=      greater than or equal to
  1925.                 <=      less than or equal to
  1926.                 <>      not equal to.
  1927.  
  1928.                                                                 page  56
  1929.  
  1930.  
  1931.  
  1932.  
  1933.                         VALUE:
  1934.  
  1935.         The VALUE may be up to 30 characters in length. If the field has a
  1936. shorter length in the screen painting and the storage type is not numeric,
  1937. the VALUE will be truncated on the  right before comparing to the value of
  1938. the field in the disk file record.
  1939.  
  1940.  
  1941.                         PROMPT ERRORS:
  1942.  
  1943.         The errors which may be detected in the prompt answers and printed
  1944. at the bottom of the screen, are
  1945.  
  1946.         name     NOT FOUND
  1947.  
  1948. if the screen name is not found on file.
  1949.  
  1950.         filename - FILE NOT FOUND
  1951.  
  1952. if the file named "filename" is not in the current or specified directory.
  1953.  
  1954.         FILE NOT CREATED WITH THIS SCREEN
  1955.  
  1956. if the file size is not an  even multiple of the  record size kept as part
  1957. of the screen painting information.
  1958.  
  1959.         NO DATA FIELDS IN THE SCREEN
  1960.  
  1961. if the screen is on file but contains no fields.
  1962.  
  1963.                                                                 page  57
  1964.  
  1965.  
  1966.         field name - FIELD NAME NOT FOUND IN SCREEN
  1967.  
  1968. if the field  name entered  in prompt  lines 2) - 6) is not  a valid field
  1969. name in the specified screen.
  1970.  
  1971.  
  1972.                         DATA ERRORS:
  1973.  
  1974.         You can update the information on the screen and store the updated
  1975. screen data if  there are no  errors.  Data errors  will either blink  the
  1976. field in  error or  display an error message  at the bottom of the screen.
  1977. The two possible error displays are
  1978.  
  1979.         field name FIELD - REQUIRED
  1980.  
  1981. if the field  was marked  as required  in the SCREEN ADD  or SCREEN UPDATE
  1982. functions or
  1983.  
  1984.         field name FIELD - INVALID VALUE
  1985.  
  1986. if the storage  type for  the field  was numeric  (i.e.  UNSIGNED INTEGER,
  1987. INTEGER, LONG INTEGER, FLOATING POINT  or  DOUBLE FLOATING POINT)  and the
  1988. field  contains a  character  which is invalid  for the numeric type  (for
  1989. example, INTEGERs cannot  contain a period,  UNSIGNED INTEGERs cannot have
  1990. a hyphen).
  1991.  
  1992.  
  1993.                         INDEX CONSIDERATIONS:
  1994.  
  1995.         When additions are made to files which are indexed, the new record
  1996. keys will be placed in the index file automatically.   If there are enough
  1997. resources to take  care of this function no  further consideration need be
  1998. made.
  1999.  
  2000.                                                                 page    58
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.                         INDEXED LOOKUP:
  2007.  
  2008.         The field at which the cursor rests when  Alt F3  keys are entered
  2009. is taken to be  the field to base  the indexed lookup on.   If the name of
  2010. this field is the same as any field which has been previously indexed, the
  2011. file with which the field is associated is a candidate for indexed lookup.
  2012. If there is only one candidate,  an attempt is made to find a key equal to
  2013. the field under the cursor.  In order to have a match,  the fields must be
  2014. defined in the same way (ex. if one is defined as character data of length
  2015. seven bytes, then the other must also be character data and be seven bytes
  2016. in length).
  2017.  
  2018.         If there are more than one candidate for the lookup,  they will be
  2019. displayed one at a time at the bottom of the screen until you either "use"
  2020. one or the list of candidates is exhausted.  The information listed at the
  2021. bottom of the screen is
  2022.  
  2023.        F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
  2024.  
  2025. If one of the displays is picked (F1) or there is only one candidate to be
  2026. considered, the search for an equal field value in the "file-name" file is
  2027. carried out.  If a match is located, the matching record will be displayed
  2028. using its own "screen-name" screen painting.
  2029.  
  2030.         If no matching key is  located the  following will be displayed at
  2031. the bottom ot the screen:
  2032.  
  2033.         NO MATCH FOUND.  CREATE BLANK RECORD(y or n)?
  2034.  
  2035.                                                                 page    59
  2036.  
  2037.  
  2038.  
  2039.  
  2040. which may only  be answered  with a n(no) or y(yes).  If the answer is yes
  2041. a blank record will be  added with the key field only filled in.  If there
  2042. are checks to be made on the data those checks  will not be made here.  If
  2043. the key was successfully added  and the keys of both files were defined in
  2044. exactly the same way,  the added record will appear on the screen in order
  2045. that  additional information can be  filled into the other fields.  If the
  2046. question  "CREATE BLANK RECORD?"  is answered with n(no)  then you will be
  2047. returned to  the record on  which you were  working when the index  lookup
  2048. request was made.
  2049.  
  2050.         After locating one matching key, you can accomplish several tasks:
  2051.  
  2052.         1) Add a new record to the file whose record is displayed. Alt-F1.
  2053.         2) Update the displayed record. F1.
  2054.         3) Find the next matching record in the file. F2.
  2055.            If none,  you will be returned to the record displayed prior to
  2056.            the indexed lookup.
  2057.         4) Find the previous matching record in the file. Shifted-F2.
  2058.            If none,  you will be returned to the record displayed prior to
  2059.            the indexed lookup.
  2060.         5) Print the displayed record. Shifted-F2.
  2061.         6) Delete the displayed record. Shifted-F9.
  2062.         7) Do another indexed lookup (max depth is ten). Alt-F3.
  2063.  
  2064.  
  2065.                         INDEX ERRORS:
  2066.  
  2067.         As you move from one  file to another,  there is information which
  2068. must be retained.  If you move from file "a" to file "b" and from file "b"
  2069. to file "c" before returning to file "a", an additional set of information
  2070.  
  2071.                                                                 page    60
  2072.  
  2073.  
  2074.  
  2075.  
  2076. must be retained.  For reasons of limited memory you will be allowed to go
  2077. to a maximum depth of ten file-to-file movements before the message
  2078.  
  2079.         MAXIMUM INDEX DEPTH EXCEEDED
  2080.  
  2081. is returned at the bottom of the screen.  Any time you move back to a file
  2082. at a previous level  without using the index lookup  (i.e. automatically),
  2083. the depth at which you are working is reduced by one.  This restriction of
  2084. depth of ten should not hamper  you in any real way with properly designed
  2085. systems.
  2086.  
  2087.  
  2088.                         CURSOR MOVEMENT:
  2089.  
  2090.         As data is being entered, the cursor will move from the end of one
  2091. field to  the  beginning of  the next  -  emitting an  audible  beep.  The
  2092. frequency and duration of the beep is such that the beep  should be easily
  2093. heard  but not  intrusive.  You can get  from field to field  by using the
  2094. enter or tab key,  the cursor  key or space  bar from the  last  character
  2095. position of the present field.  You can move the cursor backward one field
  2096. at a time by using the shift tab keys or the cursor left key. These cursor
  2097. movements from field to field wrap from top to bottom and visa versa (i.e.
  2098. the  next field down from the last field on the screen is the first field,
  2099. and the  next  field up  from the first  field on  the screen  is the last
  2100. field).  The home  key will  send the cursor  to the first  field from any
  2101. position on the screen.
  2102.  
  2103.                                                                 page    61
  2104.  
  2105.  
  2106.  
  2107.  
  2108.                         RECORD DELETION:
  2109.  
  2110.         You can delete the displayed record by pressing shift and F9 keys,
  2111. unless the file is an ALIEN FILE  (i.e. marked in the SCREEN ADD or SCREEN
  2112. UPDATE as alien).  If the record is deletable "n DELETED",  where n is the
  2113. record number, will appear on the right side of the bottom line, otherwise
  2114. "ALIEN RECORD" will appear on the right side of the bottom line. A deleted
  2115. record is  no longer accessable for all practical purposes, so don't throw
  2116. it away if you need it.
  2117.  
  2118. NOTE:  The record  number of the data on the  screen is usually showing on
  2119. the bottom left of the screen.
  2120.  
  2121.  
  2122.                         FUNCTION KEYS:
  2123.  
  2124.         F1-F8   - Will move  forward in the file to  the next record which
  2125.                   meets the selection criteria.  If none exist you will be
  2126.                   exited to the menu screen.
  2127.         shift F1-shift F8
  2128.                 - Will move backward in the file to the prior record which
  2129.                   meets the selection criteria.  If none exits you will be
  2130.                   exited to the menu screen.
  2131.         F9      - Move to the front of the file and then display the first
  2132.                   record  (moving  forward)  which  meets  the   selection
  2133.                   criteria.
  2134.         F10     - Move to the end of the  file and then  display the first
  2135.                   record  (moving  backward)  which  meets  the  selection
  2136.                   criteria.
  2137.  
  2138.                                                                 page    62
  2139.  
  2140.  
  2141.  
  2142.  
  2143.         shifted F9
  2144.                 - Delete the displayed  data record from the file and move
  2145.                   to the next record (backward or forward) which meets the
  2146.                   selection criteria.
  2147.         shifted F10
  2148.                 - Exit back to the menu screen.
  2149.         Alt F1  - Add the record and leave all information on the screen.
  2150.         Alt F3  - Perform indexed lookup.  The indexed lookup is described
  2151.                   above.
  2152.  
  2153.                                                                 page  63
  2154.  
  2155.  
  2156.  
  2157.                         DATA DISPLAY/UPDATE
  2158.  
  2159.  
  2160.         The DATA DISPLAY/UPDATE function is useful for perusing  (viewing)
  2161. and updating the records  of a file.  If the number of records in the file
  2162. is relatively  small  or you have  the records  sorted,  you may find this
  2163. function to be faster to use than the DATA LOOKUP/UPDATE.
  2164.         The menu screen prompts for the DATA DISPLAY/UPDATE,  with example
  2165. inputs are
  2166.  
  2167.                       M E N U   S C R E E N
  2168.  
  2169.         a - SCREEN ADD                  1 - DATA ADD
  2170.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  2171.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  2172.         d - SCREEN DELETE               4 - DATA PRINT
  2173.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  2174.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  2175.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  2176.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  2177.         i - SYSTEM                      9 - INDEX
  2178.     ? 3 {E}
  2179.     SCREEN NAME? name {E}
  2180.     FILE NAME? filename {E}
  2181.  
  2182.                         SCREEN NAME:
  2183.  
  2184.         If the screen to be used here is the same as  the last screen name
  2185. entered  in any of  the menu  screen  selections  then  you  may  enter an
  2186. asterisk (*) here for  that screen name.  If a screen name is entered here
  2187. then  this  screen name  will be  remembered as  the last screen  name for
  2188. future use in an abreviated form with the asterisk.
  2189.  
  2190.                                                                 page  64
  2191.  
  2192.  
  2193.  
  2194.  
  2195.                         FILE NAME:
  2196.  
  2197.         The file specified here must be a OS2 file which already exists in
  2198. the OS2 directory.
  2199.         If the file name to be used here is the same as the last file name
  2200. entered in  any of the menu  screen selections  then you may abreviate the
  2201. file name by entering an asterisk (*). If a file name is entered here then
  2202. this file name  will be remembered as the last file name for future use in
  2203. an abreviated form with the asterisk.
  2204.  
  2205.  
  2206.                         PROMPT ERRORS:
  2207.  
  2208.         The possible errors, displayed on the last line of the screen, are
  2209.  
  2210.         name     NOT FOUND
  2211.  
  2212. if the screen name is not on file.
  2213.  
  2214.         filename - FILE NOT PRESENT
  2215.  
  2216. if the file is not found in the current or specified directory.
  2217.  
  2218.         FILE NOT CREATED WITH THIS SCREEN
  2219.  
  2220. if the file  size is not  an even multiple  of the record  size associated
  2221. with the screen painting.
  2222.  
  2223.         NO DATA FIELDS IN THE SCREEN
  2224.  
  2225. if no underscore fields (data fields) were entered into the painting while
  2226. the screen painting was being formed or updated.
  2227.  
  2228.                                                                 page  65
  2229.  
  2230.  
  2231.  
  2232.  
  2233.         As with the DATA LOOKUP/UPDATE function, you are allowed to delete
  2234. records which are native to the Wilkes database (i.e. not ALIEN FILES). If
  2235. you hit the shift F9 keys, one of two possible messages will appear on the
  2236. right side of the last line on the screen. These messages are
  2237.  
  2238.         n DELETED
  2239.  
  2240. where n is the record number of the deleted record and
  2241.  
  2242.         ALIEN RECORD
  2243.  
  2244. where the record  cannot be deleted  because the screen  painting  for the
  2245. file was marked as an ALIEN FILE.
  2246.  
  2247.  
  2248.                         INDEX CONSIDERATIONS:
  2249.  
  2250.         When additions are made to files which are indexed, the new record
  2251. keys will be placed in the index file automatically.   If there are enough
  2252. resources to take  care of this function no  further consideration need be
  2253. made.
  2254.  
  2255.                                                                 page    66
  2256.  
  2257.  
  2258.  
  2259.  
  2260.                         INDEXED LOOKUP:
  2261.  
  2262.         The field at which the cursor rests when  Alt F3  keys are entered
  2263. is taken to be  the field to base  the indexed lookup on.   If the name of
  2264. this field is the same as any field which has been previously indexed, the
  2265. file with which the field is associated is a candidate for indexed lookup.
  2266. If there is only one candidate,  an attempt is made to find a key equal to
  2267. the field under the cursor.  In order to have a match,  the fields must be
  2268. defined in the same way (ex. if one is defined as character data of length
  2269. seven bytes, then the other must also be character data and be seven bytes
  2270. in length).
  2271.  
  2272.         If there are more than one candidate for the lookup,  they will be
  2273. displayed one at a time at the bottom of the screen until you either "use"
  2274. one or the list of candidates is exhausted.  The information listed at the
  2275. bottom of the screen is
  2276.  
  2277.        F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
  2278.  
  2279. If one of the displays is picked (F1) or there is only one candidate to be
  2280. considered, the search for an equal field value in the "file-name" file is
  2281. carried out.  If a match is located, the matching record will be displayed
  2282. using its own "screen-name" screen painting.
  2283.  
  2284.         If no matching key is  located the  following will be displayed at
  2285. the bottom ot the screen:
  2286.  
  2287.         NO MATCH FOUND.  CREATE BLANK RECORD(y or n)?
  2288.  
  2289.                                                                 page    67
  2290.  
  2291.  
  2292.  
  2293.  
  2294. which may only  be answered  with a n(no) or y(yes).  If the answer is yes
  2295. a blank record will be  added with the key field only filled in.  If there
  2296. are checks to be made on the data those checks  will not be made here.  If
  2297. the key was successfully added  and the keys of both files were defined in
  2298. exactly the same way,  the added record will appear on the screen in order
  2299. that  additional information can be  filled into the other fields.  If the
  2300. question  "CREATE BLANK RECORD?"  is answered with n(no)  then you will be
  2301. returned to  the record on  which you were  working when the index  lookup
  2302. request was made.
  2303.  
  2304.         After locating one matching key, you can accomplish several tasks:
  2305.  
  2306.         1) Add a new record to the file whose record is displayed. Alt-F1.
  2307.         2) Update the displayed record. F1.
  2308.         3) Find the next matching record in the file. F2.
  2309.            If none,  you will be returned to the record displayed prior to
  2310.            the indexed lookup.
  2311.         4) Find the previous matching record in the file. Shifted-F2.
  2312.            If none,  you will be returned to the record displayed prior to
  2313.            the indexed lookup.
  2314.         5) Print the displayed record. Shifted-F2.
  2315.         6) Delete the displayed record. Shifted-F9.
  2316.         7) Do another indexed lookup (max depth is ten). Alt-F3.
  2317.  
  2318.  
  2319.                         INDEX ERRORS:
  2320.  
  2321.         As you move from one  file to another,  there is information which
  2322. must be retained.  If you move from file "a" to file "b" and from file "b"
  2323. to file "c" before returning to file "a", an additional set of information
  2324.  
  2325.                                                                 page    68
  2326.  
  2327.  
  2328.  
  2329.  
  2330. must be retained.  For reasons of limited memory you will be allowed to go
  2331. to a maximum depth of ten file-to-file movements before the message
  2332.  
  2333.         MAXIMUM INDEX DEPTH EXCEEDED
  2334.  
  2335. is returned at the bottom of the screen.  Any time you move back to a file
  2336. at a previous level  without using the index lookup  (i.e. automatically),
  2337. the depth at which you are working is reduced by one.  This restriction of
  2338. depth of ten should not hamper  you in any real way with properly designed
  2339. systems.
  2340.  
  2341.  
  2342.                         CURSOR MOVEMENT:
  2343.  
  2344.         As data is being entered, the cursor will move from the end of one
  2345. field to  the  beginning of  the next  -  emitting an  audible  beep.  The
  2346. frequency and duration of the beep is such that the beep  should be easily
  2347. heard  but not  intrusive.  You can get  from field to field  by using the
  2348. enter or tab key,  the cursor  key or space  bar from the  last  character
  2349. position of the present field.  You can move the cursor backward one field
  2350. at a time by using the shift tab keys or the cursor left key. These cursor
  2351. movements from field to field wrap from top to bottom and visa versa (i.e.
  2352. the  next field down from the last field on the screen is the first field,
  2353. and the  next  field up  from the first  field on  the screen  is the last
  2354. field).  The home  key will  send the cursor  to the first  field from any
  2355. position on the screen.
  2356.  
  2357.                                                                 page  69
  2358.  
  2359.  
  2360.  
  2361.  
  2362.                         EXITING THE FUNCTION:
  2363.  
  2364.         When you exit the DATA DISPLAY/UPDATE function, with the shift F10
  2365. keys, the following message will be displayed at the bottom of the screen.
  2366.  
  2367.         n RECORDS IN FILE, n DISPLAYS, n UPDATES, n DELETES
  2368.  
  2369. NOTE:  The record number of the data presently displayed is usually on the
  2370. left side of the bottom line on the screen.
  2371.  
  2372.         If there  are deleted  records  at the  end of  the  file  in  the
  2373. direction you are moving  (front or back) you will exit to the menu screen
  2374. with the following message displayed at the bottom of the screen.
  2375.  
  2376.         n RECORDS IN FILE, n DISPLAYS, n UPDATES, n DELETES
  2377.  
  2378.                         FUNCTION KEYS:
  2379.  
  2380.         F1      - Update  the  disk  record  from the screen  information,
  2381.                   display the record number updated on the  right  side of
  2382.                   the  last line  ("n UPDATED"),  and  move forward in the
  2383.                   file to the next record which has not been deleted.
  2384.         F2      - Move forward  in the  file to the next  record which has
  2385.                   not been  deleted.  Any changes which have  been made to
  2386.                   data on the screen is ignored.
  2387.         F3      - Update,  and display the  update message  as with F1 but
  2388.                   move forward 10 records in the file and display the next
  2389.                   non deleted record.
  2390.  
  2391.                                                                 page  70
  2392.  
  2393.  
  2394.  
  2395.  
  2396.         F4      - Move forward in the file 10 records and display the next
  2397.                   non deleted record.  Ignore any changes which  have been
  2398.                   made to the data displayed on the screen.
  2399.         F5      - Update,  and display the  update message  as with F1 but
  2400.                   move forward 100  records in  the  file and  display the
  2401.                   next non deleted record.
  2402.         F6      - Move forward  in the  file 100  records and  display the
  2403.                   next non deleted record.  Ignore any changes which  have
  2404.                   been made to the data displayed on the screen.
  2405.         F7      - Update,  and display the  update message  as with F1 but
  2406.                   move forward 1000 records in  the  file and  display the
  2407.                   next non deleted record.
  2408.         F8      - Move forward  in the  file 1000 records and  display the
  2409.                   next non deleted record.  Ignore any changes which  have
  2410.                   been made to the data displayed on the screen.
  2411.         F9      - Move to the first record  of the file.  Any changes made
  2412.                   to the data on the screen will be ignored.
  2413.         F10     - Move to the last record of the file. Any changes made to
  2414.                   the data on the screen will be ignored.
  2415.         shift F1 -Same as F1 except that file positioning is backward.
  2416.         shift F2 -Same as F2 except that file positioning is backward.
  2417.         shift F3 -Same as F3 except that file positioning is backward.
  2418.         shift F4 -Same as F4 except that file positioning is backward.
  2419.         shift F5 -Same as F5 except that file positioning is backward.
  2420.         shift F6 -Same as F6 except that file positioning is backward.
  2421.         shift F7 -Same as F7 except that file positioning is backward.
  2422.         shift F8 -Same as F8 except that file positioning is backward.
  2423.         shift F9 -Deletes the  record on the screen  unless the file is an
  2424.                   ALIEN FILE.  Move  in the direction last moved in by one
  2425.                   record.
  2426.  
  2427.                                                                 page  71
  2428.  
  2429.  
  2430.  
  2431.  
  2432.         shift F10-Exit back to the menu screen.
  2433.         Alt F1  - Add the record and leave all information on the screen.
  2434.         Alt F3  - Perform indexed lookup.  The indexed lookup is described
  2435.                   above.
  2436.  
  2437.         A quick visual reference of the function keys is
  2438.       
  2439.           UNSHIFTED/SHIFTED          UNSHIFTED/SHIFTED
  2440.  
  2441.               UPDATE(+1/-1)  F1|F2   +1/-1
  2442.             UPDATE(+10/-10)  F3|F4   +10/-10
  2443.           UPDATE(+100/-100)  F5|F6   +100/-100
  2444.         UPDATE(+1000/-1000)  F7|F8   +1000/-1000
  2445.                BEGIN/DELETE  F9|F10  END/EXIT
  2446.  
  2447.         For the function keys with 'Alt' key depressed
  2448.  
  2449.                          WITH ALT KEY
  2450.  
  2451.                 ADD RECORD   F1
  2452.             INDEXED LOOKUP   F3
  2453.  
  2454.         With no other function keys used in conjunction with 'Alt'.
  2455.  
  2456.                                                                 page  72
  2457.  
  2458.  
  2459.  
  2460.  
  2461.                                 DATA PRINT
  2462.  
  2463.  
  2464.         The DATA PRINT function is used to produce  printed reports of the
  2465. data in the files in as  flexible a fashion as  possible,  while requiring
  2466. minimal expertise with computers.  DATA PRINT allows print lines up to 240
  2467. print positions wide, so you can take advantage of the wide paper with the
  2468. condensed print available on some of the printers today. This will let you
  2469. print spreadsheets with a lot of spread.
  2470.  
  2471.         Before you use your printer for the first time you should read the
  2472. documentation in the SET PRINTER ATTRIBUTES section.
  2473.  
  2474.         The menu screen prompts, with example input are
  2475.  
  2476.                       M E N U   S C R E E N
  2477.  
  2478.         a - SCREEN ADD                  1 - DATA ADD
  2479.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  2480.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  2481.         d - SCREEN DELETE               4 - DATA PRINT
  2482.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  2483.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  2484.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  2485.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  2486.         i - SYSTEM                      9 - INDEX
  2487.     ? 4 {E}
  2488.     SCREEN NAME? name {E}
  2489.     FILE NAME? filename {E}
  2490.  
  2491.                                                                 page  73
  2492.  
  2493.  
  2494.  
  2495.  
  2496.                         SCREEN NAME:
  2497.  
  2498.         If the screen to be used here is the same as  the last screen name
  2499. entered  in any of  the menu  screen  selections  then  you  may  enter an
  2500. asterisk (*) here for  that screen name.  If a screen name is entered here
  2501. then  this  screen name  will be  remembered as  the last screen  name for
  2502. future use in an abreviated form with the asterisk.
  2503.  
  2504.  
  2505.                         FILE NAME:
  2506.  
  2507.         The file specified here must be a OS2 file which already exists in
  2508. the OS2 directory.
  2509.         If the file name to be used here is the same as the last file name
  2510. entered in  any of the menu  screen selections  then you may abreviate the
  2511. file name by entering an asterisk (*). If a file name is entered here then
  2512. this file name  will be remembered as the last file name for future use in
  2513. an abreviated form with the asterisk.
  2514.  
  2515.  
  2516.                         PROMPT ERRORS:
  2517.  
  2518.         The possible  errors generated  from the  answers to these prompts
  2519. will appear at the bottom of the screen and are
  2520.  
  2521.         name     NOT FOUND
  2522.  
  2523. if the screen name is not found to be on file.
  2524.  
  2525.                                                                 page  74
  2526.  
  2527.  
  2528.  
  2529.  
  2530.         filename - FILE NOT PRESENT
  2531.  
  2532. if the file "filename" is not found in the current or specified directory.
  2533.  
  2534.         FILE NOT CREATED WITH THIS SCREEN
  2535.  
  2536. if the file size  is not an  even multiple of  the record size  associated
  2537. with the screen painting.
  2538.  
  2539.         UNABLE TO PRINT
  2540.  
  2541. if an attempt to open the printer gets an immediate end of file.
  2542.  
  2543.         NO DATA FIELDS IN THE SCREEN
  2544.  
  2545. if the screen painting for screen "name" contains no underscore fields.
  2546.  
  2547.  
  2548.                         PRINT FORMAT SCREEN:
  2549.  
  2550.         If no errors are detected, the menu screen will be replaced by the
  2551. following screen, which starts you into the description of the report.
  2552.  
  2553.                                                                 page  75
  2554.  
  2555.  
  2556.  
  2557.  
  2558.                               PRINT FORMAT
  2559.  
  2560.                 REPORT NAME?
  2561.                 NEW SPECIFICATIONS?        SAVE SPECIFICATIONS?
  2562.                 COLUMNS/LINE?              LINES/PAGE?
  2563.                 HEADER?                    #HEADER LINES?
  2564.                 DETAIL?                    #DETAIL LINES?
  2565.                 PAGE BREAKS ON FIELD CHANGE?
  2566.                 TOTALING?                  SUBTOTALING?
  2567.                 PRINT DATE?                HEADER LINE #?
  2568.                                                 COLUMN #?
  2569.                 PRINT TIME?                HEADER LINE #?
  2570.                                                 COLUMN #?
  2571.                 PRINT PAGE #?              HEADER LINE #?
  2572.                                                 COLUMN #?
  2573.                 PRINT RECORD #?            DETAIL LINE #?
  2574.                                                 COLUMN #?
  2575.                 OMIT BLANK DETAIL LINES?
  2576.  
  2577.  
  2578.                         REPORT NAME:
  2579.  
  2580.         The report name must  be entered and  will be validated  as a file
  2581. name, because the report name will be the name of the file  containing the
  2582. report specifications  if you mark the "SAVE SPECIFICATIONS?" field with y
  2583. (YES).
  2584.  
  2585.                                                                 page  76
  2586.  
  2587.  
  2588.  
  2589.  
  2590.         After entering  the report  specifications,  if the specifications
  2591. have been saved, you can produce the report from the saved report input by
  2592. entering the  report name,  which was  specified at  the  time the  report
  2593. specifications  were entered, and answer the  querry "NEW SPECIFICATIONS?"
  2594. with n(NO).  Hit the F1 key 5 times  to carry you  through the  additional
  2595. screens and the report should print.  You can, of course, make alterations
  2596. (either permanent  or temporary - depending  on the answer to the question
  2597. "SAVE SPECIFICATIONS?" with y(YES)) to the report.
  2598.  
  2599.  
  2600.                         NEW SPECIFICATIONS:
  2601.         If this is the initial  building of the report specifications, you
  2602. should answer this question with y(YES). If you are running a report which
  2603. was  defined earlier,  you  should  answer this question  with n(NO).  See
  2604. REPORT NAME above for further considerations.
  2605.  
  2606.  
  2607.                         SAVE SPECIFICATIONS:
  2608.  
  2609.         If you are building the  report specifications for the first time,
  2610. or you wish any changes  you make to be permanent,  you should answer this
  2611. question  with y(YES).  If you  are simply  running the report  or you are
  2612. making one time (temporary) changes,  you should answer this question with
  2613. n(NO).  If you wish  to run two  similar but  slightly  different  reports
  2614. regularly,  you may wish  to build  one report,  exit the WILKES DATABASE,
  2615. copy the report file to a new name,  re-enter the WILKES DATABASE and make
  2616. the required changes to the new report file.
  2617.  
  2618.                                                                 page  77
  2619.  
  2620.  
  2621.  
  2622.  
  2623.                         COLUMNS/LINE:
  2624.  
  2625.         This question must be answered if "NEW SPECIFICATIONS?" received a
  2626. y(YES), and may be any integer number from 80 to 240 inclusive.  This will
  2627. be the number of columns on the print line. Representative values for some
  2628. types of printer/paper are - narrow paper/regular print: 80, narrow paper/
  2629. condensed  print or  wide paper/regular  print: 132,  wide paper/condensed
  2630. print: up to a maximum of 240.
  2631.  
  2632.                         LINES/PAGE:
  2633.  
  2634.         This question must be answered if "NEW SPECIFICATIONS?" received a
  2635. y(YES), and may be any integer number from 1 to 88 inclusive.  This is the
  2636. number of lines per page (form) you will be printing on. The maximum of 88
  2637. lines represents an eleven inch form printed at 8 lines/inch.  You may, of
  2638. course, print at 6 lines/inch on a form of length 14 2/3".
  2639.  
  2640.  
  2641.                         HEADER:
  2642.  
  2643.         This question may be answered with y (YES), where you wish to have
  2644. a header print on either report,  or answered with n  (NO) or  simply left
  2645. blank, where the report is not to have a header.
  2646.  
  2647.                                                                 page  78
  2648.  
  2649.  
  2650.  
  2651.  
  2652.                         # HEADER LINES:
  2653.  
  2654.         This question has no meaning if "HEADER?" was answered with n (NO)
  2655. or left blank, but must contain a valid number, if entered.  The "# HEADER
  2656. LINES" plus  "# DETAIL LINES"  cannot exceed the number of lines per page.
  2657. If you asked for HEADER with y (YES), the "# HEADER LINES" entered here is
  2658. the number of lines of  length  "COLUMNS/LINE"  to be  filled in,  a later
  2659. screen.
  2660.  
  2661.  
  2662.                         DETAIL:
  2663.  
  2664.         As with "HEADER", this question wants a y (YES),  n(NO) or  remain
  2665. blank, which defaults as n (NO).  If you want detail  information from the
  2666. file to be printed, you must enter y (YES) here.
  2667.  
  2668.  
  2669.                         # DETAIL LINES:
  2670.  
  2671.         This question has no meaning if "DETAIL?" was answered with n (NO)
  2672. or left blank,  but must contain a valid number if entered.  The "# HEADER
  2673. LINES" plus  "# DETAIL LINES"  cannot exceed the number of lines per page.
  2674. If you asked for DETAIL with y (YES), the "# DETAIL LINES" entered here is
  2675. the number of lines of length  "COLUMNS/LINE" to be filled in,  in a later
  2676. screen.
  2677.  
  2678.                                                                 page  79
  2679.  
  2680.  
  2681.  
  2682.  
  2683.                 PAGE BREAK ON FIELD CHANGE:
  2684.  
  2685.         If you want subtotals or just a new page on a change in some field
  2686. or fields,  you need to  enter a y (YES) here.  If you wish to temporarily
  2687. turn off page breaks, this field should contain an n(NO) or a blank, which
  2688. defaults as n(NO).  Even though  some  later  fields  are marked  for page
  2689. breaks, the page breaking will be suppressed.
  2690.  
  2691.  
  2692.                         TOTALING:
  2693.  
  2694.         This question may be answered with y (YES), n (NO),  or left blank
  2695. (defaults to NO), and is used as an override in printing totals.  In order
  2696. for  totals to be printed,  this question must be answered with a y (YES).
  2697. If you wish to turn  off all total printing (this does not effect subtotal
  2698. printing), enter an n(NO), or leave this field blank. Even if later fields
  2699. are  marked to print  totals they will not be printed unless you enter a y
  2700. (YES) here.
  2701.  
  2702.  
  2703.                         SUBTOTALING:
  2704.  
  2705.         This question may be answered with y (YES), n (NO),  or left blank
  2706. (defaults to NO),  and is used as  an override  in printing subtotals.  In
  2707. order for subtotals to be printed, this question must be answered with a y
  2708. (YES). If you wish to turn off all subtotal printing, enter an n (NO),  or
  2709. leave this field blank. Even if later fields are marked to print subtotals
  2710. they will not be printed unless you enter a y (YES) here.
  2711.  
  2712.                                                                 page  80
  2713.  
  2714.  
  2715.  
  2716.  
  2717.                         PRINT DATE:
  2718.  
  2719.                         HEADER LINE #:
  2720.  
  2721.                         COLUMN #:
  2722.  
  2723.         All three of these questions has to do with the printing of system
  2724. date in the header area of the  report.  "PRINT DATE?" must contain y(YES)
  2725. for the system date to be printed. "HEADER LINE #?" and "COLUMN #?" define
  2726. where,  in the heading,  the date is to be printed. The line number cannot
  2727. be greater than the number of header lines and  cannot be less than one if
  2728. the date is to be printed. The column number must be greater than zero and
  2729. no greater than the  "COLUMNS/LINE"-8 if the date is to be printed.  Minus
  2730. 8, because this is the length  of the date  as it will be placed  into the
  2731. header print line.  The first header  line is line one.  Column one is the
  2732. first print position on the line.  The date will be placed into the header
  2733. line in the format "mo/da/yr".
  2734.  
  2735.  
  2736.                         PRINT TIME:
  2737.  
  2738.                         HEADER LINE #:
  2739.  
  2740.                         COLUMN #:
  2741.  
  2742.         All three of these questions has to do with the printing of system
  2743. time in the header area  of the report.  "PRINT TIME?" must contain y(YES)
  2744. for the system time to be printed. "HEADER LINE #?" and "COLUMN #?" define
  2745. where,  in the heading,  the time is to be printed. The line number cannot
  2746. be greater than the number of header lines and  cannot be less than one if
  2747. the time is to be printed. The column number must be greater than zero and
  2748. no greater than the  "COLUMNS/LINE"-5 if the date is to be printed.  Minus
  2749. 5, because this is the length  of the time  as it will be placed  into the
  2750. header print line.  The first header  line is line one.  Column one is the
  2751. first print position on the line.  The time will be placed into the header
  2752. line in the format "hr:mn".
  2753.  
  2754.                                                                 page  81
  2755.  
  2756.  
  2757.  
  2758.  
  2759.         If the  time field  is selected for print,  the format of the time
  2760. field will be placed in the header  print lines painting in its designated
  2761. position on the print line.  The display format may  be left in the header
  2762. line as the actual field will print in the same position.
  2763.  
  2764.  
  2765.                         PRINT PAGE #:
  2766.  
  2767.                         HEADER LINE #:
  2768.  
  2769.                         COLUMN #:
  2770.  
  2771.         All three of  these questions  has to do with  the printing of the
  2772. page number in the header area of the report. "PRINT PAGE #?" must contain
  2773. y(YES) for the page number to be printed.  "HEADER LINE #" and "COLUMN #?"
  2774. define where, in the heading, the page  number is to be printed.  The line
  2775. number cannot be greater  than the  number  of header lines  and cannot be
  2776. less than one if the page number is to be printed.  The column number must
  2777. be greater  than zero  and no  greater than  the  "COLUMNS/LINE"-6  if the
  2778. page number is to be printed.  Minus 6, because the page  number will take
  2779. 6 positions on the header line.  The page number will print as a six digit
  2780. number with zero suppress.
  2781.  
  2782.         If the page# field is selected for print,  the format of the page#
  2783. field will be placed in the header  print lines painting in its designated
  2784. position on the print line.  The display format may  be left in the header
  2785. line as the actual field will print in the same position.
  2786.  
  2787.                                                                 page  82
  2788.  
  2789.  
  2790.  
  2791.  
  2792.                         PRINT RECORD #:
  2793.  
  2794.                         DETAIL LINE #:
  2795.  
  2796.                         COLUMN #:
  2797.  
  2798.         All three  of these  questions has to do with  the printing of the
  2799. record number in the detail area of the report.  "PRINT RECORD #?" must be
  2800. answered with y(YES) for the record number to be printed. "HEADER LINE #?"
  2801. and  "COLUMN #?" define where,  in the detail,  the record number is to be
  2802. printed. The line number cannot be greater than the number of detail lines
  2803. and cannot be  less  than one if the  record number is to be printed.  The
  2804. column number must be greater than zero and no  greater than the "COLUMNS/
  2805. LINE"-6 if the record number is to be printed. Minus 6, because the record
  2806. number will take 6 positions on the detail line. The record number will be
  2807. printed as a six digit number with zero suppress.
  2808.  
  2809.         If the record# field is selected for print, the format for record#
  2810. field will be placed in the detail  print lines painting in its designated
  2811. position on the print line.  The display format may  be left in the detail
  2812. line as the actual field will print in the same position.
  2813.  
  2814.  
  2815.                 OMIT BLANK DETAIL LINES:
  2816.  
  2817.         This question requires a y(YES), n(NO) or leave blank (NO) answer.
  2818. If the answer is  y(YES),  the printing of all detail lines  which contain
  2819. only blanks will be suppressed. If the answer is n(NO), or blank (NO), you
  2820. will get blank detail lines printed (i.e. the number of detail lines which
  2821. print will match the answer to "# DETAIL LINES?").
  2822.  
  2823.                                                                 page  83
  2824.  
  2825.  
  2826.  
  2827.  
  2828.                 PRINT SCREEN FORMAT ERRORS:
  2829.  
  2830.         If errors  are detected,  they will be  displayed at the bottom of
  2831. the screen  and will be  caused by  an infraction  of the rules  described
  2832. above for the SCREEN FORMAT questions. Possible errors are
  2833.  
  2834.         INVALID REPORT NAME.
  2835.  
  2836.         COLUMNS/LINE AND LINES/PAGE MUST BE ENTERED.
  2837.  
  2838.         # HEADER LINES CANNOT BE > LINES/PAGE OR < 1.
  2839.  
  2840.         # DETAIL LINES CANNOT BE > LINES/PAGE OR < 1.
  2841.  
  2842.         SUM OF HEADER LINES AND DETAIL LINES > LINES/PAGE.
  2843.  
  2844.         DATE MUST APPEAR ON A HEADER LINE IF PRESENT.
  2845.  
  2846.         TIME MUST APPEAR ON A HEADER LINE IF PRESENT.
  2847.  
  2848.         PAGE # MUST APPEAR ON A HEADER LINE IF PRESENT.
  2849.  
  2850.         DETAIL, HEADER OR BOTH MUST BE SPECIFIED.
  2851.  
  2852.  
  2853.                         CURSOR MOVEMENT:
  2854.  
  2855.         Cursor movement from field to field is accomplished with the enter
  2856. and tab keys (forward) and by the shift tab keys (backward) and the screen
  2857. wraps in both directions  (i.e. the next question after  the last question
  2858. is the first question and the next question up  from the first question is
  2859. the last question).
  2860.  
  2861.                                                                 page  84
  2862.  
  2863.  
  2864.  
  2865.  
  2866.                         FUNCTION KEYS:
  2867.  
  2868.         F1 - Serves as a request  to accept the data  as it now appears on
  2869.              the screen.  Any errors detected  will be  displayed  at this
  2870.              time.  If all  is  error  free you  will either  see the next
  2871.              screen or an update  of the present screen  from saved report
  2872.              file information. If the latter, make the desired changes and
  2873.              press the F1 key again.
  2874.         F2 - Will abort the  DATA PRINT back to the menu screen.  Be aware
  2875.              that it  is possible to  get the report file into a partially
  2876.              updated situation  with the abort  action,  making the report
  2877.              file useless  (you may see "report name IS NOT A REPORT FILE"
  2878.              or "INVALID REPORT FILE report name" the next time you try to
  2879.              use this report).
  2880.  
  2881.  
  2882.                         HEADER LINES SCREEN:
  2883.  
  2884.         After the F1 key has been pressed,  and there are no errors shown,
  2885. the header definition is the next screen to be displayed (if "HEADER?" was
  2886. answered with y(YES)). The first line of this screen will contain
  2887.  
  2888.         HEADER LINES:
  2889.  
  2890. and the cursor will be at the beginning of line two.  The header lines are
  2891. initially  blank and you can paint  the print line, which may take up to 3
  2892. screen lines (maximum print positions on a line is 240).  This painting is
  2893. to contain all header information which you wish to see printed at the top
  2894. of each page.  Remember that the information described in the print format
  2895.  
  2896.                                                                 page  85
  2897.  
  2898.  
  2899.  
  2900.  
  2901. screen contained, if you requested them,  the system date, system time and
  2902. page number  which will be  placed into the  specified  positions of these
  2903. header lines. You may wish to label the date, time  and page number fields
  2904. in the header lines so that their value is not obscure. (for example, date
  2905. is to appear in column 7  of line 1 in the header lines; "DATE:" is placed
  2906. into header line 1 columns 1-5, so the printout will show "DATE: MO/DA/YR"
  2907. at the beginning of the first line of heading).
  2908.  
  2909.         You may also wish  to have additional header lines to paint 1 or 2
  2910. lines of detail heading (and possibly  an additional blank line) to have a
  2911. way of telling what each column of the detail contains.
  2912.  
  2913.         If you have more  header lines than will  display on the screen at
  2914. one time, you can still paint them. They will scroll on and off the screen
  2915. as necessary when you move the cursor up or down. Scrolling will wrap both
  2916. at the  top and bottom of the header lines (i.e. the  next header  line up
  2917. from the  first header line is  the last  header line and the  next header
  2918. line down from the last header line is the first header line).
  2919.  
  2920.         The header line and column will be  displayed at the bottom of the
  2921. screen for the position at which the cursor resides. This is simply an aid
  2922. to help you in the painting of the report header.
  2923.  
  2924.         The current line  number and  column number  are displayed  at the
  2925. bottom of the screen. This should aid you in laying out report headers and
  2926. determining where the information will be displayed on the detail lines.
  2927.  
  2928.                                                                 page  86
  2929.  
  2930.  
  2931.  
  2932.                         DETAIL LINES SCREEN:
  2933.  
  2934.         After the  header lines  are painted  as you  wish them  to print,
  2935. press the F1 or F2 key, as described  above, to continue or abort.  If you
  2936. use F1 to continue,  the next  screen will  be a fresh pallet to paint the
  2937. detail lines,  but only if you answered "DETAIL?" with y(YES) in the print
  2938. format screen. The first line of the detail lines screen will contain
  2939.  
  2940.         DETAIL LINES:
  2941.  
  2942. and the cursor will be on line two.  You may paint all  or any part of the
  2943. detail lines as you wish. If you are printing full page mailers, you might
  2944. have 66 lines per detail, which may be the same as the number of lines per
  2945. page. The mailer may have a name injected 2 or 3 times (maximum of 5) from
  2946. the data record.
  2947.  
  2948.         If you have defined more detail lines than will show on the screen
  2949. at one time,  moving the  cursor up  or down at the screen boundaries will
  2950. scroll the detail lines. The detail lines will also wrap from both top and
  2951. bottom as the header lines do (see HEADER LINES: above).
  2952.  
  2953.         The function keys F1 and  F2 perform  in the same way as described
  2954. above, to continue or abort the DATA PRINT function.
  2955.  
  2956.         The detail line and column will be  displayed at the bottom of the
  2957. screen for the position at which the cursor resides. This is simply an aid
  2958. to help you in the painting of the report detail.
  2959.  
  2960.                                                                 page  87
  2961.  
  2962.  
  2963.  
  2964.                         PRINT DETAIL SCREEN:
  2965.  
  2966.         After  hitting the F1 key, you will be  shown the next and last of
  2967. the DATA  PRINT screens.  The detail fields screen  displays the following
  2968. initial information.
  2969.  
  2970. NAME     P T S SL PB L#/Col L#/Col L#/Col L#/Col L#/Col
  2971. fldnamea
  2972. fldnameb
  2973. fldnamec
  2974. fldnamed
  2975. fldnamee
  2976. fldnamef
  2977. fldnameg
  2978. etc,
  2979.  
  2980. filling out the  screen if necessary.  The column on the left is a listing
  2981. of all fields described during the screen painting session. Since you have
  2982. up to 204 fields in a screen painting, all fields don't necessarily fit on
  2983. the screen at one time.  This screen, as with  "HEADER LINES:" and "DETAIL
  2984. LINES:"  screens, scrolls forward  and backward with  wrap at both ends of
  2985. the display.
  2986.  
  2987.         At the bottom of the  print detail screen,  the display length (in
  2988. columns) of the present field is shown.  The present field is the field on
  2989. which the cursor resides.  This display serves only as an aid in producing
  2990. the report.
  2991.  
  2992.                                                                 page  88
  2993.  
  2994.  
  2995.  
  2996.  
  2997.                         PRINT(P):
  2998.  
  2999.         If this field contains y(YES) or you enter y(YES) into this field,
  3000. you are requesting that  the field specified by the field name to the left
  3001. is to print, subject to the override "DETAIL?" in the PRINT FORMAT screen.
  3002. If you put y(YES) in the "PRT?" field you must also have at least one line
  3003. number-column number with valid information as to where to print the data.
  3004.  
  3005.  
  3006.                         TOTAL(T):
  3007.  
  3008.         If y(YES) is entered in this field, you are requesting that totals
  3009. be kept for the field by the name appearing at the left and that the total
  3010. be printed at  the end of the report  listing.  Attempting to total a non-
  3011. numeric  field is not permitted.  Remember  that  "TOTALING?" in the PRINT
  3012. FORMAT screen must contain y(YES) before totals will be accumulated.
  3013.  
  3014.  
  3015.                         SUBTOTAL(S):
  3016.  
  3017.         If y(YES) is  entered in this field,  you are requesting that sub-
  3018. totals be accumulated and printed at level break time for the field by the
  3019. name  appearing on the left side of the screen.  Attempting to  subtotal a
  3020. non-numeric field is not permitted. In order to actually get the subtotals
  3021. printed there must be at least  one field  where the "SL" field contains y
  3022. (YES) and "SUBTOTALING?" on the PRINT FORMAT  screen must contain y (YES).
  3023. In order to obtain subtotals, the subtotal level  field (SL) must be given
  3024. for some field which, when it changes, the subtotals are to print.  All of
  3025. the fields which have been marked as subtotal  fields will be printed when
  3026. one of the fields specifying a subtotal level changes.
  3027.  
  3028.                                                                 page  89
  3029.  
  3030.  
  3031.         The fields containing y (YES) in the  subtotal(S) column will have
  3032. their subtotals displayed when a field containing a subtotal level changes
  3033. its value.  The subtotals for the  specified  level will  be zeroed  after
  3034. being printed and  begin accumulating again with the record containing the
  3035. new value for the field with the subtotal level. A change of value for one
  3036. subtotal level does not clear subtotals for another level.
  3037.  
  3038.         The following is an example of how the subtotal and subtotal level
  3039. columns interact.
  3040.  
  3041. NAME     P T S SL PB L#/Col L#/Col L#/Col L#/Col L#/Col
  3042. fldnamea y     1     1  1
  3043. fldnameb y   y       2  1
  3044. fldnamec y     2     3  1
  3045. fldnamed y   y       1  30
  3046. fldnamee y     3     2  30
  3047. fldnamef y   y       3  30
  3048.  
  3049. We have requested subtotals on 3 fields (fldnameb, fldnamed and fldnamef).
  3050. We  have also specified  that these subtotals  are to be printed for three
  3051. different  fields  (fldnamea, fldnamec and  fldnamee).  Each time fldnamea
  3052. changes the three subtotals will be printed:
  3053.  
  3054. fldnameb SUBTOTAL BREAK ON fldnamea = number
  3055. fldnamed SUBTOTAL BREAK ON fldnamea = number
  3056. fldnamef SUBTOTAL BREAK ON fldnamea = number
  3057.  
  3058. and the numbers  shown will represent the  subtotal accumulation since the
  3059. biginning of the file or since the last time fldnamea changed. The same is
  3060. true of fldnamec and fldnamee. The subtotals accumulated for one level are
  3061. independent of subtotals accumulated for another level.
  3062.  
  3063.                                                                 page  90
  3064.  
  3065.  
  3066.  
  3067.  
  3068.                         SUBTOTAL LEVEL(SL):
  3069.  
  3070.         The subtotal level refers to  which subtotal accumulation is to be
  3071. printed. Subtotals are accumulated for a given level,  which is associated
  3072. with a field break (i.e. the  contents of the field changes).  This may be
  3073. any number from 1 to 9 inclusive.  If this field is left blank or contains
  3074. zero, subtotals will not be displayed for the field. See SUBTOTAL(S) above
  3075. for additional information.
  3076.  
  3077.  
  3078.                         PAGE BREAK(PB):
  3079.  
  3080.         Entering a y(YES) into this field tells the DATA PRINT function to
  3081. skip to the top of the next page when  the value of the field,  whose name
  3082. appears on the left, changes. Before page breaking can occur, the question
  3083. "PAGE BREAKS ON FIELD CHANGE?"  on the  PRINT FORMAT screen must have been
  3084. answered with a y (YES).
  3085.  
  3086.  
  3087.                         LINE#(L#): COL#(Col):
  3088.  
  3089.         There are 5 sets of these two fields to allow for printing a field
  3090. in up to 5  places within the  detail lines.  You may find  this useful in
  3091. printing up to  5-up labels.  The LINE#,  if entered, must contain a valid
  3092. detail line number (i.e. the line number must be greater than zero and not
  3093. greater than the answer to "# DETAIL LINES?" on the  print format screen).
  3094. The  COL# (column number), if entered,  must be greater  than zero and not
  3095. greater than the answer to "COLUMNS/LINE?" on the PRINT FORMAT screen.
  3096.  
  3097.                                                                 page  91
  3098.  
  3099.  
  3100.  
  3101.  
  3102.                         FUNCTION KEYS:
  3103.  
  3104.         The function  keys F1  and F2  function as described above and are
  3105. used to  continue  or abort the DATA PRINT  respectively.  If there are no
  3106. errors on the  DETAIL FIELDS screen, pressing F1 will continue by printing
  3107. the report.  If the  printer is turned off  you will get  a message to the
  3108. affect that you may retry the print. This message comes from the operating
  3109. system and should be explained in your  OS2 manual.  Aborting the print at
  3110. this point will  stop the  SCREEN program.  To retry, simply enter "r" and
  3111. press the enter key.
  3112.  
  3113.  
  3114.                         FIELD LENGTH DISPLAY:
  3115.  
  3116.         The length of the field associated  with the line the cursor is on
  3117. will be  displayed at the bottom of the screen.  This is simply a reminder
  3118. to aid in the production of the report.
  3119.  
  3120.  
  3121.                         PRINT DETAIL SCREEN ERRORS:
  3122.  
  3123.         The errors associated with  this phase of the printing process are
  3124. shown below and, if any occur, they must be corrected before continuing on
  3125. with the printing of the report.
  3126.  
  3127.         TOTALS & SUBTOTALS MAY ONLY BE PRINTED FOR NUMERIC FIELDS
  3128.  
  3129.         FIRST LINE-COL MUST BE SPECIFIED IF FIELD IS TO BE PRINTED
  3130.  
  3131. This means a field was marked to be printed but the  position to start the
  3132. print in was not specified.
  3133.  
  3134.                                                                 page  92
  3135.  
  3136.  
  3137.  
  3138.  
  3139.         LINE# MUST NOT BE GREATER THAN lines/page
  3140.  
  3141. Where the lines/page is specified on the PRINT FORMAT screen.
  3142.  
  3143.         COL# MUST NOT BE GREATER THAN columns/line
  3144. and
  3145.         FIELD CANNOT EXTEND BEYOND COLUMN columns/line
  3146.  
  3147. Where the columns/line is specified on the PRINT FORMAT screen.
  3148.  
  3149.         MAXIMUM SUBTOTAL LEVELS EXCEEDED
  3150.  
  3151. Where a subtotal level greater than nine or less than zero was entered.
  3152.  
  3153.         LINE AND COLUMN NUMBERS CANNOT BE NEGATIVE
  3154.  
  3155. Where a negative number was entered for line (L#) or column (Col).
  3156.  
  3157.         SUBTOTAL LEVEL number USED BY MORE THAN ONE FIELD
  3158.  
  3159. Where the  subtotal level (SL) column  contains the  same number more than
  3160. once. Each field must have its own subtotal level.
  3161.  
  3162.         LINE# OR COL# SPECIFIED WITHOUT THE OTHER
  3163.  
  3164. Where the line number or the column number of a line#/col# pair contains a
  3165. number, but not both the line# and the col# are specified.
  3166.  
  3167.                                                                 page  93
  3168.  
  3169.  
  3170.  
  3171.  
  3172.                         EXITING THE FUNCTION:
  3173.  
  3174.         When the report finishes printing you will be returned to the menu
  3175. screen with the following message at the bottom of the screen.
  3176.  
  3177.         n RECORDS IN FILE, n PRINTED
  3178.  
  3179.  
  3180.                         GENERAL:
  3181.  
  3182.         While the DATA PRINT function is running  (a temporary report file
  3183. will be built if you are working  with a report file which already exists)
  3184. a file by the name  "SCREEN.TMP"  will  be built to contain  a copy of the
  3185. report file, to allow changes to the report temporarily without destroying
  3186. the original report file.
  3187.  
  3188.  
  3189.                         PROCESSING ERRORS:
  3190.  
  3191.         If there are difficulties in building  this temporary file you may
  3192. see one of the  following  error messages  displayed at  the bottom of the
  3193. screen.
  3194.  
  3195.         UNABLE TO OPEN SCREEN.TMP FOR TEMPORARY STORAGE.
  3196.  
  3197. if there is an open error  (check the number of files allowed for the disk
  3198. medium being used).
  3199.  
  3200.                                                                 page  94
  3201.  
  3202.  
  3203.  
  3204.  
  3205.         UNABLE TO APPEND TO FILE
  3206.  
  3207. if you  run out  of room  on the  disk device  where the current directory
  3208. resides.
  3209.  
  3210.         If you abort the building of a report which is incomplete on disk,
  3211. future use of this incomplete report file may cause the error message
  3212.  
  3213.         report name IS NOT A REPORT FILE
  3214.  
  3215. to be displayed at the bottom of the screen.  If you run out of disk space
  3216. while building the report you will get the error message
  3217.  
  3218.         UNABLE TO WRITE TO FILE report name
  3219.  
  3220. at the bottom of the screen.
  3221.  
  3222.                                                                 page  95
  3223.  
  3224.  
  3225.  
  3226.                         DATA COPY
  3227.  
  3228.  
  3229.         The DATA COPY  function may be used  to copy  all or part (deleted
  3230. records will  not be copied)  of a file  into a new file.  There are three
  3231. ways to copy a file:  1) Copy all records which have not been deleted,  2)
  3232. Copy records in  a browse mode  (i.e. copy records which you select as you
  3233. are looking at the record) and  3) Copy selectively based on values in the
  3234. records. The menu screen will prompt in the following fashion.
  3235.  
  3236.                       M E N U   S C R E E N
  3237.  
  3238.         a - SCREEN ADD                  1 - DATA ADD
  3239.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3240.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3241.         d - SCREEN DELETE               4 - DATA PRINT
  3242.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3243.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3244.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3245.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3246.         i - SYSTEM                      9 - INDEX
  3247.     ? 5 {E}
  3248.     SCREEN NAME? name {E}
  3249.     FILE NAME? filename {E}
  3250.     NEW FILE NAME? newfile {E}
  3251.     COPY (0)-FILE, (1)-MANUAL, (2)-SELECTOR, (3)-INDEX? 2 {E}
  3252.  
  3253.                         SCREEN NAME:
  3254.  
  3255.         If the screen to be used here is the same as  the last screen name
  3256. entered  in any of  the menu  screen  selections  then  you  may  enter an
  3257. asterisk (*) here for  that screen name.  If a screen name is entered here
  3258. then  this  screen name  will be  remembered as  the last screen  name for
  3259. future use in an abreviated form with the asterisk.
  3260.  
  3261.                                                                 page  96
  3262.  
  3263.  
  3264.  
  3265.  
  3266.                         FILE NAME:
  3267.  
  3268.         The file specified here must be a OS2 file which already exists in
  3269. the OS2 directory.
  3270.         If the file name to be used here is the same as the last file name
  3271. entered in  any of the menu  screen selections  then you may abreviate the
  3272. file name by entering an asterisk (*). If a file name is entered here then
  3273. this file name  will be remembered as the last file name for future use in
  3274. an abreviated form with the asterisk.
  3275.  
  3276.  
  3277.                         NEW FILE NAME:
  3278.  
  3279.         The file specified here must be a valid OS2 file name. If the file
  3280. already exists, it will be removed from the directory to make room for the
  3281. new file by the same  name by the DATA COPY.  This file name cannot be the
  3282. same  as FILE NAME above.
  3283.  
  3284.         The new file name is stored as the last file name for use with the
  3285. asterisk abreviation for file names.
  3286.  
  3287.  
  3288.                         COPY TYPE:
  3289.  
  3290.         If the last prompt is answered with "0" or "1",  no more data will
  3291. be required. If the answer to the  last prompt is "2", there will be up to
  3292. 5 more lines of prompts. If the answer is with "3" one additional field is
  3293. required.
  3294.  
  3295.                                                                 page  97
  3296.  
  3297.  
  3298.                       M E N U   S C R E E N
  3299.  
  3300.         a - SCREEN ADD                  1 - DATA ADD
  3301.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3302.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3303.         d - SCREEN DELETE               4 - DATA PRINT
  3304.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3305.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3306.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3307.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3308.         i - SYSTEM                      9 - INDEX
  3309.     ? 5 {E}
  3310.     SCREEN NAME? name {E}
  3311.     FILE NAME? filename {E}
  3312.     NEW FILE NAME? newfile {E}
  3313.     COPY (0)-FILE, (1)-MANUAL, (2)-SELECTOR, (3)-INDEX? 2 {E}
  3314.     FIELD NAME? lastname {E}  CMP? >= {E}  VALUE? F {E}
  3315.     FIELD NAME? lastname {E}  CMP? < {E}   VALUE? M {E}
  3316.     FIELD NAME? amount {E}    CMP? >= {E}  VALUE? 30000.00 {E}
  3317.     FIELD NAME? amount {E}    CMP? < {E}   VALUE? 50000.00 {E}
  3318.     FIELD NAME? employed {E}  CMP? = {E}   VALUE? y {E}
  3319.  
  3320.         These additional  prompts serve as a selection  mechanism and will
  3321. copy only  the records where all of the selector  conditions are true.  No
  3322. more than one selector condition is required  and you may press the F1 key
  3323. at the point where you wish to enter no more conditions.
  3324.  
  3325.  
  3326.                         FIELD NAME:
  3327.  
  3328.         The field name is the name given to the field during SCREEN UPDATE
  3329. or SCREEN ADD in the FIELD DEFINITIONS AND ATTRIBUTES.
  3330.  
  3331.                                                                 page  98
  3332.  
  3333.  
  3334.  
  3335.  
  3336.                         COMPARISON:
  3337.  
  3338.         The allowable values for the "CMP?" (comparison) prompt are
  3339.                 =       equal to
  3340.                 <       less than
  3341.                 >       greater than
  3342.                 <=      less than or equal to
  3343.                 >=      greater than or equal to
  3344.                 <>      not equal to.
  3345.  
  3346.  
  3347.                         VALUE:
  3348.  
  3349.         The value prompt may contain up to 30 characters.  If the field is
  3350. numeric, the value is assumed to be a number.
  3351.  
  3352.  
  3353.                         PROMPT ERRORS:
  3354.  
  3355.         Possible errors common to all three forms of the DATA COPY are
  3356.  
  3357.         name     NOT FOUND
  3358.  
  3359. if the screen name is not found on file.
  3360.  
  3361.         filename - FILE NOT PRESENT
  3362.  
  3363. if the named  file is not in  the current or specified  directory (the new
  3364. file name is not checked for presence).
  3365.  
  3366.                                                                 page  99
  3367.  
  3368.  
  3369.  
  3370.  
  3371.         FILE NOT CREATED WITH THIS SCREEN
  3372.  
  3373. if the  file size is  not an even  multiple of  the record size associated
  3374. with the screen painting.
  3375.  
  3376.         NO DATA FIELDS IN THE SCREEN
  3377.  
  3378. if the screen painting for the screen name entered does not contain fields
  3379. (i.e. underscores).
  3380.  
  3381.         An error associated with only the selector copy is
  3382.  
  3383.         fieldname - FIELD NAME NOT FOUND IN SCREEN
  3384.  
  3385. where a field name was given which was not associated  with a field in the
  3386. specified screen.
  3387.  
  3388.         FILE NAMES CANNOT BE THE SAME
  3389.  
  3390. is displayed where the old file name and the new file name are the same.
  3391.  
  3392.         If no errors are detected the following  message will be displayed
  3393. at the bottom of the screen as you are taken back to the menu screen.
  3394.  
  3395.         n RECORDS IN FILE, n COPIED.
  3396.  
  3397.  
  3398.                         FILE COPY:
  3399.  
  3400.         Copies the undeleted records of the file into the new file.
  3401.  
  3402.                                                                 page 100
  3403.  
  3404.  
  3405.  
  3406.  
  3407.                         MANUAL COPY:
  3408.  
  3409.         Displays the records and lets you  select the records to be copied
  3410. into the new file as you  browse through the file.  The function keys have
  3411. the meaning
  3412.  
  3413.  
  3414.                         MANUAL COPY - INDEXED LOOKUP:
  3415.  
  3416.         The field at which the cursor rests when  Alt F3  keys are entered
  3417. is taken to be  the field to base  the indexed lookup on.   If the name of
  3418. this field is the same as any field which has been previously indexed, the
  3419. file with which the field is associated is a candidate for indexed lookup.
  3420. If there is only one candidate,  an attempt is made to find a key equal to
  3421. the field under the cursor.  In order to have a match,  the fields must be
  3422. defined in the same way (ex. if one is defined as character data of length
  3423. seven bytes, then the other must also be character data and be seven bytes
  3424. in length).
  3425.  
  3426.         If there are more than one candidate for the lookup,  they will be
  3427. displayed one at a time at the bottom of the screen until you either "use"
  3428. one or the list of candidates is exhausted.  The information listed at the
  3429. bottom of the screen is
  3430.  
  3431.        F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
  3432.  
  3433. If one of the displays is picked (F1) or there is only one candidate to be
  3434. considered, the search for an equal field value in the "file-name" file is
  3435. carried out.  If a match is located, the matching record will be displayed
  3436. using its own "screen-name" screen painting.
  3437.  
  3438.                                                                 page 101
  3439.  
  3440.  
  3441.  
  3442.  
  3443.         If no matching key is  located the  following will be displayed at
  3444. the bottom ot the screen:
  3445.  
  3446.         NO MATCH FOUND.  CREATE BLANK RECORD(y or n)?
  3447.  
  3448. which may only  be answered  with a n(no) or y(yes).  If the answer is yes
  3449. a blank record will be  added with the key field only filled in.  If there
  3450. are checks to be made on the data those checks  will not be made here.  If
  3451. the key was successfully added  and the keys of both files were defined in
  3452. exactly the same way,  the added record will appear on the screen in order
  3453. that  additional information can be  filled into the other fields.  If the
  3454. question  "CREATE BLANK RECORD?"  is answered with n(no)  then you will be
  3455. returned to  the record on  which you were  working when the index  lookup
  3456. request was made.
  3457.  
  3458.         After locating one matching key, you can accomplish several tasks:
  3459.  
  3460.         1) Add a new record to the file whose record is displayed. Alt-F1.
  3461.         2) Update the displayed record. F1.
  3462.         3) Find the next matching record in the file. F2.
  3463.            If none,  you will be returned to the record displayed prior to
  3464.            the indexed lookup.
  3465.         4) Find the previous matching record in the file. Shifted-F2.
  3466.            If none,  you will be returned to the record displayed prior to
  3467.            the indexed lookup.
  3468.         5) Print the displayed record. Shifted-F2.
  3469.         6) Delete the displayed record. Shifted-F9.
  3470.         7) Do another indexed lookup (max depth is ten). Alt-F3.
  3471.  
  3472.                                                                 page 102
  3473.  
  3474.  
  3475.  
  3476.  
  3477.                         MANUAL COPY - INDEX ERRORS:
  3478.  
  3479.         As you move from one  file to another,  there is information which
  3480. must be retained.  If you move from file "a" to file "b" and from file "b"
  3481. to file "c" before returning to file "a", an additional set of information
  3482. must be retained.  For reasons of limited memory you will be allowed to go
  3483. to a maximum depth of ten file-to-file movements before the message
  3484.  
  3485.         MAXIMUM INDEX DEPTH EXCEEDED
  3486.  
  3487. is returned at the bottom of the screen.  Any time you move back to a file
  3488. at a previous level  without using the index lookup  (i.e. automatically),
  3489. the depth at which you are working is reduced by one.  This restriction of
  3490. depth of ten should not hamper  you in any real way with properly designed
  3491. systems.
  3492.  
  3493.  
  3494.                         MANUAL COPY - FUNCTION KEYS:
  3495.  
  3496.         F1      - Copy the record and move forward to the next non-deleted
  3497.                   record.
  3498.         F2      - Move forward to the next non-deleted record.
  3499.         F3      - Copy the record, move forward 10 records and display the
  3500.                   next non-deleted record.
  3501.         F4      - Move forward 10 records and display the next non-deleted
  3502.                   record.
  3503.         F5      - Copy  the record,  move forward 100 records  and display
  3504.                   the next non-deleted record.
  3505.         F6      - Move forward 100 records and display  the next undeleted
  3506.                   record.
  3507.  
  3508.                                                                 page 103
  3509.  
  3510.  
  3511.  
  3512.  
  3513.         F7      - Copy the record,  move forward  1000 records and display
  3514.                   the next undeleted record.
  3515.         F8      - Move forward 1000 records and display the next undeleted
  3516.                   record.
  3517.         F9      - Move  to the  first record  in the file  and display the
  3518.                   first undeleted record.
  3519.         F10     - Move to the end of the file and display the first record
  3520.                   which is not deleted (moving backward through the file).
  3521.         Shifted F1 - Shifted F8
  3522.                 - Accomplish the same task as F1 - F8 except that movement
  3523.                   through the file is backward.
  3524.         Shifted F9
  3525.                 - Moves  forward or  backward  (the same  direction as the
  3526.                   previous movement) one record.
  3527.         Shifted F10
  3528.                 - Exit the data copy function back to the menu screen.
  3529.         Alt F1  - Add the record and leave all information on the screen.
  3530.         Alt F2  - Print the information appearing on the screen.
  3531.         Alt F3  - Perform indexed lookup.  The indexed lookup is described
  3532.                   above.
  3533.  
  3534.  
  3535.                         SELECTOR COPY:
  3536.  
  3537.         Copies the selected records  into the new file  and returns to the
  3538. menu screen.
  3539.  
  3540. NOTE:  If there is a file in the  current or specified  directory with the
  3541. same name as the new file, that file  will be deleted to make room for the
  3542. new file in an automatic fashion.
  3543.  
  3544.                                                                 page 104
  3545.  
  3546.  
  3547.  
  3548.  
  3549.                         INDEX COPY:
  3550.  
  3551.         An additional prompt for 
  3552.  
  3553.         FIELD NAME?
  3554.  
  3555. is required by the  index copy.  The action taken  is to use a  previously
  3556. defined  key as the order in which the new file will be aranged.  The file
  3557. must have been indexed on a field which provedes the order desired.  Using
  3558. the copy in this  way is equivalent to sorting the file on the field which
  3559. was used to build the index.
  3560.  
  3561.         The new file produced by the copy function will not initially have
  3562. an index file associated with it.  If you wish to have an index file built
  3563. to keep up with this new file you must use the INDEX function to build the
  3564. index file.
  3565.  
  3566.                                                                 page 105
  3567.  
  3568.  
  3569.                         DATA SORT
  3570.  
  3571.  
  3572.         The DATA SORT function sorts on up to 5 fields in both forward and
  3573. reverse order  (specified by field).  The Wilkes database uses a tag sort,
  3574. so that the only part of the record which must remain in memory during the
  3575. sort are the keys themselves.  This means that a  1000 record file of 1500
  3576. byte records sorted  on a 20 byte  key requires only  20,000 bytes for the
  3577. keys plus  an additional few thousand bytes  for the tags  rather than the
  3578. 1,500,000 bytes required by the entire file.
  3579.  
  3580.         The sort will attempt  to procure,  form the operating system, all
  3581. the memory it needs to accomplish the sort - up to a maximum of 64K bytes.
  3582. If the sort requires more  memory than your computer has available or more
  3583. than the  64K byte limit, you  will have to split up the file into smaller
  3584. files to be sorted and merged back together with the APPEND FILE function.
  3585.  
  3586.         There is a second method  which can be used to sort the records on
  3587. a single key in ascending order. You may build an index file for the field
  3588. which is to serve as the sort key, then perform an indexed copy reordering
  3589. the new file to the ascending order of the indexed field.  Doing a sort in
  3590. this manner does not require that the keys be held in memort, but indexing
  3591. is a good bit slower than sorting if the keys can be held in memory.
  3592.  
  3593.                                                                 page 106
  3594.  
  3595.  
  3596.  
  3597.  
  3598.                       M E N U   S C R E E N
  3599.  
  3600.         a - SCREEN ADD                  1 - DATA ADD
  3601.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3602.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3603.         d - SCREEN DELETE               4 - DATA PRINT
  3604.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3605.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3606.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3607.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3608.         i - SYSTEM                      9 - INDEX
  3609.     ? 6 {E}
  3610.     SCREEN NAME? name {E}
  3611.     FILE NAME? filename {E}
  3612.     NEW FILE NAME? newname {E}
  3613.     FIELD NAME? field 1 {E}    f - FORWARD, r - REVERSE? f {E}
  3614.     FIELD NAME? field 2 {E}    f - FORWARD, r - REVERSE? f {E}
  3615.     FIELD NAME? field 3 {E}    f - FORWARD, r - REVERSE? r {E}
  3616.     FIELD NAME? field 4 {E}    f - FORWARD, r - REVERSE? r {E}
  3617.     FIELD NAME? field 5 {E}    f - FORWARD, r - REVERSE? f {E}
  3618.  
  3619.  
  3620.                         SCREEN NAME:
  3621.  
  3622.         If the screen to be used here is the same as  the last screen name
  3623. entered  in any of  the menu  screen  selections  then  you  may  enter an
  3624. asterisk (*) here for  that screen name.  If a screen name is entered here
  3625. then  this  screen name  will be  remembered as  the last screen  name for
  3626. future use in an abreviated form with the asterisk.
  3627.  
  3628.                                                                 page 107
  3629.  
  3630.  
  3631.  
  3632.  
  3633.                         FILE NAME:
  3634.  
  3635.         The file specified here must be a OS2 file which already exists in
  3636. the OS2 directory.
  3637.         If the file name to be used here is the same as the last file name
  3638. entered in  any of the menu  screen selections  then you may abreviate the
  3639. file name by entering an asterisk (*). If a file name is entered here then
  3640. this file name  will be remembered as the last file name for future use in
  3641. an abreviated form with the asterisk.
  3642.  
  3643.  
  3644.                         NEW FILE NAME:
  3645.  
  3646.         The new  file name is the name  of a OS2 file and will contain the
  3647. records from the file named in "FILE NAME" in sorted order.  The sort will
  3648. remove any OS2 file with  the same name to make  room for the newly sorted
  3649. file. The new file name cannot be the same as the FILE NAME above.
  3650.  
  3651.         The new file name is stored as the last file name for use with the
  3652. asterisk abreviation for file names.
  3653.  
  3654.  
  3655.                         FIELD NAME:
  3656.  
  3657.         The field name is the name given to the field during SCREEN ADD or
  3658. SCREEN UPDATE in the FIELD DEFINITIONS AND ATTRIBUTES.
  3659.  
  3660.                                                                 page 108
  3661.  
  3662.  
  3663.  
  3664.  
  3665.                         SORT DIRECTION:
  3666.  
  3667.         The records may be sorted in either forward (ascending) or reverse
  3668. (descending) order.
  3669.  
  3670.  
  3671.                         GENERAL:
  3672.  
  3673.         There may be up to a maximum of 5 sort fields with forward/reverse
  3674. order specified  separately for  each sort field.  If you wish  to sort on
  3675. fewer fields, simply press F1 at the end of  the last line of desired data
  3676. or at the beginning of the next line. As the maximum number of sort fields
  3677. is 5, the DATA SORT will automatically go into the sort phase after line 5
  3678. has been entered.
  3679.  
  3680.  
  3681.                         PROMPT ERRORS:
  3682.  
  3683.         The errors which can be generated by the input  to the menu screen
  3684. prompts are
  3685.  
  3686.         FILES MAY NOT BE THE SAME.
  3687.  
  3688. if the same file name is given for both the  file to be sorted and the new
  3689. file name. In our example above this would be "filename" = "newname".
  3690.  
  3691.         name     NOT FOUND
  3692.  
  3693. if the screen named "name" is not found to be on file.
  3694.  
  3695.                                                                 page 109
  3696.  
  3697.  
  3698.  
  3699.  
  3700.         filename - FILE NOT PRESENT
  3701.  
  3702. if the file  named "filename"  is not found  in either the  current or the
  3703. specified directory.
  3704.  
  3705.         FILE NOT CREATED WITH THIS SCREEN
  3706.  
  3707. if the file size of "filename" file is not an even  multiple of the record
  3708. size associated with the screen painting.
  3709.  
  3710.         NO DATA FIELDS IN THE SCREEN
  3711.  
  3712. if the screen painting "name" contained no underscore fields.
  3713.  
  3714.         INSUFFICIENT MEMORY TO SORT FILE.
  3715.  
  3716. if the DATA SORT  was not able to  procure enough memory to accomplish the
  3717. sort or the sort would have required more than 64K bytes.
  3718.  
  3719.         FIELD NAME NOT FOUND IN SCREEN
  3720.  
  3721. if the field name(s)  entered to be  sorted on were not defined within the
  3722. screen painting "name".
  3723.  
  3724.         If no errors  are detected  the file  will be sorted  into the new
  3725. file and you will be returned to the menu screen with the message
  3726.  
  3727.         n RECORDS IN FILE, n SORTED.
  3728.  
  3729.                                                                 page 110
  3730.  
  3731.  
  3732.  
  3733.  
  3734.                         INDEX CONSIDERATIONS:
  3735.  
  3736.         The file produced by the  sort function will not initially have an
  3737. index file associated with it.  If you wish to have an index file built to
  3738. keep up with  this new file you must use  the INDEX function to build  the
  3739. index file.
  3740.  
  3741.                                                                 page 111
  3742.  
  3743.  
  3744.  
  3745.                         COLUMN ARITHMETIC
  3746.  
  3747.  
  3748.         The purpose of COLUMN ARITHMETIC is to perform the same arithmetic
  3749. operation  on  each  record  in the  file.  The  reason  these  arithmetic
  3750. operations are referred to as COLUMN ARITHMETIC is that the various fields
  3751. in the  record can be  thought of as the  columns of a spreadsheet and the
  3752. operations affect an entire column.
  3753.  
  3754.         The information  required by  the COLUMN  ARITHMETIC  function  is
  3755. obtained on the menu screen with the following prompts,  where the answers
  3756. are only examples.
  3757.  
  3758.                         EXAMPLE COLUMN ADD:
  3759.  
  3760.                       M E N U   S C R E E N
  3761.  
  3762.         a - SCREEN ADD                  1 - DATA ADD
  3763.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3764.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3765.         d - SCREEN DELETE               4 - DATA PRINT
  3766.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3767.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3768.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3769.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3770.         i - SYSTEM                      9 - INDEX
  3771.     ? 7 {E}
  3772.     SCREEN NAME? name {E}
  3773.     FILE NAME? filename {E}
  3774.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 0 {E}
  3775.     FIELD NAME TO ADD TO? gross {E}
  3776.     FIELD NAME OR #number TO ADD? #20.50 {E}
  3777.  
  3778.                                                                 page 112
  3779.  
  3780.  
  3781.  
  3782.  
  3783.                         SCREEN NAME:
  3784.  
  3785.         If the screen to be used here is the same as  the last screen name
  3786. entered  in any of  the menu  screen  selections  then  you  may  enter an
  3787. asterisk (*) here for  that screen name.  If a screen name is entered here
  3788. then  this  screen name  will be  remembered as  the last screen  name for
  3789. future use in an abreviated form with the asterisk.
  3790.  
  3791.  
  3792.                         FILE NAME:
  3793.  
  3794.         The file specified here must be a OS2 file which already exists in
  3795. the OS2 directory.
  3796.         If the file name to be used here is the same as the last file name
  3797. entered in  any of the menu  screen selections  then you may abreviate the
  3798. file name by entering an asterisk (*). If a file name is entered here then
  3799. this file name  will be remembered as the last file name for future use in
  3800. an abreviated form with the asterisk.
  3801.  
  3802.  
  3803.                         OPERATION:
  3804.  
  3805.         The operations  which may be  performed are those listed,  and the
  3806. operation  is selected by  use of the number  appearing to the left of the
  3807. operation name.
  3808.  
  3809.                                                                 page 113
  3810.  
  3811.  
  3812.  
  3813.  
  3814.                         RECEIVING FIELD NAME:
  3815.  
  3816.         This is  the name of the  field which is  to contain the answer to
  3817. the arithmetic add, subtract, divide, multiply or move.  This operand also
  3818. is a participant in the  calculation (right  side of the equation) for all
  3819. of the arithmetic operations except the move.
  3820.         This field must  be defined as a number.  This must have been done
  3821. in defining the data fields in SCREEN ADD or SCREEN UPDATE.
  3822.  
  3823.  
  3824.                         FIELD NAME OR CONSTANT:
  3825.  
  3826.         This prompt can  be answered with either  a field name of a number
  3827. or a constant. Constants are prefixed with "#",  immediately followed by a
  3828. number. This number may contain  a sign and a decimal point.  If there are
  3829. restrictions on  the  receiving field  (unsigned integers cannot contain a
  3830. sign) they may be given values which you don't expect.  All constants will
  3831. be placed in  double floating point storage  format and the operation will
  3832. be carried  out in double  floating point format  prior to being stored in
  3833. the receiving field.
  3834.         An  example of an operation which  results in an unexpected answer
  3835. would be an INTEGER which initially contains the number 37,767. If one (1)
  3836. is  added to  this number it  will become  -1.  Recall that  37,767 is the
  3837. largest value which can be stored in an INTEGER storage type.
  3838.  
  3839.                                                                 page 114
  3840.  
  3841.  
  3842.  
  3843.  
  3844.                         EXAMPLE COLUMN SUBTRACT:
  3845.  
  3846.                       M E N U   S C R E E N
  3847.  
  3848.         a - SCREEN ADD                  1 - DATA ADD
  3849.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3850.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3851.         d - SCREEN DELETE               4 - DATA PRINT
  3852.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3853.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3854.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3855.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3856.         i - SYSTEM                      9 - INDEX
  3857.     ? 7 {E}
  3858.     SCREEN NAME? name {E}
  3859.     FILE NAME? filename {E}
  3860.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 1 {E}
  3861.     FIELD NAME TO SUBTRACT FROM? gross {E}
  3862.     FIELD NAME OR #number TO SUBTRACT? net {E}
  3863.  
  3864.                                                                 page 115
  3865.  
  3866.  
  3867.  
  3868.  
  3869.                         EXAMPLE COLUMN MULTIPLY:
  3870.  
  3871.                       M E N U   S C R E E N
  3872.  
  3873.         a - SCREEN ADD                  1 - DATA ADD
  3874.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3875.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3876.         d - SCREEN DELETE               4 - DATA PRINT
  3877.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3878.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3879.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3880.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3881.         i - SYSTEM                      9 - INDEX
  3882.     ? 7 {E}
  3883.     SCREEN NAME? name {E}
  3884.     FILE NAME? filename {E}
  3885.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 2 {E}
  3886.     MULTIPLY RECEIVING FIELD NAME? gross {E}
  3887.     FIELD NAME OR #number TO MULTIPLY? #2 {E}
  3888.  
  3889.                                                                 page 116
  3890.  
  3891.  
  3892.  
  3893.  
  3894.                         EXAMPLE COLUMN DIVIDE:
  3895.  
  3896.                       M E N U   S C R E E N
  3897.  
  3898.         a - SCREEN ADD                  1 - DATA ADD
  3899.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3900.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3901.         d - SCREEN DELETE               4 - DATA PRINT
  3902.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3903.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3904.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3905.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3906.         i - SYSTEM                      9 - INDEX
  3907.     ? 7 {E}
  3908.     SCREEN NAME? name {E}
  3909.     FILE NAME? filename {E}
  3910.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 3 {E}
  3911.     DIVIDE RECEIVING FIELD NAME? gross {E}
  3912.     FIELD NAME OR #number TO DIVIDE WITH? dependnt {E}
  3913.  
  3914.                                                                 page 117
  3915.  
  3916.  
  3917.  
  3918.  
  3919.                         EXAMPLE COLUMN MOVE:
  3920.  
  3921.                       M E N U   S C R E E N
  3922.  
  3923.         a - SCREEN ADD                  1 - DATA ADD
  3924.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  3925.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  3926.         d - SCREEN DELETE               4 - DATA PRINT
  3927.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  3928.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  3929.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  3930.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  3931.         i - SYSTEM                      9 - INDEX
  3932.     ? 7 {E}
  3933.     SCREEN NAME? name {E}
  3934.     FILE NAME? filename {E}
  3935.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 4 {E}
  3936.     FIELD NAME TO MOVE TO? fica {E}
  3937.     FIELD NAME OR #number TO MOVE? gross {E}
  3938.  
  3939.         The answer to the last prompt on  each of the above screens may be
  3940. either a field  name or a number prefixed by #  (for example, "#100" would
  3941. represent  the  numeric  value  "100").   In  equation  form  the  numeric
  3942. operations are:
  3943.         ADD             gross = gross + 20.50
  3944.         SUBTRACT        gross = gross - net
  3945.         MULTIPLY        gross = gross * 2
  3946.         DIVIDE          gross = gross / dependnt
  3947.         MOVE            fica = gross
  3948.  
  3949.                                                                 page 118
  3950.  
  3951.  
  3952.  
  3953.  
  3954.                         STEP BY STEP EXAMPLE:
  3955.  
  3956.         As an example, we have a screen painting which looks like
  3957.  
  3958.                         NAME AND AMOUNT FILE
  3959.                 NAME ______________________________
  3960.                 AMOUNT _______
  3961.  
  3962. where the storage type for "AMOUNT" is floating point.  Several rows (i.e.
  3963. records) might look like
  3964. 0)      SMITH, JIM              643.35
  3965. 1)      SMITH, MARY             744.62
  3966. 2)      SMITH, NORMAN          1473.11
  3967.  
  3968.         If we add  "50" to  "amt" by specifying  "add" to field name "amt"
  3969. #50, the information in the three records would now contain
  3970. 0)      SMITH, JIM              693.35
  3971. 1)      SMITH, MARY             794.62
  3972. 2)      SMITH, NORMAN          1523.11
  3973.  
  3974. NOTE:  Any fields named in COLUMN ARITHMETIC must be declared as a numeric
  3975. storage type.  The numeric  storage types  are UNSIGNED INTEGER,  INTEGER,
  3976. LONG  INTEGER, FLOATING  POINT  and DOUBLE FLOATING  POINT.  These storage
  3977. types are discussed, in depth, in the SCREEN ADD section.  You should also
  3978. be aware of the limitations of the storage types,  because you will not be
  3979. notified if the result  of an arithmetic  operation  cannot be stored back
  3980. into the receiving field.
  3981.  
  3982.                                                                 page 119
  3983.  
  3984.  
  3985.  
  3986.  
  3987.                         ERRORS:
  3988.  
  3989.         Errors which may occur with COLUMN ARITHMETIC are displayed at the
  3990. bottom of the screen when they occur and are
  3991.  
  3992.         name     FIELD NOT FOUND
  3993.  
  3994. for invalid field names entered in answer to the prompts.
  3995.  
  3996.         INVALID NUMERIC VALUE
  3997.  
  3998. where a number  (i.e. not a valid field name) was entered in answer to the
  3999. last prompt  on the  screen  which contained  non-numeric characters.  The
  4000. numeric character set is "0123456789.-".
  4001.  
  4002.         ONLY NUMERIC FIELDS MAY BE USED
  4003.  
  4004. is displayed  when the answer  to either  of the last  two prompts  on the
  4005. screen is the name of a field which is not a numeric storage type.
  4006.  
  4007.         name     NOT FOUND
  4008.  
  4009. if the field name entered is not on file.
  4010.  
  4011.         filename - FILE NOT PRESENT
  4012.  
  4013. is displayed if the  file named is not found in  the current  or specified
  4014. directory.
  4015.  
  4016.                                                                 page 120
  4017.  
  4018.  
  4019.  
  4020.  
  4021.         FILE NOT CREATED WITH THIS SCREEN
  4022.  
  4023. is displayed if the file size is not an even multiple of the record layout
  4024. associated with the screen painting.
  4025.  
  4026.         DIVIDE BY ZERO NOT ALLOWED
  4027.  
  4028. is displayed if an  attempt is made  to divide a field by a constant zero.
  4029. If a divide by zero takes place between two fields,  the result will be no
  4030. change in the values on file.
  4031.  
  4032.         If none of the above errors are detected, the designated operation
  4033. will be performed and the following message  will be displayed upon return
  4034. to the menu screen.
  4035.  
  4036.         n RECORDS IN FILE, n UPDATED.
  4037.  
  4038. where any discrepancy in the two numbers  represents the number of records
  4039. marked as deleted.
  4040.  
  4041.                                                                 page 121
  4042.  
  4043.  
  4044.  
  4045.                         APPEND FILE
  4046.  
  4047.  
  4048.         The APPEND FILE  function is used  to tack one  file to the end of
  4049. another.  The reason this function was  implemented in the WILKES DATABASE
  4050. was to piece together sorted files which required more than one sort pass.
  4051.  
  4052.                       M E N U   S C R E E N
  4053.  
  4054.         a - SCREEN ADD                  1 - DATA ADD
  4055.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  4056.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  4057.         d - SCREEN DELETE               4 - DATA PRINT
  4058.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  4059.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  4060.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  4061.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  4062.         i - SYSTEM                      9 - INDEX
  4063.     ? 8 {E}
  4064.     FILE TO APPEND TO? filename {E}
  4065.     FILE TO APPEND? littlefile {E}
  4066.  
  4067.  
  4068.                         FILE TO APPEND TO:
  4069.  
  4070.         The name of a OS2  file which already exists.  This file will have
  4071. all the information  originally in  the file plus all the information from
  4072. the "FILE TO APPEND" file. The second file is  appended to the end of this
  4073. file.
  4074.  
  4075.                                                                 page 122
  4076.  
  4077.  
  4078.  
  4079.  
  4080.                         FILE TO APPEND:
  4081.  
  4082.         The name of the OS2 file which is to be appended to the end of the
  4083. "FILE TO APPEND TO" file.
  4084.  
  4085.  
  4086.                         GENERAL:
  4087.  
  4088.         There are no  checks on whether the  files use the same screens or
  4089. not.  If you are unsure of whether the two files contain the same kinds of
  4090. records  (i.e. they use the same screen),  then you  should copy the first
  4091. ("FILE TO APPEND TO?") file to  another  name using the  DATA COPY, before
  4092. doing the APPEND FILE. If you find that the records are not the same after
  4093. the APPEND FILE is accomplished, you can copy the good version back to the
  4094. original file name.
  4095.  
  4096.         In the example menu screen input above,  "filename" is the name of
  4097. the file to which "littlefile" will be appended. All of the records of the
  4098. file "filename" will  preceed the records of  "littlefile" and the records
  4099. will be in the same order as they appear in the original files.
  4100.  
  4101.  
  4102.                         PROMPT ERRORS:
  4103.  
  4104.         Possible error messages which  show up at the bottom of the screen
  4105. are
  4106.  
  4107.         filename - FILE NOT FOUND
  4108.  
  4109. if either  of the two files is  not found in the  current directory or the
  4110. directory specified within the file name.
  4111.  
  4112.                                                                 page 123
  4113.  
  4114.  
  4115.  
  4116.  
  4117.         FILE APPENDED TO ITSELF IS DISALLOWED
  4118.  
  4119. if the same file name was given for both the  "FILE TO APPEND TO?" and the
  4120. "FILE TO APPEND?". If you wish to accomplish the same thing, copy the file
  4121. to another name and use the  two differently named copies of the same file
  4122. to append one to the other.
  4123.  
  4124.         If no errors are detected, the following message will be displayed
  4125. at the bottom of the screen as you are returned to the menu screen.
  4126.  
  4127.         filename APPENDED TO filename
  4128.  
  4129.         It is not required that  either of the two  files be  a product of
  4130. the WILKES DATABASE.  You can append any file to another file, if you have
  4131. the room. Please use this ability responsibly.
  4132.  
  4133.  
  4134.                         INDEX CONSIDERATIONS:
  4135.  
  4136.         The append function  will not maintain  index information.  If the
  4137. file which had additional data appended to it was indexed,  the additional
  4138. records at the end  of the file will not have index  information placed in
  4139. the index file.  If you wish  to maintain indexes on the  entire file with
  4140. new additional records appended,  you must delete the present  indexes and
  4141. rebuild them.
  4142.  
  4143.                                                                 page 124
  4144.  
  4145.  
  4146.  
  4147.                         INDEXING
  4148.  
  4149.  
  4150.         Any file may be  indexed by one or more  fields for the purpose of
  4151. either 1) sorting a very big file by the indexed field or 2) arranging the
  4152. file being indexed so that it may be accessed from another file.
  4153.  
  4154.         The indexing for sort is the trivial of the two cases,  but if you
  4155. need to accomplish sorting a file which  is too big for all of its keys to
  4156. be held in memory,  you may do the following.  Index the file on the field
  4157. which is to provide the sort order. Next, copy the file by the index using
  4158. the DATA COPY function. The new file will be in the ascending order of the
  4159. indexed field.
  4160.  
  4161.         The main purpose of the INDEX function is to  provide rapid access
  4162. by key value,  to related records.  For instance,  if we have thousands of
  4163. records in which a state field occurs 10 times per record,  we may reserve
  4164. room for the full state name, say 13 bytes to accomodate Massachusetts, or
  4165. we may use only 2 bytes for each state name, saving 11 bytes times 10 uses
  4166. of state  per record,  or 110 bytes per record.  Saving 110,000  bytes per
  4167. 1000 records.  We can accomplish this with no loss of data,  as we can set
  4168. up a file of the states, where the record consists of 1) state abreviation
  4169. and 2) state name (2 bytes + 13 bytes = 15 bytes/record times 50 states is
  4170. 750 bytes for the file and much fewer for the index file.  This process is
  4171. known as data reduction, where one thing is replaced by another thing, not
  4172. quite as big, but with no loss of information.  The exact fashion in which
  4173. you get from the record in one file to the corresponding record in another
  4174. file will be explained below.
  4175.  
  4176.                                                                 page 125
  4177.  
  4178.  
  4179.  
  4180.  
  4181.         In addition to data reduction,  you may wish to lay your files out
  4182. in such fashion that one field  in file 'a' connects to several records in
  4183. file 'b'. For example, in the doctors office system described below, there
  4184. are any number of payment records for each patient. We wish to keep all of
  4185. the patients  personal  information in  his patient record and  all of his
  4186. payments in individual payment records. If we have account numbers in both
  4187. the  patient records and  the payment records and the  payment records are
  4188. indexed on the account number,  then we  can access a patients payments if
  4189. we are looking at that patients patient record. We can establish a similar
  4190. access for the patient records to rapidly find a given patient record.  If
  4191. we wish to find the  patient record  by patient name,  we would  index the
  4192. patient file by name.  As a file may only be indexed on one field and last
  4193. name can be a poor matching criteria, when we are looking for J. J. Smith,
  4194. we will use a (hopefully) better match mechanism - the first three letters
  4195. of the last name followed by the first and middle initials.  This requires
  4196. five additional characters in each  patient record and requires additional
  4197. input to get the information into the record, so it has to pay off in some
  4198. way,  i.e. the speed  of information retrieval must be improved  enough to
  4199. make it worth entering the additional data. A third screen will be painted
  4200. to be used as a lookup only screen.  It will contain only two fields, each
  4201. of which can be used to look  up either the patient record or the  payment
  4202. records.  For a continuation of this system see the  DOCTORS OFFICE SYSTEM
  4203. below.
  4204.  
  4205.         The indexed files can serve as tables to validate information that
  4206. is being entered into records in another file, before the records are sent
  4207. to disk.  In the example  with the  state file above,  we may validate the
  4208.  
  4209.                                                                 page 126
  4210.  
  4211.  
  4212.  
  4213.  
  4214. two character code  used to represent  the state by performing a lookup on
  4215. any state for which we were not sure of the abreviation.  This we would do
  4216. by entering the abreviation, then performing the indexed lookup.  If there
  4217. are no matching records (and our state table is complete), we have entered
  4218. an erroneous state abreviation.  If the indexed lookup returns information
  4219. for a  state other than  the one which we wanted to see,  we have a pretty
  4220. good idea that what we entered was wrong. At this point we may wish to see
  4221. a printout of the state name file,  so we don't have to guess on  the next
  4222. attempt.
  4223.  
  4224.         There are undoubtedly many other uses for the indexed lookup which
  4225. I have not thought of. The use you put it to may be totally unique, having
  4226. absolutely nothing to do with the abovementioned uses, so we will get into
  4227. how the indexing is accomplished.
  4228.  
  4229.                       M E N U   S C R E E N
  4230.  
  4231.         a - SCREEN ADD                  1 - DATA ADD
  4232.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  4233.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  4234.         d - SCREEN DELETE               4 - DATA PRINT
  4235.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  4236.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  4237.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  4238.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  4239.         i - SYSTEM                      9 - INDEX
  4240.     ? 9 {E}
  4241.     DISPLAY INDEXES (y or n)? y {E}
  4242.  
  4243.                                                                 page 127
  4244.  
  4245.  
  4246.  
  4247.  
  4248.         The above prompt answers will show you the indexes which have been
  4249. previously set up.  The four pieces of data on each index is 1) the screen
  4250. defining the data records, 2) the field on which the file was indexed,  3)
  4251. the  OS2 file name of  the data file which is indexed and  4) the OS2 file
  4252. name of the  file containing the index keys for this index.  If all of the
  4253. index information cannot fit on one screen,  you will have to hit a key to
  4254. carry you from one screen full of indexes to the next and back to the menu
  4255. screen.
  4256.  
  4257.         If you had hit n(no) at the prompt above, additional questions are
  4258. asked, so the screen looks like the following.
  4259.  
  4260.                       M E N U   S C R E E N
  4261.  
  4262.         a - SCREEN ADD                  1 - DATA ADD
  4263.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  4264.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  4265.         d - SCREEN DELETE               4 - DATA PRINT
  4266.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  4267.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  4268.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  4269.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  4270.         i - SYSTEM                      9 - INDEX
  4271.     ? 9 {E}
  4272.     DISPLAY INDEXES (y or n)? n {E}
  4273.     SCREEN NAME? scr-name {E}
  4274.     FILE NAME? fil-name {E}
  4275.     FIELD NAME? fld-name {E}
  4276.     INDEX FILE NAME? fil-name.ix {E}
  4277.     BUILD (b) OR DELETE (d)? b {E}
  4278.  
  4279.                                                                 page 128
  4280.  
  4281.  
  4282.  
  4283.  
  4284.                         SCREEN NAME:
  4285.  
  4286.         If the screen to be used here is the same as  the last screen name
  4287. entered  in any of  the menu  screen  selections  then  you  may  enter an
  4288. asterisk (*) here for  that screen name.  If a screen name is entered here
  4289. then  this  screen name  will be  remembered as  the last screen  name for
  4290. future use in an abreviated form with the asterisk.
  4291.  
  4292.  
  4293.                         FILE NAME:
  4294.  
  4295.         The file specified here must be a OS2 file which already exists in
  4296. the OS2 directory.  This is the file to be indexed.
  4297.         If the file name to be used here is the same as the last file name
  4298. entered in  any of the menu  screen selections  then you may abreviate the
  4299. file name by entering an asterisk (*). If a file name is entered here then
  4300. this file name  will be remembered as the last file name for future use in
  4301. an abreviated form with the asterisk.
  4302.  
  4303.  
  4304.                         FIELD NAME:
  4305.  
  4306.         The field name is the name of the field upon which we are to index
  4307. the file.  This means we will place the values for this field from each of
  4308. the FILE NAME file records into the INDEX FILE NAME file ordered in such a
  4309. way that we can find any value rapidly.
  4310.  
  4311.  
  4312.                         INDEX FILE NAME:
  4313.  
  4314.         This will be OS2 file name for the  file containing the index keys
  4315. whose values are determined by the  "field name" above.  This file will be
  4316. added to  and deleted  from automatically by the DATA ADD  and DATA UPDATE
  4317. functions.
  4318.  
  4319.                                                                 page 129
  4320.  
  4321.  
  4322.  
  4323.  
  4324.                         BUILD OR DELETE:
  4325.  
  4326.         If build is requested,  the data file will be processed to extract
  4327. the index (key) field contents to be placed into the index file. The index
  4328. control information is placed into the SCREEN.LPT file at this time and is
  4329. later used when records are added to or deleted from the indexed data file
  4330. so we can keep up  with the additional keys  or delete the keys associated
  4331. with deleted records.
  4332.  
  4333.         If delete is requested,  the index  file will  be deleted  and the
  4334. index control information  retained in the SCREEN.LPT file will be erased.
  4335. If you get the following fatal error message
  4336.  
  4337.         INDEX FILE ERROR, PLEASE RE-INDEX
  4338.  
  4339. you will need to delete the index before re-building it.
  4340.  
  4341.  
  4342.                         ERRORS:
  4343.  
  4344.         Errors which may occur while using the INDEX function are shown at
  4345. the bottom of the screen when they occur and are
  4346.  
  4347.         name     NOT FOUND
  4348.  
  4349. if the screen name or the field name entered is not on file.
  4350.  
  4351.         FILE NOT CREATED WITH THIS SCREEN
  4352.  
  4353. is displayed if the file size is not an even multiple of the record layout
  4354. associated with the screen painting.
  4355.  
  4356.                                                                 page 130
  4357.  
  4358.  
  4359.  
  4360.  
  4361.         MAXIMUM NUMBER OF INDEX FILES ALREADY DEFINED
  4362.  
  4363. will be displayed if the maximum of fifty (50) indexes already exists.
  4364.  
  4365.         INDEX FOR screen-name, field-name, file-name ALREADY EXISTS
  4366.  
  4367. when an attempt is made to index a file on  a field which has already been
  4368. indexed.
  4369.  
  4370.         NO INDEX FOR screen-name, field-name, file-name, IX ix-file-name.
  4371.  
  4372. if an attempt was made to delete an index  which did not exist.  Note that
  4373. the presence of an index file is not sufficient to constitute indexing. We
  4374. must also  have the index controls in the  SCREEN.LPT file,  which is only
  4375. built when we build an index with the INDEX function.
  4376.  
  4377.         If none of the above errors are detected, the designated operation
  4378. will be performed and one of the following messages will be displayed upon
  4379. return to the menu screen.
  4380.  
  4381.         n RECORDS IN FILE, n INDEXED.
  4382.  
  4383. where any discrepancy in the two numbers  represents the number of records
  4384. marked as deleted.
  4385.  
  4386.         or
  4387.  
  4388.         IX DELETED - screen-name, field-name, file-name, IX ix-file-name.
  4389.  
  4390. if the request was to delete the index.
  4391.  
  4392.                                                                 page 131
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398.                         INDEXED LOOKUP:
  4399.  
  4400.         The indexed lookup can be accomplished with the DATA UPDATE,  DATA
  4401. ADD and the manual DATA COPY functions.
  4402.  
  4403.         The field at which the cursor rests when  Alt F3  keys are entered
  4404. is taken to be  the field to base  the indexed lookup on.   If the name of
  4405. this field is the same as any field which has been previously indexed, the
  4406. file with which the field is associated is a candidate for indexed lookup.
  4407. If there is only one candidate,  an attempt is made to find a key equal to
  4408. the field under the cursor.  In order to have a match,  the fields must be
  4409. defined in the same way (ex. if one is defined as character data of length
  4410. seven bytes, then the other must also be character data and be seven bytes
  4411. in length).
  4412.  
  4413.         If there are more than one candidate for the lookup,  they will be
  4414. displayed one at a time at the bottom of the screen until you either "use"
  4415. one or the list of candidates is exhausted.  The information listed at the
  4416. bottom of the screen is
  4417.  
  4418.        F1=USE, F2=SKIP - screen-name field-name file-name, index-file-name
  4419.  
  4420. If one of the displays is picked (F1) or there is only one candidate to be
  4421. considered, the search for an equal field value in the "file-name" file is
  4422. carried out.  If a match is located, the matching record will be displayed
  4423. using its own "screen-name" screen painting.
  4424.  
  4425.         If no matching key is  located the  following will be displayed at
  4426. the bottom ot the screen:
  4427.  
  4428.         NO MATCH FOUND.  CREATE BLANK RECORD(y or n)?
  4429.  
  4430.                                                                 page 132
  4431.  
  4432.  
  4433.  
  4434.  
  4435. which may only  be answered  with a n(no) or y(yes).  If the answer is yes
  4436. a blank record will be  added with the key field only filled in.  If there
  4437. are checks to be made on the data those checks  will not be made here.  If
  4438. the key was successfully added  and the keys of both files were defined in
  4439. exactly the same way,  the added record will appear on the screen in order
  4440. that  additional information can be  filled into the other fields.  If the
  4441. question  "CREATE BLANK RECORD?"  is answered with n(no)  then you will be
  4442. returned to  the record on  which you were  working when the index  lookup
  4443. request was made.
  4444.  
  4445.         After locating one matching key, you can accomplish several tasks:
  4446.  
  4447.         1) Add a new record to the file whose record is displayed. Alt-F1.
  4448.         2) Update the displayed record. F1.
  4449.         3) Find the next matching record in the file. F2.
  4450.            If none,  you will be returned to the record displayed prior to
  4451.            the indexed lookup.
  4452.         4) Find the previous matching record in the file. Shifted-F2.
  4453.            If none,  you will be returned to the record displayed prior to
  4454.            the indexed lookup.
  4455.         5) Print the displayed record. Shifted-F2.
  4456.         6) Delete the displayed record. Shifted-F9.
  4457.         7) Do another indexed lookup (max depth is ten). Alt-F3.
  4458.  
  4459.                                                                 page 133
  4460.  
  4461.  
  4462.  
  4463.  
  4464.         The function keys which may be used inside the indexed lookup are:
  4465.  
  4466. F1              - update the record.
  4467. F2              - display the next record.
  4468. Shifted F2      - display the previous record.
  4469. Shifted F9      - delete record.
  4470. Shifted F10     - Exit level - return to record lookup performed from.
  4471. Alt F1          - add the record.
  4472. Alt F3          - perform indexed lookup.
  4473.  
  4474.  
  4475.                         INDEXED LOOKUP ERRORS:
  4476.  
  4477.         As you move from one  file to another,  there is information which
  4478. must be retained.  If you move from file "a" to file "b" and from file "b"
  4479. to file "c" before returning to file "a", an additional set of information
  4480.  
  4481. must be retained.  For reasons of limited memory you will be allowed to go
  4482. to a maximum depth of ten file-to-file movements before the message
  4483.  
  4484.         MAXIMUM INDEX DEPTH EXCEEDED
  4485.  
  4486. is returned at the bottom of the screen.  Any time you move back to a file
  4487. at a previous level  without using the index lookup  (i.e. automatically),
  4488. the depth at which you are working is reduced by one.  This restriction of
  4489. depth of ten should not hamper  you in any real way with properly designed
  4490. systems.
  4491.  
  4492.                                                                 page 134
  4493.  
  4494.  
  4495.  
  4496.                         EXAMPLE FILE USAGE
  4497.  
  4498.  
  4499.         The Wilkes database  can be used to set up  and maintain virtually
  4500. any single file database requirements. The following pages will be example
  4501. systems, in their entirety, showing the various applicable functions built
  4502. into the Wilkes database. The example systems are
  4503.  
  4504.         1) Name and Address file.
  4505.         2) Checkbook system.
  4506.  
  4507.                                                                 page 135
  4508.  
  4509.  
  4510.  
  4511.                         NAME AND ADDRESS FILE
  4512.  
  4513.         This is probably the simplest of the useful database types and one
  4514. which is  probably  useful to everyone who has  to keep  up with names and
  4515. addresses for a company, at home or wherever.
  4516.  
  4517.         We have  decided the data which  we will keep in our database will
  4518. consist of a name,  one line of address, city, state, zip code  with all 9
  4519. digits, both a home and a work phone  number with area codes, relationship
  4520. with the person (or business), his and her birthday (for couples)  and the
  4521. anniversary (again for couples) and the names  and birthdays  of up to six
  4522. of his/her/their children.  If we need to  add more  information later, we
  4523. can do so, but for now this is all the information we forsee keeping.
  4524.  
  4525.         We will first do the screen painting for all this information. You
  4526. may arrange the information on the screen in whatever fashion you wish. We
  4527. came up with the following.
  4528.  
  4529.                       M E N U   S C R E E N
  4530.  
  4531.         a - SCREEN ADD                  1 - DATA ADD
  4532.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  4533.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  4534.         d - SCREEN DELETE               4 - DATA PRINT
  4535.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  4536.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  4537.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  4538.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  4539.         i - SYSTEM                      9 - INDEX
  4540.     ? a {E}
  4541.     SCREEN NAME? addr {E}
  4542.  
  4543.                                                                 page 136
  4544.  
  4545.  
  4546.  
  4547.     
  4548. name     SCREEN - ATTRIBUTES DEFINITION
  4549. USE ALIEN FILES? n {E}
  4550. BLINK FIELDS IN ERROR? y {E}
  4551. 0 - REVERSE VIDEO
  4552. 1 - HIGHLIGHT
  4553. 2 - UNDERSCORE
  4554. 3 - HIGHLIGHT AND UNDERSCORE
  4555. ? 2 {E}
  4556.  
  4557.  
  4558.                                 ADDRESS FILE
  4559.  
  4560.                       Name: ______________________________
  4561.                    Address: ______________________________
  4562.                       City: ____________________
  4563.                      State: __
  4564.                        Zip: _____-____
  4565.               Phone - Home: (___)___-____
  4566.                       Work: (___)___-____
  4567.            --------------------------------------------------------------
  4568.               Relationship: _______________
  4569.  
  4570.             Birthday - His: ____________________
  4571.                        Her: ____________________
  4572.                Anniversary: ____________________
  4573.  
  4574.            Children: ____________________  Birthday: ____________________
  4575.                      ____________________            ____________________
  4576.                      ____________________            ____________________
  4577.                      ____________________            ____________________
  4578.                      ____________________            ____________________
  4579.                      ____________________            ____________________
  4580.  
  4581.                                                                 page 137
  4582.  
  4583.  
  4584.  
  4585.  
  4586.         We introduced the line of dashes (not underscores) below the phone
  4587. number for work to separate the "get in touch with"  data from the general
  4588. information data.
  4589.  
  4590.         The following screens  are the questions  and answers after F1 was
  4591. pressed (denoting the screen painting is ready to be stored).
  4592.  
  4593.  
  4594. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4595. ==========================================================================
  4596.                       Name: ______________________________
  4597. ==========================================================================
  4598. FIELD NAME? name {E}
  4599.  
  4600. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4601. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4602. 2 - INTEGER                         1 - HIGHLIGHT
  4603. 3 - LONG INTEGER                    2 - UNDERSCORE
  4604. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4605. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4606. ? 0 {E}                             ? 2 {E}
  4607. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4608.  
  4609.                                                                 page 138
  4610.  
  4611.  
  4612.  
  4613.  
  4614. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4615. ==========================================================================
  4616.                    Address: ______________________________
  4617. ==========================================================================
  4618. FIELD NAME? addr {E}
  4619.  
  4620. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4621. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4622. 2 - INTEGER                         1 - HIGHLIGHT
  4623. 3 - LONG INTEGER                    2 - UNDERSCORE
  4624. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4625. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4626. ? 0 {E}                             ? 2 {E}
  4627. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4628.  
  4629.  
  4630. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4631. ==========================================================================
  4632.                       City: ____________________
  4633. ==========================================================================
  4634. FIELD NAME? city {E}
  4635.  
  4636. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4637. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4638. 2 - INTEGER                         1 - HIGHLIGHT
  4639. 3 - LONG INTEGER                    2 - UNDERSCORE
  4640. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4641. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4642. ? 0 {E}                             ? 2 {E}
  4643. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4644.  
  4645.                                                                 page 139
  4646.  
  4647.  
  4648.  
  4649.  
  4650. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4651. ==========================================================================
  4652.                      State: __
  4653. ==========================================================================
  4654. FIELD NAME? state {E}
  4655.  
  4656. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4657. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4658. 2 - INTEGER                         1 - HIGHLIGHT
  4659. 3 - LONG INTEGER                    2 - UNDERSCORE
  4660. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4661. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4662. ? 0 {E}                             ? 2 {E}
  4663. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4664.  
  4665.  
  4666. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4667. ==========================================================================
  4668.                        Zip: _____-____
  4669. ==========================================================================
  4670. FIELD NAME? zip {E}
  4671.  
  4672. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4673. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4674. 2 - INTEGER                         1 - HIGHLIGHT
  4675. 3 - LONG INTEGER                    2 - UNDERSCORE
  4676. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4677. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4678. ? 0 {E}                             ? 2 {E}
  4679. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4680.  
  4681.                                                                 page 140
  4682.  
  4683.  
  4684.  
  4685.  
  4686. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4687. ==========================================================================
  4688.                        Zip: _____-____
  4689. ==========================================================================
  4690. FIELD NAME? zip-ext {E}
  4691.  
  4692. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4693. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4694. 2 - INTEGER                         1 - HIGHLIGHT
  4695. 3 - LONG INTEGER                    2 - UNDERSCORE
  4696. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4697. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4698. ? 0 {E}                             ? 2 {E}
  4699. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4700.  
  4701.  
  4702. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4703. ==========================================================================
  4704.               Phone - Home: (___)___-____
  4705. ==========================================================================
  4706. FIELD NAME? home-1 {E}
  4707.  
  4708. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4709. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4710. 2 - INTEGER                         1 - HIGHLIGHT
  4711. 3 - LONG INTEGER                    2 - UNDERSCORE
  4712. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4713. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4714. ? 0 {E}                             ? 2 {E}
  4715. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4716.  
  4717.                                                                 page 141
  4718.  
  4719.  
  4720.  
  4721.  
  4722. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4723. ==========================================================================
  4724.               Phone - Home: (___)___-____
  4725. ==========================================================================
  4726. FIELD NAME? home-2 {E}
  4727.  
  4728. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4729. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4730. 2 - INTEGER                         1 - HIGHLIGHT
  4731. 3 - LONG INTEGER                    2 - UNDERSCORE
  4732. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4733. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4734. ? 0 {E}                             ? 2 {E}
  4735. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4736.  
  4737.  
  4738. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4739. ==========================================================================
  4740.               Phone - Home: (___)___-____
  4741. ==========================================================================
  4742. FIELD NAME? home-3 {E}
  4743.  
  4744. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4745. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4746. 2 - INTEGER                         1 - HIGHLIGHT
  4747. 3 - LONG INTEGER                    2 - UNDERSCORE
  4748. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4749. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4750. ? 0 {E}                             ? 2 {E}
  4751. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4752.  
  4753.                                                                 page 142
  4754.  
  4755.  
  4756.  
  4757.  
  4758. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4759. ==========================================================================
  4760.                       Work: (___)___-____
  4761. ==========================================================================
  4762. FIELD NAME? work-1 {E}
  4763.  
  4764. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4765. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4766. 2 - INTEGER                         1 - HIGHLIGHT
  4767. 3 - LONG INTEGER                    2 - UNDERSCORE
  4768. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4769. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4770. ? 0 {E}                             ? 2 {E}
  4771. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4772.  
  4773.  
  4774. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4775. ==========================================================================
  4776.                       Work: (___)___-____
  4777. ==========================================================================
  4778. FIELD NAME? work-2 {E}
  4779.  
  4780. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4781. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4782. 2 - INTEGER                         1 - HIGHLIGHT
  4783. 3 - LONG INTEGER                    2 - UNDERSCORE
  4784. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4785. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4786. ? 0 {E}                             ? 2 {E}
  4787. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4788.  
  4789.                                                                 page 143
  4790.  
  4791.  
  4792.  
  4793.  
  4794. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4795. ==========================================================================
  4796.                       Work: (___)___-____
  4797. ==========================================================================
  4798. FIELD NAME? work-3 {E}
  4799.  
  4800. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4801. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4802. 2 - INTEGER                         1 - HIGHLIGHT
  4803. 3 - LONG INTEGER                    2 - UNDERSCORE
  4804. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4805. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4806. ? 0 {E}                             ? 2 {E}
  4807. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4808.  
  4809.  
  4810. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4811. ==========================================================================
  4812.               Relationship: _______________
  4813. ==========================================================================
  4814. FIELD NAME? relative {E}
  4815.  
  4816. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4817. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4818. 2 - INTEGER                         1 - HIGHLIGHT
  4819. 3 - LONG INTEGER                    2 - UNDERSCORE
  4820. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4821. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4822. ? 0 {E}                             ? 2 {E}
  4823. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4824.  
  4825.                                                                 page 144
  4826.  
  4827.  
  4828.  
  4829.  
  4830. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4831. ==========================================================================
  4832.             Birthday - His: ____________________
  4833. ==========================================================================
  4834. FIELD NAME? bday-his {E}
  4835.  
  4836. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4837. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4838. 2 - INTEGER                         1 - HIGHLIGHT
  4839. 3 - LONG INTEGER                    2 - UNDERSCORE
  4840. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4841. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4842. ? 0 {E}                             ? 2 {E}
  4843. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4844.  
  4845.  
  4846. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4847. ==========================================================================
  4848.                        Her: ____________________
  4849. ==========================================================================
  4850. FIELD NAME? bday-her {E}
  4851.  
  4852. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4853. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4854. 2 - INTEGER                         1 - HIGHLIGHT
  4855. 3 - LONG INTEGER                    2 - UNDERSCORE
  4856. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4857. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4858. ? 0 {E}                             ? 2 {E}
  4859. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4860.  
  4861.                                                                 page 145
  4862.  
  4863.  
  4864.  
  4865.  
  4866. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4867. ==========================================================================
  4868.                Anniversary: ____________________
  4869. ==========================================================================
  4870. FIELD NAME? marriage {E}
  4871.  
  4872. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4873. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4874. 2 - INTEGER                         1 - HIGHLIGHT
  4875. 3 - LONG INTEGER                    2 - UNDERSCORE
  4876. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4877. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4878. ? 0 {E}                             ? 2 {E}
  4879. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4880.  
  4881.  
  4882. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4883. ==========================================================================
  4884.            Children: ____________________  Birthday: ____________________
  4885. ==========================================================================
  4886. FIELD NAME? child-1 {E}
  4887.  
  4888. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4889. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4890. 2 - INTEGER                         1 - HIGHLIGHT
  4891. 3 - LONG INTEGER                    2 - UNDERSCORE
  4892. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4893. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4894. ? 0 {E}                             ? 2 {E}
  4895. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4896.  
  4897.                                                                 page 146
  4898.  
  4899.  
  4900.  
  4901.  
  4902. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4903. ==========================================================================
  4904.            Children: ____________________  Birthday: ____________________
  4905. ==========================================================================
  4906. FIELD NAME? birth-1 {E}
  4907.  
  4908. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4909. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4910. 2 - INTEGER                         1 - HIGHLIGHT
  4911. 3 - LONG INTEGER                    2 - UNDERSCORE
  4912. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4913. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4914. ? 0 {E}                             ? 2 {E}
  4915. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4916.  
  4917.  
  4918. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4919. ==========================================================================
  4920.                      ____________________            ____________________
  4921. ==========================================================================
  4922. FIELD NAME? child-2 {E}
  4923.  
  4924. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4925. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4926. 2 - INTEGER                         1 - HIGHLIGHT
  4927. 3 - LONG INTEGER                    2 - UNDERSCORE
  4928. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4929. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4930. ? 0 {E}                             ? 2 {E}
  4931. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4932.  
  4933.                                                                 page 147
  4934.  
  4935.  
  4936.  
  4937.  
  4938. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4939. ==========================================================================
  4940.                      ____________________            ____________________
  4941. ==========================================================================
  4942. FIELD NAME? birth-2 {E}
  4943.  
  4944. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4945. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4946. 2 - INTEGER                         1 - HIGHLIGHT
  4947. 3 - LONG INTEGER                    2 - UNDERSCORE
  4948. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4949. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4950. ? 0 {E}                             ? 2 {E}
  4951. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4952.  
  4953.  
  4954. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4955. ==========================================================================
  4956.                      ____________________            ____________________
  4957. ==========================================================================
  4958. FIELD NAME? child-3 {E}
  4959.  
  4960. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4961. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4962. 2 - INTEGER                         1 - HIGHLIGHT
  4963. 3 - LONG INTEGER                    2 - UNDERSCORE
  4964. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4965. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4966. ? 0 {E}                             ? 2 {E}
  4967. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4968.  
  4969.                                                                 page 148
  4970.  
  4971.  
  4972.  
  4973.  
  4974. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4975. ==========================================================================
  4976.                      ____________________            ____________________
  4977. ==========================================================================
  4978. FIELD NAME? birth-3 {E}
  4979.  
  4980. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4981. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4982. 2 - INTEGER                         1 - HIGHLIGHT
  4983. 3 - LONG INTEGER                    2 - UNDERSCORE
  4984. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  4985. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  4986. ? 0 {E}                             ? 2 {E}
  4987. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  4988.  
  4989.  
  4990. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  4991. ==========================================================================
  4992.                      ____________________            ____________________
  4993. ==========================================================================
  4994. FIELD NAME? child-4 {E}
  4995.  
  4996. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  4997. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  4998. 2 - INTEGER                         1 - HIGHLIGHT
  4999. 3 - LONG INTEGER                    2 - UNDERSCORE
  5000. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5001. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5002. ? 0 {E}                             ? 2 {E}
  5003. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5004.  
  5005.                                                                 page 149
  5006.  
  5007.  
  5008.  
  5009.  
  5010. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5011. ==========================================================================
  5012.                      ____________________            ____________________
  5013. ==========================================================================
  5014. FIELD NAME? birth-4 {E}
  5015.  
  5016. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5017. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5018. 2 - INTEGER                         1 - HIGHLIGHT
  5019. 3 - LONG INTEGER                    2 - UNDERSCORE
  5020. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5021. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5022. ? 0 {E}                             ? 2 {E}
  5023. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5024.  
  5025.  
  5026. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5027. ==========================================================================
  5028.                      ____________________            ____________________
  5029. ==========================================================================
  5030. FIELD NAME? child-5 {E}
  5031.  
  5032. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5033. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5034. 2 - INTEGER                         1 - HIGHLIGHT
  5035. 3 - LONG INTEGER                    2 - UNDERSCORE
  5036. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5037. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5038. ? 0 {E}                             ? 2 {E}
  5039. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5040.  
  5041.                                                                 page 150
  5042.  
  5043.  
  5044.  
  5045.  
  5046. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5047. ==========================================================================
  5048.                      ____________________            ____________________
  5049. ==========================================================================
  5050. FIELD NAME? birth-5 {E}
  5051.  
  5052. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5053. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5054. 2 - INTEGER                         1 - HIGHLIGHT
  5055. 3 - LONG INTEGER                    2 - UNDERSCORE
  5056. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5057. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5058. ? 0 {E}                             ? 2 {E}
  5059. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5060.  
  5061.  
  5062. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5063. ==========================================================================
  5064.                      ____________________            ____________________
  5065. ==========================================================================
  5066. FIELD NAME? child-6 {E}
  5067.  
  5068. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5069. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5070. 2 - INTEGER                         1 - HIGHLIGHT
  5071. 3 - LONG INTEGER                    2 - UNDERSCORE
  5072. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5073. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5074. ? 0 {E}                             ? 2 {E}
  5075. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5076.  
  5077.                                                                 page 151
  5078.  
  5079.  
  5080.  
  5081.  
  5082. addr     SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5083. ==========================================================================
  5084.                      ____________________            ____________________
  5085. ==========================================================================
  5086. FIELD NAME? birth-6 {E}
  5087.  
  5088. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5089. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5090. 2 - INTEGER                         1 - HIGHLIGHT
  5091. 3 - LONG INTEGER                    2 - UNDERSCORE
  5092. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5093. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5094. ? 0 {E}                             ? 2 {E}
  5095. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5096.  
  5097.  
  5098.         At this point  we have defined all of the  fields painted onto the
  5099. screen, so we are returned to the menu screen with the message
  5100.  
  5101. addr     ADDED
  5102.  
  5103. showing at the bottom of the screen.
  5104.  
  5105.         We now have the screen defined and are ready to create a data file
  5106. and place our names and addresses into it.  This is done by using the DATA
  5107. ADD function.
  5108.  
  5109.                                                                 page 152
  5110.  
  5111.  
  5112.  
  5113.  
  5114.                       M E N U   S C R E E N
  5115.  
  5116.         a - SCREEN ADD                  1 - DATA ADD
  5117.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5118.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5119.         d - SCREEN DELETE               4 - DATA PRINT
  5120.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5121.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5122.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5123.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5124.         i - SYSTEM                      9 - INDEX
  5125.     ? 1 {E}
  5126.     SCREEN NAME? addr {E}
  5127.     FILE NAME? addr {E}
  5128.     FILE NOT PRESENT. CREATE? y {E}
  5129.  
  5130.         Since the screen  name is internal to  the WILKES DATABASE and the
  5131. file name is stored external to the  WILKES DATABASE the screens and files
  5132. may have the same name.  As soon as the enter  key is pressed the DATA ADD
  5133. screen which we  painted with  the SCREEN ADD function will  appear on the
  5134. screen.
  5135.  
  5136.                                                                 page 153
  5137.  
  5138.  
  5139.  
  5140.  
  5141.                                 ADDRESS FILE
  5142.  
  5143.                       Name: ______________________________
  5144.                    Address: ______________________________
  5145.                       City: ____________________
  5146.                      State: __
  5147.                        Zip: _____-____
  5148.               Phone - Home: (___)___-____
  5149.                       Work: (___)___-____
  5150.            --------------------------------------------------------------
  5151.               Relationship: _______________
  5152.  
  5153.             Birthday - His: ____________________
  5154.                        Her: ____________________
  5155.                Anniversary: ____________________
  5156.  
  5157.            Children: ____________________  Birthday: ____________________
  5158.                      ____________________            ____________________
  5159.                      ____________________            ____________________
  5160.                      ____________________            ____________________
  5161.                      ____________________            ____________________
  5162.                      ____________________            ____________________
  5163.  
  5164.  
  5165.         We fill out this screen with the desired data and press the F1 key
  5166. and repeat the process several times.  When we are finished  entering data
  5167. we press the F2 key (just after the last F1) and are  returned to the menu
  5168. screen. We now have our  names and addresses in the file "addr" and we now
  5169. want a listing of all of our names and addresses. The screen contains more
  5170. data than we want to see on a quick reference  list so we select the items
  5171.  
  5172.                                                                 page 154
  5173.  
  5174.  
  5175.  
  5176.  
  5177. which  we want  to see  on the  printed listing.  The name, address, city,
  5178. state,  zip code  and home phone  number.  We have  determined  that these
  5179. fields will fit on a 132  column line.  We did this by  the use of a ruler
  5180. and a pencil and laying out  the information  as it will appear on the 132
  5181. columns.
  5182.  
  5183.                       M E N U   S C R E E N
  5184.  
  5185.         a - SCREEN ADD                  1 - DATA ADD
  5186.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5187.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5188.         d - SCREEN DELETE               4 - DATA PRINT
  5189.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5190.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5191.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5192.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5193.         i - SYSTEM                      9 - INDEX
  5194.     ? 4 {E}
  5195.     SCREEN NAME? addr {E}
  5196.     FILE NAME? addr {E}
  5197.  
  5198.         This will  get us  to the  next screen, which is the  PRINT FORMAT
  5199. screen, with  the knowledge of  what the  record layout looks like and the
  5200. file we are to list.
  5201.  
  5202.                                                                 page 155
  5203.  
  5204.  
  5205.  
  5206.  
  5207.                               PRINT FORMAT
  5208.  
  5209.                 REPORT NAME? addr.rpt
  5210.                 NEW SPECIFICATIONS? y      SAVE SPECIFICATIONS? y
  5211.                 COLUMNS/LINE? 132          LINES/PAGE? 66
  5212.                 HEADER? y                  #HEADER LINES? 7
  5213.                 DETAIL? y                  #DETAIL LINES? 1
  5214.                 PAGE BREAKS ON FIELD CHANGE?
  5215.                 TOTALING?                  SUBTOTALING?
  5216.                 PRINT DATE? y              HEADER LINE #? 3
  5217.                                                 COLUMN #? 7
  5218.                 PRINT TIME? y              HEADER LINE #? 4
  5219.                                                 COLUMN #? 7
  5220.                 PRINT PAGE #? y            HEADER LINE #? 3
  5221.                                                 COLUMN #? 115
  5222.                 PRINT RECORD #?            DETAIL LINE #?
  5223.                                                 COLUMN #?
  5224.                 OMIT BLANK DETAIL LINES? y
  5225.  
  5226.         The PRINT FORMAT  screen shows that we  wish to establish a report
  5227. "addr.rpt" which is new and we wish  to save the report.  The listing will
  5228. be on 132 columns/line and 66 lines/page. There will be 7 heading lines to
  5229. paint and one detail line to paint.  We wish the system date, time and the
  5230. page number  to print in the heading lines.  If we have blank records they
  5231. are not to print ("OMIT BLANK DETAIL LINES?" is y(YES)).
  5232.  
  5233.         When we  press F1 to go on to the  HEADER LINES screen we will see
  5234. a blank screen except for  the name of this screen "HEADER LINES:" located
  5235. on line 2 of the screen.  The cursor positioning  is used to get from line
  5236. to line and paint the header lines which  appear on REPORT 1 at the end of
  5237. this section.
  5238.  
  5239.                                                                 page 156
  5240.  
  5241.  
  5242. HEADER LINES:
  5243.                                                   ADDRESS FILE
  5244.  
  5245. Date: MO/DA/YR
  5246.                               Page: nnnnnn
  5247. Time: HR:MN
  5248.  
  5249. Name                           Address                         City
  5250.    State   Zip        Phone
  5251.  
  5252.  
  5253.         We have the header line filled out now.  Note that each print line
  5254. requires two screen lines to paint.  If we were working with an 80  column
  5255. print line we could have one print line for each screen line.  Reports may
  5256. take up  to 3 screen lines, where you ask for more  than 160 columns/line.
  5257. After pressing  the F1 key we will see another empty screen except for the
  5258. heading "DETAIL LINES:" on the second line of the screen. We will paint in
  5259. the single detail line as follows.
  5260.  
  5261. DETAIL LINES:
  5262.  
  5263.                  -      (   )   -
  5264.  
  5265.         The dashes in the detail line are used to  separate the first five
  5266. digits of the zip code from  the last four and to separate the first three
  5267. digits of the home phone number from the last four digits. The parentheses
  5268. are to surround the telephone area code.
  5269.  
  5270.         When we again  press the F1 key we  will see following screen with
  5271. none of the data filled in except the field names on the left.  We add the
  5272. desired print positioning data and we have
  5273.  
  5274.                                                                 page 157
  5275.  
  5276.  
  5277.  
  5278. NAME     P T S SL PB L#/Col L#/Col L#/Col L#/Col L#/Col
  5279. name     y           1  1
  5280. addr     y           1  32
  5281. city     y           1  64
  5282. state    y           1  85
  5283. zip      y           1  92
  5284. zip-ext  y           1  98
  5285. home-1   y           1  104
  5286. home-2   y           1  108
  5287. home-3   y           1  112
  5288. work-1
  5289. work-2
  5290. work-3
  5291. relative
  5292. bday-his
  5293. bday-her
  5294. marriage
  5295. child-1
  5296. birth-1
  5297. child-2
  5298. birth-2
  5299. child-3
  5300. birth-3
  5301. child-4
  5302. birth-4
  5303. child-5
  5304. birth-5
  5305. child-6
  5306. birth-6
  5307. FIELD LENGTH IS  30
  5308.  
  5309.                                                                 page 158
  5310.  
  5311.  
  5312.  
  5313.  
  5314.         The field length message at  the bottom of the  screen is shown as
  5315. if the cursor  was on the first detail line  (as it is when this screen is
  5316. first displayed).
  5317.  
  5318.         Although all of the  lines above will not fit on the screen at the
  5319. same time, the screen functions as though they were.  Lines will be rolled
  5320. on and off the screen as necessary.  The first and last line of the screen
  5321. will be displayed until this screen is exited.  From here simply press the
  5322. F1 key and get our listing.
  5323.  
  5324.         When the listing  comes out (see  REPORT 2 at end of section),  we
  5325. see that it is not in sorted order.  We will now use the DATA SORT to sort
  5326. the file into name order.
  5327.  
  5328.                       M E N U   S C R E E N
  5329.  
  5330.         a - SCREEN ADD                  1 - DATA ADD
  5331.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5332.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5333.         d - SCREEN DELETE               4 - DATA PRINT
  5334.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5335.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5336.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5337.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5338.         i - SYSTEM                      9 - INDEX
  5339.     ? 6 {E}
  5340.     SCREEN NAME? addr {E}
  5341.     FILE NAME? addr {E}
  5342.     NEW FILE NAME? addr.srt {E}
  5343.     FIELD NAME? name {E}     f - FORWARD, r - REVERSE? f {E}
  5344.  
  5345.                                                                 page 159
  5346.  
  5347.  
  5348.  
  5349.  
  5350.         After  entering  f(FORWARD)  we press the F1 key  to tell the DATA
  5351. SORT function that the field named "name" is the only field to sort on.
  5352.  
  5353.         Now that the records are sorted we are again ready to list out the
  5354. file. We must now use the file named "addr.srt" as it is the sorted file.
  5355.  
  5356.                       M E N U   S C R E E N
  5357.  
  5358.         a - SCREEN ADD                  1 - DATA ADD
  5359.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5360.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5361.         d - SCREEN DELETE               4 - DATA PRINT
  5362.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5363.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5364.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5365.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5366.         i - SYSTEM                      9 - INDEX
  5367.     ? 4 {E}
  5368.     SCREEN NAME? addr {E}
  5369.     FILE NAME? addr.srt {E}
  5370.  
  5371.         When the PRINT FORMAT screen comes up  we will enter only the name
  5372. of the report "addr.rpt", which we saved earlier, and an n(NO) in response
  5373. to "NEW SPECIFICATIONS?".  The other fields we ignore and press the F1 key
  5374. 5 times.  Our report (see REPORT 3 at the end of  this section) prints out
  5375. in sorted order.
  5376.  
  5377.         After doing all this work we decide to call up old Jim Smith, just
  5378. to have a chat on the phone.  Since our name and address file is in sorted
  5379. order we chose to use the DATA DISPLAY/UPDATE function to look up his name
  5380. and phone number.
  5381.  
  5382.                                                                 page 160
  5383.  
  5384.  
  5385.  
  5386.  
  5387.                       M E N U   S C R E E N
  5388.  
  5389.         a - SCREEN ADD                  1 - DATA ADD
  5390.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5391.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5392.         d - SCREEN DELETE               4 - DATA PRINT
  5393.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5394.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5395.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5396.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5397.         i - SYSTEM                      9 - INDEX
  5398.     ? 3 {E}
  5399.     SCREEN NAME? addr {E}
  5400.     FILE NAME? addr.srt {E}
  5401.  
  5402.         For screen name and file name we actually entered "*"'s because we
  5403. knew that "addr" and "addr.srt" were the last screen name and file name we
  5404. had used.  The asterisks  were converted to the  screen and  file names as
  5405. soon as we hit the enter key.
  5406.  
  5407.         When the first screen of data  pops up we hit the F10 key to go to
  5408. the end of the file  and work our way back to Smith  with shifted F2's and
  5409. we print it out because we want to.  To print Jim  Smith's record we press
  5410. the Alt F2 keys, while Jim's record is displayed on the screen.
  5411.  
  5412.                                                                 page 161
  5413.  
  5414.  
  5415.  
  5416.  
  5417.                                 ADDRESS FILE
  5418.  
  5419.                       Name: Smith, Jim
  5420.                    Address: 23 St.
  5421.                       City: NYC
  5422.                      State: NY
  5423.                        Zip: 99999-    
  5424.               Phone - Home: (   )555-1212
  5425.                       Work: (   )   -    
  5426.            --------------------------------------------------------------
  5427.               Relationship: Mary's hubby   
  5428.  
  5429.             Birthday - His: December 25
  5430.                        Her: 
  5431.                Anniversary: April 15
  5432.  
  5433.            Children: Ephraim               Birthday: 
  5434.                      Zeak
  5435.  
  5436.                                                                 page 162
  5437.  
  5438.  
  5439.  
  5440.                         CHECKBOOK SYSTEM:
  5441.  
  5442.         We will now put  together a system to take  care of checkbooks. We
  5443. have certain requirements to accomplish some certain ends.  These ends are
  5444. 1) Storage of the deposits, checks, automatic deductions and service fees,
  5445. 2) A means of distinguishing between the items in 1),
  5446. 3) The ability to distinguish between the items in 1)  which have shown up
  5447.    on statements and  which have not.  This implies the ability to balance
  5448.    the checkbook to a statement,
  5449. 4) The ability to extract from the database a  certain type of expense and
  5450.    report on that expense type only,
  5451. 5) Report of the various information from our database,  including present
  5452.    balance.
  5453.  
  5454.         These ends we  shall accomplish in the following way.  When we add
  5455. the screen called "checks" it might look like the following painting.
  5456.  
  5457.                                                                 page 163
  5458.  
  5459.  
  5460.  
  5461.  
  5462.                         MY CHECKING ACCOUNT
  5463.  
  5464.         DATE: __/__/__  
  5465.  
  5466.         DEPOSIT(d),CHECK(c),AUTOMATIC DEDUCTION(a),SERVICE FEE(f): _
  5467.  
  5468.           #: ______
  5469.          TO: ______________________________
  5470.         FOR: ______________________________
  5471.  
  5472.         CREDIT: __________      DEBIT: __________
  5473.  
  5474.         ON STATEMENT(*): _
  5475.  
  5476.         __________
  5477.  
  5478.  
  5479.         Where the meaning of the fields are
  5480. 1) DATE contains the transaction date (month/day/year),
  5481. 2) d, c, a or f will distinguish the type of transaction,
  5482. 3) # is the check number or some identifying number for the transaction,
  5483. 4) TO is the person or firm to whom the check is made out,
  5484. 5) FOR serves the same purpose as in a checkbook,
  5485. 6) CREDIT will contain the money amount associated with the transaction
  5486.    type DEPOSIT,
  5487. 7) DEBIT will contain the money amounts associated with the transaction
  5488.    types CHECK, AUTOMATIC DEDUCTION and SERVICE FEE,
  5489. 8) ON STATEMENT will contain an asterisk (*) if the transaction has been
  5490.    on a statement.
  5491.  
  5492.                                                                 page 164
  5493.  
  5494.  
  5495.  
  5496.  
  5497. 9) The last field contains no description and will not show on our screen.
  5498.    This field is used only to do  additions and  subtractions,  similar to
  5499.    the way you would use your checkbook, but without all the work. This is
  5500.    referred to below as the "total" field.
  5501.  
  5502.         Separating Credits from Debits keeps us from  worrying about debit
  5503. amounts being negative.  If you don't like double entry checkbooks,  which
  5504. is the type we are simulating you can replace the CREDIT/DEBIT line of the
  5505. painting  with a single  entry AMOUNT and use negative numbers where money
  5506. is being taken out of the account. If you alter the painting to use single
  5507. entry, you can also do away with the "total" field and  all considerations
  5508. associated with the "total" field below.
  5509.  
  5510.         The following describes the  way the data is stored  and the names
  5511. of the fields as they are to be used later with the Wilkes database.
  5512.  
  5513. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5514. ==========================================================================
  5515.         DATE: __/__/__  
  5516. ==========================================================================
  5517. FIELD NAME? month {E}
  5518.  
  5519. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5520. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5521. 2 - INTEGER                         1 - HIGHLIGHT
  5522. 3 - LONG INTEGER                    2 - UNDERSCORE
  5523. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5524. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5525. ? 1 {E}                             ? 3 {E}
  5526. FIELD REQUIRED? y {E}  COPY FIELD DURING ADD? n {E}
  5527.  
  5528.                                                                 page 165
  5529.  
  5530.  
  5531.  
  5532.  
  5533. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5534. ==========================================================================
  5535.         DATE: __/__/__  
  5536. ==========================================================================
  5537. FIELD NAME? day {E}
  5538.  
  5539. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5540. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5541. 2 - INTEGER                         1 - HIGHLIGHT
  5542. 3 - LONG INTEGER                    2 - UNDERSCORE
  5543. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5544. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5545. ? 1 {E}                             ? 3 {E}
  5546. FIELD REQUIRED? y {E}  COPY FIELD DURING ADD? n {E}
  5547.  
  5548.  
  5549. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5550. ==========================================================================
  5551.         DATE: __/__/__  
  5552. ==========================================================================
  5553. FIELD NAME? year {E}
  5554.  
  5555. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5556. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5557. 2 - INTEGER                         1 - HIGHLIGHT
  5558. 3 - LONG INTEGER                    2 - UNDERSCORE
  5559. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5560. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5561. ? 1 {E}                             ? 3 {E}
  5562. FIELD REQUIRED? y {E}  COPY FIELD DURING ADD? n {E}
  5563.  
  5564.                                                                 page 166
  5565.  
  5566.  
  5567.  
  5568.  
  5569. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5570. ==========================================================================
  5571.         DEPOSIT(d),CHECK(c),AUTOMATIC DEDUCTION(a),SERVICE FEE(f): _
  5572. ==========================================================================
  5573. FIELD NAME? type {E}
  5574.  
  5575. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5576. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5577. 2 - INTEGER                         1 - HIGHLIGHT
  5578. 3 - LONG INTEGER                    2 - UNDERSCORE
  5579. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5580. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5581. ? 0 {E}                             ? 3 {E}
  5582. FIELD REQUIRED? y {E}  COPY FIELD DURING ADD? n {E}
  5583.  
  5584.  
  5585. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5586. ==========================================================================
  5587.           #: ______
  5588. ==========================================================================
  5589. FIELD NAME? number {E}
  5590.  
  5591. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5592. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5593. 2 - INTEGER                         1 - HIGHLIGHT
  5594. 3 - LONG INTEGER                    2 - UNDERSCORE
  5595. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5596. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5597. ? 3 {E}                             ? 3 {E}
  5598. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5599.  
  5600.                                                                 page 167
  5601.  
  5602.  
  5603.  
  5604.  
  5605. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5606. ==========================================================================
  5607.          TO: ______________________________
  5608. ==========================================================================
  5609. FIELD NAME? to {E}
  5610.  
  5611. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5612. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5613. 2 - INTEGER                         1 - HIGHLIGHT
  5614. 3 - LONG INTEGER                    2 - UNDERSCORE
  5615. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5616. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5617. ? 0 {E}                             ? 3 {E}
  5618. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5619.  
  5620.  
  5621. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5622. ==========================================================================
  5623.         FOR: ______________________________
  5624. ==========================================================================
  5625. FIELD NAME? for {E}
  5626.  
  5627. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5628. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5629. 2 - INTEGER                         1 - HIGHLIGHT
  5630. 3 - LONG INTEGER                    2 - UNDERSCORE
  5631. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5632. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5633. ? 0 {E}                             ? 3 {E}
  5634. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5635.  
  5636.                                                                 page 168
  5637.  
  5638.  
  5639.  
  5640.  
  5641. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5642. ==========================================================================
  5643.         CREDIT: __________      DEBIT: __________
  5644. ==========================================================================
  5645. FIELD NAME? credit {E}
  5646.  
  5647. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5648. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5649. 2 - INTEGER                         1 - HIGHLIGHT
  5650. 3 - LONG INTEGER                    2 - UNDERSCORE
  5651. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5652. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5653. ? 5 {E}                             ? 3 {E}
  5654. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5655. NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
  5656.  
  5657.  
  5658. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5659. ==========================================================================
  5660.         CREDIT: __________      DEBIT: __________
  5661. ==========================================================================
  5662. FIELD NAME? debit {E}
  5663.  
  5664. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5665. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5666. 2 - INTEGER                         1 - HIGHLIGHT
  5667. 3 - LONG INTEGER                    2 - UNDERSCORE
  5668. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5669. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5670. ? 5 {E}                             ? 3 {E}
  5671. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5672. NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
  5673.  
  5674.                                                                 page 169
  5675.  
  5676.  
  5677.  
  5678.  
  5679. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5680. ==========================================================================
  5681.         ON STATEMENT(*): _
  5682. ==========================================================================
  5683. FIELD NAME? on stmt {E}
  5684.  
  5685. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5686. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5687. 2 - INTEGER                         1 - HIGHLIGHT
  5688. 3 - LONG INTEGER                    2 - UNDERSCORE
  5689. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5690. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5691. ? 0 {E}                             ? 3 {E}
  5692. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5693.  
  5694.  
  5695. checks   SCREEN  -  FIELD DEFINITIONS AND ATTRIBUTES
  5696. ==========================================================================
  5697.         __________
  5698. ==========================================================================
  5699. FIELD NAME? total {E}
  5700.  
  5701. 0 - CHARACTER                       DATA DISPLAY ATTRIBUTES
  5702. 1 - UNSIGNED INTEGER                0 - REVERSE VIDEO
  5703. 2 - INTEGER                         1 - HIGHLIGHT
  5704. 3 - LONG INTEGER                    2 - UNDERSCORE
  5705. 4 - FLOATING POINT                  3 - HIGHLIGHT AND UNDERSCORE
  5706. 5 - DOUBLE FLOATING POINT           4 - INVISIBLE
  5707. ? 5 {E}                             ? 4 {E}
  5708. FIELD REQUIRED? n {E}  COPY FIELD DURING ADD? n {E}
  5709. NUMBER POSITIONS TO RIGHT OF DECIMAL POINT? 2 {E}
  5710.  
  5711.                                                                 page 170
  5712.  
  5713.  
  5714.  
  5715.  
  5716.         My checkbook doesn't actually need the  precision used for credits
  5717. and debits above (DOUBLE FLOATING POINT), but just in case someone does we
  5718. have used DOUBLE rather than simply  FLOATING POINT.  As the same value is
  5719. given for DATA DISPLAY ATTRIBUTES for all fields (except "total") we could
  5720. have made this a default by entering HIGHLIGHT AND UNDERSCORE  as a screen
  5721. attribute (as opposed  to field  attribute),  and press the enter key as a
  5722. default  for all but the  "total" field,  which we have requested to be an
  5723. invisible field.
  5724.  
  5725.         We now have a way to enter the data for our checkbook system. When
  5726. we enter data we  must skip over  the invisible "total" field as  the DATA
  5727. ADD,  DATA LOOKUP/UPDATE  and DATA DISPLAY/UPDATE functions  will move the
  5728. cursor to this  field as it does to all  other fields.  Entering data into
  5729. this field will not harm anything because of the procedures we will use to
  5730. give a value to the "total" field just before printing a report.
  5731.  
  5732.  
  5733.                         COLUMN ARITHMETIC
  5734.  
  5735.         There are is some arithmetic which  must be done to get the proper
  5736. numbers into the total field, in order to total the "total" field and show
  5737. this as the current  balance.  With the debits representing positive money
  5738. amounts and the credits representing negative money amounts we can
  5739. 1) move the debits field to the "total" field,
  5740. 2) multiply the "total" field by -1 to make the amount negative,
  5741. 3) add the credit field to the "total" field.
  5742. This will be accomplished by use of COLUMN ARITHMETIC as follows.
  5743.  
  5744.                                                                 page 171
  5745.  
  5746.  
  5747.  
  5748.  
  5749.                       M E N U   S C R E E N
  5750.  
  5751.         a - SCREEN ADD                  1 - DATA ADD
  5752.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5753.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5754.         d - SCREEN DELETE               4 - DATA PRINT
  5755.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5756.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5757.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5758.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5759.         i - SYSTEM                      9 - INDEX
  5760.     ? 7 {E}
  5761.     SCREEN NAME? checks {E}
  5762.     FILE NAME? checkbook {E}
  5763.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 4 {E}
  5764.     FIELD NAME TO MOVE TO? total {E}
  5765.     FIELD NAME OR #number TO MOVE? debit {E}
  5766.  
  5767.                                                                 page 172
  5768.  
  5769.  
  5770.  
  5771.  
  5772.                       M E N U   S C R E E N
  5773.  
  5774.         a - SCREEN ADD                  1 - DATA ADD
  5775.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5776.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5777.         d - SCREEN DELETE               4 - DATA PRINT
  5778.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5779.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5780.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5781.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5782.         i - SYSTEM                      9 - INDEX
  5783.     ? 7 {E}
  5784.     SCREEN NAME? checks {E}
  5785.     FILE NAME? checkbook {E}
  5786.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 2 {E}
  5787.     MULTIPLY RECEIVING FIELD NAME? total {E}
  5788.     FIELD NAME OR #number TO MULTIPLY? #-1 {E}
  5789.  
  5790.                                                                 page 173
  5791.  
  5792.  
  5793.  
  5794.                       M E N U   S C R E E N
  5795.  
  5796.         a - SCREEN ADD                  1 - DATA ADD
  5797.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5798.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5799.         d - SCREEN DELETE               4 - DATA PRINT
  5800.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5801.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5802.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5803.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5804.         i - SYSTEM                      9 - INDEX
  5805.     ? 7 {E}
  5806.     SCREEN NAME? checks {E}
  5807.     FILE NAME? checkbook {E}
  5808.     0 - ADD, 1 - SUBTRACT, 2 - MULTIPLY, 3 - DIVIDE, 4 - MOVE? 0 {E}
  5809.     FIELD NAME TO ADD TO? total {E}
  5810.     FIELD NAME OR #number TO ADD? credit {E}
  5811.  
  5812.         After  these three  arithmetic operations  the "total"  field will
  5813. contain a value as if the credit/debit had been entered as a single number
  5814. with credits being negative and debits being positive. What we have gained
  5815. is the ability to total credits and debits separately on our reports.
  5816.  
  5817.  
  5818.                                 REPORTS
  5819.  
  5820.         The length of the various fields is such that we need to print our
  5821. reports on wide paper or with  condensed print  to get all the information
  5822. on a single line.  We could print  two lines of detail for each record but
  5823. this is not necessary if  our printer is  capable of printing condensed or
  5824. on wide paper. The following will reflect printing on 132 columns.
  5825.  
  5826.                                                                 page 174
  5827.  
  5828.                       M E N U   S C R E E N
  5829.  
  5830.         a - SCREEN ADD                  1 - DATA ADD
  5831.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  5832.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  5833.         d - SCREEN DELETE               4 - DATA PRINT
  5834.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  5835.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  5836.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  5837.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  5838.         i - SYSTEM                      9 - INDEX
  5839.     ? 4 {E}
  5840.     SCREEN NAME? checks {E}
  5841.     FILE NAME? checkbook {E}
  5842.  
  5843.                               PRINT FORMAT
  5844.  
  5845.                 REPORT NAME? checks.rpt
  5846.                 NEW SPECIFICATIONS? y      SAVE SPECIFICATIONS? y
  5847.                 COLUMNS/LINE? 132          LINES/PAGE? 66
  5848.                 HEADER? y                  #HEADER LINES? 5
  5849.                 DETAIL? y                  #DETAIL LINES? 1
  5850.                 PAGE BREAKS ON FIELD CHANGE? y
  5851.                 TOTALING? y                SUBTOTALING? y
  5852.                 PRINT DATE? y              HEADER LINE #? 1
  5853.                                                 COLUMN #? 7
  5854.                 PRINT TIME? y              HEADER LINE #? 2
  5855.                                                 COLUMN #? 7
  5856.                 PRINT PAGE #? y            HEADER LINE #? 1
  5857.                                                 COLUMN #? 125
  5858.                 PRINT RECORD #?            DETAIL LINE #?
  5859.                                                 COLUMN #?
  5860.                 OMIT BLANK DETAIL LINES?
  5861.  
  5862.                                                                 page 175
  5863.  
  5864.  
  5865.  
  5866.  
  5867. HEADER LINES:
  5868. DATE: MO/DA/YR                                  MY CHECKING REPORT
  5869.                                       PAGE: nnnnnn
  5870. TIME: HR:MN
  5871.  
  5872.  
  5873.  
  5874.   DATE   #      TO:                            FOR:
  5875.    DEBIT      CREDIT  ON STMT  TYPE
  5876.  
  5877.  
  5878.  
  5879. DETAIL LINES:
  5880.   /  /
  5881.  
  5882.  
  5883.  
  5884. NAME     P T S SL PB L# Col L# Col L# Col L# Col L# Col
  5885. month    y           1  1
  5886. day      y           1  3
  5887. year     y           1  5
  5888. type     y           1  115
  5889. number   y           1  9
  5890. to       y           1  16
  5891. for      y           1  47
  5892. credit   y y         1  78
  5893. debit    y y         1  89
  5894. on stmt  y           1  105
  5895. total      y
  5896.  
  5897.                                                                 page 176
  5898.  
  5899.  
  5900.  
  5901.  
  5902.         We can use this report to print out the  entire checkbook database
  5903. or to report on a portion of the database.  When we wish to balance to the
  5904. statement, we can use DATA COPY to copy all records containing an asterisk
  5905. in the "on stmt" field (we have to be sure to keep the field updated) into
  5906. a new file and report on that file. This file should balance to the ending
  5907. balance for the statement.
  5908.  
  5909.                                                                 page 177
  5910.  
  5911.  
  5912.                         EXAMPLE SYSTEM USAGE
  5913.  
  5914.  
  5915.         The Wilkes database  can be used to set up  and maintain virtually
  5916. any multi-file database requirements.  The following pages will be example
  5917. systems, in their entirety, showing the various applicable functions built
  5918. into the Wilkes database. The example system is
  5919.  
  5920.         Doctor's Office System
  5921.  
  5922.                                                                 page 178
  5923.  
  5924.  
  5925.                         DOCTOR'S OFFICE SYSTEM
  5926.  
  5927.  
  5928.                         PATIENT RECORD:
  5929.  
  5930.         This system is meant only as a representation of a doctor's office
  5931. system.  I have not made a case study of a doctor's office to arive at the
  5932. system design which follows.  There should be enough recognisable concepts
  5933. in this design to modify it to a real doctor's office system by someone in
  5934. the doctor's office environment.
  5935.  
  5936.         Any system covering the doctor's office  should retain information
  5937. on patients.  There are certain basic almost invariant pieces of data that
  5938. all doctors keep on their patients.  The  following is a list of the itmes
  5939. which fall into this category of not changing very often.
  5940.  
  5941.         1)  Patient's name.
  5942.         2)  Sex.
  5943.         3)  Race.
  5944.         4)  Blood type.
  5945.         5)  Height.
  5946.         6)  Color of Eyes.
  5947.         7)  Birthday.
  5948.         8)  Social Security Number.
  5949.         9)  Phone Number.
  5950.         10) Address.
  5951.         11) Occupation.
  5952.         12) Employer.
  5953.         13) Spouse' Name.
  5954.  
  5955.                                                                 page 179
  5956.  
  5957.  
  5958.  
  5959.         14) Spouse' Occupation.
  5960.         15) Spouse' Employer.
  5961.         16) Insurance Company.
  5962.         17) Policy Number.
  5963.         18) Regular Doctor.
  5964.         19) Religion Code.
  5965.         20) Yes/no list of questions/history.
  5966.  
  5967.         In addition to this information,  we will keep an additional piece
  5968. of information in order to lookup the patient rapidly in this patient file
  5969. knowing only the name.  We wish to keep the name  separated into the three
  5970. fields (first name, middle name and last name)  and we know that a looking
  5971. up  the patient by last name  (since we can lookup on only one field  at a
  5972. time) would not be practical if we had a lot of Smith's. We also know that
  5973. any variation in the last name will occur within the first three character
  5974. positions.  We can reduce the number of  possible matches by adding in the
  5975. first and middle initials.  We now have the name lookup field
  5976.  
  5977.         21) First three letters of last name, first and middle initials.
  5978.  
  5979.         We will also assign a  patient number to  each patient in order to
  5980. separate accounts by patient.
  5981.  
  5982.         22) Patient Number.
  5983.  
  5984.         Notice that field 19) is Religion Code, instead of Religion.  This
  5985. is so we can use the Religion Code  to lookup information on the Religion,
  5986. since the information on  a given religion  is the same no matter who  the
  5987. patient is.  We  will also wish to retain data on each doctor  and be able
  5988. to access the doctor's record from the patient record.
  5989.  
  5990.                                                                 page 180
  5991.  
  5992.  
  5993.  
  5994.  
  5995.         A doctor's office has to  deal with  insurance companies a lot and
  5996. there is probably a good reason to retain data  relevant only to insurance
  5997. companies.
  5998.  
  5999. Indexes will be built for the following fields
  6000.  
  6001.         IX1)  Social Security Number (field 8)
  6002.         IX2)  Five Letter Name Code (field 21)
  6003.         IX3)  Patient Number (field 22)
  6004.  
  6005. which means that we can find the patient  record if we have any one of the
  6006. three pieces of information.
  6007.  
  6008.  
  6009.                         PATIENT VISIT RECORD:
  6010.  
  6011.         As the information in the patient record reflects information that
  6012. changes infrequently if at all,  the patient visit record will contain the
  6013. information which changes each time the patient visits the office.
  6014.  
  6015.         1)  Date of visit.
  6016.         2)  Doctor seen.
  6017.         3)  Weight.
  6018.         4)  Blood Pressure.
  6019.         5)  Reason for visit.
  6020.         6)  Diagnosis and/or Remarks.
  6021.         7)  Some reasonable number of Prescriptions.
  6022.         8)  Charge for visit.
  6023.         9)  Payment Date.
  6024.         10) Payment Amount.
  6025.  
  6026.                                                                 page 181
  6027.  
  6028.  
  6029.  
  6030.  
  6031.         In addition  to this date  we need another  field  to allow  us to
  6032. access these records.  We will use the Patient Number field to locate this
  6033. record and it will be an indexed field.
  6034.  
  6035.         11) Patient Number.
  6036.         IX1) Patient Number.
  6037.  
  6038.         
  6039.                         DOCTOR RECORD:
  6040.  
  6041.         We need very little informtation on the doctor here.  The  purpose
  6042. of this file is to validate the doctor information entered for the patient
  6043. and to keep some basic data.
  6044.  
  6045.         1)  Doctor's Last name.
  6046.         2)  Doctor's First and Middle names.
  6047.         3)  Days of Week in office.
  6048.         4)  Phone Number.
  6049.         5)  Beeper Number.
  6050.         6)  Address.
  6051.  
  6052.         The Doctor's record will be indexed on the Doctor's Last name,  so
  6053. the doctor field in the  Patient and Patient Visit records is the doctor's
  6054. last name.
  6055.  
  6056.         IX1) Doctor's Last name.
  6057.  
  6058.                                                                 page 182
  6059.  
  6060.  
  6061.  
  6062.  
  6063.                         RELIGION RECORD:
  6064.  
  6065.         The religion record is the  location for medical considerations of
  6066. the religion. If a religion forbids the treatment of certain medical ills,
  6067. for instance, that information would be kept here.  The record contains
  6068.  
  6069.         1)  Religion.
  6070.         2)  Religion code.
  6071.         3)  Remarks.
  6072.  
  6073. This record will be indexed on the religion code.
  6074.  
  6075.         IX1) Religion code.
  6076.  
  6077.  
  6078.                         INSURANCE CO. RECORD:
  6079.  
  6080.         The Insurance Co. record is the location  of the information about
  6081. the insurance company.
  6082.  
  6083.         1)  Insurance Co. Name.
  6084.         2)  Address.
  6085.         3)  Contact Name.
  6086.         4)  Phone Number.
  6087.         5)  Rating.
  6088.  
  6089. The Insurance Co. record will be indexed on
  6090.  
  6091.         IX1) Insurance Co. Name.
  6092.  
  6093.                                                                 page 183
  6094.  
  6095.  
  6096.  
  6097.  
  6098.                         DRUG INTERACTION RECORD:
  6099.  
  6100.         This record consists of three fields;  the drug being queried, the
  6101. drug with which it interacts, and a comment field.
  6102.  
  6103.         1)  Drug.
  6104.         2)  Drug.
  6105.         3)  Comment.
  6106.  
  6107. This record is indexed on the drug field (1)).
  6108.  
  6109.         IX1) Drug.
  6110.  
  6111.         These records are not directly associated  with any other records,
  6112. but may be looked up to check on any drug  which is on file.  If this data
  6113. is used at all,  there should be a thorough check periodically to validate
  6114. the information and updates with new information.
  6115.  
  6116.  
  6117.                         SYSTEM SCREEN PAINTINGS:
  6118.  
  6119.         In order to  avoid the  lengthy lookups  associated with  the DATA
  6120. LOOKUP/UPDATE we will have a system screen which will allow us to find any
  6121. record using the fields on which they are indexed. We will need all of the
  6122. fields refered to as index fields in the records above.
  6123.  
  6124.         IX1)  Social Security Number.
  6125.         IX2)  Five Letter Name Code.
  6126.         IX3)  Patient Number.
  6127.         IX4)  Doctor's Last name.
  6128.         IX5)  Religion code.
  6129.         IX6)  Insurance Co. Name.
  6130.         IX7)  Drug.
  6131.  
  6132.                                                                 page 184
  6133.  
  6134.  
  6135.  
  6136.  
  6137. The screen painting for this record will be as shown below
  6138.  
  6139. Screen Name: system
  6140.                         DOCTOR'S OFFICE SYSTEM
  6141.  
  6142. _________ SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6143. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6144.                                    - ACCESS TO - PATIENT RECORD
  6145. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6146.                                                - PATIENT RECORD
  6147. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6148. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6149. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6150. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6151.  
  6152.  
  6153.         All of the fields of this screen painting will have a storage type
  6154. of character except the patient number field, which will be a long number.
  6155. None of the fields are required, and none are to be copied during add,  as
  6156. our purpose is  not to add  records with this screen,  though we could and
  6157. more than likely will at some  time.  The file we are working with  can be
  6158. deleted as a OS2 file and recreated with the Wilkes Database as the number
  6159. of records gets to be a resource drain.
  6160. The field lengths for this screen are:
  6161.  
  6162.                                                                 page 185
  6163.  
  6164.  
  6165.  
  6166.  
  6167.         FIELD NAME  LENGTH  STORAGE TYPE
  6168.         ssn         9       character
  6169.         namecode    5       character
  6170.         pat_#       6       long
  6171.         doctor      15      character
  6172.         rel_code    2       character
  6173.         ins_name    15      character
  6174.         drug        20      character     
  6175.  
  6176.         This screen  gives us  rapid access  to all of the  records in the
  6177. Doctor's Office System. The rest of the screens associated with individual
  6178. files are shown below.
  6179.  
  6180.                                                                 page 186
  6181.  
  6182.  
  6183.  
  6184.  
  6185. Screen Name: patient
  6186.                         PATIENT RECORD
  6187. PATIENT # ______  NAME EXTRACT: _____
  6188. PATIENT NAME: _______________,__________ __________  SEX: _  RACE: _
  6189.   DATE OF BIRTH: __/__/__  BLOOD TYPE: __  EYES COLOR: _______
  6190.   HEIGHT: _'__"  PHONE #:(___)___-____  RELIGION: __
  6191.   DOCTOR: _______________  SSN: _________
  6192.   OCCUPATION: _______________  EMPLOYER: _______________
  6193.   SPOUSE: _______________,__________ __________
  6194.   OCCUPATION: _______________  EMPLOYER: _______________
  6195.   ADDR: _________________________  _________________________
  6196.   CITY: _______________  ST: __  ZIP: _____
  6197.   INSURANCE CO. _______________  POLICY NUMBER: __________
  6198. MEDICAL HISTORY:
  6199. 1.  _  2.  _  3.  _  4.  _  5.  _  6.  _  7.  _  8.  _  9.  _  10. _
  6200. 11. _  12. _  13. _  14. _  15. _  16. _  17. _  18. _  19. _  20. _
  6201. 21. _  22. _  23. _  24. _  25. _  26. _  27. _  28. _  29. _  30. _
  6202. 31. _  32. _  33. _  34. _  35. _  36. _  37. _  38. _  39. _  40. _
  6203. 41. _  42. _  43. _  44. _  45. _  46. _  47. _  48. _  49. _  50. _
  6204. 51. _  52. _  53. _  54. _  55. _  56. _  57. _  58. _  59. _  60. _
  6205. 61. _  62. _  63. _  64. _  65. _  66. _  67. _  68. _  69. _  70. _
  6206. 71. _  72. _  73. _  74. _  75. _  76. _  77. _  78. _  79. _  80. _
  6207. 81. _  82. _  83. _  84. _  85. _  86. _  87. _  88. _  89. _  90. _
  6208. 91. _  92. _  93. _  94. _  95. _  96. _  97. _  98. _  99. _  100._
  6209.  
  6210.                                                                 page 187
  6211.  
  6212.  
  6213.  
  6214.  
  6215.         The field descriptions for these fields are
  6216.  
  6217.         FIELD NAME  LENGTH  STORAGE TYPE  REQUIRED  COPY DURING ADD
  6218.         pat_#       6       long          yes       no
  6219.         namecode    5       character     yes       no
  6220.         pat_ln      15      character     yes       no
  6221.         pat_fn      10      character     yes       no
  6222.         pat_mn      10      character     no        no
  6223.         sex         1       character     yes       no
  6224.         race        1       character     yes       no
  6225.         dob_mo      2       unsigned int  yes       no
  6226.         dob_da      2       unsigned int  yes       no
  6227.         dob_yr      2       unsigned int  yes       no
  6228.         bld_type    2       character     yes       no
  6229.         coloreye    7       character     no        no
  6230.         ht_ft       1       unsigned int  no        no
  6231.         ht_in       2       unsigned int  no        no
  6232.         phn_area    3       unsigned int  no        yes
  6233.         phn_xchg    3       unsigned int  no        no
  6234.         phn_nbr     4       unsigned int  no        no
  6235.         rel_code    2       character     no        no
  6236.         doctor      15      character     no        no
  6237.         ssn         9       character     yes       no
  6238.         ocupatn     15      character     yes       no
  6239.         employer    15      character     yes       no
  6240.         spous_ln    15      character     no        no
  6241.         spous_fn    10      character     no        no
  6242.         spous_mn    10      character     no        no
  6243.  
  6244.                                                                 page 188
  6245.  
  6246.  
  6247.  
  6248.  
  6249.         spous_oc    15      character     no        no
  6250.         spous_em    15      character     no        no
  6251.         addr1       25      character     no        no
  6252.         addr2       25      character     no        no
  6253.         city        15      character     no        yes
  6254.         state       2       character     no        yes
  6255.         zip         5       character     no        yes
  6256.         ins_name    15      character     yes       no
  6257.         policy      10      character     yes       no
  6258.  
  6259.         The medical history fields  may have up to 8 character field names
  6260. and will have length = 1, storage type = character, required = no and copy
  6261. during add = no.  We could have used some field  description on the screen
  6262. which would have been more suggestive of what the field contained than the
  6263. number followed by a period, but they would take up more room also.  Where
  6264. the number of questions is a good many fewer than 100,  we would have room
  6265. to be more descriptive.
  6266.  
  6267.  
  6268. Screen Name: visit
  6269.                         PATIENT VISIT INFORMATION
  6270. PATIENT #: ______
  6271. DATE: __/__/__   WEIGHT: ___   BLOOD PRESSURE: ___/___
  6272. DOCTOR: _______________
  6273. COMPLAINT: ____________________________________________________________
  6274. DIAGNOSIS: ____________________________________________________________
  6275. PRESCRIPTION: ____________________  QTY: ____
  6276.  
  6277. CHARGE: $________  AMT. PAID: $________  DATE: __/__/__
  6278.  
  6279.                                                                 page 189
  6280.  
  6281.  
  6282.  
  6283.  
  6284.         FIELD NAME  LENGTH  STORAGE TYPE  REQUIRED  COPY DURING ADD
  6285.         pat_#       6       long          yes       no
  6286.         visit_mo    2       unsigned int  yes       no
  6287.         visit_da    2       unsigned int  yes       no
  6288.         visit_yr    2       unsigned int  yes       no
  6289.         weight      3       unsigned int  no        no
  6290.         bp1         3       unsigned int  no        no
  6291.         bp2         3       unsigned int  no        no
  6292.         doctor      15      character     yes       no
  6293.         complain    60      character     no        no
  6294.         diagnose    60      character     no        no
  6295.         drug        20      character     no        no
  6296.         qty         4       unsigned int  no        no
  6297.         charge      8       double        yes       no
  6298.         paid        8       double        no        no
  6299.         pay_mo      2       unsigned int  no        no
  6300.         pay_da      2       unsigned int  no        no
  6301.         pay_yr      2       unsigned int  no        no
  6302.  
  6303.         If more than  one  prescriptions or more  than one payment date is
  6304. required, simply copy the record with the basic information, clear payment
  6305. and prescription fields and add the additional information. This means the
  6306. patient visit record may have continuation records (i.e. after finding one
  6307. patient visit record for a given day, continue looking at the file until a
  6308. patient visit record for another day is shown or there are no more records
  6309. for the lookup key).
  6310.  
  6311.                                                                 page 190
  6312.  
  6313.  
  6314.  
  6315. Screen Name: doctor
  6316.                         DOCTOR INFORMATION
  6317. NAME: _______________,__________ __________
  6318. PHONE: (___)___-____  BEEPER: ___-____
  6319. ADDR: _________________________  _________________________
  6320. CITY: _______________  STATE: __  ZIP: _____
  6321. WORK WEEK: _ M  _ TU _ W  _ TH _ F  _ SA _ SU
  6322.  
  6323.  
  6324.         FIELD NAME  LENGTH  STORAGE TYPE  REQUIRED  COPY DURING ADD
  6325.         doctor      15      character     yes       no
  6326.         doc_fn      10      character     no        no
  6327.         doc_mn      10      character     no        no
  6328.         ph_area     3       unsigned int  no        no
  6329.         ph_xchg     3       unsigned int  no        no
  6330.         ph_num      4       unsigned int  no        no
  6331.         bep_xchg    3       unsigned int  no        no
  6332.         bep_num     4       unsigned int  no        no
  6333.         addr_1      25      character     no        no
  6334.         addr_2      25      character     no        no
  6335.         city        15      character     no        no
  6336.         state       2       character     no        no
  6337.         zip         5       character     no        no
  6338.         work_m      1       character     no        no
  6339.         work_tu     1       character     no        no
  6340.         work_w      1       character     no        no
  6341.         work_th     1       character     no        no
  6342.         work_f      1       character     no        no
  6343.         work_sa     1       character     no        no
  6344.         work_su     1       character     no        no
  6345.  
  6346.                                                                 page 191
  6347.  
  6348.  
  6349.  
  6350.  
  6351. Screen Name: religion
  6352.                         RELIGION INFORMATION
  6353.  
  6354. RELIGION CODE: __
  6355. RELIGION: _________________________
  6356.  
  6357. REMARKS: ____________________________________________________________
  6358.          ____________________________________________________________
  6359.          ____________________________________________________________
  6360.          ____________________________________________________________
  6361.  
  6362.  
  6363.         FIELD NAME  LENGTH  STORAGE TYPE  REQUIRED  COPY DURING ADD
  6364.         rel_code    2       character     yes       no
  6365.         religion    25      character     yes       no
  6366.         remark_1    60      character     no        no
  6367.         remark_2    60      character     no        no
  6368.         remark_3    60      character     no        no
  6369.         remark_4    60      character     no        no
  6370.  
  6371.  
  6372.         If additional remarks need to be made pertaining to a religion, we
  6373. can add another record with the same religion code and religion name. This
  6374. also means that we have continuation information for the religion records.
  6375. Any time we are looking for remarks specific to a religion, we cannot stop
  6376. after finding one record, but must instead, continue looking until no more
  6377. matching religion records are found or the religion field is different.
  6378.  
  6379.                                                                 page 192
  6380.  
  6381.  
  6382.  
  6383.  
  6384. Screen Name: ins
  6385.                         INSURANCE INFORMATION
  6386. COMPANY: _______________
  6387. ADDR: _________________________  _________________________
  6388. CITY: _______________  STATE: __  ZIP: _____
  6389.  
  6390. CONTACT: _________________________  PNONE: (___)___-____
  6391. RATING: __
  6392.  
  6393.  
  6394.         FIELD NAME  LENGTH  STORAGE TYPE  REQUIRED  COPY DURING ADD
  6395.         ins_name    15      character     yes       no
  6396.         addr_1      25      character     yes       no
  6397.         addr_2      25      character     no        no
  6398.         city        15      character     yes       no
  6399.         state       2       character     yes       no
  6400.         zip         5       character     no        no
  6401.         contact     25      character     no        no
  6402.         ph_area     3       unsigned int  no        no
  6403.         ph_xchg     3       unsigned int  no        no
  6404.         ph_num      4       unsigned int  no        no
  6405.         rating      2       unsigned int  no        no
  6406.  
  6407.         The rating field is just to have a way to readily tell how good an
  6408. insurance company has been to us, how helpful, etc.  If we were more hyper
  6409. we could form a file of outstanding claims for each insurance company, but
  6410. this example system will be kept simple.
  6411.  
  6412.                                                                 page 193
  6413.  
  6414.  
  6415.  
  6416.  
  6417. Screen Name: interact
  6418.                         DRUG INTERACTION
  6419.  
  6420. DRUG: ____________________  INTERACTS WITH: ____________________
  6421.  
  6422. COMMENTS: ____________________________________________________________
  6423.           ____________________________________________________________
  6424.           ____________________________________________________________
  6425.           ____________________________________________________________
  6426.  
  6427.  
  6428.         FIELD NAME  LENGTH  STORAGE TYPE  REQUIRED  COPY DURING ADD
  6429.         drug        20      character     yes       no
  6430.         drug_2      20      character     yes       no
  6431.         coment_1    60      character     no        no
  6432.         coment_2    60      character     no        no
  6433.         coment_3    60      character     no        no
  6434.         coment_4    60      character     no        no
  6435.  
  6436.  
  6437.         Note that the name of the second drug, having a different name (as
  6438. it must), cannot be used as a lookup argument in the drug interaction file
  6439. as can the prescription drug in the patient visit record.
  6440.  
  6441.         Again, let me note that this is only an example. Field lengths may
  6442. be different if you implement this system.  The important things are how a
  6443. key piece of information will get you from a record in one file to another
  6444. record in a different file.
  6445.  
  6446.                                                                 page 194
  6447.  
  6448.  
  6449.  
  6450.  
  6451.                         SYSTEM INDEXES:
  6452.  
  6453.         We must set up indexes for the  files above so that we may perform
  6454. indexed lookups on the various records.  The information retained for each
  6455. index is 'screen name', 'field name', 'file name' and 'indexed file name'.
  6456. We will now give names to the files so we can set up the indexes.
  6457.  
  6458.         SCREEN NAME   FIELD NAME   FILE NAME   INDEX FILE NAME
  6459.  
  6460.         patient       ssn          patient     patient.ssn
  6461.         patient       namecode     patient     patient.nam
  6462.         visit         pat_#        visit       visit.pat
  6463.         patient       pat_#        patient     patient.pat
  6464.         doctor        doctor       doctor      doctor.doc
  6465.         religion      rel_code     religion    religion.cod
  6466.         ins           ins_name     insuranc    insuranc.nam
  6467.         interact      drug         drugs       drugs.drg
  6468.  
  6469.                                                                 page 195
  6470.  
  6471.  
  6472.  
  6473.  
  6474. From the menu screen we can now set up the indexes.
  6475.  
  6476.  
  6477.                       M E N U   S C R E E N
  6478.  
  6479.         a - SCREEN ADD                  1 - DATA ADD
  6480.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6481.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6482.         d - SCREEN DELETE               4 - DATA PRINT
  6483.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6484.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6485.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6486.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6487.         i - SYSTEM                      9 - INDEX
  6488.     ? 9 {E}
  6489.     DISPLAY INDEXES (y or n)? n {E}
  6490.     SCREEN NAME? patient {E}
  6491.     FILE NAME? patient {E}
  6492.     FIELD NAME? ssn {E}
  6493.     INDEX FILE NAME? patient.ssn {E}
  6494.     BUILD (b) OR DELETE (d)? b {E}
  6495.  
  6496.                                                                 page 196
  6497.  
  6498.  
  6499.  
  6500.  
  6501.                       M E N U   S C R E E N
  6502.  
  6503.         a - SCREEN ADD                  1 - DATA ADD
  6504.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6505.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6506.         d - SCREEN DELETE               4 - DATA PRINT
  6507.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6508.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6509.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6510.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6511.         i - SYSTEM                      9 - INDEX
  6512.     ? 9 {E}
  6513.     DISPLAY INDEXES (y or n)? n {E}
  6514.     SCREEN NAME? patient {E}
  6515.     FILE NAME? patient {E}
  6516.     FIELD NAME? namecode {E}
  6517.     INDEX FILE NAME? patient.nam {E}
  6518.     BUILD (b) OR DELETE (d)? b {E}
  6519.  
  6520.                                                                 page 197
  6521.  
  6522.  
  6523.  
  6524.  
  6525.                       M E N U   S C R E E N
  6526.  
  6527.         a - SCREEN ADD                  1 - DATA ADD
  6528.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6529.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6530.         d - SCREEN DELETE               4 - DATA PRINT
  6531.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6532.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6533.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6534.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6535.         i - SYSTEM                      9 - INDEX
  6536.     ? 9 {E}
  6537.     DISPLAY INDEXES (y or n)? n {E}
  6538.     SCREEN NAME? visit {E}
  6539.     FILE NAME? visit {E}
  6540.     FIELD NAME? pat_# {E}
  6541.     INDEX FILE NAME? visit.pat {E}
  6542.     BUILD (b) OR DELETE (d)? b {E}
  6543.  
  6544.                                                                 page 198
  6545.  
  6546.  
  6547.  
  6548.  
  6549.                       M E N U   S C R E E N
  6550.  
  6551.         a - SCREEN ADD                  1 - DATA ADD
  6552.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6553.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6554.         d - SCREEN DELETE               4 - DATA PRINT
  6555.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6556.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6557.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6558.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6559.         i - SYSTEM                      9 - INDEX
  6560.     ? 9 {E}
  6561.     DISPLAY INDEXES (y or n)? n {E}
  6562.     SCREEN NAME? patient {E}
  6563.     FILE NAME? patient {E}
  6564.     FIELD NAME? pat_# {E}
  6565.     INDEX FILE NAME? patient.pat {E}
  6566.     BUILD (b) OR DELETE (d)? b {E}
  6567.  
  6568.                                                                 page 199
  6569.  
  6570.  
  6571.  
  6572.  
  6573.                       M E N U   S C R E E N
  6574.  
  6575.         a - SCREEN ADD                  1 - DATA ADD
  6576.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6577.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6578.         d - SCREEN DELETE               4 - DATA PRINT
  6579.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6580.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6581.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6582.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6583.         i - SYSTEM                      9 - INDEX
  6584.     ? 9 {E}
  6585.     DISPLAY INDEXES (y or n)? n {E}
  6586.     SCREEN NAME? doctor {E}
  6587.     FILE NAME? doctor {E}
  6588.     FIELD NAME? doctor {E}
  6589.     INDEX FILE NAME? doctor.doc {E}
  6590.     BUILD (b) OR DELETE (d)? b {E}
  6591.  
  6592.                                                                 page 200
  6593.  
  6594.  
  6595.  
  6596.  
  6597.                       M E N U   S C R E E N
  6598.  
  6599.         a - SCREEN ADD                  1 - DATA ADD
  6600.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6601.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6602.         d - SCREEN DELETE               4 - DATA PRINT
  6603.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6604.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6605.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6606.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6607.         i - SYSTEM                      9 - INDEX
  6608.     ? 9 {E}
  6609.     DISPLAY INDEXES (y or n)? n {E}
  6610.     SCREEN NAME? religion {E}
  6611.     FILE NAME? religion {E}
  6612.     FIELD NAME? rel_code {E}
  6613.     INDEX FILE NAME? religion.cod {E}
  6614.     BUILD (b) OR DELETE (d)? b {E}
  6615.  
  6616.                                                                 page 201
  6617.  
  6618.  
  6619.  
  6620.  
  6621.                       M E N U   S C R E E N
  6622.  
  6623.         a - SCREEN ADD                  1 - DATA ADD
  6624.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6625.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6626.         d - SCREEN DELETE               4 - DATA PRINT
  6627.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6628.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6629.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6630.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6631.         i - SYSTEM                      9 - INDEX
  6632.     ? 9 {E}
  6633.     DISPLAY INDEXES (y or n)? n {E}
  6634.     SCREEN NAME? ins {E}
  6635.     FILE NAME? insuranc {E}
  6636.     FIELD NAME? ins_name {E}
  6637.     INDEX FILE NAME? insuranc.nam {E}
  6638.     BUILD (b) OR DELETE (d)? b {E}
  6639.  
  6640.                                                                 page 202
  6641.  
  6642.  
  6643.  
  6644.  
  6645.                       M E N U   S C R E E N
  6646.  
  6647.         a - SCREEN ADD                  1 - DATA ADD
  6648.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6649.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6650.         d - SCREEN DELETE               4 - DATA PRINT
  6651.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6652.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6653.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6654.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6655.         i - SYSTEM                      9 - INDEX
  6656.     ? 9 {E}
  6657.     DISPLAY INDEXES (y or n)? n {E}
  6658.     SCREEN NAME? interact {E}
  6659.     FILE NAME? drugs {E}
  6660.     FIELD NAME? drug {E}
  6661.     INDEX FILE NAME? drugs.drg {E}
  6662.     BUILD (b) OR DELETE (d)? b {E}
  6663.  
  6664.  
  6665.         An additional file  must be created to allow the use of the screen
  6666. named 'system'.  We will  name this file  'system' to keep  from having to
  6667. remember any more than is absolutely  necessary.  The DATA ADD function is
  6668. used to create the file 'system'.
  6669.  
  6670.                                                                 page 203
  6671.  
  6672.  
  6673.  
  6674.  
  6675.                         USING THE SYSTEM:
  6676.  
  6677.         Remember that the function keys described under DATA ADD,  LOOKUP/
  6678. UPDATE and DATA DISPLAY/UPDATE can be used when entering data.
  6679.  
  6680.         From the menu screen move to the 'system' screen, remember that it
  6681. uses a file named 'system'.  Enter the information shown below to access a
  6682. patient record.
  6683.  
  6684.                         DOCTOR'S OFFICE SYSTEM
  6685.  
  6686. 123456789 SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6687. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6688.                                    - ACCESS TO - PATIENT RECORD
  6689. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6690.                                                - PATIENT RECORD
  6691. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6692. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6693. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6694. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6695.  
  6696.         With the cursor  positioned in the  'social security number' field
  6697. hit the Alt-F3 keys.  If you have previously set up a  patient record with
  6698. this social security number, it will be retrieved and displayed.  If there
  6699. is no matching patient record the Wilkes database will ask you if you wish
  6700. to add a patient  record with the social security number entered.  All you
  6701. have to do to get a record added is to answer this question with a y(yes).
  6702. You should fill in the rest of the information and update the record as it
  6703. is in the file with only the indexed filed filled in.
  6704.  
  6705.                                                                 page 204
  6706.  
  6707.  
  6708.  
  6709.  
  6710.         Suppose we know the name of a patient we need to look up,  but not
  6711. the social  security number.  Willfred Evelyn Smith is the patient we wish
  6712. to find the information on.  We can fill in the information as shown below
  6713. to find this record.
  6714.  
  6715.                         DOCTOR'S OFFICE SYSTEM
  6716.  
  6717. _________ SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6718. smiwe 3 CHARACTERS FROM LAST NAME AND INITIALS
  6719.                                    - ACCESS TO - PATIENT RECORD
  6720. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6721.                                                - PATIENT RECORD
  6722. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6723. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6724. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6725. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6726.  
  6727.         We will need to  store the name  extract field and retrieve it the
  6728. same way, so we should be consistant  with the use of upper case and lower
  6729. case letters. Here we assume that the field is entered with all lower case
  6730. letters.  As with the above example, any matching record will be displayed
  6731. on  the screen and if there are no matches,  you will be querried to add a
  6732. patient record.  If you add a record,  the record will be entered into the
  6733. patient file with only the name  extract field filled in.  You should fill
  6734. in the rest of the information while the record is on the screen to update
  6735. the record on disk.
  6736.  
  6737.                                                                 page 205
  6738.  
  6739.  
  6740.  
  6741.  
  6742.         If we know the  patient number  of the patient we wish to look up,
  6743. we can get to the records of two files; the patient file and the patient's
  6744. visits file.  The last line of the screen will be used to ask you which of
  6745. the two files you wish to perform the indexed lookup on. The system screen
  6746. will be filled in as below.
  6747.  
  6748.                         DOCTOR'S OFFICE SYSTEM
  6749.  
  6750. _________ SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6751. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6752.                                    - ACCESS TO - PATIENT RECORD
  6753. 123456 PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6754.                                                - PATIENT RECORD
  6755. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6756. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6757. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6758. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6759.  
  6760.         Again, you will have displayed for  you either the desired records
  6761. or a prompt to allow you to add a record in whitchever of the two files is
  6762. selected (patient file or patient visit file).
  6763.  
  6764.         We have the doctors on file (this may be a group  practice) and we
  6765. can lookup the doctor's information by the doctor's last name as displayed
  6766. below.
  6767.  
  6768.                                                                 page 206
  6769.  
  6770.  
  6771.  
  6772.  
  6773.                         DOCTOR'S OFFICE SYSTEM
  6774.  
  6775. _________ SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6776. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6777.                                    - ACCESS TO - PATIENT RECORD
  6778. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6779.                                                - PATIENT RECORD
  6780. Frankenstein___ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6781. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6782. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6783. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6784.  
  6785.         If we have a  Dr. Frankenstein on file,  his record will be shown.
  6786. If not, you will be asked if you wish to add this record.
  6787.  
  6788.         If we get a snakebite victim in and he is of a religion which will
  6789. prohibit the doctor from helping him to recover,  this type of information
  6790. would be kept in the religion file and would be accessable as follows.
  6791.  
  6792.                                                                 page 207
  6793.  
  6794.  
  6795.  
  6796.                         DOCTOR'S OFFICE SYSTEM
  6797.  
  6798. _________ SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6799. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6800.                                    - ACCESS TO - PATIENT RECORD
  6801. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6802.                                                - PATIENT RECORD
  6803. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6804. et RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6805. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6806. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6807.  
  6808.         Where for example the 'et' may stand for  East Tennessee religion.
  6809. If this religion is on file, we will see the record displayed,  and if not
  6810. we will be asked if we wish to add the religion.
  6811.  
  6812.         We can look up the information kept  on the insurance companies by
  6813. company name.  The following shows an example of looking up company 'XYZ'.
  6814.  
  6815.                         DOCTOR'S OFFICE SYSTEM
  6816.  
  6817. _________ SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6818. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6819.                                    - ACCESS TO - PATIENT RECORD
  6820. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6821.                                                - PATIENT RECORD
  6822. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6823. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6824. XYZ____________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6825. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6826.  
  6827.                                                                 page 208
  6828.  
  6829.  
  6830.  
  6831.  
  6832.         If we get a snakebite victim in and he is of a religion which will
  6833. prohibit the doctor from helping him to recover,  this type of information
  6834. would be kept in the religion file and would be accessable as follows.
  6835.  
  6836.         The interactions between drugs can be maintained only with a great
  6837. deal of effort, and most doctor's offices will not have enough manpower to
  6838. keep this file updated properly, but just for the sake of argument we will
  6839. here assume that we have a good and properly updated drug interaction file
  6840. to work with.
  6841.  
  6842.                         DOCTOR'S OFFICE SYSTEM
  6843.  
  6844. _________ SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6845. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6846.                                    - ACCESS TO - PATIENT RECORD
  6847. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6848.                                                - PATIENT RECORD
  6849. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6850. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6851. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6852. sodium chloride_____ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6853.  
  6854.         If we have any drugs which interact with sodium chloride they will
  6855. be displayed one at a time on the screen.
  6856.  
  6857.                                                                 page 209
  6858.  
  6859.  
  6860.  
  6861.  
  6862.         As we have performed indexed lookups on the  various fields at the
  6863. 'system' screen, we can also perform those lookups from the patient record
  6864. or the patient visit record where those fields are defined.  The following
  6865. shows what records may be gotten to,  from where,  with the cursor located
  6866. on what fields.
  6867.  
  6868. FROM FILE   FILE TO ACCESS   CURSOR LOCATION (FIELD)
  6869.  
  6870. patient     visit            pat_#
  6871. patient     patient          pat_#
  6872. patient     religion         rel_code
  6873. patient     doctor           doctor
  6874. patient     insuranc         ins_name
  6875. visit       visit            pat_#
  6876. visit       patient          pat_#
  6877. visit       doctor           doctor
  6878. visit       drugs            drug
  6879.  
  6880.         If you have been through the various parts of the documentation on
  6881. adding records, printing reports, updating data files, etc.  the remainder
  6882. of what must be done to produce reports and so on should be an easy task.
  6883.  
  6884.  
  6885.                         SOME EXAMBLE RECORDS:
  6886.  
  6887.         Before we halt this exercise, we will add a few records.  A record
  6888. for each file should suffice.  When we first use the system screen no file
  6889. will exist and the following should occur.
  6890.  
  6891.                                                                 page 210
  6892.  
  6893.  
  6894.                       M E N U   S C R E E N
  6895.  
  6896.         a - SCREEN ADD                  1 - DATA ADD
  6897.         b - SCREEN UPDATE               2 - DATA LOOKUP/UPDATE
  6898.         c - SCREEN COPY                 3 - DATA DISPLAY/UPDATE
  6899.         d - SCREEN DELETE               4 - DATA PRINT
  6900.         e - SCREEN-DATA REFORMAT        5 - DATA COPY
  6901.         f - DISPLAY SCREEN NAMES        6 - DATA SORT
  6902.         g - BUILD/REQUEST HELP          7 - COLUMN ARITHMETIC
  6903.         h - SET VIDEO ATTRIBUTES        8 - APPEND FILE
  6904.         i - SYSTEM                      9 - INDEX
  6905.     ? 1 {E}
  6906.     SCREEN NAME? system {E}
  6907.     FILE NAME? system {E}
  6908.     FILE NOT PRESENT. CREATE? y {E}
  6909.  
  6910.         This will create the file but we don't really wish to place record
  6911. information into the file,  so we will use the DATE ADD function each time
  6912. we start to work with our doctor's office system.
  6913.  
  6914.         We can now add a patient record from the 'system' screen.  We wish
  6915. to add a patient with social  security number 415-66-6139.  This number is
  6916. entered into the 'system' screen as follows.
  6917.  
  6918.                         DOCTOR'S OFFICE SYSTEM
  6919.  
  6920. 415666139 SOCIAL SECURITY NUMBER   - ACCESS TO - PATIENT RECORD
  6921. _____ 3 CHARACTERS FROM LAST NAME AND INITIALS
  6922.                                    - ACCESS TO - PATIENT RECORD
  6923. ______ PATIENT NUMBER              - ACCESS TO - PATIENT VISIT RECORD
  6924.                                                - PATIENT RECORD
  6925. _______________ DOCTOR'S LAST NAME - ACCESS TO - DOCTOR'S RECORD
  6926. __ RELIGION CODE                   - ACCESS TO - RELIGION RECORDS
  6927. _______________ INSURANCE CO. NAME - ACCESS TO - INSURANCE RECORD
  6928. ____________________ DRUG NAME     - ACCESS TO - DRUG INTERACTION RECORD
  6929.  
  6930.                                                                 page 211
  6931.  
  6932.  
  6933. and hit the Alt-F3 keys.  If we already  had a record in  the patient file
  6934. with the same social security number  we would have that record displayed,
  6935. but we don't yet, so a message at the bottom of the screen will tell us of
  6936. the not found condition and ask if we wish to add the record.  Answer this
  6937. question with 'y'(yes).  A blank record will be placed in the patient file
  6938. and  displayed on the screen for you to update.  The only field containing
  6939. information initially is the field the indexed lookup was performed on, i.
  6940. e. the social  security number field.  Fill in the  rest of the record and
  6941. hit F1 to update the record.  I filled in mine with the following data.
  6942.  
  6943.                         PATIENT RECORD
  6944. PATIENT # 123456  NAME EXTRACT: wilre
  6945. PATIENT NAME: Wilkes_________,Roger_____ Errol_____  SEX: m  RACE: w
  6946.   DATE OF BIRTH: 01/05/45  BLOOD TYPE: A+  EYES COLOR: brown__
  6947.   HEIGHT: 6'_0"  PHONE #:(901)386-4712  RELIGION: BA
  6948.   DOCTOR: Smith__________  SSN: 415666139
  6949.   OCCUPATION: Analyst________  EMPLOYER: Self___________
  6950.   SPOUSE: Wilkes_________,Vittoria__ Raspa_____
  6951.   OCCUPATION: Teacher________  EMPLOYER: Memphis City___
  6952.   ADDR: 5231 Longwood Drive______  _________________________
  6953.   CITY: Memphis________  ST: TN  ZIP: 38134
  6954.   INSURANCE CO. Country Farm___  POLICY NUMBER: 112233____
  6955. MEDICAL HISTORY:
  6956. 1.  _  2.  _  3.  _  4.  _  5.  _  6.  _  7.  _  8.  _  9.  _  10. _
  6957. 11. _  12. _  13. _  14. _  15. _  16. _  17. _  18. _  19. _  20. _
  6958. 21. _  22. _  23. _  24. _  25. _  26. _  27. _  28. _  29. _  30. _
  6959. 31. _  32. _  33. _  34. _  35. _  36. _  37. _  38. _  39. _  40. _
  6960. 41. _  42. _  43. _  44. _  45. _  46. _  47. _  48. _  49. _  50. _
  6961. 51. _  52. _  53. _  54. _  55. _  56. _  57. _  58. _  59. _  60. _
  6962. 61. _  62. _  63. _  64. _  65. _  66. _  67. _  68. _  69. _  70. _
  6963. 71. _  72. _  73. _  74. _  75. _  76. _  77. _  78. _  79. _  80. _
  6964. 81. _  82. _  83. _  84. _  85. _  86. _  87. _  88. _  89. _  90. _
  6965. 91. _  92. _  93. _  94. _  95. _  96. _  97. _  98. _  99. _  100._
  6966.  
  6967.                                                                 page 212
  6968.  
  6969.  
  6970.  
  6971.  
  6972.         Place the cursor on the first (PATIENT #) field and hit the Alt-F3
  6973. keys to add a patient visit record. Since we have two files indexed on the
  6974. patient number field you will  be asked to select which file by a question
  6975. at the bottom of the screen.  Select  the first (visit) by  hitting the F1
  6976. key.  Since this is the first time to add a visit record,  there will be a
  6977. not found condition on the lookup and you will be asked it you wish to add
  6978. a patient visit record.  Answer  this with a 'y'(yes).  The patient number
  6979. field  will be filled in with the value in the patient record (123456) and
  6980. the rest  of the fields will be left blank.  Fill in the  blank fields and
  6981. update the record  by hitting the F1 key.  The record  might look like the
  6982. following.
  6983.  
  6984.                         PATIENT VISIT INFORMATION
  6985. PATIENT #: 123456
  6986. DATE: 11/30/86   WEIGHT: 215   BLOOD PRESSURE: 130/80_
  6987. DOCTOR: Smith__________
  6988. COMPLAINT: Broken Glyph________________________________________________
  6989. DIAGNOSIS: Patient does not possess a Glyph____________________________
  6990. PRESCRIPTION: Sugar Tablets_______  QTY: 17__
  6991.  
  6992. CHARGE: $32______  AMT. PAID: $32______  DATE: 11/30/86
  6993.  
  6994.         We can  place the  cursor on  the prescription  field,  hit Alt-F3
  6995. and discover that the drug 'Sugar Tablets' does  not interact with another
  6996. drug.  The patient is also not diabetic.  Drug interaction information may
  6997. be entered from this record, but the natural way of adding the information
  6998. for drug interactions  would be from the  'system' screen,  similar to the
  6999.  
  7000.                                                                 page 213
  7001.  
  7002.  
  7003.  
  7004.  
  7005. way the patient record was added.  When we update the visit record, we are
  7006. returned to the patient record.  We may now add  other information for the
  7007. Doctor, the Religion and the insurance company. These records may be added
  7008. from the patient record, but as with the interaction information, the data
  7009. for these  records would probably  be available  to add  from the 'system'
  7010. screen.  The other records should be added  as an exercise.  When you have
  7011. at least one record in each file, go back to the 'system' screen and look-
  7012. up a patient, a patient visit, a drug interaction, a doctor,  an insurance
  7013. company and a religion record, then lookup all records associated with the
  7014. patient record, then lookup all records associated with the patient visit.
  7015.  
  7016.         When you have done all of this you  should have a pretty good idea
  7017. of what you can do with the Wilkes Database in the area of indexed lookup.
  7018.  
  7019.                                                                 page 214
  7020.  
  7021.  
  7022.                         DATA REPRESENTATION
  7023.  
  7024.  
  7025.         The following is  an extract from  the SCREEN ADD  section of this
  7026. document.
  7027.  
  7028. CHARACTER       - May  be  any length  on the  screen and  will be
  7029.                   stored in readable form. All other storage types
  7030.                   will be in a  form which is not easy  for humans
  7031.                   to read, but is easily read by the computer.
  7032. UNSIGNED INTEGER- Requires two characters of  storage and can keep
  7033.                   up with  positive  numbers  which do  not exceed
  7034.                   65,535. You cannot enter a negative  number into
  7035.                   this type of field.  This data format has only 4
  7036.                   significant digits.
  7037. INTEGER         - Requires two characters of  storage and can keep
  7038.                   up with  both positive  and negative  numbers in
  7039.                   range -32,768  through 32,767.  This data format
  7040.                   has only 4 significant digits.
  7041. LONG INTEGER    - Requires four characters of storage and can keep
  7042.                   up with both positive and negative numbers which
  7043.                   are  in   the   range   -2,147,483,648   through
  7044.                   2,147,483,647,  which  requires  4 characters of
  7045.                   storage and gives nine significant digits.
  7046. FLOATING POINT  - Is  laid  out in  the  format:  sign bit,  8 bit
  7047.                   exponent biased 127  and 23 bits of significant.
  7048.                   As  this data  format  is  used  by  the  WILKES
  7049.                   DATABASE you will have 7 significant digits (for
  7050.                   example,  if you use this data format to contain
  7051.                   dollars and cents you should not expect to use a
  7052.                   money amount greater than $99,999.99). This data
  7053.                   format requires four characters of storage.
  7054.  
  7055.                                                                 page 215
  7056.  
  7057.  
  7058.  
  7059.  
  7060. DOUBLE FLOATING - Is laid out  in the  format:  sign bit,  11  bit
  7061.    POINT          exponent biased 1023 and 52 bits of significant.      
  7062.                   As this  data  format  is  used  by  the  WILKES
  7063.                   DATABASE you can  expect no  more than 14 digits
  7064.                   of significance  (i.e. a dollars and cents field
  7065.                   could contain up to  $999,999,999,999.99).  This
  7066.                   data format requires 8 bytes of storage.
  7067.  
  7068.                                                                 page 216
  7069.  
  7070.  
  7071.                           WD PROGRAM FILES
  7072.  
  7073.  
  7074.         The files which you should have on the shipped diskette are WD.EXE
  7075. (this is the  WILKES DATABASE), WD.HLP (the help screens) and  WD.X6 (help
  7076. index file).
  7077.  
  7078.         The run time files which the  WD.EXE program uses (the listed file
  7079. names assume default at run time) are
  7080.  
  7081. WD.P            - Screen painting linkage (2048 bytes for each 68 screens)
  7082. WD.F            - Screen painting field definitions  (4096 bytes times the
  7083.                   number of screens)
  7084. WD.D            - Screen painting (2048 bytes times number of screens)
  7085. WD.LPT          - Printer controls, Video controls and contains all of the
  7086.                   index information.  Index information is initially null.
  7087. SCREEN.TMP      - Temporary report file
  7088. WD.HLP          - File containing the help screens.
  7089. WD.X6           - This file contains indexes into the WD.HLP file.
  7090.  
  7091.         The files names  would be altered to the  following list if we run
  7092. the 'WD.EXE' with a parameter.
  7093.  
  7094. WD MYFILE
  7095.  
  7096. MYFILE.P
  7097. MYFILE.F
  7098. MYFILE.D
  7099. MYFILE.LPT
  7100. SCREEN.TMP      - This file name does not change.
  7101. WD.HLP          - This file name does not change.
  7102.  
  7103.         All other  files associated  with the  WILKES DATABASE  are either
  7104. data files or the report files generated by your report definitions.
  7105.  
  7106.                                                                 page 217
  7107.  
  7108.  
  7109.                         ALIEN FILE SCREENS
  7110.  
  7111.  
  7112.         The requirement placed on an ALIEN FILE which you can work with on
  7113. the WILKES DATABASE is that the records be of fixed length and the storage
  7114. types be one of  the storage types  discussed under DATA REPRESENTATION on
  7115. pages 214 and 215.
  7116.  
  7117.         If ALIEN FILES are not specified,  the position of data within the
  7118. record is manipulated  for fast access and rome is  set aside to mark some
  7119. characteristics of the file.  If the screen painting is for an ALIEN FILE,
  7120. all fields  are in the order of appearance on  the screen and each byte is
  7121. definable positionally.  The first underscored field  on the screen begins
  7122. in the first byte of the data record. There is no padding for numeric data
  7123. to align on word boundaries.
  7124.  
  7125.         Suppose we download a file from a mainframe  each night which must
  7126. be worked on at our micro.  The record format will be known, and we should
  7127. be able to  get this information  from the data  processing or programming
  7128. department. The file contains
  7129.  
  7130. LAST NAME       - 20 bytes
  7131. FIRST NAME      - 10 bytes
  7132. MIDDLE INITIAL  - 1 byte
  7133. CREDIT LIMIT    - 12 digits (dollar amount stored in ascii)
  7134. BALANCE DUE     - 12 digits (dollar and cents amount stored in ascii)
  7135. BALANCE AGE     - 3 digits (number of days stored in ascii)
  7136. PHONE NUMBER    - 10 digits (stored in ascii)
  7137.  
  7138. The record is 68  bytes long and we can  create a screen painting like the
  7139. following to look at this data.
  7140.  
  7141.                                                                 page 218
  7142.  
  7143.  
  7144.  
  7145.  
  7146.                         CREDIT INFORMATION
  7147.  
  7148. NAME: ____________________, __________ _
  7149.  
  7150. CREDIT: ____________    BALANCE DUE: ____________
  7151.  
  7152.                         BALANCE AGE: ___ IN DAYS
  7153.  
  7154. PHONE NUMBER: (___)___-____
  7155.  
  7156.         The storage type would be CHARACTER for all fields in the painting
  7157. since the money amounts were also in ascii. We can look at the records and
  7158. we can even  alter the data,  but you cannot use the  data in this form to
  7159. perform mathematical calculations on the numeric fields,  because they are
  7160. not of the proper storage type to do so.  This can be rectified by copying
  7161. the screen above into a new name and adding pertinent fields.
  7162.  
  7163.                         CREDIT INFORMATION
  7164.  
  7165. NAME: ____________________, __________ _
  7166.  
  7167. CREDIT: ____________    BALANCE DUE: ____________
  7168.  
  7169.                         BALANCE AGE: ___ IN DAYS
  7170.  
  7171. PHONE NUMBER: (___)___-____
  7172.  
  7173.                         AVAILABLE CREDIT: ____________
  7174.  
  7175.                                                                 page 219
  7176.  
  7177.  
  7178.  
  7179.  
  7180.         This  screen will  have the  numeric  fields CREDIT,  BALANCE DUE,
  7181. BALANCE AGE and AVAILABLE CREDIT defined  as numeric data types (using the
  7182. SCREEN UPDATE function). Now we can look at the numeric fields as numbers.
  7183. None of  the field names were  changed for fields  which exist in both the
  7184. old and the new screen paintings. We have added the field AVAILABLE CREDIT
  7185. to contain the difference between the BALANCE DUE and the CREDIT LIMIT. We
  7186. can calculate the AVAILABLE CREDIT from the information in the two fields.
  7187. First we must get the data into the format of the new screen. This is done
  7188. by using the SCREEN  DATA REFORMAT function.  When this is accomplished we
  7189. can create the  AVAILABLE CREDIT  field, using  COLUMN ARITHMETIC to first
  7190. MOVE the CREDIT LIMIT field to the AVAILABLE CREDIT field  and subtracting
  7191. the BALANCE DUE field from the AVAILABLE CREDIT field. This action will be
  7192. enacted in each record of the file.  We can now use DATA DISPLAY/UPDATE to
  7193. browse through the file and make modifications,  including deletions which
  7194. we could not do with the ALIEN FILE.
  7195.  
  7196.                                                                 page 220
  7197.  
  7198.  
  7199.                         GLOSSARY
  7200.  
  7201.  
  7202. abort           - in data processing, denotes the action of stopping
  7203.                   abruptly.
  7204. alien file      - denotes data files which were created outside the Wilkes
  7205.                   database or files created by the Wilkes database to be
  7206.                   used outside the Wilkes database.
  7207. alpha           - denotes the alphabetic characters.
  7208. append          - to tag on. Used in this document to denote tagging one
  7209.                   file to the end of another.
  7210. application     - in data processing, a program or function used directly
  7211.                   by the computer user.
  7212. ascending       - in order of increasing value.
  7213. ascii           - American Standard Code for Information Interchange.
  7214.                   128 character set representable by 7 bits.
  7215. asterisk        - "*" character.
  7216. backspace       - The keyboard key with a left arrow pictured on top.
  7217. beep            - The audible sound heard when the cursor passes the end
  7218.                   of a field.
  7219. binary          - Number in base 2.
  7220. bit             - A unit of information. A bit has only two states (0 and
  7221.                   1). A character of information is made up of 8 bits in
  7222.                   most computers.
  7223. blink           - Display attribute on the screen.
  7224. byte            - A character.
  7225. carriage control- The act of controlling printing by use of special
  7226.                   characters.
  7227.  
  7228.                                                                 page 221
  7229.  
  7230.  
  7231.  
  7232.  
  7233. character       - Used generally to represent any printable or non-
  7234.                   printable byte. Used in the Wilkes database to represent
  7235.                   readable characters.
  7236. code            - Representing a set of symbols with another (generally
  7237.                   shorter) set of symbols.
  7238. column          - Horizontal positioning.
  7239. database        - A colection of data or information.
  7240. descending      - In order of decreasing value.
  7241. directory       - In OS2, all of the files associated with a directory
  7242.                   level. (see OS2 commands mkdir, cd, rmdir).
  7243. disk            - Generally used to denote fixed (hard) disk.
  7244. diskette        - Used to denote "floppy" disk.
  7245. display attributes
  7246.                 - There are 5 basic display attributes used by the Wilkes
  7247.                   database. Highlight, Underscore, Reverse video,
  7248.                   Highlight & Underscore and Invisible.
  7249. download        - Denotes movement of data from one computer to another.
  7250. drive           - A device connected to the computer.
  7251. end             - Keyboard key with the word "end" on top.
  7252. enter           - Keyboard key with the word "enter" on top.
  7253. field           - A unit of specific data. A name field might be 30
  7254.                   characters or more, while a field containing a code
  7255.                   for "yes" or "no" might contain 1 character.
  7256. file            - A group of records.
  7257. filler          - Used to take room. Usually to allow information to be
  7258.                   stored on a specific boundary.
  7259. floating point  - Representation of a number as it is used by the
  7260.                   computer. This storage type contains a decimal point.
  7261.  
  7262.                                                                 page 222
  7263.  
  7264.  
  7265.  
  7266.  
  7267. format          - The way in which components are arranged. (for example
  7268.                   the format of a record is the arrangement of fields in
  7269.                   the record with their storage requirements).
  7270. function        - A program or program part which accomplishes a given
  7271.                   task.
  7272. generated       - Produced by the computer.
  7273. header          - At the front or top. (for example, a report header).
  7274. hexadecimal     - Number system using base 16.
  7275. highlight       - Display attribute where the highlighted area is brighter
  7276.                   than regular.
  7277. home            - Keyboard key with the word "home" on top.
  7278. hyphen          - Keyboard key "-".
  7279. inclusive       - Containing the end points.
  7280. integer         - A number containing no decimal point. A Wilkes database
  7281.                   storage type having 4 digits of significance.
  7282. invisible       - Display attribute.
  7283. long            - A Wilkes database storage type having 8 digits of
  7284.                   significance.
  7285. mainframe       - Larger computer to which your computer may communicate.
  7286. megabytes       - Millions of bytes.
  7287. memory          - Where the computer stores information. Generally used to
  7288.                   denote fast memory (i.e. not disk or other slow memory
  7289.                   storage).
  7290. menu screen     - A screen offering a selection of functions.
  7291. merge           - To form one ordered set from 2 or more ordered sets.
  7292. native file     - Denotes data files generated and used by the Wilkes
  7293.                   database. (see alien file).
  7294. null            - Binary zero.
  7295.  
  7296.                                                                 page 223
  7297.  
  7298.  
  7299.  
  7300.  
  7301. number          - In the Wilkes database, may be one of 5 storage types.
  7302.                   Unsigned integer, Integer, Long, Floating point and
  7303.                   Double floating point.
  7304. numeric         - Character set considered to constitute a number.
  7305. open            - Action of "opening" a file.
  7306. override        - Having higher priority.
  7307. pad             - (see filler).
  7308. paint           - The process of introducing characters on the screen in
  7309.                   a visually desirable way.
  7310. pgdn            - Keyboard key with "pgdn" on top denoting "page down".
  7311. pgup            - Keyboard key with "pgup" on top denoting "page up".
  7312. port            - Peripheral interface.
  7313. program         - A collection of instructions to the computer.
  7314. prompt          - Display requiring action on the part of the user.
  7315. record          - A collection of fields. A record can contain 1 field.
  7316. reformat        - Re-arrangement of the fields within a record.
  7317. refreshed       - Re-displayed.
  7318. report          - A collection of data generally associated with printed
  7319.                   material.
  7320. reverse video   - Where the background and lettering are reversed in
  7321.                   appearance.
  7322. screen          - Video unit associated with computer or terminal.
  7323. scrolling       - The act of moving lines up or down on the screen.
  7324. significance    - The ability to hold digits of a number accurately.
  7325. slew            - To move printer carriage to the top of the next page.
  7326. sort            - To arange in order.
  7327. space           - blank character.
  7328. tab             - Keyboard key containing arrows in both directions.
  7329. underscore      - Keyboard key "_".
  7330. variable        - Having the ability to change values.
  7331.  
  7332.                                                    ADDRESS FILE 
  7333.  
  7334. Date:  1/ 4/86                                                                                              Page       1
  7335. Time:  7:29
  7336. Name                           Address                         City                State   Zip        Phone
  7337.  
  7338.  
  7339.  
  7340.  
  7341.  
  7342.  
  7343.                              REPORT 1
  7344.  
  7345.                                                    ADDRESS FILE
  7346.  
  7347. Date:  1/ 4/86                                                                                              Page       1
  7348. Time:  7:25
  7349. Name                           Address                         City                State   Zip        Phone
  7350.  
  7351.  
  7352. Farm, U. W.                    333 Nebraska st.                Washington           NM     11682-     (901)555-1212
  7353. Frempburger, Elvira            unknown                         Anyburg              TX     38116-     (444)555-1212
  7354. Green, Bo Lynn                 116835116438 A st.              So. Washington       FL     44844-1132 (111)555-1212
  7355. Orpington-Pell, Farquhr III    Up-town                         Madison              TN     83114-     (UNL)   -
  7356. Brant, Rehm                    523 Overseas                    Munich               WA     62349-     (888)555-1212
  7357. Smith, Elvil Jim Art Jr.       E. Donwareni                    Slicker              TN     38134-     (UNK)   -
  7358. Flip                           89662 Flop st.                  State                TN     88889-1111 (   )555-1212
  7359. Long, Heiken A.                8642 Progression Ave.           Austin               WI          -     (   )   -
  7360. Jim, Bob                       888 Oki Ave.                    Willwe               OK     88789-     (   )   -
  7361. S., M. Jane                    Full Avenue                     Sand Dollar          FL     11111-2222 (   )see-book
  7362. Rhon, L. Bei                   777 Brit st.                    Lundonville          NY     00031-     (213)555-1212
  7363. Smith, Jim                     23 St.                          NYC                  NY     99999-     (   )555-1212
  7364. Willis, Aardway                3434 Elevenworth                Tee Rock             MD     77777-0334 (358)555-1212
  7365.  
  7366.  
  7367.  
  7368.                              REPORT 2
  7369.  
  7370.                                                    ADDRESS FILE
  7371.  
  7372. Date:  1/ 4/86                                                                                              Page       1
  7373. Time:  7:26
  7374. Name                           Address                         City                State   Zip        Phone
  7375.  
  7376.  
  7377. Brant, Rehm                    523 Overseas                    Munich               WA     62349-     (888)555-1212
  7378. Farm, U. W.                    333 Nebraska st.                Washington           NM     11682-     (901)555-1212
  7379. Flip                           89662 Flop st.                  State                TN     88889-1111 (   )555-1212
  7380. Frempburger, Elvira            unknown                         Anyburg              TX     38116-     (444)555-1212
  7381. Green, Bo Lynn                 116835116438 A st.              So. Washington       FL     44844-1132 (111)555-1212
  7382. Jim, Bob                       888 Oki Ave.                    Willwe               OK     88789-     (   )   -
  7383. Long, Heiken A.                8642 Progression Ave.           Austin               WI          -     (   )   -
  7384. Orpington-Pell, Farquhr III    Up-town                         Madison              TN     83114-     (UNL)   -
  7385. Rhon, L. Bei                   777 Brit st.                    Lundonville          NY     00031-     (213)555-1212
  7386. S., M. Jane                    Full Avenue                     Sand Dollar          FL     11111-2222 (   )see-book
  7387. Smith, Elvil Jim Art Jr.       E. Donwareni                    Slicker              TN     38134-     (UNK)   -
  7388. Smith, Jim                     23 St.                          NYC                  NY     99999-     (   )555-1212
  7389. Willis, Aardway                3434 Elevenworth                Tee Rock             MD     77777-0334 (358)555-1212
  7390.  
  7391.  
  7392.  
  7393.                              REPORT 3
  7394.  
  7395.