[comp.os.vms] Forms & SMG: The summary.

Peck@RADC-MULTICS.ARPA (Rodney) (08/07/87)

Errors-To: info-vax-request@kl.sri.com

FORMS AND SMG routines...
  The original question was:

>   I'm writing a database type program which has to change data and the
>users would like to see "forms" that they can fill in on the screen as
>opposed to some sort of line by line typing thing.
>   As I go thru the SMG routines in the programming support manual, I
>see lots of warnings about smg$read_composed_line and smg$read_string
>only working if the virtual display is pasted to the first column and
>there is nothing to its right.
>   Obviously, these aren't made to fill in forms..  What call should I
>use?  I'm working with strings, reals, and integers from VAX Fortran and
>writing an indexed file from the data. (That's not terribly useful to
>you, but I'm trying to straighten my head out..)
   Over the past few weeks, I've received many useful replies.  Here's my
promised summary:

-----
SELECTED REPLIES:
-----
From:  Mark H. Granoff <mhg at MITRE-BEDFORD>

You can use FMS (Forms Management System) which supports the full range
of video "stuff".  FMS is callable from Datatrieve (I think), as well
as from within languages (I think, again).  Using SMG would be the hard
way of doing it...you'll spend more time trying to input data (from the
right location on the screen) than anything else.

FMS version 2.3 is a layered product.  You can read about it in the
Software Product Descriptions, number 26.10.10.

----

From:  Patrick Healy <healy%canisius.csnet at RELAY.CS.NET>

I suggest you try the FMS routines (if you have them).  They handle all
output and input to and from the screen.  We use them here for everything.

-----

From:  Simen Gaure <x_gaure_s%use.uio.uninett at TOR.NTA.NO>

...
Use the SMG$READ_VERIFY routine, it has some complicated arguments
but when used correctly you can have automatic verification of
the data entered and right-/left- justified fields as you like.
Prepare to read I/O ref. man. part 1, section 8.4.1.4 and table 8-8.

If you have FMS (Forms Management System) available, I would suggest
you consider to use it.  FMS provides much flexibility on designing
and using forms. It is directly callable from DATATRIEVE and
any native VAX/VMS language.  However, I think FMS' call interface
is hard to use compared to SMG.

-----

From:  UW <wizard at RITA.ACS.WASHINGTON.EDU>

As I understand it, the restriction of having the display pasted to column
1 has to do with making redrawing the line simpler.  The read conposed line
procedure allows the user to use the line editing functions to recall
previous strings.  (This may be slightly inaccurate.)

Anyway, the read_composed_line procedure DOESN'T KNOW about the virtual
display -- it merely deals with a particular line on the screen.  Thus,
the line must originate as far left as it can, in column 1, and there
can be no data to the right of the virtual display, or it will be "lost"
on screen.

-----

From:  Thomas_R._Blake <TBLAKE%BINGVAXA.BITNET at WISCVM.WISC.EDU>

        When put in a similar situation, I decided that the SMG routines
didn't serve my purposes, so I wrote some Pascal routines for field entry.
This is not an offer to ship these routines all over the world, they were,
(dare I say it), hack code, and I'm want to re-write them propperly before
other people read them.

        In any case, I used QIOW for key input, and worte the characters
on the screen, and moved about the cursor using SMG routines, so that the
application could be used on different sorts of terminals.
...
        A second note, have you looked into VAX FMS (Forms Management System)?
I've written one application using the FMS stuff, and it may be what you're
looking for, (except if you want portability).  FMS only works on VT100
compatibles.

-----

From:  Philip_Young.XSISHQ at XEROX.COM

I believe the preferred DEC product for the manipulation of forms is
TDMS. It makes use of the Common Data Dictionary,  is supported by
Datatrieve, and maintains the independence of the data and the terminal.

----------------
  So... it looks like several votes for FMS, one for roll-your-own, and one
for TDMS.
  I don't have FMS, but it does sound like exactly what I'm looking for. 
  
  Thanks for your collective expertise,
  Rodney


 --
 Rodney Peck                  Rodney Peck                   "ICSSM?? Ick."
 Peck@Radc-Multics.Arpa       RADC/DCLT                     --------------
 (315) 330-4567               Griffiss AFB
                                       13441