Discussion:
datatrieve
(too old to reply)
Phillip Helbig---remove CLOTHES to reply
2004-05-29 23:34:44 UTC
Permalink
Raw Message
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
Paul Sture
2004-05-30 06:57:16 UTC
Permalink
Raw Message
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
I can't find the documentation on www.openvms.compaq.com:8000 ...

From HELP DATATRIEVE


DEC DATATRIEVE is a data management tool for defining,
storing, updating, and displaying data. It provides
interactive and program-callable access to data, a report
writing facility, a graphics capability, screen formatting
support, and distributed access on a network connected by
DECnet.

I haven't come across it in use at any customer for years now. I last
used it on an 11/780(!) and only installed it on my Hobbyist system so
that it was there if I wanted it.

It was very handy for digging into files that you had no application
program available to display - workfiles and the like, and producing
reports sorted any way you liked. I found it useful in development and
maintenance tasks, but my bias was to go for the extra flexibility and
performance of COBOL for production programs.

If you have the documentation CDs I'd recommend reading them first to
see if it suits your purposes.
Hans Vlems
2004-05-30 08:57:18 UTC
Permalink
Raw Message
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
DATATRIEVE is (was) intended for endusers to make their own ad-hoc queries
and reports.
Its syntax makes you think it's COBOL with a hint of SQL in it.
It has access to the data definitions maintained by CDD. So the programmers
can use the CDD
data for their (COBOL) programs, end users access the data
structures/definitins via DTR32.
IIRC there's RDB support in DTR32 as well.
As with all query tools/languages, the more powerful the language the more
damage a user
can cause. With damage I mean claiming scarce system resources like memory
and CPU power.
Especially on an 11/750 or 8250, which were the systems on which I first
encountered DTR32.
Once the applications were moved to an 8650, DTR32 became more useful
because the
results it returned took less than a minute. Before that a coffee break was
definitely recommended.
Keith Cayemberg
2004-05-30 13:37:53 UTC
Permalink
Raw Message
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
Paul and Hans have already provided very good qualified answers to your
question of "what is Datatrieve". I just wish to add a couple comments
and some pointers to resources.

Datatrieve has an interesting "Collection" concept, inwhich the results
of a query are placed in a table (Collection), which can then become the
source of data for subsequent queries. These collections can also be
named, thus remaining available after a new "current" collection has
been produced by another query.

Datatrieve was designed primarily to define, query and modify RMS index
files. And although Datatrieve predates Rdb, it can be used for DDL and
DML access to Rdb databases (and others for example IBM Host ISAM). Rdb
was traditionally done through domain definition/pointer in
CDD/Repository (now a product of Oracle requiring a license) The latest
versions of Datatrieve permit the domain definition/pointer to reside in
an RMS file, thus removing the need for CDD. This has greatly reduced
the cost of using Datatrieve (especially for decentralized production
systems - which is our customer's situation).

Here a few more points of interest...

- Datatrieve can use FMS forms directly. I made liberal use of this in
2 applications I wrote for Western Michigan University in the mid
1980's. The applications (CONTACTS a public relations CRM app, and
the FASTRID FAculty and STaff Resource Identification Database)
consisted only of a DCL Menu using foreign commands to call
Datatrieve Procedures which used FMS forms to interact with the
user.

- The latest versions of Datatrieve can also produce reports in
HTML format.

- Latest since the advent of Alpha-based systems, the performance of
Datatrieve can be considered to be more than acceptable, especially
when considering the flexibility of it's interactive 4GL query
language.

- Current users of Datatrieve include...
- At least one of the U.S. Government's National Laboratories.
- A ground water monitoring system in Europe
- a Department of Transportation in one of the U.S. States.
- a Department of Education in one of the U.S. States.
- the production systems in a European automotive industry
company.
- The image processing laboratory of a space research institute.
- A european high-energy physics institute.
- The hydraulic energy database for a major far east country.
- an agricultural research centre in Europe

This is likely not a complete list. It's just what I could find
so far in the internet.

- The history of Datatrieve is interesting. Be on the watch for the
following Keywords.
Jim Starkey
Wombat
Snapshots
InterBase
Digital Rdb

For instance...
Loading Image...
and, here in German (sorry)
http://www.interbase2000.de/hist/ah1.htm


Here are some useful internet links I have collected...

DATATRIEVE Homepage
http://www.openvms.compaq.com/openvms/products/datatrieve/index.html

Compaq DATATRIEVE Version 7.2A. Bookreader Docs - Sysworks
Compaq DATATRIEVE Read Me First
Installation Guide
Guide to Interfaces
Guide to Programming and Customizing
Reference Manual
User's Guide
Client User's Guide
http://www.sysworks.com.au/swadm_dat_root/axpdocjun03/dtraxp72a.html

DATATRIEVE FAQ
http://dtrwiz.home.netcom.com/dtrfaq.html

The DATATRIEVE Programmer by Joe H. Gallagher, Ph. D.
http://dtrwiz.home.netcom.com/

DATATRIEVE as a programming language by Joe H. Gallagher, Ph. D.
http://dtrwiz.home.netcom.com/dadt04.html

BEGINNERS GUIDE TO DATATRIEVE - University of Ulster at Magee - Wayback
Machine
http://web.archive.org/web/20030214141533/http://www.infm.ulst.ac.uk/~ted/html/datatrieve.htm

Introduction to DATATRIEVE - Part 1 - Wayback Machine
http://web.archive.org/web/20010728155336/http://www.wmich.edu/docs/docs/archive/intro_datatrieve_part1.html

Introduction to DATATRIEVE - Part 2 - Wayback Machine
http://web.archive.org/web/20010728155313/http://www.wmich.edu/docs/docs/archive/intro_datatrieve_part2.html

DATATRIEVE Graphics Internals by Joe H. Gallagher, Ph. D.
http://dtrwiz.home.netcom.com/plot_paper.html

COMET & COMPANY - a bit of Datatrieve history
http://www.comets.com/datatrieve.htm

Development of Large Applications Using VAX DATATRIEVE (V00391)
http://www.decus.org/libcatalog/description_html/v00391.html


The following companies provide Datatrieve training...

DCU - Data Collections Unlimited, Inc.
http://www.dcu-inc.com/applications/datatrieve/index.htm

Tiburon, Inc.
http://www.tibinc.com/customers/coursedescription98_usr.asp


Cheers!
Keith Cayemberg
IBM Business Services GmbH - Hannover, Germany
Phillip Helbig---remove CLOTHES to reply
2004-05-30 18:00:55 UTC
Permalink
Raw Message
Post by Keith Cayemberg
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
Paul and Hans have already provided very good qualified answers to your
question of "what is Datatrieve". I just wish to add a couple comments
and some pointers to resources.
For instance...
http://www.decus.de:8080/www/common/vms/FUN/WOMBAT_JIM.JPG
and, here in German (sorry)
http://www.interbase2000.de/hist/ah1.htm
No need to apologise; I have lived in Germany for more than 20 years!

Thanks for the huge collection of pointers!
Keith Cayemberg
2004-05-30 19:56:26 UTC
Permalink
Raw Message
Post by Phillip Helbig---remove CLOTHES to reply
No need to apologise; I have lived in Germany for more than 20 years!
Oops! I wasn't thinking when I wrote that. I already knew you were
posting from Germany from your obfuscated signature.

This July 20th, it will have been "only" 15 years since I immigrated to
Germany from the U.S.
Post by Phillip Helbig---remove CLOTHES to reply
Thanks for the huge collection of pointers!
You're quite welcome. I hope you also find them useful.

Cheers!

Keith
(Still sometimes preferring DTR or RDML to SQL)
Paul Sture
2004-05-31 05:27:32 UTC
Permalink
Raw Message
Post by Keith Cayemberg
Post by Phillip Helbig---remove CLOTHES to reply
No need to apologise; I have lived in Germany for more than 20 years!
Oops! I wasn't thinking when I wrote that. I already knew you were
posting from Germany from your obfuscated signature.
This July 20th, it will have been "only" 15 years since I immigrated to
Germany from the U.S.
Post by Phillip Helbig---remove CLOTHES to reply
Thanks for the huge collection of pointers!
You're quite welcome. I hope you also find them useful.
I'll add my thanks for the list of pointer. I get a connection refused
message
when trying to access this link though:

http://www.decus.de:8080/www/common/vms/FUN/WOMBAT_JIM.JPG
--
Rats, I wanted to see that wombat as it wouldn't display on the cr*ppy OEM
VTs we used all those years ago.
Post by Keith Cayemberg
Cheers!
Keith
(Still sometimes preferring DTR or RDML to SQL)
Yep. Know what you mean there :-)
Martin Vorlaender
2004-05-31 08:14:40 UTC
Permalink
Raw Message
Post by Keith Cayemberg
http://www.decus.de:8080/www/common/vms/FUN/WOMBAT_JIM.JPG
Rats, I wanted to see that wombat as it wouldn't display on the cr*ppy OEM
VTs we used all those years ago.
I believe Martin Zinser has it on his fun VMS pages. Errr... where's
that URL now... - somewhere below http://zinser.no-ip.info/

cu,
Martin
--
Emacs would be a great | Martin Vorlaender | OpenVMS rules!
operating system, | work: ***@pdv-systeme.de
if only it came with | http://www.pdv-systeme.de/users/martinv/
a decent editor... | home: ***@radiogaga.harz.de
Michael Unger
2004-05-31 11:36:52 UTC
Permalink
Raw Message
Post by Martin Vorlaender
Post by Keith Cayemberg
http://www.decus.de:8080/www/common/vms/FUN/WOMBAT_JIM.JPG
Rats, I wanted to see that wombat as it wouldn't display on the cr*ppy OEM
VTs we used all those years ago.
I believe Martin Zinser has it on his fun VMS pages. Errr... where's
that URL now... - somewhere below http://zinser.no-ip.info/
I guess the best start would be

<http://zinser.no-ip.info/www/vms/fun/ent.htmlx>

Michael
--
Real names enhance the probability of getting real answers.
My e-mail account at DECUS Munich is no longer valid.
Keith Cayemberg
2004-05-31 15:22:17 UTC
Permalink
Raw Message
Post by Michael Unger
Post by Martin Vorlaender
Post by Keith Cayemberg
http://www.decus.de:8080/www/common/vms/FUN/WOMBAT_JIM.JPG
Rats, I wanted to see that wombat as it wouldn't display on the cr*ppy OEM
VTs we used all those years ago.
I believe Martin Zinser has it on his fun VMS pages. Errr... where's
that URL now... - somewhere below http://zinser.no-ip.info/
I guess the best start would be
<http://zinser.no-ip.info/www/vms/fun/ent.htmlx>
Michael
Sorry for the bogus link. It was valid a few weeks ago. With the help
of your suggestions, I have found an alternative site, where Martin
Zinser has placed the picture here...

Loading Image...

It's part of the following web page...

http://zinser.no-ip.info/www/vms/FUN/GER/FUN_DTR.HTMLX

Cheers!

Keith
Dave Weatherall
2004-06-06 05:11:12 UTC
Permalink
Raw Message
On Sun, 30 May 2004 19:56:26 UTC, Keith Cayemberg
Post by Keith Cayemberg
This July 20th, it will have been "only" 15 years since I immigrated to
Germany from the U.S.
My two years in 1979 have turned into 25 :-). My department back in
the UK used to have Datatrieve on an 11/44 (?) under RSX11m+. My
colleague, who set it all up, was less than impressed when a higher
authority chose Ingress over RdB to do something similar in a VMS
based system.
--
Cheers - Dave.
Andrew Dodd
2004-06-04 11:16:07 UTC
Permalink
Raw Message
Collections, whilst having some use, were almost always what killed the
performance of a running DTR system - leave aside the time to get started.
My understanding is that collections did not store the data but stored
pointers to the data. The pointer type depended on the underlying data
source. For RMS they would RFIDs or somesuch.

This meant that every time a collection was read the underlying data was
read. So if the domain was called yachts I often saw:-

Find all yachts
Find all with rig = "ketch"
Find all with length greater than 10
Print

Now with large files this took an age and used a lot of memory - the data
had been read three times in the above example.

To sit down and type

Print all yachts with rig = "ketch" and...

and have the results instantly coming out could be literally jaw dropping
for customers used to waiting many minutes. My best was 17 hours for a job
down to less than 15 minutes - just took out all the collections.

Nostalgia.

Andrew Dodd - now with Hewlwtt Packard
Jan-Erik Söderholm
2004-05-30 18:36:57 UTC
Permalink
Raw Message
Hi!

I think DTR is/was a quite nice tool.

I used the DTR-11 version on a PDP 11/84 running RSX-11/M
(using 4Mb mem !). Someone toold me it was probably the most
heavily overlayed application on RSX ever written... :-)

Anyway, I used it for reporting as usualy, but also to "edit"
fixed record lengt, direct access RMS files, which could not
be edited with a normal editor (EDT or TPU) since they would
change the fixed record format.

You could say that there are better PC-based tools using
e.g. ODBC today, but show me how to run them from batch
jobs ! :-) :-)


Jan-Erik.
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
Paul Sture
2004-05-30 19:33:06 UTC
Permalink
Raw Message
Post by Jan-Erik Söderholm
Hi!
I think DTR is/was a quite nice tool.
I used the DTR-11 version on a PDP 11/84 running RSX-11/M
(using 4Mb mem !). Someone toold me it was probably the most
heavily overlayed application on RSX ever written... :-)
Oh, LOL Jan-Erik. Not only was it heavily overlayed in RSX, but, well,
this is the best description I have come across about it on VMS.

=================================================================

A Day in the Life of the Image Activator

as recounted to Stanley Rabinowitz on 7-Jan-1985

MONITOR: Good morning sir! I am your command language
interpreter today. That was a flawlessly executed LOGIN.
How may I help you today?

USER: Good morning to you too computer.
I think today I want to do some data retrieving.

MONITOR: A wonderful choice sir! A finer day it couldn't be
for looking over your data. How will you have it today?
Sunny side up? Once over lightly?

USER: I think I'll use DATATRIEVE. Would you kindly activate
DATATRIEVE please?

MONITOR: Most certainly sir! An excellent choice!
One moment while I image-activate it.

MONITOR: Oh, image activator: would you please image-activate
that DTR32 image that I notice on SYS$SYSTEM? My user
desires to play with it a bit now.

IMAGE ACTIVATOR: No problem. Shouldn't take but a jiff.

<pause>

MONITOR: Any problems?

IMAGE ACTIVATOR: No sir, not a one. It's just that I'm surprised to
see that DTR32 is composed of 21 image sections.
Quite an unusual number for a VMS utility. Most
images only have 3 or 4 sections. This one really
sets a record! But no problem - I just \love/ to map
in all these sections. After all - that's my primary
purpose in life.

<pause>

IMAGE ACTIVATOR: Well, that should do it. They're all mapped in.

MONITOR: Then we can start her up now?

IMAGE ACTIVATOR: Well not quite. I just noticed that this image
invokes some shared images. Oh well, I guess I'll
have to go image-activate them too. At least we'll
only have to activate those images that this program
really needs.

MONITOR: How many shared images does it require?

IMAGE ACTIVATOR: Oh mi gosh! It references 15 shared images!
Another record! I can't believe it!
Oh well, here goes...

IMAGE ACTIVATOR: The first one it wants is DTRSHR. That should be
an easy one.

<pause>

IMAGE ACTIVATOR: Oh no! Not another one. That's two in one day!
DTRSHR.EXE uses 20 image sections!

MONITOR: Have you enough room for them all?

IMAGE ACTIVATOR: No sweat. This is a virtual memory machine. And this disk
I/O is real fast. I'll have it in a minute.

<pause>

IMAGE ACTIVATOR: There. Now on to the other shared images. Next
comes CDDSHR. Guess it's important that we share
all this data.

MONITOR: Yup. What next?

IMAGE ACTIVATOR: Now we'll need a database manager, so I guess
we'll just have to go off and image-activate DBMSHR,
the database management system.

MONITOR: Sounds reasonable.

USER: How's it coming there computer?

MONITOR: No sweat. It'll be just another moment.

IMAGE ACTIVATOR: And now we'll activate RDBSHR.

MONITOR: But I thought you just brought in your database manager?

IMAGE ACTIVATOR: Yes, but this one is the \relational/ database system.
It's a whole different ballgame.

MONITOR: Well, hurry it along.

IMAGE ACTIVATOR: Okay. Next comes RDMSHR, the relational database
manager.

MONITOR: But how does that differ from RDBSHR?

IMAGE ACTIVATOR: I don't know. I just activate 'em. They tell me
to image-act and I image-act.

MONITOR: Well, I hope that's it for database managers.

IMAGE ACTIVATOR: Not quite. There's still RDBBSHR. This company
specializes in its excellent collection of managers.

MONITOR: Great! I guess that's it then.

IMAGE ACTIVATOR: Not on your life! Do you think our user merely
wants to look at relationships? What if he wants
to sort his data?

MONITOR: Oh.

IMAGE ACTIVATOR: Didn't think of that did you? I guess we'll just
have to go image-activate SORTSHR.

MONITOR: I guess so.

USER: But I don't plan to do any sorting today.
I just wanted to prepare a short report.

IMAGE ACTIVATOR: Sorry. SORTSHR comes with this image.
It's a free option.

MONITOR: What next?

IMAGE ACTIVATOR: Hmm. Looks like a request to bring in COBRTL,
the COBOL run-time library.

MONITOR: Why would they want that? Is DATATRIEVE written in
COBOL?

IMAGE ACTIVATOR: No, but the COBOL run time library has many precious
gems of useful routines that one might wish to call...
Guess, I'll just go image-activate it now.

MONITOR: Good thing you don't also need the FORTRAN run-time
library too.

IMAGE ACTIVATOR: Now you've done it! You've given me the evil eye.
Either that or I just got up out of the wrong side
of the bed this morning. Here look at this: this
image is also requesting FORRTL and LIBRTL.
OH! and now look: It wants MTHRTL too!

MONITOR: You never know when our user might want to do some
computation. He might need to compute some arc
cosines you know. Better safe than sorry.

USER: What's taking so long?

MONITOR: (still trying to be pleasant) We're almost there now.
Shant be much longer. After all, you want a
user-friendly system don't you?

IMAGE ACTIVATOR: That's right. I guess that's why I've been
instructed to image activate LBRSHR. You never
know when the user might request some on-line help
so we've got to have our librarian ready to answer
his questions.

MONITOR: That's nice. I'm sure our user will appreciate that.

IMAGE ACTIVATOR: And oh yeah - we'll need SCRSHR too, the screen
package. Only the best on \this/ system. Can't
let our user make do without fancy graphics!

MONITOR: A wonderful thought. But will SCRSHR be enough?

IMAGE ACTIVATOR: No. you're right of course. We'll also have to
bring in EDTSHR. SCRSHR is only the low level
graphics. EDTSHR will really let our user edit
his data in style.

USER: But I wasn't planning to change the data today.
Just one simple report...

MONITOR: Keep your shirt on. When this image finally comes
up, it will really blow your mind.

MONITOR: But image activator, will EDTSHR really be enough?
Isn't the big thing these days forms?

IMAGE ACTIVATOR: Right you are monitor, baby. Guess we'll need
FDVSHR, the forms management system. Won't take
but another moment. (sigh) I think that was the last
one.

MONITOR: Great! Then I can report back that we're ready to go?

IMAGE ACTIVATOR: One second. Let me make one last check...

MONITOR: Never pays to be hasty.

IMAGE ACTIVATOR: Ah nuts! Some of these new images that we just
activated are requesting further attention.
It looks like they too want to activate other
shared images.

MONITOR: Don't we have enough images? That's been 16 already!

IMAGE ACTIVATOR: Well, security is an important issue too.
Wouldn't want our user to lose any data.
Look here: CDDSHR wants us to bring in SECURESHR.
Guess I'll just have to image-activate another one...

USER: (getting impatient) What's taking so long?

MONITOR: We're putting all the pieces together for you now.
Shouldn't be much longer.

USER: Putting them together? Doesn't it come all assembled?

MONITOR: Not to worry. There's no extra charge for installation.

IMAGE ACTIVATOR: There. And now what? Look at this: CDDSHR also wants
us to activate LIBRTL, the common run-time library.

MONITOR: But didn't you already activate LIBRTL?

IMAGE ACTIVATOR: Right on baby! Let me just look around.

<pause>

IMAGE ACTIVATOR: Oh there it is. We have it mapped into memory already.
I guess I'll just throw this request away.

MONITOR: Do you get many of these redundant requests?

IMAGE ACTIVATOR: Yeah, they happen all the time. Nothing to worry about.
You get used to it. Look here, SCRSHR wants LIBRTL too;
and so does SORTSHR, and COBRTL, and FORRTL, and ...

MONITOR: Well hurry it along please.

IMAGE ACTIVATOR: ... and FDVSHR and MTHRTL and ...
Oh and look at this duplicate request for LBRSHR and
RDMSHR and RDBBSHR and VMSRTL and ...

MONITOR: VMSRTL? I don't remember seeing that one before.
What is it and who wants it?

IMAGE ACTIVATOR: Oops, you're right. I almost overlooked this request
by RDBSHR. It's easy to overlook this one; it's so
small. Only contains a few transfer vectors...

MONITOR: Guess it should be easy to activate then?

IMAGE ACTIVATOR: On the contrary. This one attempts to activate
the entire RTL! Imagine that. Oh well. That's life.
Fortunately, I've already brought in most of the RTL.
Let's see now, what else will we need? Oh yes,
BASRTL. Can't imagine how we overlooked that one.

MONITOR: Is that it then?

IMAGE ACTIVATOR: Yup. That's it. She's all here. You can go start
her up!

USER: (pounding on keyboard) Where's my data!

MONITOR: Please use voice input sir! Those CTRL/T's are
MOST annoying. They cause the most insidious
asynchronous traps to interrupt what I'm trying
to do. We're starting your image now.

USER: It's about time.

MONITOR: There. How's that? Lovely data isn't it?

USER: I wouldn't know. Where's my prompt?

MONITOR: I don't know. Let me look into it.

MONITOR: Control unit, where's his prompt?

CONTROL UNIT: We're executing instructions as fast as we can!
Oh my god! An exception!

MONITOR: An exception! Is that serious?

CONTROL UNIT: My mistake; it's not a hardware exception, it's merely
a software exception. Looks like the program signalled.

MONITOR: Why'd it do that?

CONTROL UNIT: Well, this program is naturally user friendly, so it
wants to start up by printing a welcome message
on the terminal.

MONITOR: So why doesn't it do that?

CONTROL UNIT: Well the message is in a message file, sir.

MONITOR: Well get it!

CONTROL UNIT: That's what we're trying to do. You'll have to
check with the system message handling facility.
It takes care of those things.

SYSTEM: Ah, I have the message request now. I'll have the
message in a moment.

MONITOR: Well, how do you get it?

SYSTEM: No sweat, we'll just image activate the appropriate
message section.

IMAGE ACTIVATOR: Oh no. I thought I had a deserved rest coming.

SYSTEM: Sorry, just a little bit longer.

USER: WHERE'S MY PROMPT!!!!!

MONITOR: Keep your pants on. Just be glad you're not
trying to activate any subprocesses.

IMAGE ACTIVATOR: Okay, one last time. Which message section do
you need activated?

SYSTEM: I'm not sure. Let's try DBMMSG. DBMSHR alerted
us to this one.

IMAGE ACTIVATOR: (struggling) Okay. There it is. I've image-activated
DBMMSG.

SYSTEM: Sorry. It wasn't in that one. Try CDDSHR's message
section, CDDEXC. Maybe it's in there.

IMAGE ACTIVATOR: Okay. (grumble)

SYSTEM: Nope. It wasn't there either. Try RDMSMSG.

IMAGE ACTIVATOR: Look. I'm getting tired of this. Couldn't you just
give me the complete list of message sections to
activate? I'll keep bringing them in until we
find that damn message. Exactly what message
are we looking for?

SYSTEM: Not sure yet, all I have is a number, but it's
probably something like "Welcome to VAX DATATRIEVE".

IMAGE ACTIVATOR: Well...

SYSTEM: Well what?

IMAGE ACTIVATOR: That list of message sections...

SYSTEM: Oh yeah. Well RDBSHR wants RDBMSGS, and not to be outdone,
RDBBSHR wants RDBBMSGS, not to be confused with RDBMSGS,
and DTRSHR wants DTRMSGS, and SORTSHR wants SHRIMGMSG,
and lots of other guys are asking for SHRIMGMSG also - but
I'm too smart for them. I'll just get it once and no one
will ever know the difference.

IMAGE ACTIVATOR: Working...

SYSTEM: And don't forget FDVMSG. The message might be in there too.

MONITOR: OH NO!

SYSTEM: What is it?

IMAGE ACTIVATOR: Are you all right?

MONITOR: An interrupt!

IMAGE ACTIVATOR: An interrupt?

MONITOR: That's what I said, an interrupt.
Image activator: stop what you're doing.

IMAGE ACTIVATOR: Why? Just when I was getting the hang of it.

MONITOR: The user has typed CTRL/Y.

IMAGE ACTIVATOR: Okay, everything has been suspended. Can I go
to sleep now?

MONITOR: No, you better stick around in case the user wants
to continue. And notify the exit routines to stand by.
And the rundown procedures. Also, I need moral support.
Maybe if I flash a dollar sign in front of his eyes,
he'll stop looking so angry.

USER: Computer, I'm really getting tired of this.

MONITOR: But we were so close...

USER: A likely story.

MONITOR: Well what can I do for you instead?

USER: I still want my report. Let's try some other
way of retrieving my data.

MONITOR: A wonderful idea sir! A finer day it couldn't be
for looking over your data. How will you have it today?
Sunny side up? Once over lightly?

USER: How about SCRAMBLED?

MONITOR: No problem sir. Wait one moment while I activate
ENCRYPTSHR...

the curtain falls as the dance begins again...


The players:

DTR32 VAX DTR V3.1
DTRSHR VAX DTR V3.1
CDDSHR CDD T3.1-0
DBMSHR VAX DBMS V2.2-3
RDBSHR 03-06
RDMSHR Rdb/VMS T1.1
RDBBSHR 03-05 also known as RDBBSTUB
SORTSHR V04-000
COBRTL V04-000
FORRTL V04-000
LIBRTL V04-000
MTHRTL V04-000
FDVSHR FMS V2.2
LBRSHR V04-000
SCRSHR V04-000
EDTSHR V04-000
SECURESHR V04-000
VMSRTL V04-000
BASRTL V04-000
DTRMSGS 03-05
CDDEXC CDD T3.1-0
DBMMSG 03-03
RDMSMSG 03-05
RDBMSGS 03-06
RDBBMSGS 03-05
SHRIMGMSG V04-000
FDVMSG V2.1-003

for a grand total of 27 shared images and 153 image sections.
Michael Austin
2004-05-31 01:27:44 UTC
Permalink
Raw Message
LOL--- someone had way too much time on their hands...

M.Austin.
Post by Paul Sture
Post by Jan-Erik Söderholm
Hi!
I think DTR is/was a quite nice tool.
I used the DTR-11 version on a PDP 11/84 running RSX-11/M
(using 4Mb mem !). Someone toold me it was probably the most
heavily overlayed application on RSX ever written... :-)
Oh, LOL Jan-Erik. Not only was it heavily overlayed in RSX, but, well,
this is the best description I have come across about it on VMS.
=================================================================
A Day in the Life of the Image Activator
as recounted to Stanley Rabinowitz on 7-Jan-1985
MONITOR: Good morning sir! I am your command language
interpreter today. That was a flawlessly executed LOGIN.
How may I help you today?
USER: Good morning to you too computer.
I think today I want to do some data retrieving.
MONITOR: A wonderful choice sir! A finer day it couldn't be
for looking over your data. How will you have it today?
Sunny side up? Once over lightly?
USER: I think I'll use DATATRIEVE. Would you kindly activate
DATATRIEVE please?
MONITOR: Most certainly sir! An excellent choice!
One moment while I image-activate it.
MONITOR: Oh, image activator: would you please image-activate
that DTR32 image that I notice on SYS$SYSTEM? My user
desires to play with it a bit now.
IMAGE ACTIVATOR: No problem. Shouldn't take but a jiff.
<pause>
MONITOR: Any problems?
IMAGE ACTIVATOR: No sir, not a one. It's just that I'm surprised to
see that DTR32 is composed of 21 image sections.
Quite an unusual number for a VMS utility. Most
images only have 3 or 4 sections. This one really
sets a record! But no problem - I just \love/ to map
in all these sections. After all - that's my primary
purpose in life.
<pause>
IMAGE ACTIVATOR: Well, that should do it. They're all mapped in.
MONITOR: Then we can start her up now?
IMAGE ACTIVATOR: Well not quite. I just noticed that this image
invokes some shared images. Oh well, I guess I'll
have to go image-activate them too. At least we'll
only have to activate those images that this program
really needs.
MONITOR: How many shared images does it require?
IMAGE ACTIVATOR: Oh mi gosh! It references 15 shared images!
Another record! I can't believe it!
Oh well, here goes...
IMAGE ACTIVATOR: The first one it wants is DTRSHR. That should be
an easy one.
<pause>
IMAGE ACTIVATOR: Oh no! Not another one. That's two in one day!
DTRSHR.EXE uses 20 image sections!
MONITOR: Have you enough room for them all?
IMAGE ACTIVATOR: No sweat. This is a virtual memory machine. And this disk
I/O is real fast. I'll have it in a minute.
<pause>
IMAGE ACTIVATOR: There. Now on to the other shared images. Next
comes CDDSHR. Guess it's important that we share
all this data.
MONITOR: Yup. What next?
IMAGE ACTIVATOR: Now we'll need a database manager, so I guess
we'll just have to go off and image-activate DBMSHR,
the database management system.
MONITOR: Sounds reasonable.
USER: How's it coming there computer?
MONITOR: No sweat. It'll be just another moment.
IMAGE ACTIVATOR: And now we'll activate RDBSHR.
MONITOR: But I thought you just brought in your database manager?
IMAGE ACTIVATOR: Yes, but this one is the \relational/ database system.
It's a whole different ballgame.
MONITOR: Well, hurry it along.
IMAGE ACTIVATOR: Okay. Next comes RDMSHR, the relational database
manager.
MONITOR: But how does that differ from RDBSHR?
IMAGE ACTIVATOR: I don't know. I just activate 'em. They tell me
to image-act and I image-act.
MONITOR: Well, I hope that's it for database managers.
IMAGE ACTIVATOR: Not quite. There's still RDBBSHR. This company
specializes in its excellent collection of managers.
MONITOR: Great! I guess that's it then.
IMAGE ACTIVATOR: Not on your life! Do you think our user merely
wants to look at relationships? What if he wants
to sort his data?
MONITOR: Oh.
IMAGE ACTIVATOR: Didn't think of that did you? I guess we'll just
have to go image-activate SORTSHR.
MONITOR: I guess so.
USER: But I don't plan to do any sorting today.
I just wanted to prepare a short report.
IMAGE ACTIVATOR: Sorry. SORTSHR comes with this image.
It's a free option.
MONITOR: What next?
IMAGE ACTIVATOR: Hmm. Looks like a request to bring in COBRTL,
the COBOL run-time library.
MONITOR: Why would they want that? Is DATATRIEVE written in
COBOL?
IMAGE ACTIVATOR: No, but the COBOL run time library has many precious
gems of useful routines that one might wish to call...
Guess, I'll just go image-activate it now.
MONITOR: Good thing you don't also need the FORTRAN run-time
library too.
IMAGE ACTIVATOR: Now you've done it! You've given me the evil eye.
Either that or I just got up out of the wrong side
of the bed this morning. Here look at this: this
image is also requesting FORRTL and LIBRTL.
OH! and now look: It wants MTHRTL too!
MONITOR: You never know when our user might want to do some
computation. He might need to compute some arc
cosines you know. Better safe than sorry.
USER: What's taking so long?
MONITOR: (still trying to be pleasant) We're almost there now.
Shant be much longer. After all, you want a
user-friendly system don't you?
IMAGE ACTIVATOR: That's right. I guess that's why I've been
instructed to image activate LBRSHR. You never
know when the user might request some on-line help
so we've got to have our librarian ready to answer
his questions.
MONITOR: That's nice. I'm sure our user will appreciate that.
IMAGE ACTIVATOR: And oh yeah - we'll need SCRSHR too, the screen
package. Only the best on \this/ system. Can't
let our user make do without fancy graphics!
MONITOR: A wonderful thought. But will SCRSHR be enough?
IMAGE ACTIVATOR: No. you're right of course. We'll also have to
bring in EDTSHR. SCRSHR is only the low level
graphics. EDTSHR will really let our user edit
his data in style.
USER: But I wasn't planning to change the data today.
Just one simple report...
MONITOR: Keep your shirt on. When this image finally comes
up, it will really blow your mind.
MONITOR: But image activator, will EDTSHR really be enough?
Isn't the big thing these days forms?
IMAGE ACTIVATOR: Right you are monitor, baby. Guess we'll need
FDVSHR, the forms management system. Won't take
but another moment. (sigh) I think that was the last
one.
MONITOR: Great! Then I can report back that we're ready to go?
IMAGE ACTIVATOR: One second. Let me make one last check...
MONITOR: Never pays to be hasty.
IMAGE ACTIVATOR: Ah nuts! Some of these new images that we just
activated are requesting further attention.
It looks like they too want to activate other
shared images.
MONITOR: Don't we have enough images? That's been 16 already!
IMAGE ACTIVATOR: Well, security is an important issue too.
Wouldn't want our user to lose any data.
Look here: CDDSHR wants us to bring in SECURESHR.
Guess I'll just have to image-activate another one...
USER: (getting impatient) What's taking so long?
MONITOR: We're putting all the pieces together for you now.
Shouldn't be much longer.
USER: Putting them together? Doesn't it come all assembled?
MONITOR: Not to worry. There's no extra charge for installation.
IMAGE ACTIVATOR: There. And now what? Look at this: CDDSHR also wants
us to activate LIBRTL, the common run-time library.
MONITOR: But didn't you already activate LIBRTL?
IMAGE ACTIVATOR: Right on baby! Let me just look around.
<pause>
IMAGE ACTIVATOR: Oh there it is. We have it mapped into memory already.
I guess I'll just throw this request away.
MONITOR: Do you get many of these redundant requests?
IMAGE ACTIVATOR: Yeah, they happen all the time. Nothing to worry about.
You get used to it. Look here, SCRSHR wants LIBRTL too;
and so does SORTSHR, and COBRTL, and FORRTL, and ...
MONITOR: Well hurry it along please.
IMAGE ACTIVATOR: ... and FDVSHR and MTHRTL and ...
Oh and look at this duplicate request for LBRSHR and
RDMSHR and RDBBSHR and VMSRTL and ...
MONITOR: VMSRTL? I don't remember seeing that one before.
What is it and who wants it?
IMAGE ACTIVATOR: Oops, you're right. I almost overlooked this request
by RDBSHR. It's easy to overlook this one; it's so
small. Only contains a few transfer vectors...
MONITOR: Guess it should be easy to activate then?
IMAGE ACTIVATOR: On the contrary. This one attempts to activate
the entire RTL! Imagine that. Oh well. That's life.
Fortunately, I've already brought in most of the RTL.
Let's see now, what else will we need? Oh yes,
BASRTL. Can't imagine how we overlooked that one.
MONITOR: Is that it then?
IMAGE ACTIVATOR: Yup. That's it. She's all here. You can go start
her up!
USER: (pounding on keyboard) Where's my data!
MONITOR: Please use voice input sir! Those CTRL/T's are
MOST annoying. They cause the most insidious
asynchronous traps to interrupt what I'm trying
to do. We're starting your image now.
USER: It's about time.
MONITOR: There. How's that? Lovely data isn't it?
USER: I wouldn't know. Where's my prompt?
MONITOR: I don't know. Let me look into it.
MONITOR: Control unit, where's his prompt?
CONTROL UNIT: We're executing instructions as fast as we can!
Oh my god! An exception!
MONITOR: An exception! Is that serious?
CONTROL UNIT: My mistake; it's not a hardware exception, it's merely
a software exception. Looks like the program signalled.
MONITOR: Why'd it do that?
CONTROL UNIT: Well, this program is naturally user friendly, so it
wants to start up by printing a welcome message
on the terminal.
MONITOR: So why doesn't it do that?
CONTROL UNIT: Well the message is in a message file, sir.
MONITOR: Well get it!
CONTROL UNIT: That's what we're trying to do. You'll have to
check with the system message handling facility.
It takes care of those things.
SYSTEM: Ah, I have the message request now. I'll have the
message in a moment.
MONITOR: Well, how do you get it?
SYSTEM: No sweat, we'll just image activate the appropriate
message section.
IMAGE ACTIVATOR: Oh no. I thought I had a deserved rest coming.
SYSTEM: Sorry, just a little bit longer.
USER: WHERE'S MY PROMPT!!!!!
MONITOR: Keep your pants on. Just be glad you're not
trying to activate any subprocesses.
IMAGE ACTIVATOR: Okay, one last time. Which message section do
you need activated?
SYSTEM: I'm not sure. Let's try DBMMSG. DBMSHR alerted
us to this one.
IMAGE ACTIVATOR: (struggling) Okay. There it is. I've image-activated
DBMMSG.
SYSTEM: Sorry. It wasn't in that one. Try CDDSHR's message
section, CDDEXC. Maybe it's in there.
IMAGE ACTIVATOR: Okay. (grumble)
SYSTEM: Nope. It wasn't there either. Try RDMSMSG.
IMAGE ACTIVATOR: Look. I'm getting tired of this. Couldn't you just
give me the complete list of message sections to
activate? I'll keep bringing them in until we
find that damn message. Exactly what message
are we looking for?
SYSTEM: Not sure yet, all I have is a number, but it's
probably something like "Welcome to VAX DATATRIEVE".
IMAGE ACTIVATOR: Well...
SYSTEM: Well what?
IMAGE ACTIVATOR: That list of message sections...
SYSTEM: Oh yeah. Well RDBSHR wants RDBMSGS, and not to be outdone,
RDBBSHR wants RDBBMSGS, not to be confused with RDBMSGS,
and DTRSHR wants DTRMSGS, and SORTSHR wants SHRIMGMSG,
and lots of other guys are asking for SHRIMGMSG also - but
I'm too smart for them. I'll just get it once and no one
will ever know the difference.
IMAGE ACTIVATOR: Working...
SYSTEM: And don't forget FDVMSG. The message might be in there too.
MONITOR: OH NO!
SYSTEM: What is it?
IMAGE ACTIVATOR: Are you all right?
MONITOR: An interrupt!
IMAGE ACTIVATOR: An interrupt?
MONITOR: That's what I said, an interrupt.
Image activator: stop what you're doing.
IMAGE ACTIVATOR: Why? Just when I was getting the hang of it.
MONITOR: The user has typed CTRL/Y.
IMAGE ACTIVATOR: Okay, everything has been suspended. Can I go
to sleep now?
MONITOR: No, you better stick around in case the user wants
to continue. And notify the exit routines to stand by.
And the rundown procedures. Also, I need moral support.
Maybe if I flash a dollar sign in front of his eyes,
he'll stop looking so angry.
USER: Computer, I'm really getting tired of this.
MONITOR: But we were so close...
USER: A likely story.
MONITOR: Well what can I do for you instead?
USER: I still want my report. Let's try some other
way of retrieving my data.
MONITOR: A wonderful idea sir! A finer day it couldn't be
for looking over your data. How will you have it today?
Sunny side up? Once over lightly?
USER: How about SCRAMBLED?
MONITOR: No problem sir. Wait one moment while I activate
ENCRYPTSHR...
the curtain falls as the dance begins again...
DTR32 VAX DTR V3.1
DTRSHR VAX DTR V3.1
CDDSHR CDD T3.1-0
DBMSHR VAX DBMS V2.2-3
RDBSHR 03-06
RDMSHR Rdb/VMS T1.1
RDBBSHR 03-05 also known as RDBBSTUB
SORTSHR V04-000
COBRTL V04-000
FORRTL V04-000
LIBRTL V04-000
MTHRTL V04-000
FDVSHR FMS V2.2
LBRSHR V04-000
SCRSHR V04-000
EDTSHR V04-000
SECURESHR V04-000
VMSRTL V04-000
BASRTL V04-000
DTRMSGS 03-05
CDDEXC CDD T3.1-0
DBMMSG 03-03
RDMSMSG 03-05
RDBMSGS 03-06
RDBBMSGS 03-05
SHRIMGMSG V04-000
FDVMSG V2.1-003
for a grand total of 27 shared images and 153 image sections.
Paul Sture
2004-05-31 05:40:25 UTC
Permalink
Raw Message
Post by Michael Austin
LOL--- someone had way too much time on their hands...
And on a serious note It was 1985/6 that I managed to cut the CPU time
needed to load DTR on an 11/780 by over a second, simply by installing a
load of those images. The ones for products we didn't have (e.g. RDB)
were just stubs so didn't carry much overhead.

<famous Stan Rabinowitz tale snipped>
Hans Vlems
2004-05-31 08:17:26 UTC
Permalink
Raw Message
Post by Paul Sture
Post by Michael Austin
LOL--- someone had way too much time on their hands...
And on a serious note It was 1985/6 that I managed to cut the CPU time
needed to load DTR on an 11/780 by over a second, simply by installing a
load of those images. The ones for products we didn't have (e.g. RDB)
were just stubs so didn't carry much overhead.
<famous Stan Rabinowitz tale snipped>
Famous it may be but I'd never read that before Paul, thank you for posting
it.
Now with 20/20 hindsight I suddenly understand why DTR32 was not so very
fast on an 11/750 with just 2 MB....

Hans
(still laughing)
Paul Sture
2004-05-31 09:48:00 UTC
Permalink
Raw Message
Post by Hans Vlems
Post by Paul Sture
Post by Michael Austin
LOL--- someone had way too much time on their hands...
And on a serious note It was 1985/6 that I managed to cut the CPU time
needed to load DTR on an 11/780 by over a second, simply by installing a
load of those images. The ones for products we didn't have (e.g. RDB)
were just stubs so didn't carry much overhead.
<famous Stan Rabinowitz tale snipped>
Famous it may be but I'd never read that before Paul, thank you for posting
it.
Now with 20/20 hindsight I suddenly understand why DTR32 was not so very
fast on an 11/750 with just 2 MB....
Hans
(still laughing)
You have seen Stan's famous SPR, haven't you?

http://www.bizyx.com/ingres/section02.htm

and after reading that, fire up DECW$CALENDAR, go for the help ->
Overview and you undertand why the last 3 topics are there (don't forget
the subtopics).

To keep on topic, I'm revisiting Datatrieve as part of this. One
annoying thing is that contrary to the help, when run from a DECterm, it
goes into /interface/decwindows, and I'm hitting

Motif BadWindow (invalid Window parameter)

errors when I use the SHOW command (maybe because I have Mozilla and
another couple of X-apps open).

To override that and get the CLI mode.

$ define dtr$nowindows true
Hans Vlems
2004-05-31 14:43:47 UTC
Permalink
Raw Message
Post by Paul Sture
Post by Hans Vlems
Post by Paul Sture
Post by Michael Austin
LOL--- someone had way too much time on their hands...
And on a serious note It was 1985/6 that I managed to cut the CPU time
needed to load DTR on an 11/780 by over a second, simply by installing a
load of those images. The ones for products we didn't have (e.g. RDB)
were just stubs so didn't carry much overhead.
<famous Stan Rabinowitz tale snipped>
Famous it may be but I'd never read that before Paul, thank you for posting
it.
Now with 20/20 hindsight I suddenly understand why DTR32 was not so very
fast on an 11/750 with just 2 MB....
Hans
(still laughing)
You have seen Stan's famous SPR, haven't you?
No I hadn't! Quite interesting to read. For some reason I knew the rule that
a millennium that
can be divided by 400 is indeed a leapyear while other centuries are not. It
took a lot of
persuasion to convince system managers of less informed companies :-)
And yes, the decw$calender help suddenly makes sense (other than some
historical trivia).
Thanks Paul!
Michael Unger
2004-06-02 19:48:59 UTC
Permalink
Raw Message
Post by Paul Sture
[...]
Oh, LOL Jan-Erik. Not only was it heavily overlayed in RSX, but, well,
this is the best description I have come across about it on VMS.
=================================================================
A Day in the Life of the Image Activator
as recounted to Stanley Rabinowitz on 7-Jan-1985
[...]
It's available on the web too:

<http://h50146.www5.hp.com/products/software/oe/openvms/fanclub/lite/imageact.txt>

Michael
--
Real names enhance the probability of getting real answers.
My e-mail account at DECUS Munich is no longer valid.
Paul Sture
2004-06-03 09:34:17 UTC
Permalink
Raw Message
Post by Michael Unger
Post by Paul Sture
[...]
Oh, LOL Jan-Erik. Not only was it heavily overlayed in RSX, but, well,
this is the best description I have come across about it on VMS.
=================================================================
A Day in the Life of the Image Activator
as recounted to Stanley Rabinowitz on 7-Jan-1985
[...]
<http://h50146.www5.hp.com/products/software/oe/openvms/fanclub/lite/imageact.txt>
And before anyone else tries to see what else is there, going up the
tree to http://h50146.www5.hp.com/products/software/oe/openvms/fanclub/
it's all in what I assume to be Japanese.
clarence
2007-07-24 16:23:14 UTC
Permalink
Raw Message
I need to modify the fifth element of a field that is defined with a
occurs clause. How do I do that

--
clarenc
-----------------------------------------------------------------------
clarence's Profile: http://techiegroups.com/member.php?userid=623
View this thread: http://www.techiegroups.com/showthread.php?t=5278
b***@encompasserve.org
2007-07-24 18:00:05 UTC
Permalink
Raw Message
I need to modify the fifth element of a field that is defined with an
occurs clause. How do I do that?
As I recall, there is no "array indexing" technique available in Datatrieve.
So you have to fake it.

I'm about ten years out of practice, so forgive any errors:

declare occurs-count usage long.
for r in your-domain where r.some-field = "some value" modify using begin
occurs-count = 0
for o in your-occurs-clause modify using begin
occurs-count = occurs-count + 1;
if occurs-count eq 5 then o.field-in-your-occurs-clause = "new value";
end
end
b***@encompasserve.org
2004-06-01 14:36:15 UTC
Permalink
Raw Message
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
Would some examples help?

DTR> DEFINE RECORD UAF-RECORD
01 UAF-REC.
05 TYPE USAGE BYTE.
05 VERSION USAGE BYTE.
05 USRDATOFF USAGE WORD.
05 USERNAME PIC X(32).
...
;
(once defined, this lands in your current working directory within
the CDD where it may be editted later. You only need to key in this tedious
stuff once).

DTR> EDIT UAF-RECORD
(pops you into a text editor where you can make changes)

DTR> DEFINE DOMAIN UAF USING UAF-RECORD ON SYS$SYSTEM:SYSUAF.DAT;
(again, the defined domain (an association of a record definition and
a data source) lands in your current working directory within the CDD)

DTR> READY UAF SHARED WRITE
(By default you get non-shared read access if I remember right)

DTR> FIND UAF WITH USERNAME STARTING WITH "FOO" AND LAST-LOGIN-TIME
LESS THAN "01-JAN-2004"
(It knows about VMS quadword data formats and if LAST-LOGIN-TIME is
defined as such in the record definition, the text string is automatically
converted to date and the comparison automatically takes place as a
quadword comparison of date/time values. You also have a rich
selection of comparison operators. "<", "LESS THAN", "LT" if I
remember right)

DTR> PRINT USERNAME, LAST-LOGIN-TIME OF CURRENT
("CURRENT" is the name of the collection formed from the most recent
FIND command)

DTR> READY MY_PRIVATE_USER_ACCOUNTING_DATABASE AS MPUAD
(Putting a short alias on a data source as that source is opened)

DTR> PRINT USERNAME, LAST-LOGIN-TIME, ACCOUNTING_CODE OF CURRENT CROSS
MPUAD OVER USERNAME
("CROSS" = Inner join. If there isn't a matching accounting record,
you get nothing)

DTR> PRINT USERNAME, LAST-LOGIN-TIME,
ACCOUNTING_CODE FROM MPUAD WHERE MPUAD.USERNAME = CURRENT.USERNAME
("FROM" = single field outer join. If there isn't a matching accounting
record, you get no accounting code)

DTR> PRINT TOTAL CONNECT-TIME OF MPUAD
(You can do statistical totals (TOTAL, COUNT, AVERAGE) on collections)

That's just the tip of the iceberg.

I no longer have access to Datatrieve. So the above syntax is not
guaranteed to be 100% correct.

John Briggs
Paul Repacholi
2004-06-02 10:21:59 UTC
Permalink
Raw Message
Post by b***@encompasserve.org
Would some examples help?
DTR> DEFINE RECORD UAF-RECORD
01 UAF-REC.
05 TYPE USAGE BYTE.
05 VERSION USAGE BYTE.
05 USRDATOFF USAGE WORD.
05 USERNAME PIC X(32).
...
The DTR UAF definitions are in the SIG tape collection somewhere, or
several somewheres.

If you have to do massive UAF overhauls, like in a uni :(, for beginning
of year, DTR is THE way to go. You can even add code to use the VMS system
services to set/change passwords etc. That is about the only extention you
would need.

You can also have collections that span RDB and RMS files.
--
Paul Repacholi 1 Crescent Rd.,
+61 (08) 9257-1001 Kalamunda.
West Australia 6076
comp.os.vms,- The Older, Grumpier Slashdot
Raw, Cooked or Well-done, it's all half baked.
EPIC, The Architecture of the future, always has been, always will be.
clarence
2007-07-19 12:05:54 UTC
Permalink
Raw Message
I need to be able to cross an RMS file that has a field with an occur
clause to another file in datatrieve. How do I do that

--
clarenc
-----------------------------------------------------------------------
clarence's Profile: http://techiegroups.com/member.php?userid=623
View this thread: http://www.techiegroups.com/showthread.php?t=5278
b***@encompasserve.org
2007-07-19 16:55:29 UTC
Permalink
Raw Message
I need to be able to cross an RMS file that has a field with an occurs
clause to another file in datatrieve. How do I do that?
If I recall correctly, you would first cross the domain that has the "occurs"
clause with the occurs clause.

e.g. if a boat has an occurs clause for decks and each deck has a type of
flooring and you have a second domain with flooring types then:

DTR> find boat cross decks cross deck-materials over flooring-type

But bear in mind that I've never actually used this syntax and haven't
used Datatrieve at all for about ten years now. (And I probably wouldn't
use an inner join for this particular example in real life).
j***@gmail.com
2017-01-25 21:41:11 UTC
Permalink
Raw Message
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
re: A Day in the Life of the Image Activator as recounted to Stanley Rabinowitz on 7-Jan-1985

I went to college with Stan Rabinowitz (but did not encounter him during my time at DEC from 1986-1991). Stan is also well known at DEC (and beyond?) for a LONG response in a bug report on the topic of why 2000 really is a leap year (despite insistence from the originator that it was not).
Here is a link:
http://h41379.www4.hpe.com/openvms/products/year-2000/leap.html

Hope you enjoy (in your spare time).
-- john hoffman
Phillip Helbig (undress to reply)
2017-01-26 06:24:48 UTC
Permalink
Raw Message
On Saturday, May 29, 2004 at 4:34:44 PM UTC-7, Phillip Helbig---remove
Post by Phillip Helbig---remove CLOTHES to reply
I'm updating the layered products on my hobbyist system. Since I have
enough disk space, I figure I might as well install stuff I don't need
now but which might come in handy in the future. One such product is
DATATRIEVE. Can someone explain in a nutshell what it does and whether
it is worth learning for someone like myself who has no experience with
it?
re: A Day in the Life of the Image Activator as recounted to Stanley
Rabinowitz on 7-Jan-1985
It is now 2017 and I still haven't installed DATATRIEVE. I think that I
can probably do without it. :-)
Hans Vlems
2017-01-26 14:42:24 UTC
Permalink
Raw Message
I worked at Fujifilm at the time and did install it on my home systems. I've hardly touched it though..
Fun to read but I failed to see the error in the SPR.
Hans

Loading...