THE WOMBAT EXAMINER SEPTEMBER 1980 VOL. 2 NO. 2 WELCOME TO THE THIRD ISSUE OF THE WOMBAT EXAMINER. IF THE COVER DOES NOT MAKE ANY SENSE, YOU NEED TO INVOKE THE FOLLOWING DATATRIEVE COMMANDS: HELP WOMBAT HELP ADVANCED WOMBAT OUR THANKS TO THE CONTRIBUTION OF THIS ISSUE'S COVER DESIGN, LEIGH HART SMITH FROM ELECTRO-OPTICAL SYSTEMS, XEROX CORPORATION. A DESCRIPTION OF THE COVER IS INCLUDED LATER ON IN THE NEWSLETTER. LIST OF CONTENTS INSTRUCTIONS FOR CONTRIBUTORS 1 COVER STORY 2 STORAGE POOL EXHAUSTED 3 DATATRIEVE ANNOUNCEMENT 8 SITE MANAGEMENT SIG 10 WOMBAT UPDATE 11 DTR FIELD TEST NOTES 14 INTRO TO DTR (DECUS) 16 DATATRIEVE OPTIMIZATION 18 INTRO TO DATATRIEVE 28 DATATRIEVE V 2.0 39 DIAL-A-WOMBAT 40 1 INSTRUCTIONS FOR CONTRIBUTIONS CONTRIBUTIONS SHOULD BE SENT TO: EDITOR, DATATRIEVE NEWSLETTER C/O DECUS, ONE IRON WAY MR2-3/E55 MARLBORO, MA 17562 Letters and articles for publication are requested from members of the SIG. They may include helpful hints, inquiries to other users, reports are SIG business, summaries of SPRs submitted to Digital or other information for members of the DATATRIEVE SIG. Camera ready copy is appreciated, but almost anything legible will be considered. However, this newsletter is not a forum for job and/or head hunting, nor is commercialism appropriate. NAMES OF CONTACTS The following SIG members have volunteered to receive phone calls regarding DATATRIEVE. Please remember that your phone call is an interruption of a full-time obligation to their employer. Prepare your questions beforehand and limit the call to 15-20 minutes. Additional volunteers will be listed in the next issue. CONTACTS: Beth Carter (RSX-11M) Bob McCormick (RSTS) Bridgeport-Textron Farm Credit Banks of Springfield 200 Precision Rd. P.O. Box 141 Horsham, PA. 19044 Springfield, MA. 01101 215/674-2700 413/786-7600 Joan Hilton (RSX-11M) Leigh Hart Smith (VMS) G. D. Searle ms 2500 P. O. Box 1045 XEROX Corporation Skokie, IL. 60076 300 North Halstead St. 312/982-7485 Pasadena, CA 91107 213/351-2351 X1820 SIG CHAIRMAN: NEWSLETTER EDITOR: Chuck Watson (RSTS) Kathy Tamer (VMS, RSX-11M) Pacific Northwest Laboratories G. E./MATSCO Batelle Northwest 1050 Bay Area Blvd. Richland, WA. 99352 Houston, TX. 77058 509/943-1462 713/483-5975 FTS 525-5975 2 COVER STORY The cover for this issue is taken from an article entitled: "Wombats detected in space" for the Remote Sensing of Environment Journal (9:47-56 (1980)) published by Elsevier North Holland, Inc.. The abstract for this article reads as follows: "The hairy nosed wombat (Lasiorhinus latifrono) is a large marsupial that occurs in great numbers on the Nullabor Plain, South Australia. Because of the animal's burrowing and mound building, which creates areas of bare ground and freshly dug soil, its approximate distribution can be mapped from digitally enhanced color LANDSAT imagery and even to some degree from good quality band-7 black and white imagery. The wombats also seem to destroy large areas of shrubland and they appear to have increased greatly in recent years. Monitoring of their spread by satellite imagery could provide a valuable and effective management tool." The article contains several pictures of the hairy nosed wombat in it's natural environment and mentions many interesting tid-bits about the species in general. Below a figure illustrating the "distribution of wombat colonies and the LANDSAT scene locality". Topics covered include: General Background of Study, Appearance and Behavior of Wombats, and Satellite Imagery and Field Study. We thank Leigh for discovering this gem and sharing it with the rest of "us fellow Wombats". We will not see Leigh at the Fall DECUS, seems he will be sitting at home awaiting the arrival of a 'new Smith'. Eidtor's Note: I was going to include the article but there was some question as to whether it was copyrighted or not. 3 STORAGE POOL EXHAUSTED? (REVISITED) Chuck Watson In the last issue I discussed some techniques for gaining space in DATATRIEVE through the use of alternate record definitions. Several people indicated that the meaning of FILLER was not explained in the Version 1 decumentation. That is because FILLER is a well known COBOL concept, and the documentation authors assumed that all DATATRIEVERS understand COBOL. Since this is most decidedly not the case, I am reprinting the article in an expanded form with an example. Several users have trouble using Repor Writer or developing large procedures with large records. They have defined elaborate records which work fine with simple keyboard commands or statements. However, when RW or lengthy procedures are invoked, they encounter - STORAGE POOL EXHAUSTED. In addition to operational considerations such as careful selection of READY mode and FINISHing unnecessary DOMAINS, a possible solution is to re-examine the record description and eliminate as many characters as possible, because the entire record description is in the storage pool along with the procedure itself. Suggestions for condensing the record description include: 1) abbreviated field names such as M rather than MANUFACTURER, 2) elimination of QUERY-NAME and QUERY-HEADER whenever possible, and 3) in V2, elimination of VALID IF [field name] IN [table name]. In many cases such drastic surgery is not necessary. After all, that elaborate record description probably was developed to make interactive usage simple and elegant. It is routine usage such as Report Writer or procedures which tend to exhaust the storage pool. Why not establish alternate record descriptions for the same record? The new description can eliminate the QUERY-NAMEs because you can put the field names in the procedure. Often the procedure will not need all the fields, so they can be replaced with FILLER in the alternate record description. Establish alternate domain definitions which link the original file to the new record definition. Add a READY [alternate domain] command in the procedure. If the procedure also FINISHes the alternate domain, the user will not be aware that you have provided a shorter record description. The following example illustrates these principles. 4 EXAMPLE USE OF FILLER IN RECORD DEFINITION Chuck Watson This is a small example of the use of FILLER in a dummy record definition. I have chosen YACHTS for the example, because even though the number of fields is small, there are lots of optional clauses such as QUERY-NAME and EDIT-STRING which tend to make YACHTS wasteful of space. First let's look at the DOMAIN and RECORD definitions for YACHTS. DOMAIN YACHTS USING YACHT ON DR0:[001,130]YACHT.DAT; RECORD YACHT USING 01 BOAT. 03 TYPE. 06 MANUFACTURER PIC X(10) QUERY_NAME IS BUILDER. 06 MODEL PIC X(10). 03 SPECIFICATIONS QUERY_NAME SPECS. 06 RIG PIC X(6) VALID IF RIG EQ "SLOOP","KETCH","MS","YAWL". 06 LENGTH_OVER_ALL PIC XXX VALID IF LOA BETWEEN 15 AND 50 QUERY_NAME IS LOA. 06 DISPLACEMENT PIC 99999 QUERY_HEADER IS "WEIGHT" EDIT_STRING IS ZZ,ZZ9 QUERY_NAME IS DISP. 06 BEAM PIC 99. 06 PRICE PIC 99999 MISSING VALUE IS 0 VALID IF PRICE>DISP*1.3 OR PRICE EQ 0 EDIT_STRING IS $$$,$$$. ; 5 Now let's look at my dummy DOMAIN FOOS and my dummy RECORD FOO. Note that I have used the work FILLER twice (I can use it as often as necessary), and that the number of bytes (41) must be identical to that of the full record description above. DOMAIN FOOS USING FOO ON DR0:[001,130]YACHT.DAT; RECORD FOO USING 01 B. 03 T. 06 MFGR PIC X(10). 06 MODEL PIC X(10). 03 X. 06 FILLER PIC X(6). 06 LOA PIC XXX. 06 FILLER PIC X(7). 06 PRICE PIC 99999 EDIT-STRING IS $$$,$$$. ; At this point, I entered DATATRIEVE and used the Version 2 feature SHOW SPACE to find out how much space is available for sort or report writer on my particular system. (The table produced by SHOW SPACE is not easy to understand if all you have available is Version 1.1, so I extracted a value which will indicate the relative saving of the dummy record.) <[FREE SORT SPACE: 14144 BYTES]> Now I will READY the dummy domain and PRINT 5 records to show that FILLER items are ignored completely. Then I will check the space before and after FINISHing the domain. 6 DTR> READY FOOS DTR> PRINT FIRST 5 FOOS MFGR MODEL LOA PRICE ALBERG 37 MK II 37 $36,951 ALBIN 79 26 $17,900 ALBIN BALLAD 30 $27,500 ALBIN VEGA 27 $18,600 AMERICAN 26 26 $9,895 <[FREE SORT SPACE: 13166 BYTES]> DTR> FINISH <[FREE SORT SPACE: 14144 BYTES]> Now repeat the exercise on the YACHTS. Note that the dummy record FOO saved over 500 bytes. DTR> READY YACHTS DTR> PRINT FIRST 5 YACHTS LENGTH OVER MANUFACTURER MODEL RIG ALL WEIGHT BEAM PRICE ALBERG 37 MK II KETCH 37 20,000 12 $36,951 ALBIN 79 SLOOP 26 4,200 10 $17,900 ALBIN BALLAD SLOOP 30 7,276 10 $27,500 ALBIN VEGA SLOOP 27 5,070 08 $18,600 AMERICAN 26 SLOOP 26 4,000 08 $9,895 <[FREE SORT SPACE: 12660 BYTES]> DTR> FINISH <[FREE SORT SPACE: 14144 BYTES]> In this example I have illustrated two things, the use of FILLER, and the concept of alternate record definitions. Over 500 bytes of pool space were saved by using a temporary record definition with short field names, elimination of unnecessary optional clauses, and elimination of unnecessary fields by the use of FILLER. If FILLER is a new idea, I suggest you browse through a COBOL manual. You FORTRAN programmers should recognize its similarity to X in a FORMAT. The use of alternate record definitions is often necessary in complex report writer usages. WARNING - Do not STORE a record using the dummy record definitions and expect the filler fields to contain data. 7 DIGITAL 25 June 1980 Ms. Kathy Tamer GE/MATSCO 1050 Bay Area Blvd. Houston, Texas 77036 Dear Kathy: Here is some information on recent software product releases. The Datatrieve-11 V2.0 material includes a copy of the press release, as well as, some detail on the new features. As new products come out, for commercial languages and data management, I will send you essentially the same information we furnish to the sales force. That way, we can keep the Decus members as up to date as possible. The products I included with this letter were all announced to our sales force on June 9th. Regards, Mark J. Meirowitz /bs Enclosure DIGITAL EQUIPMENT CORPORATION, MERRIMACK, NEW HAMPSHIRE 03054 (603)884-5111-TWX.710-228-0538-TELEX. 94-8457 8 DIGITAL EQUIPMENT CORPORATION To Editors Only - for Further Information: Joseph C. Nahil (603) 884-5101 DIGITAL ANNOUNCES ENHANCED DATATRIEVE SOFTWARE MERRIMACK, N. H. - June , 1980 - Digital Equipment Corporation today announced an enhanced version of its DATATRIEVE query, report, and data maintenance software. Designed to work with its RMS-11 records management files, the new version is available on RSTS/E, RSX-11M, RSX-11M PLUS, and IAS operating systems for PDP-11 computers, and in compatibility mode for the VAX-11/780 superminicomputer. DATATRIEVE enables users to locate, sort, and update information in RMS-11 files and to generate reports from files. It has been designed for inexperienced users as well as those who have extensive knowledge of computers. The new DATATRIEVE version has been extended through variable length record support, cross-file "views," and a revised and expanded documentation set. The cross-file view capability enables a user to define logical records that are retrieved from multiple RMS-11 files. The enhanced version of the DATATRIEVE software, version 2.0, will be available in September, 1980. It will be licensed at $4,500.00/supported licenses more MODULES COMPUTERS SYSTEMS 9 Digital Equipment Corporation Digital Announces Enhanced DATATRIEVE Software Page Two According to John Anderson, DATATRIEVE product manager, DATATRIEVE increases productivity of computer users. "The user has a variety of ways to access the data base and the programming department is not burdened with requests for special purpose reports. Inexperienced users are provided with the query tools needed to access data under proper security controls. Complex reports can be produced by experienced users, while those less familiar with the system are able to produce simple reports. One can locate, sort, and update information as well as generate simple reports knowing as few as ten commands," he said. Improved documentation includes a beginner's primer that explains basic system features, and a revised reference manual. These documents are supplemented by Guide Mode, a software prompting aid that "steps" through a subset of commands. A "help" feature answers users' questions on the use and syntax of commands. "Our documentation and aids make the data base far less mysterious and much more approachable to inexperienced users," anderson said. He added that as the user's experience and proficiency increase, more features of the software can be exploited. "Programming professionals find DATATRIEVE a high-level language ideally suited for a host of simple applications and special purpose reguests. We consider DATATRIEVE one of the most powerful query languages available," he said. Digital Equipment Corporation, headquartered in Maynard, Mass., is the world's leading manufacturer of interactive computers and a leader in distributed data processing. Its products include small, medium, and large- scale computer systems. Additionally, the company manufactures a complete range of peripheral devices and interfacing equipment and provides comprehensive customer support services. Digital employs more than 52,000 persons worldwide and has installed upwards of 220,000 eomputers. For its fiscal year ended June 30, 1979, the company reported sales of $1.3 billion. 10 NORTHERN Northern Telecom Tel(603)224-6511 TELECOM Inc. TWX 710 361 1886 Telex 94 3453 March 19, 1980 P.O Box 649 Airport Road Concord, New Hampshire 03301 Ms. Kathy Tamer MATSCO 1050 Bay Area Blvd. Houston, TX 77058 Dear Kathy; I am writing you to ask that you announce in your newsletter the formation of a new Special Interest Group. The Site Management SIG will address the problems and challenges that a small to large DEC system manager faces and will work to stimulate discussion on various topics of mutual interest to all system managers. The SIG was formed as a result of the interest shown in system management related symposia sessions. The SIG was just approved at the last board meeting (Feg. 22). We intend to organize two sessions for the Fall '80 symposium. A BOF session is planned for the Spring symposium. Although we plan to span across all product lines and operating systems, concentrating on common issues, I believe that the newsletter will also supply hardware and software system specific articles. A major goal of the SIG will be to write a system managers' manual. Proposed manual topics are: -How to write a shop users guide, user training. -Back-up procedures and administration. -Media integrity protection. -Site installation and expansion. -Maintenance and repair. -Accounting for system management purposes. -System managers training. -Security procedures. Contributions and recommendations for addition of topics is needed. This manual is intended to function as a framework for an installation to build upon. Newsletter will publish 4 to 6 issues a year depending upon the quantity and quality of contributions. Please advise all interested parties to send their requests for SIG newsletter to the DECUS office. I would also appreciate hearing from people directly, as the membership lists are not published (as you know). As editor of a newsletter yourself, I would appreciate a note on your experiences to date, and any ideas that you think would help me out. I understand from Maryann Oskirko that a session for newsletter editors is planned at the spring symposia. I hope to meet you there. Sincerely, Bob Rock RR:vlt 11 This letter was sent to the volunteers who stepped forward at the DECUS symposium. Its not too late, if you care to help, contact Chuck Watson. WOMBAT UPDATE DATATRIEVE SPECIAL INTEREST GROUP CHUCK WATSON, CHAIRMAN April 28, 1980 Dear Volunteer: Thank you for volunteering to help with SIG activities. Your participation at the Chicago DECUS symposium helped make it a successful meeting. I find that fostering communication between users and beginners, and between users and DEC personnel, is the most rewarding aspect of my position as SIG chairman. You can help to make the San Diego meeting useful to your fellow DATATRIEVERS, and you can have an impact on DEC, by following through on the commitment you made by attend the steering committee meeting Wednesday morning. We need help in four areas, newsletter, question and answer resource people, tutorial facilitators, and speakers. We would like to have written confirmation of your commitment as soon as possible. However, as I said in Chicago, we want you to be sure that you have the support of your management before you get involved in a time consuming project. NEWSLETTER - If you would like to help edit the WOMBAT EXAMINER, write to: Kathy Tamer Johnson Space Center SE 2/MATSCO Houston, Texas 77058 (713) 483-5975 FTS 525-5975 Tell her which operating system you use, and she will send you articles which contain DATATRIEVE usages which need to be confirmed. She may also be calling on you for editorial help, development of answers to questions, etc. 12 NEWSLETTER ARTICLES - We need more input to the newsletter. Readers are interested in your progress in understanding DATATRIEVE. The more authors we have the more chances that we will cover an item which will be exactly the trick someone needs. For example, I didn't write an article about the use of FILLER because I thought it was self evident. I couldn't believe the reaction to Anne Duncan's optimization talk when the audience did not understand FILLER. Perhaps you know of a DTR usage which is self evident, common place, and simple in your operation. Write it up, because someone out there will find it a revelation. Send newsletter articles to Kathy Tamer. QUESTION AND ANSWER RESOURCE PEOPLE - We need volunteers to answer phone questions about DATATRIEVE. I know that many of you signed up for this acitivty, but I don't want to publish your phone number if you were on a DECUS high at the time. If you are still willing to share your experiences with other users, write a short letter to be published in the WOMBAT EXAMINER. Include your name, address, and phone (FTS if government), operating system, and a brief description of the types of application you feel confident to discuss. TUTORIAL - We are planning to present a tutorial on the Sunday preceding the San Diego symposium. We need help in designing the course content, and we need facilitators to lead a problem-solving team of about 6 students. If you are interested, contact the tutorial coordinator: Dave Nordby G. D. Searle PO Box 5110 Chicago, Illinois 60680 (512) 982 4631 This could really require a lot of your time, and a commitment to attend the San Diego meeting a day early. We hope to recover enough money to be able to pay for the extra night's lodgings and food for the facilitators, but don't count on it. If you are still enthused about this idea, I am sure that Dave can use your help. 13 SPEAKERS - We would like to have a balance between DEC and user presentations at the San Diego symposium. We expect that in addition to the long awaited "Official Announcement of Version 2", anne Duncan will present two talks, "Introduction to DATATRIEVE", and "DATATRIEVE Optimization Techniques". We also hope that Jim Starkey will present a paper on DATATRIEVE internals. We have decided that there ought to be user papers as well, but we also think that papers by the same old crew are not in the best interest of the SIG. In the past, Chuck Watson has been responsible for 3 papers, and Jim McIlvaine, Bob McCormack, and Dave Nordby have provided (in one way or another) one each. We need you as a speaker in San Diego. Tell us how you are using DATATRIEVE. Answer the Call for Participation with a mini paper. Write the mini paper now! Have it ready and polished before the Call for Participation arrives. Acceptance of a mini paper obligates you to an oral presentation. You do not need to prepare a formal paper unless you want to see your application in the Proceedings. You may want to prepare an informal paper for inclusion in the WOMBAT EXAMINER. You may not even want to stand up and talk but may be more comfortable giving a poster paper. But, do participate. ROOMS - Since you indicated an interest in the Steering Committee, I assume that you are planning to attend the San Diego symposium. Room space at the Town and Country is limited. It helps to send in your room reservation card the day it arrives. Don't wait for approval from your management! You can always cancel a room, but late registrants are assigned to other hotels as much as 2 miles away. Again, I want to thank you for your interest in the SIG. Please consider carefully the needs outlined above, and send us your written response soon. Chuck Watson Battelle Northwest Box 999 Richland, Washington 99352 (509) 943 1462 14 DATATRIEVE FIELD TEST PANEL NOTES Four field test sites presented their impressions of Datatrieve 2.0 and answered questions from the group. All four seemed to be very favorably impressed. Although some felt it was not for the casual user - that some training was necessary. The new features, especially the VIEW allowing access of more than one file at a time, were considered a great improvement. One problem that has been improved in Version 2.0 (but was still a complaint) was the limit on the collection size. During the question and answer session a number of people questioned slow response time. The panel suggested reviewing and fine-tuning the overall system and the specific files as well. However, they did admit that response time would drop off as the number of users increased. What were the problem areas in converting to Version 2.0? Not many - the panel said - mostly with passwords and the fact that the report writer no longer starts in column 1. The panel members were very helpful and enthusiastic. I am looking forward to the new release. Datatrieve is a very good product for the general purpose user as well as a debug tool for the programmer. A.H. 5/7/80 Great Northern Paper Company CIS Department Millinocket, ME 04462 Test Panel Members: Dave Nordby, GD Searle, Chicago, IL Don Golden, Litton Resources, Houston, TX Bob McCormick Chuck Watson, Batelle Northwest Laboratories, Richland, WA 15 Three different sites were used as Field Test Sites for Datatrieve 2.0. They all presented their impressions. One site had two PDP 11/40's that contained files accessed, modified and added to by Datatrieve 2.0 only. They were using Datatrieve for a quick way to offload their files from their Corporate Computer Center. This site was very enthusiastic, however, they did admit there were some problems in using Datatrieve as their only "language," some of they were: Collection size limit hard to use doesn't handle certain data types well no statistical or graphics interface limited data entry facilities Version 2.0 of Datatrieve has many new features. There is a VIEW which allows the user to access multiple files at once. The examples they used included four files at once - one of them containing 255,000 records. ADT is a tutorial mode which helps a user define a new file. The collection size maximum will be much larger although no one could say how much. There is a limited EDIT feature which I had the chance to try out on the VAX System (VAX 11/780) while I was there. It allows you to edit a record or procedure without having to leave Datatrieve. It is not very sophisticated - some of the field test sites liked it - some didn't. There is a table feature in Version 2.0 that can be used for verification and/or printing. As I mentioned earlier, we will be able to access only a portion of a key field and the retrieval will be indexed (therefore much faster). There is a special DATE field that will show elapsed days and edit number of days in a month. The documentation is reported to be greatly improved and expanded. It is nearly 400 pages long. According to the DEC representative the major conversion effort is in password handling. The Field Test Sites felt it was not a large effort. I was very impressed with Datatrieve 2.0 and feel it would be well worth the conversion to get the new features. 16 INTRODUCTION TO DATATRIEVE As presented at DECUS 4/22/80 Ms. Anne Duncan of digital Equipment Corporation, the product manager for Datatrieve, presented a basic tutorial on the functions of Datatrieve. some mention of Version 2 capabilities was made, but the primary emphasis was on currently available functionality. Datatrieve is an interactive, end-user-oriented product for online data retrieval, update and report generation. The commands and error messages are simple and English-like. Online help is available if needed, and command responses are automatically validated and prompted for. The product is completely self-contained and supports the following functions: 1. Data retrieval 2. Computational capabilities 3. Statistical functions - max, min, total, average 4. Sort 5. Report writer 6. Update capabilities The retrieval can be based on data fields in one or multiple (Version II only) files. Any field, whether a key or not, can be the argument for a search. Combinations of fields, or character-string subsets of fields, can be the basis for retrieval. The product automatically optimizes the search strategy for maximum efficiency. Print options for the retrieved records are: All fields (default) Selected fields Arithmetic computations performed on retrieved fields Statistical functions of fields 'Print' may be on terminal, line printer or a data file The report generation feature allows more sophisticated output formatting: Multiple control breaks Page & control break headers & trailers Automatic page numbering & date headings 17 Update capabilities provide for changing fields within existing records, adding records, or deleting records. Some validation & editing is provided for the entered data. Datatrieve can operate on RMS files created via the following languages: COBOL BASIC PLUS-2 DIBOL RPG II FORTRAN 4-PLUS Hardware requirements for Datatrieve are 64 K Bytes of memory, 1200 blocks on disk, and an extended istruction set. Datatrieve operates under the following operating systems: VAX/VMS (Compatibility mode) TRAX RSTS/E IAS RSX-11M & M-PLUS Notes taken by: Mary Beth Shafer Internationan Harvester 1919 S. Highland Lombard, IL 60148 18 THURSDAY 8:00 P.M. ANNE DUNCAN DATATRIEVE-11 OPTIMIZATION 1. Overview of V2.0 features a. VIEWS command *artificial view of one or more primitive domains *may be hierarchial *may be subset fields *may be subset records *eliminate V1.1 multiple "FOR" hacks b. TABLES *dictionary object *can be edited *reference automatically loads table *use for input validation *use for printing strings from codes c. DATE datatype *usage is date *uses VAX/VMS date format -four words -word boundary aligned *any form input *flexible print format *operations -comparison -elapsed days (subtract date) -sort *knows "TODAY" d. Variables *DECLARE statement 19 THURSDAY 8:00 P.M. ANNE DUNCAN *Global or local variables -Global until RELEASE or end of DTR session *any datatype e. "COMPUTED BY" fields *"COMPUTED BY" clause on field definition *computed on reference (no file space) *considered an elementary field *access like any other field *may be specified for variables f. ADT *define domain and record definition without knowing picture rules g. COBOL OCCURS *OCCURS fixed number or *OCCURS depending on... h. Data is verified during input, prompts in the event of truncation i. 11 concatenation in PRINT statement - strips all spaces to the left. j. EXTRACT - data from dictionary onto RMS file k. SHOW fields l. DEFINE DICTIONARY file - spec m. Changed Report Writer *Smarter *Centers two fields n. Changed CONTROL access mechanism o. T format - scrolling format - recognizes spaces and tabs and splits line of field p. - format (Social Security Number) q. Scaling to float r. TOTAL not limited to 16 TOTALS s. New documentation 20 THURSDAY 8:00 P.M. ANNE DUNCAN 2. Optimization of DATATRIEVE pool a. Pool is: *part of DATATRIEVE task (max size is 32KW) *not space on disk *internal work space *can't be extended when task is at maximum size *used for RMS buffers, DTR internal blocks, DTR SORT *V2 pool -increased for: VAX/VMS V2.0 - alot RSTS/E V7.0 -decreased for: RSX-11M V3.2 IAS RSX-11M+ V1.0 however, before it was used inefficiently in many cases, so.. b. Layout - DTR Task |------------------------------| \ | DTR code | | |------------------------------| | | RMS pool | | |------------------------------| | | | | | SORT pool | > Central Storage Pool | | | |------------------------------| | | | | | Small block pool | | ---=>dynamically moving | | | boundary |------------------------------| / c. Example - Look at Pool Chunks DTR> READY YACHTS |------------------------------| | YACHT buffers | |------------------------------| | | | SORT pool | | | |------------------------------| | | | YACHTS blocks | --> for every field, edit | | string,constant |------------------------------| 21 THURSDAY 8:00 P.M. ANNE DUNCAN DTR> READY YACHTS DTR> READY OWNERS |------------------------------| | YACHT buffers | |------------------------------| | OWNERS buffers | |------------------------------| | | | SORT pool | | | |------------------------------| | OWNERS blocks | |------------------------------| | YACHTS blocks | |------------------------------| DTR> READY YACHTS DTR> READY OWNERS DTR> READY YACHTS |-------------------------------| | | ----> not returned to |-------------------------------| ^ SORT pool because | OWNERS buffers | | OWNERS is still in |-------------------------------| | the way | | | | SORT pool | | called fragment - | | | not necessarily | | | useless, depends |-------------------------------| | on size | OWNERS buffers | | |-------------------------------| | | | ---/ |-------------------------------| 22 THURSDAY 8:00 P.M. ANNE DUNCAN DTR> READY YACHTS DTR> READY OWNERS DTR> FINISH YACHTS DTR> DECLARE some variables DTR> PRINT USING a table DTR> READY FAMILIES DTR> FIND FAMILIES |-------------------------------| | | --->fragment |-------------------------------| | OWNERS buffer | |-------------------------------| | | --->fragment |-------------------------------| | FAMILIES buffer | |-------------------------------| | SORT pool | |-------------------------------| | FAMILIES Collection | | blocks | |-------------------------------| | FAMILIES blocks | |-------------------------------| | | --->fragment |-------------------------------| | TABLE blocks | |-------------------------------| | OWNERS blocks | |-------------------------------| | | --->fragment |-------------------------------| | VARIABLE blocks | |-------------------------------| DTR> PRINT USING FAMILIES TABLE |-------------------------------| | | SAME AS ABOVE |-------------------------------| | SORT pool | |-------------------------------| | FAMILIES table | |-------------------------------| | | SAME AS ABOVE |-------------------------------| 23 THURSDAY 8:00 P.M. ANNE DUNCAN DTR> FINISH (everything) |-------------------------------| | RMS pool | |-------------------------------| | SORT pool | |-------------------------------| | FAMILIES table | | blocks | |-------------------------------| | | |-------------------------------| | TABLE blocks | |-------------------------------| | | |-------------------------------| | VARIABLE blocks | |-------------------------------| DTR> RELEASE ALL TABLES,COLLECTIONS AND VARIABLES (not proper syntax) |-------------------------------| | RMS pool | |-------------------------------| | SORT pool | | | |-------------------------------| | Small block pool | |-------------------------------| NOW: DTR> READY FAMILIES |-------------------------------| | FAMILIES buffer | |-------------------------------| | SORT pool | | | |-------------------------------| | FAMILIES blocks | |-------------------------------| .:Consider your usage and order of usage 24 THURSDAY 8:00 P.M. ANNE DUNCAN d. New command: SHOW SPACE Shows memory space allocation (in Bytes) Alloc. Used Free # of Fragments RMS Pool 4132. 3668. 464. 3 Small block pool 256. 250. 0. 0 Sort pool 16384. 0. 16384. 0 ------ ----- ------ --- TOTAL 20774. 3924. 16848. 0 e. Optimization of DTR pool *reduce file bucket size .:more disc accesses *reduce number of open files *consider the order that files are opened *reduce clauses within record description: - group fields - EDIT-STRING - QUERY-NAME - QUERY-HEADERS *reduce size of name strings *eliminate unnecessary fields (group items, filler) *release collections, tables and variables 3. Retrieval Algorithm a. Comparisons are done numerically (by subtraction) if either side of relational expression is a number b. String comparisons - short string padded with spaces (.:use 2 = size strings) c. For index retrieval, the search value is moved into the search field to ensure data type match (more data types in DTR than RMS-11) 4. Retrieval Algorithm for Index Files a. A field is considered an index key in V2 if its offset matches the offset of the key in the file definition and its length is less than or equal to the length of the key in the field definition 25 THURSDAY 8:00 P.M. ANNE DUNCAN b. A relational expression is index-retrievable when the field is an index key and: *operation is EQ or *operation is GT. GE. or BETWEEN and the datatype of the field matches the RMS datatype *the field is alphanumeric ad operator is EQ, GT, GE or BETWEEN |-----------------------------------------------------------------| | RMS key types: Packed decimal | | one and two word binary keys | | one and two word decimal keys | | string | |-----------------------------------------------------------------| c. An AND of 2 Booleans is index retrievable if either branch is index-retrievable d. An OR of 2 Booleans is index-retrievable if both branches are index-retrievable e. A NOT of a Boolean is never index-retrievable (bot, NOT LT = GE) 5. Arithmetic Retrieval Algorithm a. To add or subtract 2 numbers: `if either is COMP-1 or COMP-2 (more efficient, eliminates conversion, but takes space), convert both to double precision floating and add numbers (finished) `otherwise, it must convert both numbers to binary `if number of decimal digits to right of decimal points differ, multiply the number with the few digits by approximating the power of ten `add or subtract the numbers b. Multiplication: `if either number is floating, convert both to double precision float and mutiplex them `other, convert both values to binary, multiply them. Scale factor is sum of two input scale factors 26 THURSDAY 8:00 P.M. ANNE DUNCAN c. Division: *scale up numerator if necessary to provide accuracy of result (either scale of field to which being assigned or scale of the picture) *if either is floating point ... it's obvious *if division is zero, quit *if numerator is zero, return zero *divide numerator by denominator *compute the scale factor as the difference between the scale factor of the numerator and scale factor of denominator 6. Hints a. Procedures are treated as if input from terminal - will not use more or less pool b. Keep file bucket size down (1 or 2) - saves pool c. Use RSE when you need performance -FIND,SORT,PRINT slower than RSE BUT -PRINT RSE uses more dynamic pool (usually) Choice: RUN fast or RUN! d. TABLES rather than large IF-THEN-ELSE statements or BEGIN-END blocks - saves pool e. Control loading of table -reduce fragmentation -eliminate "out-of-pool" in report writer (RW takes everything it can get) -using dummy reference to table DTR> BEGIN DTR> DECLARE FOO PIC X(20). DTR> FOO=5 VIA RIG-TABLE dummy reference to table, DTR> END loads table into pool DTR> SHOW TABLES: TABLES LOADED: RIG-TABLE TABLES: RIG-TABLE 27 THURSDAY 8:00 P.M. ANNE DUNCAN f. Use COMP data type for authorized operations (incl. data) faster g. Use minimum record definitions "put edit-strings and query-headers on print statements "use abbreviated name for field name instead of query name instead of: 06 DISPLACEMENT PIC 9(5) QUERY-HEADER is "WEIGHT" EDIT-STRING IS ZZ,ZZ9 QUERY-NAME is DISP. use: 06 DISP PIC 9(5). and PRINT DISP<--("WEIGHT") using ZZ,ZZ9. But: if first exhausts pool, so will second! 28 INTRODUCTION TO DATATRIEVE Anne Duncan Digital Equipment Corporation WHAT IS DATATRIEVE? DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES, UPDATES, AND REPORT GENERATION. 29 DATATRIEVE IS INTERACTIVE OLD WAY 1. EDIT PROGRAM 2. COMPILE PROGRAM 3. (GO TO 1) 4. LINK PROGRAM 5. (GO TO 1) 6. RUN PROGRAM 7. (GO TO 1) 8. DONE! I GOT MY ANSWER!! (BUT THAT'S NOT EXACTLY WHAT I MEANT...) DATATRIEVE IS INTERACTIVE NEW WAY 1. TYPE REQUEST INTO DATATRIEVE 2. GET DATA 3. (CHANGE YOUR MIND AND GO TO 1) 4. GO HOME EARLY 30 DATATRIEVE IS INTERACTIVE, END USER ORIENTED AN END USER IS: 1. AN INVENTORY CLERK 2. A SECRETARY 3. A PROGRAMMER 4. YOU 5. EVEN YOUR MANAGER! DATATRIEVE IS INTERACTIVE, END USER ORIENTED o DATATRIEVE COMMANDS ARE SIMPLE AND ENGLISH LIKE. o DATATRIEVE FORGIVES COMMON MISTAKES WHERE MEANING IS CLEAR. o DATATRIEVE MESSAGES ARE IN ENGLISH, NOT COMPUTER-ESE. o DATATRIEVE HAS HELP ON-LINE IF NEEDED. o DATATRIEVE HAS A TAKE-YOU-BY-THE-HAND TUTORIAL BUILT IN. o DATATRIEVE HAS A TAKE-YOU-BY-THE-HAND APPLICATION DESIGN TOOL BUILT-IN. o DATATRIEVE HAS BUILT-IN DATA VALIDATION AND PROMPTING. 31 DATATRIEVE IS INTERACTIVE, END USER ORIENTED ENGLISH: FIND ALL EMPLOYEES WITH SALARY GREATER THAN $15,000 AND JOB EQUAL TO PROGRAMMER DATATRIEVE: DTR > FIND ALL EMPLOYEES WITH SALARY GREATER-THAN "$15,000" AND JOB EQUAL "PROGRAMMER" DATATRIEVE IS INTERACTIVE END USER ORIENTED ENTER DATE-IN: FEB 31, 1980 Conversion error from date string "FEB 31, 1980" Re-enter DATE-IN: 32 DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE DATATRIEVE IS COMPLETELY SELF-CONTAINED. WITHOUT LEAVING DATATRIEVE YOU CAN: 1. QUERY FILES. 2. PREPARE REPORTS. 3. UPDATE WORNOUT, TIRED DATA. 4. CREATE FILES. 5. CREATE, EDIT, AND DELETE PROCEDURES. 6. DEFINE NEW APPLICATIONS DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE DATATRIEVE CONTAINS: o RETRIEVAL FUNCTIONS o o STATISTICAL FUNCTIONS (MAX, MIN, TOTAL, AVERAGE) o SORT o REPORT WRITER o FULL UPDATE CAPABILITIES 33 DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES RETRIEVALS CAN BE BASED ON: o ONE FILE'S DATA o MULTIPLE FILES' DATA (A VIEW) DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE DATATRIEVE ENHANCES DATA SECURITY AND PRIVACY. AS A SYSTEM IT: o LIMITS WHAT A USER CAN SEE o CONTROLS WHAT A USER CAN DO IF HE CAN SEE IT 34 DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES SELECTED RETRIEVALS CAN BE BASED ON: o ANY FIELD IN RECORD (INDEXED OR NOT) o ANY COMBINATION OF FIELDS (AND/OR) o EQUAL, GREATER THAN, LESS THAN, NOT EQUAL o CONTAINING A CHARACTER STRING DATATRIEVE AUTOMATICALLY OPTIMIZES RETRIEVAL STRATEGY DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES DATATRIEVE CAN PRINT: o ALL THE DATA FIELDS (NORMAL CASE) o SOME OF THE FIELDS o ARITHMETIC COMPUTATIONS o FANCY LAYOUTS WITHOUT FANCY COMMANDS o MAX, MIN, AVERAGE, AND TOTAL OF EXPRESSIONS o ON THE TERMINAL o ON THE LINE PRINTER 35 DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES, AND UPDATES DATATRIEVE CAN: o CHANGE A FIELD IN A RECORD o CHANGE A BUNCH OF FIELDS IN A RECORD o CHANGE A BUNCH OF RECORDS o STORE FRESH, NEW RECORDS o ERASE OLD, MOLDY RECORDS DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES, AND UPDATES DATATRIEVE CAN VERIFY DATA AND REPROMPT IF: o DATA IS TOO LONG (TRUNCATION) o DATA IS INVALID 36 DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES, UPDATES AND REPORT GENERATION REPORTS USED TO BE EASY TO UNDERSTAND, BUT HARD TO DESCRIBE. NOW REPORTS ARE EASY TO DESCRIBE, TOO. DATATRIEVE IS AN INTERACTIVE, END USER ORIENTED PACKAGE FOR DATA QUERIES, UPDATES AND REPORT GENERATION DATATRIEVE HAS (FOR THE TECHNICIAN): 1. REPORT NAME, COLUMN HEADERS, PAGE NUMBERING, DATING. 2. MULTIPLE PRIORITY CONTROL BREAKS. 3. AUTOMATIC REPORT FORMATTING. 4. AUTOMATIC TOTALING. 5. CONTROL BREAK TOTALS. 6. REPORT, PAGE, AND CONTROL GROUP HEADERS AND TRAILERS. 7. PAGE TOTALS. 8. REPORT TOTALS. 37 DATATRIEVE CAN READ FILES CREATED FROM: o COBOL (ALL VERSIONS) o BASIC + 2 o DIBOL o RPG II o FORTRAN IV+ WHAT ARE THE HARDWARE REQUIREMENTS FOR DATATRIEVE? DATATRIEVE REQUIRES: o MINIMUM OF 64K BYTES OF USER MEMORY o EXTENDED INSTRUCTION SET (YOU HAVE IT) o 1200 BLOCKS OF DISK SPACE o (FLOATING POINT PROCESSOR SPEEDS UP FLOATING COMPUTATIONS) 38 WHAT ARE THE SOFTWARE REQUIREMENTS FOR DATATRIEVE? o VAX/VMS o TRAX (FOR FREE!) o RSTS/E o IAS o RSX-11M o RSX-11M PLUS ONE DATATRIEVE FOR ALL! THIS IS TOO GOOD TO BE TRUE. WHAT ARE THE PROBLEMS? o DATATRIEVE TASK IMAGE IS BIG -- CAN BOG DOWN SMALL SYSTEMS. o LARGE BUCKET SIZES EXHAUST INTERNAL SPACE. o NOT FOR BIG APPLICATIONS. o NO MORE EXCUSES. 39 LATEST NEWS ABOUT VERSION 2 INCLUDING A MAJOR BUG Chuck Watson Battelle Northwest Battelle Blvd. Richland, Washington 99352 (509) 376 2227 (FTS) 444 2227 Version 2 of DATATRIEVE should be in your hands by now. As I write this in late September, the product kits have been in the hands of your local software support specialist for a week or more. The new documentation has been published, and looks great. If you are having problems convincing your software sales person that Version 2 exists, try ordering the documentation. The DATATRIEVE PRIMER is designed for the novice user of either V1.1 OR V2. It assumes no prior computer experience. Physically, it resembles a stenographer's pad, including the easel. The DEC order number is AA-C742B-TC BGG REPORT There are 7 known patches to the new version. They are published in the October and Novermber SOFTWARE DISPATCH. Six of these are minor, but one, #5, is especially important. "WHEN AN ALTERNATE KEYED FIELD IS PART OF THE RECORD SELECTION CRITERIA FOR A MODIFY: RECORDS NOT ASSOCIATED WITH THE RECORD SELECTION CRITERIA MIGHT BE CHANGED, IN OTHER CASES, RECORDS THAT MATCH THE RECORD SELECTION CRITERIA ARE NOT MODIFIED." (and sometimes it even works properly!) Obviously, running version 2 without the patch can get you into a lot of trouble with multi-key files. The patch is in the Noverber Dispatch. 40 Dial-a-Wombat leaves police 'up a tree' First there was Dial-a-Prayer, then Dial-a-Recipe, and even Dial-a-Footballer. But the south-east Victorian town of Sale has produced one to top them all. Dial-a-Wombat. It all began early yesterday when Sale police received a telephone call: "You won't believe this, and I'm not drunk, but there's a wombat in the phone booth outside the town hall" the caller said. Not firmly convinced about the caller's claim to sobriety, members of the constabulary drove to the scene, expecting to pick up a drunk. But there it was, an annoyed wombat, trapped ina telephone booth. The wombat, determined not to be had the better of again, threw its bulk into the fray. It was eventually lassoed and released in a nearby scrub. Then the officers received another message ... another wombat in another booth. There it was: Another angry wombat trapped in a telephone booth. The constables took the miffed marsupial into temporary costody and released it, too, in the scrub. But on their way back to the station they happened to pass another telephone booth and -- you guessed it -- another imprisoned wombat. After some serious detective work, the lads in blue found a suspect, and after questioning, released him to be charged on summons. Their problem ... they cannot find a law against placing wombats in telephone booths. THIS ARTICLE IS OF SPECIAL INTEREST TO THOSE USING DATATRIEVE VIA DIAL-UP CONNECTIONS. ARTICLE APPEARED ON PAGE 1 OF THE NEWCASTLE MORNING HERALD (WSW AUSTRALIA), 27 AUGUST 1980.