




            ______________________________________________________________________________
            ______________________________________________________________________________
             
            Contributions
             
            ______________________________________________________________________________
            ______________________________________________________________________________
             
            Contributions for the  newsletter  can  be  sent  to  either  of the following
            addresses:
             
            Editor, DATATRIEVE Newsletter                  Joe H. Gallagher, Ph. D.
            c/o DECUS U. S. Chapter                        DATATRIEVE Newsletter Editor
            249 Northboro Road, BP02                       Manager, Information Center
            Marlboro, MA 01752                             Cleveland Clinic Foundation
                                                           9500 Euclid Avenue
                                                           Cleveland, Ohio  44106
             
            Letters and articles for publication  are  requested  from members of the SIG.
            They may include  helpful  hints,  inquiries  to  other  users, reports on SIG
            business, summaries of  SPRs  submitted  to  Digital  or other information for
            members of the DATATRIEVE SIG.  Machine readable input is highly desirable and
            machine-to-machine  transfer  of  material  is  preferred,  but  most anything
            legible will be considered.  However,  this  newsletter is not a forum for job
            and/or head hunting, nor is commercialism appropriate.
             
            ______________________________________________________________________________
            ______________________________________________________________________________
             
            Table of Contents
             
            ______________________________________________________________________________
             
             
                       Volume 6, Number 3
             
                   2   Chairman's Corner
                   2   From the Editor's Pen
                   3   DATATRIEVE Wish List - 1985 Spring Symposium
                   8   Article - Views from a DATATRIEVE Field Test Site
                  11   Library Notes
                  13   Hints and Kinks
                  14   Wombat Magic Session - 1985 Spring Symposium - Part 1
                  19   Subscription Renewal Form
             
            ______________________________________________________________________________
            ______________________________________________________________________________
             
            About the Cover
             
            ______________________________________________________________________________
             
            The cover for this last  issue  of the independently published Wombat Examiner
            was drawn by Bart Lederman of Bankers Trust Company.


            Wombat Examiner Volume 6, Number 3                                       DTR-1






            _____________________________________________________________________________
             
            Chairman's Corner
             
            Larry Jasmann, U. S. Coast Guard, Burke, VA
             
            _____________________________________________________________________________
             
                This, the last edition of the Wombat  Examiner as we have known it, leaves
            me with mixed emotions.  On one  hand, I already miss the unique character and
            value of the "stand-alone" version  of  the  Wombat Examiner.  My earnest hope
            though, is that by combining with  the  other newsletters, we can provide more
            information to more members of DECUS, in a more timely manner and at a reason-
            able price.
                All of us have an obligation  to  the newsletter which reaches beyond dig-
            ging into our pockets for the subscription  fee.   All of us are challenged by
            problems when we use software  products,  and  for  the most part, we overcome
            them.  The fundamental purpose of DECUS is to avoid the process of other users
            having to re-invent the same wheel.   That only happens if you pass YOUR solu-
            tions on to others.  I urge  you  to contribute your ideas, solutions and pro-
            blems to the NEW Wombat Examiner.
                The process of evolving Datatrieve  SIG  to the 4GL/DTR SIG is continuing.
            User reaction at the New Orleans Symposia  was  very favorable.  I wish to em-
            phasize that the Wombat,  and  the  atmosphere  of  fun and enjoyment that has
            always surrounded the SIG will NOT go away.  He is just diversifying a bit.
                Between now and Anaheim, the Steering  Committee will meet to finalize the
            process of changing the name and mission  of  the SIG.  The actual change will
            be gradual and will occur in response  to user desires and interests.  This is
            YOUR SIG, help us make it better.
                Best wishes for the summer.
             
            _____________________________________________________________________________
             
            From the Editor's Pen
             
            Joe H. Gallagher, Cleveland Clinic Foundation, Cleveland, OH
             
            _____________________________________________________________________________
             
                This the last issue of the  independently published Wombat Examiner.  With
            the reorganization of the "new  DECUS",  the  pressure to turn out a "product"
            has become very great and the Management Council has decided that it is in the
            best interested of DECUS that  there  be  one  monthly newsletter in which all
            special interest groups participate.   Arriving  around the first of September
            will be the first monthly issue of  the  DECUS SIG Newsletters.  If you have a
            valid subscription to any of  the  DECUS  newsletters you will receive the new
            combined newsletter until your subscription runs out.  If your subscription is
            about to run out, I urge you to renew your subscription at $35.00 per year.  A
            subscription form may  be  found  at  the  end  of  this  issue  of the Wombat
            Examiner.
                Just because you will be receiving a the DECUS SIG Newsletters each month,
            it does not  assure  you  that  there  will  be  any  material in the combined
            newsletter about DATATRIEVE  or  fourth  generation  languages.    Only if you
            submit articles will there be anything of interest to publish.


            DTR-2                                       Wombat Examiner Volume 6, Number 3






            _____________________________________________________________________________
             
            DATATRIEVE Wish List - 1985 SPRING Symposium - New Orleans
             
            Bart Z. Lederman, Bankers Trust Company, New York, NY
             
            _____________________________________________________________________________
             
            The wish list is an informal method of passing suggestions from users directly
            to the DATATRIEVE developers.  No commitment is made to implement any of these
            suggestions, but past experience has shown  that a very high percentage of the
            suggestions which meet a user need end up in the product.  All comments marked
            Editor's Note are strictly those of the editor and not DEC.
             
                1. In the most recent  releases  of  VAX-DATATRIEVE, the ability to access
                   lists in Guide mode using the
             
                                   ANY list WITH list-element RSE
             
                   has been removed.    Please  put  it  back!    It  was  very useful for
                   beginners.  (It is actually more useful than the cross.)
             
                   Answer: Don't know why  it  was  taken  out  - possibly when guide mode
                   revamped for V2.0 - will investigate further.
             
                2. I would like to see VAX-DTR have  a  feature to be able to see the hits
                   on a query.  For Example:
             
                   FOR domain A WITH field-a = 'JOE' and field-b = 'MARY' and 
                     field-c = 'TOM' PRINT HISTOGRAM, field-d, field-x
             
                                   RESULTS
             
                             A  21 occurrences
                             B   5 occurrences
                             C   2 occurrences
             
                        FIELD-D    FIELD-X   ----        ----   ----        ----
             
                   Answer: Good optimization/design tool.    Probably  a "cutsie" for wish
                   list - will add to our list.
             
                3. Inclusion of 1 additional string function: String length.  We currently
                   add this one by hand.  Inclusion would allow common string applications
                   in procedures similar to those used in languages.
             
                   Answer: A known hole in  DTR-supplied  functions.   May add in future -
                   suggest writing own function to do this meantime.
             







            Wombat Examiner Volume 6, Number 3                                       DTR-3






                4. Speed up DTR READY and FIND
             
                   Answer: READY must set up internal  tree blocks for field tree, plus do
                   necessary RMS, DBMS, Rdb &  CDD  interfaces  - probably never any major
                   improvements - maybe nickel and dime  stuff.   FIND must load in an RFA
                   and database key for each record  and store it into working environment
                   - nothing faster - except not using it.
             
                5. Ability to do a store along with  a  print  in a report, or some way of
                   using DTR's summarization capabilities to create aggregated data files.
                   (Editor's Note: apparently would like  to  get TOTALs, etc., to go back
                   into the domain.)
             
                   Answer: It is possible to  do  report  output  with no headers or space
                   operators to "create" a data file - or if desired, into existing file -
                   or use COMPUTED BY.
             
                6. Better documentation on Date Arithmetic like  A  =  B + (-30) to get 30
                   days ago.
             
                   Answer: Are looking at  expanding  date  arithmetic and "time" handling
                   for future versions.
             
                7. Compiled or partially compiled procedures.  (Has appeared before).
             
                   Answer: Hard and complex to do.  Being considered.
             
                8. Consistency among DCL,  DATATRIEVE,  FORTRAN,  etc.   Arguments on such
                   things as FN$STR_EXTRACT and FM$STR_LOCATE vary in type and order.
             
                   Answer: Good suggestion - we could start it, but would others follow?
             
                9. Easy method (without assigning variables) to print a list horizontally.
             
                   Answer: Try some of the  methods demonstrated during Wombat Magic which
                   have been published in the Wombat Examiner.  Otherwise, try a CROSS?
             
               10. In the RSE, in addition to ALL and FIRST n, how about LAST n.
             
                   Answer: Would be performance pig.    Must  keep track backwards of file
                   count - similar to collection and  select prior, but even tougher since
                   records may not be in memory,  and  LAST  n  could be a lot of records.
                   Probably won't be done.   [Editor's  note:  If the domain or collection
                   can be sorted in the reverse order, this can be accomplished by
             
                        find first n b in a sorted by reverse-order-keyfield
             









            DTR-4                                       Wombat Examiner Volume 6, Number 3






               11. In the report writer AT TOP and  AT BOTTOM prints how about some way to
                   suppress the line feed.  I'd like output like:
             
                            -----     -----     -----
                                                -----
                                                -----
             
                           Control   Control    Data
                            group     group     items
             
                   not:
             
                            -----
                                     -----
                                               -----
                                               -----
                                               -----
             
                   Answer: DTR is a general  Report  Writer.   Many expansions to existing
                   the Report Writer, like this, are being considered for future Reporting
                   capabilities.
             
               12. LIST is a nice alternative to PRINT but how about something like:
             
                          LIST (6) ALL
             
                   to produce:
             
                      Name:  Smith   Jones    Doe    Johnson   Herbert   White 
                      Age:    32      15       27       54       46         29
             
                      Name:  Baker   Foote 
                      Age:    37      29
             
                   where the number in the  ()  is  how many individual records across the
                   page.
             
                   Answer:  Similar  to  previous  Report  suggestion  (adding  horizontal
                   capability).  Probably not a function of DTR.
             
               13. Give us a RELEASE PLOTS command.    This  way we would not have to exit
                   DTR to re-invoke a new plot.
             
                   Answer:  Good  suggestion  -  Not   sure  how  "doable"  with  existing
                   architecture - will consider.
             
               14. I'd like to have DTR call our screen driver (which is not FMS or TDMS).
                   I think that making the screen interface public would do the trick.
             
                   Answer: Won't add hooks thru regular DTR - suggest callable program.
             





            Wombat Examiner Volume 6, Number 3                                       DTR-5






               15. I would like a DATATRIEVE  performance  evaluation utility like the PCA
                   utility.  This should report by  DTR statement, procedure, or by groups
                   of statements and give CPU time, disk  I/O,  etc.  The only way we have
                   now of identifying DTR performance  problems  is to have an experienced
                   programmer look at  the  code.    I'd  also  like  DTR to give optional
                   warnings when doing such things as non-keyed accesses.
             
                   Answer: General area is good idea - somewhat difficult since none of it
                   exists now (in DTR or other internal tools).  Maybe some day...
             
               16. Would like to be able to get two forms on one screen at one time.
             
                   Answer: Was considered and  done  for  V2.1,  but  removed for V2.2 and
                   later - Reason: inconsistencies in forms products and DTR's handling of
                   them.  Try a callable program.
             
               17. Scrolling in forms. (Same as Wishlist #7, Spring 1984, Cincinatti)
             
                   Answer: Can't do this in existing DTR interface.  Use callable program.
             
               18. I would like  to  be  able  to  insert  my  own  titles  on graphs when
                   plotting.  (Same as Wishlist #5, Fall 1984, Anaheim)
             
                   Answer: Suggestion good - currently on wish list.
             
               19. I would like to be able to scale the X-axis or Y-axis on PLOT MULTI_BAR
             
                   Answer:  Can modify plots on  your own (unsupported) - won't be allowed
                   in currently supplied DTR plots.
             
               20. SET [NO] READ_LOCK option  to  disable  setting  read locks on SELECTed
                   record in domain READYed SHARED READ
             
                   Answer: Requested more and more  - some logistics and internal problems
                   by doing this  -  (where  to  get  record  -  should  it change) - will
                   consider, but not jump at it.
             
               21. Access thru secondary RSE such that
             
                     FIND domain WITH ANY collection WITH key-field = key-field
             
                   does not read the collection  once  for  each record in the domain. One
                   thousand records in  the  domain  and  1000  records  in the collection
                   yields 1,000,000 GETs.
             
                   Editor's note: I believe the  problem  here  is  that the user does not
                   realize that collections are NOT  keyed.   When collections are formed,
                   the key is  lost,  hence  matching  the  domain  against the collection
                   cannot use keyed  retrieval.    I  would  suggest  a  VIEW  or CROSS to
                   establish the relation, or perhaps even a domain table.
             
               22. Add outer JOIN statement to DATATRIEVE.
             
                   Answer: Consider for future - Not easy.
             

            DTR-6                                       Wombat Examiner Volume 6, Number 3






               23. Extend DATATRIEVE graphics to include Tektronix compatible terminals.
             
                   Answer: Probably not DTR - some  graphics utility to translate ReGIS to
                   appropriate language needed.
             
                   Editor's note: anybody out  there  know  of  a program which translates
                   ReGIS to Tektronix 4010?
             
               24. I would like to see DTR on RMS files to have a default of:
             
                       READY domain SHARED READ.
             
                   This is the default for DBMS  databases,  and essentially for Rdb.  How
                   about some consistency which  will  allow  users  to access for minimum
                   conflicts.
             
                   Answer: will add suggestion  to  allow  default  READY mode to the wish
                   list - must keep existing defaults in place for existing applications.
             
                   Editor's note: It  was  suggested  that  this  be  made  a site default
                   configurable option like date format and divide by zero.
             
               25. Include key # on  SHOW  FIELDS  display  for  indexed keys and possibly
                   DUPLICATE and CHANGE  parameters,  or  at  least  identify which is the
                   primary key.
             
                   Answer: Good suggestion, will consider.
             
               26. A way of indexing into lists  to  obtain  Nth record or Nth through Mth
                   record for records with monthly data or the like.
             
                   Answer: Not easy (similar to  "LAST  n"  suggestion).  Maybe do looping
                   with count to emulate this.
             
                   Editor's note: Diana Washburn's Magic  for  doing this was presented in
                   Anaheim, and was published in the  Wombat Examiner, Volume 6, Number 1,
                   pp 30-35.
             
             

















            Wombat Examiner Volume 6, Number 3                                       DTR-7






            _____________________________________________________________________________
             
            Views from a DATATRIEVE Field Test Site
             
            LTJG Bert A. Roseberry, 8th Coast Guard (dt), New Orleans, LA
             
            _____________________________________________________________________________
             
              The U. S. Coast Guard's  Eighth  District  Office  in New Orleans has been a
            field test site for DATATRIEVE for  a  little  over a year.  As system manager
            and the  person  responsible  for  implementing  the  field  test  site on our
            VAX-11/780, I thought it might prove interesting  to share some of my views on
            being a field test site.
             
            Why would someone want to be a field test site?
             
              Typically, new versions of  a  software  product  have enhancements over the
            current version.  By being  a  field  test  site  it is like receiving the new
            version of a product four months earlier  than everyone else.  Of course these
            enhancements may have a few "bugs"  but,  in  the case of DATATRIEVE at least,
            extensive testing is done before even the  field test version is released.  It
            is up to the field test sites  to  discover these "bugs" before the product is
            released to the general public.
              Access to the development  team  is  another  reason  to become a field test
            site.  By talking to the actual  developers  of a product and by reading their
            responses to the Quality Assurance Reports  (QARs  - a sort of field test ver-
            sion of Digital's SPRs) I feel that  I know much more about the inner workings
            of DATATRIEVE.  This  makes  me  a  better  DATATRIEVE programmer and helps me
            write more  efficient  procedures  by  actually  understanding  how DATATRIEVE
            handles certain things.
              My final reason for being a field test site is to improve the product.  As a
            system manager and user of  DATATRIEVE,  I  may  have a different view of what
            DATATRIEVE should do than the developers.    As  a  field test site I can make
            suggestions on improving the product and  documentation  to meet my needs as a
            user.
             
            What does a field test site do?
             
              A field test site receives a letter from the field test administrator, docu-
            mentation on usage of the QAR system,  and some forms to sign at the beginning
            of the field test.  The installation  guide and the release notes arrive later
            along with the field  test  software.    The  field  test  site is expected to
            install the software and test it by using it. 
              Once the field test software is  installed,  I make it the "current" version
            of DATATRIEVE so that all the users  on  our  system are using it.  This gives
            the field test the widest possible usage  at  our  site.  I also keep the last
            version of DATATRIEVE on our system  for  two  purposes.  If I think the field
            test is doing something "odd",  I  have  the  last version to compare it with.
            The other reason is for severe "bugs".   If the field test does not work for a
            particular user on our system then I can  put that user back to using the last
            version of DATATRIEVE until I get a "work around" from the development team.
              When the field test site either finds  a  problem, has a question, or has an
            enhancement suggestion they call into the field test developers' VAX and enter
            the "On-Line QAR System"  where  the  developers  magically solve all problems
            immediately (well maybe not quite that  quick).   What follows is a sample QAR

            DTR-8                                       Wombat Examiner Volume 6, Number 3






            session where I check on the response to a QAR I had recently entered.
                
                Welcome to the land of WOMBAT MAGIC
                
                Username: USCG
                Password: 
                        Welcome to VAX/VMS version V4.0 on node WOMBAT
                    Last interactive login on Tuesday,  7-MAY-1985 09:33
                
                We are currently in field test for VAX DATATRIEVE V3.2.
                **************************************************************************
                NOTE - 
                
                1. The release notes shipped in  hard-copy  format in the first field test
                   kit are for V3.2.  The release notes contained on the distribution kit,
                   the ones printed  during  prompting  during  the  installation, are for
                   V3.1.  We will correct this discrepancy in the next field test release.
                
                2. When entering QARs into the  system,  please wait about a minute before
                   exitting from the QAR system.   The  spawned process will not send mail
                   to all developers on the  distribution  list  if you log off the system
                   during its execution.
                **************************************************************************
                You may enter QARs for V3.2 field  test  or read other V3.x QARs.  The EDT
                editor is used when  entering  problem  statements.    To take defaults to
                prompts, enter <TAB>.  To get help, type a ? at a prompt.
                
                When asked which version of  QARS  to  use,  please answer with T3.x (e.g.
                T3.1-1).
                
                Which version you are reporting(enter full version # or E to exit): T3.2-1
                
                         Welcome to the VAX-11 DATATRIEVE online QAR system!
                         ---------------------------------------------------
                
                              This QAR system is for Version 3.2 QARS
                
                Type <CR> when you are ready to continue... 
                %DCL-I-SUPERSEDE, previous value of SYS$INPUT has been superseded
                Current QAR is 122
                Working...
                
                Enter option (? for help): ?
                
                Options:
                    A - Add a new QAR
                    D - Directory of QARs
                    E - Edit a QAR
                    L - List a QAR - a screen at a time
                    P - Print a QAR - all at once
                    X - eXit from the QAR system
                   nn - Short list of QAR # nn
                    ? - Display this help
                


            Wombat Examiner Volume 6, Number 3                                       DTR-9






                Enter option (? for help): p
                Current QAR is 122
                Enter QAR number: 116
                
                
                                       QUALITY ASSURANCE REPORT (QAR)
                                             VAX DATATRIEVE V3.2
                **************************************************************************
                CUSTOMER: USCG                             *  DEC QAR NUMBER: 116
                                                           *      ATTACHMENT:  Yes   No X 
                REPORTED BY: Bert Roseberry                *        PRIORITY: 4
                                                           *
                DATE: 26-Mar-1985 07:59:04.85              *
                **************************************************************************
                CLASSIFICATION: Suggestion                               REPRODUCIBLE: Yes
                
                Problem summary: FN$WIDTH should have NOOPTIMIZE
                
                
                   Many times I write  large  procedures  within  a  WHILE BEGIN END loop.
                   Typically there will one section where I  will print out a wide  report
                   and will need to  use  the  FN$WIDTH(132)  statement  before I start my
                   report and FN$WIDTH(80) after my report.  Using this within a BEGIN END
                   loop causes the two  FN$  functions  to  be  optimized by bringing them
                   outside the loop.  The results are obviously not as desired.
                
                   I can think of no case in which one would want to optimize FN$WIDTH and
                   I suggest that FN$WIDTH function be modified to include the "NOOPTIMZE"
                   statement much like the functions FN$CREATE_LOG and FN$DELETE_LOG are.
                
                
                **********************      Development Response    **********************
                Date Received: 26-Mar-85                          Date Answered: 03-Apr-85
                
                Answer category: Fixed before release
                
                   This suggestion was brought about back  in the fall, and a decision was
                   made to add the NOOPTIMIZE switch to this function.  Though the kit you
                   received for V3.2 did not  have  the  change,  the next update to field
                   test will contain the NOOPTIMIZE bit set in FN$WIDTH, and carry through
                   to the V3.2 release.  Thanks for  making the suggestion - it proves our
                   earlier decision to change  the  function  will  make at least one site
                   pleased.
                
                **************************************************************************
                










            DTR-10                                      Wombat Examiner Volume 6, Number 3






                Enter option (? for help): x
                Exiting...
                Are you done using the version 3.2 QAR system: y
                Are you done using the QAR system: y
                
                
                        ******************************************
                        *   Thank you for your time and input!   *
                        ******************************************
                
                  USCG         logged out at  7-MAY-1985 09:40:21.68
                
             
            How do I become a field test site?
             
              If you have decided that you want to  put forth the extra effort needed as a
            field test site then this is how I went about it.  I picked a product that our
            site used extensively and that  I  was  familiar  with, at least to the extent
            that I could carry on discussions with the developers if need be.  I explained
            the field test process to my  upper  level management and got their support as
            well as the support of the user  community  at our site.  The New Orleans area
            is very fortunate to have a superior Digital sales team that is usually pretty
            much aware of what is going on  and  will  bend  over backwards to help us.  I
            phoned my sales representative and told her  we  would like to be a field test
            site for DATATRIEVE.  She got  together  with  the local software team and did
            basically all the work for me.   Before  long  I was talking to the Field Test
            Administrator and signing agreements making  us  a DATATRIEVE field test site.
            I had done some preliminary work before talking to our local office by meeting
            the DATATRIEVE developers at the  last  DECUS Symposium and mentioning that it
            sure would be nice to be a field test site.
              A final point to remember is that just because you ask Digital to be a field
            test site does not mean that they  will  grant your request.  For many popular
            products Digital may already have enough field test sites.  Being a field test
            site is a privilege, not a right.
             
             
            _____________________________________________________________________________
             
            Library Notes
             
            _____________________________________________________________________________
             
             
               * The Introduction and Advanced DATATRIEVE Pre-Symposium Seminar Notes from
                 the 1984 Fall Symposium in  Anaheim  are avaiable from the DECUS Library.
                 These offerings are as follows:
             
                  Introduction to DATATRIEVE      Advanced Use of VAX-11 DATATRIEVE
                  Pre-Symposium Notes             Pre-Symposium Seminar Notes
                  Anaheim, Fall 1984              Anaheim, Fall 1984
                  Program No: PSSF84-DTR1         Program No: PSSF84-DTR2
                  Media Code: (UD)                Media Code: (UD)
                  Service Charge: $25.00          Service Charge: $25.00
                  
             

            Wombat Examiner Volume 6, Number 3                                       DTR-11






               * VAX-98 DECUS Library.    DTRWHIZ:  A  Data Connectivity Utility. Version:
                 V3.0, June 1984. Submitted  By:  Digital Equipment Corporation. Operating
                 System: VAX/VMS V3.5. Source language: VAX-11 BASIC.  
             
                 Other Software Required: Datatrieve  V2  and a spreadsheet which produces
                 tabular format (e.g. DIF format  or  SYLK  format).  One of the following
                 spreadsheet tools will work  with  DTRWHIZ:   VAX DECcalc, Multiplan, and
                 Visicalc.
             
                 Special hardware reuired: VT100, VT102, VT125
             
                 WHIZ is a data connectivity utility  which links VAX-11 DATATRIEVE with a
                 variety of  spread  sheet  tools  including  VAX  DECcalc,  Multiplan and
                 Visicalc.    DTRWHIZ  used  CALLABLE  DATATRIEVE  to  extract  data  from
                 DATATRIEVE and then creates an intermediate file containing the data in a
                 format acceptableto the spreadsheet utility selected to receive it.  Once
                 the intermediate file  has  been  created,  the  user exits from DTRWHIZ,
                 invokes the  selected  utility  and  instructs  the  utility  to read the
                 intermediate file.
             
                 It is assumed that the DTRWHIZ  user is familiar with both DATATRIEVE and
                 the utility for which the data are  to  be extracted.  Through the use of
                 the COMMAND FILE and BATCH  FILE  options in DTRWHIZ, the DATATREIVE side
                 can be made quite simple.  Simply stated, DATATRIEVE commands can be pre-
                 defined in a file and that file can be invoked form within DTRWHIZ.  This
                 eleimates the need  for  users  to  remember  complex DATATRIEVE commands
                 while enabling them to benefit from the data manipulation capabilities of
                 DATATRIEVE.
             
                 Restrictions:  This  version  of  DTRWHIZ  is  not  fully compatible with
                 DATATRIEVE V2.X.  it may be  used  with DATATRIEVE 2.X, but the EDIT, and
                 DTRHELP will not function properly.
             
                 Documentation on magnetic media.
             
                 Media (Service Charge Cdoe): 600' Magtpae (MA)
             
                 Format: VAX/ANSI (Blocked 2048)
             
                 February 18, 1985
             















            DTR-12                                      Wombat Examiner Volume 6, Number 3






            _____________________________________________________________________________
             
            Hints and Kinks
             
            _____________________________________________________________________________
             
              * There is a very peculiar interactions between VAX-DATATRIEVE and FMS which
                manifests itself in the error message "Loss of precision during arithmetic
                calculation."  Consider the following very simple record definition:
                     
                     DOMAIN X USING X_RECORD ON X.DAT 
                      FORM IS X IN FORMSLIB ; 
                     RECORD X_RECORD USING 
                     01 X_REC. 
                        03 V1 PIC 9V9. 
                        03 V2 PIC 9V9. 
                        03 V3 PIC 99V9 COMPUTED BY V1*V2.;
                
                and the form X only has the fields V1  and V2 in it.  Some sample data for
                this domain is:
                     
                     V1  V2   V3
                     
                     1.0 1.0 01.0
                     1.9 1.9 03.6
                     9.0 9.0 81.0
                     9.9 9.9 98.0
                     
                When this data  is  displayed  using  the  form  X,  the second and fourth
                records give  the  error  message  "Loss  of  precision  during arithmetic
                calculation."  However, if one has  SET  NO FORM, the data is displayed as
                above without any message.  What  is  going  on?   Well, there really is a
                loss of precision in the second and  fourth records.  And when the records
                are presented to FMS an error code  (or warning code) is passed along even
                though the field which contains the error (V3) isn't even displayed in the
                form.  The problem comes about because  of the "PIC 99V9" in the field V3.
                If V3 were define as
                
                       03 V3 COMPUTED BY V1*V2.
                
                with or without  an  edit-string,  the  warning  message  goes  away.  The
                intesting (and confusing) part about  this  problem  is that it looks like
                the message is coming from FMS  when the problem (the field definition) is
                in DATATRIEVE!  [This kink is from the Newsletter Editor.]
             
              * Bert  Rosebury  of  the  U.  S.  Coast  Guard,  New  Orleans,  reports  an
                interesting store entitled "ESCAPE From the Planet of the DTR>".  He said.
                
                "This is no big deal but a curious  event  to say the least.  I am running
                as field test (T3.2-2) what will  come  out as VAX DATATRIEVE version 3.2.
                I was defining something in DATATRIEVE  when  I hit what I thought was the
                TAB key but was, in reality, the  ESCAPE  key.  What used to happen back a
                while a go was you would get something that looks like 
                


            Wombat Examiner Volume 6, Number 3                                       DTR-13






                     DTR>  $DTR>
                
                Where a dollor sign and the prompt reappear.  In 3.2 you will get
                
                     DTR> 
                     Bad escape sequence 
                     Bad escape sequence 
                     $
                
                I could live with that message  but  not  dropping me out to the DCL level
                also.
                
                I have a work around for  all  interested parties.  After making sure your
                terminal is under a field  service  agreement  (just in case) take a small
                screwdriver and remove the  keycap  labelled "ESC" everytime before typing
                DTR.
                
                A Quality Assurance Report will  be  [has  been]  submitted and two of the
                developers have seen it.    One  believes  it  is  due  to changes made to
                accomodate the VT200 series terminal."
                
                Chris Wool from du Pont [also at  a DTR test site] responds, "I checked on
                your escape problem.  V3.1 works the  same  as T3.2-2, so it appears as if
                the problem has been around for a while."
                
                
            _____________________________________________________________________________
             
            Wombat Magic Session - 1985 Spring Symposium - Part 1
             
            Session Chairman: Bob Lott
            Session Editor:   Joe H. Gallagher
             
            _____________________________________________________________________________
             
            The following is  a  very  rough  transcription  of  material presented at the
            Thursday evening Wombat Magic Session  at  the  1985 Spring DECUS Symposium in
            New Orleans.  Material which appears in  the text within square brackets [] is
            the Editor's interpretation  of  what  was  presented  and may not necessarily
            represent what was actually presented by the speaker.
             
             
            Fred Van Itallie, du Pont
             
               . . . and I had a on  going  problem.    .  . . Every time I come to one of
            these symposia I always  bring  it  up.    The  READY command in DATATRIEVE is
            extremely offensive to me,  because  it  always  readys things PROTECTED READ.
            Now I've got a problem in that I have  a  lot of users.  They all want to read
            the same data.  And none of them  really want to write down that extra word at
            the end after READY DOMAIN -- that word  called SHARED.  . . . Well, there are
            not too many problems as long as they're  all reading.  But I've got one clerk
            who's just a wonderful person.   But  she  doesn't  like to be going through a
            long and lengthy update procedure and hit  the return key and come back with a
            very, very nasty message that the domain is locked -- you can't get into that.
            In fact, I don't like that to happen to her at all because she always calls me

            DTR-14                                      Wombat Examiner Volume 6, Number 3






            when it does and I usually have to  do  the repairs.  So what can you do about
            that?  I come and complain, for one  thing [See Wishlist item #24].  But there
            are a couple of other things.
             
               Solution #1 is to let the chips  fall  where  they may.  That's OK for some
            people.  But in this situation is wasn't.
             
               Solution #2 is don't let people  ready  the domain.  And frankly that works
            pretty well [Laughter].  That is, don't let them execute the command
             
                                            READY DOMAIN
             
            What you let them do instead is run a procedure [which is
             
                 DEFINE PROCEDURE READY_DOM
                 READY DOM ("PW") SHARED READ
                 END_PROCEDURE
             
            with the command :READY_DOM.]   The  interesting  thing  about this is that it
            saves them typing since ":READY_DOM" is always less than "READY DOM SHARED".
             
               The way this is implemented  is  you  make  an entry for the access control
            list for the domain of the form
             
                 DEFINEP FOR DOM 1 USER=[USER],GRANT=PSR,PW="PW"
             
            and the access control list for the procedure as
             
                 DEFINEP FOR READY_DOM 1 USER=[USER],GRANT=PSE
             
            [Note that the user is not able  to  see  the value of the passwords in either
            the domain or procedure definitions because  of the access control list and is
            thus required to use the procedure to ready the domain.]
             
            Comment from floor:  (Richard Copeland,  Corning  Glass Works) We had the same
            concern you do with the SHARED  READ.    And that's [your solution] an elegant
            solution.  The way we got around that  was to have a detached process that has
            the file open for SHARED  WRITE  at  all  times.    And so anybody who trys an
            EXCLUSIVE READ fails, but a SHARED READ works.  That's another method for it.
             
             
            Doug Wegsheid, Whirlpool Corporation
             
               The Great Wombat got me in trouble  a  few months back.  It was right after
            April Fools day when all  the  DATATRIEVE  help got translated into pig Latin.
            And the PLOT WOMBAT became anatomically correct.  [Laughter]  And worse, after
            that at a presentation somebody  did  PLOT  WOMBAT and our new Vice President,
            Bud Wompack, didn't think that was very funny.  [More Laughter]
             
               Anyway we use DATATRIEVE for system management  a lot and one of the really
            nasty things about it is -  well  -  there's always the date and time problem.
            And the other nasty thing is  that  a  lot  of the system accounting files and
            disk utilization files have UIC's in them.  And trying to print a UIC out in a
            format that looks like anything else  in  VMS  is  not possible.  So, the same
            week that some unknown person was changing  the DTR help he added two function

            Wombat Examiner Volume 6, Number 3                                       DTR-15






            to DATATRIEVE.
             
            $DTR$FUN_DEF FN$FAO_1Q,LIB$SYS_FAO,4
               $DTR$FUN_OUT_ARG TYPE=FUN$K_STATUS
               $DTR$FUN_IN_ARG  TYPE=FUN$K_DESC,   DTYPE=DSC$K_DTYPE_T,    ORDER=1
               $DTR$FUN_IN_ARG  TYPE=FUN$K_NULL
               $DTR$FUN_IN_ARG  TYPE=FUN$K_TEST,   OUTPUT=TRUE
               $DTR$FUN_IN_ARG  TYPE=FUN$K_REF,    DTYPE=DSC$K_DTYPE_QU,   ORDER=2
            $DTR$FUN_END_DEF
             
            $DTR$FUN_DEF FN$FAO_1L,LIB$SYS_FAO,4
               $DTR$FUN_OUT_ARG TYPE=FUN$K_STATUS
               $DTR$FUN_IN_ARG  TYPE=FUN$K_DESC,   DTYPE=DSC$K_DTYPE_T,    ORDER=1
               $DTR$FUN_IN_ARG  TYPE=FUN$K_NULL
               $DTR$FUN_IN_ARG  TYPE=FUN$K_TEST,   OUTPUT=TRUE
               $DTR$FUN_IN_ARG  TYPE=FUN$K_VALUE,  DTYPE=DSC$K_DTYPE_LU,   ORDER=2
            $DTR$FUN_END_DEF
             
               How many VAX people are familiar  with  FAO?  Isn't that a wonderful system
            call?  The thing about this is that it  lets you format date and time in a lot
            of nice ways.  The other nice thing  is that it lets you print out UIC's given
            a UIC.
             
               So, everyone knows that if you have two dates
             
                 DECLARE Z USAGE IS DATE.
                 DECLARE ZZ USAGE IS DATE.
             
            and
             
                 Z = "NOW"
                 ! wait a while
                 ZZ = "NOW"
             
                 IF Z EQ ZZ THEN PRINT "SAMEDAY"
             
            [Nothing happens, because the test  for  the  equality fails because the dates
            are at different times on the same date.]  But if you form the days with
             
                 IF FN$FAO_1Q("!11%D",Z) EQ FN$FAO_1Q("!11%D",ZZ) THEN PRINT "SAMEDAY"
             
            [the function fn$fao_1q will truncate the date and time to DD-MMM-YYYY and the
            test will succeed for two dates which  are  on  the same day.]  You could also
            format it and compare the formated strings 
             
            [such as 
             
               IF FORMAT Z USING DD-MMM-YYYY EQ FORMAT ZZ USING DD-MMM-YYYY THEN . . .]
             
            but this is funner [sic].
             
               We have a couple of applications where  we  like to put the dates in and we
            set the dates equal to "NOW".  Of course,  this puts the time in.  And so what
            we did instead is
             

            DTR-16                                      Wombat Examiner Volume 6, Number 3






                 DECLARE Z USAGE IS DATE.
                 DECLARE ZZ USAGE IS DATE.
                 Z = "NOW"
                 ZZ = FN$FAO_1Q("!11%D",Z)
             
            and ZZ has today's date . . . at  midnight.  At one of the sessions earlier in
            the day someone was complaining about wanting their times at midnight.  That's
            how you get your times at midnight.
             
               And you can get your VMS date  and  time cut off to however many characters
            you want.    You  just  specify  it.    And  if  you  say  you  only want five
            [characters].  It'll give you the first five.
             
                 DECLARE Z USAGE IS DATE.
                 Z = "NOW"
                 PRINT FN$FAO_1Q("!%D",Z)
                   DD-MMM-YYYY HH:MM:SS.DD
            or
                 PRINT FN$FAO_1Q("!%T",Z)
                   HH:MM:SS.DD
            or
                 PRINT FN$FAO_1Q("!5%T",Z)
                   HH:MM
             
               This is the one I really like because  I  don't know who UIC 65537 is.  All
            this one does is -- well you can format your UIC's in HEX -- 
             
                 DECLARE UIC USAGE IS LONG.
                 UIC = 65537
                 PRINT UIC
                   65537
             
            or you can format the thing and it actually does come out [1,1]
             
                 PRINT FN$FAO_1L("!XL",UIC)
                   00010001
                 PRINT FN$FAO_1L("!%I",UIC)
                   [1,1]
             
            and if you change it to  one  that  actually  has a sign on connected with it,
            DATATRIEVE will give
             
                 UIC = 65540
                 PRINT FN$FAO_1L("!%I",UIC)
                   [SYSTEM]
             
            . . . looks really nice on your disk utilization reports.
             
             
            Bert Rosebury, U. S. Coast Guard, New Orleans, LA
             
               Basically what I am doing here is I send mail to my boss a lot of times.  I
            kind of let out my frustrations via  the  MAIL  utility.  A lot of times I get
            the feeling that my boss isn't reading my mail.  So what we have here is.
            I set up a record definition and a domain definition

            Wombat Examiner Volume 6, Number 3                                       DTR-17






             
                 DEFINE DOMAIN MAIL USING MAIL-REC ON SYS$SYSTEM:VNSMAIL.DAT;
             
                 DEFINE REOCRD MAIL-REC USING
                 01 MAIL-RECORD.
                    03 ACCT             PIC X(31).
                    03 FILLER           PIC X(2).
                    03 UNREAD           USAGE IS LONG.
                    03 FILLER           PIC X(100).;
             
            using  the  VMSMAIL.DAT  [file].    I'm  getting  out  of  it  two  pieces  of
            information: the account name and the  number  of unread messages that are out
            there.  So what I do is
             
                 READ MAIL SHARED MODIFY
                 FOR MAIL WITH ACCT = "ANGELICO"
                    MODIFY USING UNREAD = 1000
             
            [Laughter]  What this is going to do  --  when he comes in Monday -- its going
            to say that you  have  1000  new  unread  mail  messages.   [More laughter and
            applause]  So the title of this is how to get the attention of your boss.  
             
               This actually does have a more useful  application to it.  -- It's going to
            be interesting to see how long he  goes  through mail trying to get rid of the
            1000 [messages].  [Laughter]  --  One  of the more interesting things that you
            can use this for  is  we  had  a  gentlemen  who  was  running into disk quota
            problems.  He had two unread new mail  message  .  . .  What he did was delete
            these files out there called  mail  dot  something  [MAIL.MAI].  When his mail
            thing was gone [it's a good thing it  wasn't his male thing which was gone] it
            still said that he had two unread  new  mail  messages.   So if you run into a
            problem such that the number of new  unread mail message and what you [really]
            have in the data file don't correspond,  just using this will also let you fix
            it up.  It will also let  you  see  how  people are reading mail.  If they are
            reading it or not.
             
            Comment from the floor:  
             
            (Pat Scopelliti, Corning Glass Works)  I am  not his boss.  What this does, by
            the way, is fixes a bug in going from  version 3.7 to 4.0 [of VMS].  Which is,
            that if you have mail which you haven't  read  it is not put into new mail and
            in the version 4 mail files.  So you  can never read it to get your counts [of
            unread messages] back down to zero.  (Larry Jasmann, U. S. Coast Guard) That's
            why I always have one message  out  there.  (Andy Schneider, Digital Equipment
            Corporation) I found a trick from the VMS developers; we had the same problem.
            Our system kept crashing when we brought up  version 4.  I don't know why.  It
            just kept crashing.  But to not take [away from this magic], you say
             
                 MAIL> READ/NEW
             
            and there's a hook in there that  will  reset  that count back to zero.  So if
            anybody has more  mail  messages  shown  that  they  really  have,  if you say
            READ/NEW, it will always set it back down to zero.
             
                   Part 2 of this Magic Sessions will appear in the October issue.


            DTR-18                                      Wombat Examiner Volume 6, Number 3

