[comp.databases] Accell

crc@abvax.UUCP (04/01/87)

anyone got a copy of accell, any good, comments?

anyone seen UNIFORMX ?

allbery@ncoast.UUCP (04/04/87)

As quoted from <3@abvax.abnet.com> by crc@abvax.abnet.com (William R. King):
+---------------
| anyone got a copy of accell, any good, comments?
+---------------

I have evaluated ACCELL for TDI, and began to build a large application
before the evaluation period ended (one month isn't enough )-:.

Pocket evaluation:  a little rough technically as yet, but otherwise very
nice.  Give it a year to settle down.

Product description:

ACCELL is a development and user environment built upon UNIFY.  As such, if
you didn't like the insides of UNIFY (aka UNITRIEVE), you don't want to look
at ACCELL.  However, if (like most people) it was UNIFY's user interface that
got you down, I suggest you look at it.

ACCELL is an integrated 4GL and forms management system.  Applications are
based on forms, which support many attributes and have such features as
multiple-record forms and multiple forms on a screen.  A "window" approach is
used, where a form is boxed (with box graphic characters if your terminal has
them) and may overlay other forms on the screen; the top and bottom lines of
the screen contain status information which tells you what ACCELL is up to
at any time (finding, "zoom" available, # records selected and current record,
what function keys are available in the current mode, whether the current
record has been modified and if so, whether it has been stored in the
database or not, current mode, etc.)  There are advanced screen field
attributes -- not just visual attributes but also upper/lowercase shifting,
help files, short description lines (these are SEPARATE from UNIFY 3.2
advanced field attributes, and they are more powerful), default search
expressions in two forms (default value when you enter query mode and
default value(s) to search for), and default values on add.

Forms also have attributes:  you can select the usual UNIFY technique of
selecting a mode and doing the query within the mode or of querying and then
selecting the mode to enter; you can specify automatic finding on form
startup (this, combined with a default find expression, makes things like
order/lineitem forms VERY easy to implement, as the default search value
can be taken from another active form); you can define transaction levels
for the next form (start new transaction or continue the current one, on
either a single record or on an all-selected-records basis, also useful for
order/lineitem type forms).

A very useful feature of ACCELL is the "zoom" feature.  You can define a
"zoom form" for any screen field which is attached to a database field which
is an explicit relationship; pressing the ZOOM key on such a field will
automatically pop up the specified form and automatically query for all valid
values.  You can move around in the zoom form, then press PREV FORM and the
selected record's key will automatically be inserted as the value of the
zoom field.

The 4GL is SQL-based with UNITRIEVE C hooks available, and is comprehensive.
Any form may have an associated 4GL script which is capable of overriding
virtually ANYTHING on a screen form, and doing anything you want to the
database.  It includes functions to retrieve the number of selected records,
query if there is a current record, and if the current record has been
modified or not, to return the relative record number of the current record,
and many other extremely useful functions.

There is a "master application" form associated with each ACCELL application,
of which there may be more than one per database; this also has a 4GL script
which can be used to control entry/exit conditions.

The manual is quite comprehensive, although the tutorial could use a few
more chapters to explain some of the more complex commands.  (It took me a
few days to figure out how to use CLEAR_FIND_EXP for order/lineitem forms
in our customer order entry system.)

Supplied with ACCELL is a script which (supposedly) translates an existing
UNIFY application into a ready-to-run ACCELL application which can then
be customized using the infinitely more advanced ACCELL tools.

In-depth review:

ACCELL is one heck of a system!  I was absolutely amazed that this had come
out of the company that gave us ENTER (that miserable excuse for a user
interface).  It's fast, it's easy to build applications, and it's easy to
use those applications once they're built.  However, there are a few spots
of tarnish on it...

The script to upgrade a UNIFY application to ACCELL has a few problems.  I
was not surprised to find ^U hard-coded (we use TAB), but it also assumes
that LOGINFLAG is F.  It also has some missing ^Us in the section where it
adds the ACCELL executables to the executables table via "execmnt"; it
managed to screw that up totally and I ended up installing that part manually.

Just about all memory-related parameters of AMGR (the environment manager)
and AGEN (the forms generator) are configurable via environment variables.
However, the default values are far too small; the screen conversion utility
dumped core on our most important ENTER screens, and when I tried to design
them by hand, AGEN dumped core during saves.  And AMGR dumped core on my
initial applications (in particular, any ^R to redraw the screen with more
than 3 forms active would do this).  More importantly, this can cause the
ACCELL environment database "aclenv.db" to become deranged, requiring the
database to be deleted and rebuilt.  Increasing the "heap_size" parameter
to AMGR and AGEN fixed this, but it didn't take much to overflow the defaults.

The 4GL is missing a few things; unfortunately, they're rather important.
There is no symbolic constant for a null date, and **/**/** is not acceptable.
In fact, the value that UNIFY tech suipport told me to use was something
strange like 12/15/-533871204 or something like that.  Is it so hard to
define a "null_date" keyword?  There was another one I ran into that was
documented in the manual but was rejected by ACPL (the compiler) as a
syntax error, but I've forgotten what it was and my notes are on tdi2, not
ncoast.

On the positive side:

Full transaction capability has been added.  This includes database-level
locks to prevent you from (say) doing a backup while someone is in the
database (or someone getting into the database while you're doing a backup;
this is a major problem with UNIFY 3.2).  The lock manager uses System V
shared memory if it's available; it's effective without the enormous
overhead of schemes like that used by Progress.  Record-level locks will
be promoted to table-level locks automatically when they reach a threshold
(set via an environment variable) which may be different for each currently
running program.

The user interface makes ENTER look like the hack that it is, and puts
Informix to shame.  (However, that isn't the last word; I'm still waiting
for a demo copy of the ``windowing'' version of Informix-4GL.)  It also
gives Progress a run for its money -- and is FAR easier to set up.

The form/4GL interaction looks like a fancied up version of Informix's
"perform" setup, with commands attached to screen fields.  However, it is
much more capable and complete; you can do things in ACCELL/Language which
can only be done in Informix via C hooks that exec other programs, and
can't be done in Informix-SQL at all (no C hooks).  Ditto Informix-4GL, which
can't nest INPUT statements, whereas you can always pop up another form in
ACCELL and collect input from the new form.

I feel that ACCELL is one of the best 4GL environments available, but it's
still a bit raw -- I got one of the first working copies to make its way
out of Unify Corp.  (They held my order for a month to make sure I got a
relatively bug-free copy; earlier copies had major bugs.)  Once it's had
a chance to "mature" a bit and get the final bugs and misfeatures out of
it, it will be hard to beat for features at the price.

Price:  $9000 (Plexus P/60, P/60+, P/75).  However, Unify Corp. will apply
	the full purchase price of your current copy of UNIFY to this
	price, if you return your UNIFY tape to them.  This rebate is avail-
	able even if you purchased UNIFY through a reseller.
	
	A 30-day trial license is available for $300, which will be applied
	to the purchase price if you decide to buy ACCELL.

++Brando
-- 
 ____   ______________
/    \ / __   __   __ \   Brandon S. Allbery		|      /^\      USS
 ___  | /__> /  \ /  \    aXcess Company		|     A A A  CHALLENGER
/   \ | |    `--, `--,    6615 Center St. #A1-105	|     H V H
|     | \__/ \__/ \__/    Mentor, OH 44060-4101		|     H . H    SEVEN
\____/ \______________/   +1 216 974 9210		|    /  |  \    WHO
________________________________________________________|   /___|___\  DARED
As long as there is the spirit to dare new frontiers, the dream will never die.
cbatt!cwruecmp!ncoast!allbery ncoast!allbery%case.CSNET@relay.CS.NET BALLBERY
	    (UUCP)                      (CSNET/Internet)             (MCIMail)

dan@hrc.UUCP (Dan Troxel VP) (09/14/88)

I am going NUTZ! I need to have wordwrap ability using the Accell
database language. My only problem is that I would like to position
the cursor to the end of a string in a field. Has anyone done this, or
knows how to do it? Please email response, or call me on my nickle at
1-800-777-8870 (I would be indebted to you forever)
-- 
Dan Troxel VP of Computer Operations @ 
Handwriting Research Corporation - 2821 E. Camelback Road Suite 600
Phoenix, AZ  85016       WK 1-602-957-8870        HM 1-602-435-1240
UUCP : asuvax!hrc!dan