[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

863.0. "Suggestions for ALL-IN-1 application..." by CGOOA::IUS (But that's another story ...) Sat Jun 13 1992 01:13

    Hi,
    
    I am in the design stages of an application that will be running
    under ALL-IN-1.  I am trying to determine how to perform some of
    the requirements of the application under ALL-IN-1.  I am trying
    to decide if I should just write this in C using FMS to manage the
    forms or use ALL-IN-1.
    
    My questions are as follows:
    
    1.  All forms in this application must be able to be e-mailed.  Is
    this a difficult task?  I am thinking that this would require that
    I create a new document handling DSAB (?).  I would not mail the
    form, but would rather mail a keyword in a special document.  On
    the receiving end, the new document type would extract the key
    field(s) and place the user in the appropriate form, passing the
    data key that would bring up the right data.  Does that sound
    reasonable?
    
    2. All forms must be able to be faxed to outside firms using Fax
    Gateway.  Here I am not sure yet.  I suspect I would need to
    extract the data into a document and send that document.  Sound
    reasonable ?
    
    3. All {HELP} should be displayed in reverse video, beginning at
    the bottom left of the screen (last line).  How do I change the
    way help works for a specific set of forms?
    
    If anybody has an suggestions, I would appreciate hearing them.  I
    am just trying to think of how these things may be done under the
    ALL-IN-1 "way".  If it would prove to be too difficult, then I may
    need to look at doing this from C using FMS and just have it
    launched from ALL-IN-1.  That doesn't sound like it would be any
    easier though.
    
    Thanks for your help.
    
    /Don I.
T.RTitleUserPersonal
Name
DateLines
863.1Fairly easy answers to items 1 and 2BUFFER::VICKERSRearranging the DEChairsSat Jun 13 1992 23:4829
    Items 1 and 2 can be done quite easily in ALL-IN-1.  Number 3 sounds
    really strange and I am sure there must be a wonderful business reason
    for it.  You may get to exercise the C compiler to do that one.

    Mailing forms is best done the way ALL-IN-1 EARS does it.  Mainly, the
    data is attached to the mail message in a structured file (mapped by an
    Entry form in the case of ALL-IN-1 EARS).  The data is loaded into
    symbols and the form displayed as a part of the read operation.

    There used to be a tool in the ASSETS library that did this in a
    similar manner.  The office ASSETS library has been 'improved' in the
    US and that tool along with virtually all other office tools went off
    to bean counting hell.  The tool MIGHT be in Europe where bean counting
    hasn't become quite the science that it is in the US.

    You might be well served to steal some of the stuff from ALL-IN-1 EARS
    and/or sell the customer ALL-IN-1 EARS.  This would dramatically reduce
    the amount of effort you would have to expend.

    There are at least to FAX products available for integrating into
    ALL-IN-1.  Fgate uses a toy computer (PC) with FAX hardware in it
    attached via PATHWORKS.  VICFAX (has a new name, now) uses a special
    serial FAX machine attached to the ALL-IN-1 system. Either of these
    packages would allow for the sending of the text representation of the
    forms.  VICFAX would be much easier as it has a much tighter
    integration with ALL-IN-1.

    Have a ball,
    don
863.2Thanks, another question ...CGOOA::IUSBut that's another story ...Mon Jun 15 1992 18:4229
    Hi,
    
    Thanks for your reply Don.  As I have been reviewing the
    requirements, I have come across another question.  How can I
    control the flow from field to field in an entry form?
    
    I have always in the past had forms where every field was visited
    in a specific predefined order.  The customer here wants to have
    certain fields visited only under certain circumstances, namely,
    based on the value of previous fields.  Is there any good clean &
    dependable way to control this sort of thing?
    
    I just want to be sure I have investigated each of these
    requirements as thoroughly as I can so that my estimate of the
    time involved to do this work is as accurate as possible.  Any
    suggestions would be greatly appreciated.
    
    Thanks.
    
    /Don I.
    
    P.S.
    
    As mentioned in .-1, if I do need to write some C code to get the
    help to work as desired, is there a document somewhere that can
    provide me with the information I will need to integrate my code
    with ALL-IN-1?
    
    Thanks again...
863.3Not always intuitive, but relatively easy.HOTAIR::MADDOXPoliticians say the darnedest thingsMon Jun 15 1992 21:0233
Don,

You can manage field flow on an entry form from ALL-IN-1.  You can
use the /PRE and /POST qualifiers in conjunction with the OA$FLD_STAY	
function.  For example:

;;FIELD1;;

/post='.if FIELD1 eqs "" and 
   OA$FIELD_TERM_NAME eqs "DOWN" or OA$FLD_TERM_NAME eqs "TAB" then
       oa$fld_stay FIELD3'


The thing which is not intuitive is that using this approach, the
/PRE qualifier (if there is one) on FIELD3 will not be invoked when
the cursor lands on that field via an OA$FLD_STAY.  (There is an
earlier topic which goes into the whys and wherefors for this 
behavior.)

If this becomes a problem, then you can create a SCRIPT mode script
which contains a {TAB} named probably TAB and replace the above 
code with:

;;FIELD1;;

/post='.if FIELD1 eqs "" and OA$FIELD_TERM_NAME eqs "TAB" then
       script TAB\\script TAB'

You may need to create similar scripts for UP, DOWN, and BACK.

Have fun,

Joe
863.4More detail on help?SHALOT::WARFORDRichard Warford @OPA DTN 393-7495Mon Jun 15 1992 21:5617
    What do you mean by help STARTING on the last line of the screen?
    
    Sounds like a 1 line PC style help! If so, you could use the /PROMPT
    field qualifier and ALWAYS put out a line of helpful information.
    And you can always add a definition of .F15 (.PC HELP?).
    
    If you redefine the help key, it would be easy to create a simple
    database composed of a keyfield (segmented: formname:fieldname)
    and a 80 character 'help' text field. Then when the help key is 
    pressed just do a DISPLAY (or a script that uses the .VIDEO_ATTRIBUTES
    commands to get the visual effect you want.) of the text from the
    file. 
    
    IE: GET #KEY=oa$form_name:30 oa$fieldname
        GET oa$display=helpform.text[#key]\FORCE
    
    Rick
863.5Thank you!CGOOA::IUSBut that's another story ...Mon Jun 15 1992 23:217
    Thanks for your helpful replies.  I'll study these options out and
    see if I can't come up with a good looking and functional
    solution.
    
    Maybe I'll even have a little fun while I'm at it...;^)
    
    /dvi
863.6Script modifications not working right...CGOOA::IUSBut that's another story ...Wed Jun 24 1992 19:3179
    Hi,
    
    I am now into the design stages of this application, and I am
    attempting to test a possible solution to this problem, however, I
    am now finding that the things I am attempting to do, aren't
    working right.
    
    PROBLEM:
    
    I need to have an entry form access a data file by way of a
    logical name.  This is because there will be multiple files, each
    one containing exactly one record.
    
    This isn't too bad of a problem.  I simply need to define the
    logical name in the job table prior to opening the form.
    
    The trouble comes when I try to create a new record and hence a
    new data file.
    
    I have been atempting to modify DOCCREATE.SCP to do this.  The
    first thing I have done is created a new document format that has
    a template form to display.
    
    I added the following change:
    
    .IF #VMS_IMPORT EQS "1" THEN FORM DOCDSCVMS -
         ELSE .IF #NO_TEMPLATE EQS "1" THEN FORM DOCDSCNT -
         ELSE .IF #SFA_FORM EQS "1" THEN FORM SFA_DOCDSC -   <<<< here
         ELSE FORM DOCDSC


    This change will display a new argument form that asks for the new
    form name that is being created.  The new form name  just happens
    to correspond to the format and hence is stored in #FORMAT.
    

    The next change I have made, (and this is where I am having
    trouble) is as follows:
    
    ! see if there is a template formname to display from the HANDLING file
    GET #TEMPFRM=FORMAT.TEMPLATEFRM[OA$CURDOC_FORMAT]
here >>>    .IF #TEMPFRM NES "" AND #SFA_FORM EQS "1" THEN -
here >>>        GET #COMMAND="OA$SITE_DEV_ENGLISH:SFA_DEFINE_FILE"\ -
here >>>        GET OA$FUNCTION="COMMAND " #COMMAND " " OA$CURDOC_FILENAME\ -
here >>>        GET #COMMAND=""\ -
here >>>        GET OA$FUNCTION="FORM " #TEMPFRM " ARG/GET=DATE1,OA$DATE_FULL"-
here >>>    ELSE .IF #TEMPFRM NES "" THEN -
here >>>        GET OA$FUNCTION="FORM " #TEMPFRM
    
    When this script is called, #P1 is set to "NOEDIT" to prevent the
    resulting document from being edited.
    
    The command procedure SFA_DEFINE_FILE.COM takes a single
    parameter, the file name and defines the form logical to point to
    that file.  I then try to call the form, redefining it as an ARG
    form.  I also tried this with it defined as an entry form.  In
    every case, I get the error that says the file cannot be found,
    yet the file was actually created prior to this stage in the
    script.
    
    Sometimes I get the error saying that the symbol 
    
    "GET #COMMAND="OA$SITE_DEV_ENGLISH:SFA_DEFINE_FILE"\..."
    
    cannot be found.  The symbol being the entire string starting as
    indicated above and ending just before the ELSE.  Then I get the
    error saying there is a misplaced ELSE.  Then the form displays
    again as an entry form instead of as an arg form.
    
    I'm afraid I'm doing something really wrong here, but for the life
    of me, I need some help.  We don't have a complete set of doc
    here, so I can't look up everything I really would like to.  I'm
    kinda working in the dark on some of this.
    
    If anybody could offer some wise advise, I'd really appreciate it.
    
    Thanks.
    
    /Don I.
863.7/JOB ?IOSG::TALLETTArranging bits for a living...Wed Jun 24 1992 20:128
    
    	I can't really follow what is going on, but did you define the
    	logical in your job table (/JOB)? Don't forget that COMMAND uses
    	a subprocess, whereas entry forms use the main process which won't
    	see subprocess logicals unless they are in the JOB table.
    
    Regards,
    Paul
863.8Some '"'s in the wrong placeCESARE::EIJSAll in 1 PieceWed Jun 24 1992 20:2926
    
    Hi Don,
    
    > Sometimes I get the error saying that the symbol
    >
    > "GET #COMMAND="OA$SITE_DEV_ENGLISH:SFA_DEFINE_FILE"\..."
    > 
    > cannot be found
    
    Try to change your code to:
    
    .IF #TEMPFRM NES "" AND #SFA_FORM EQS "1" THEN -
      GET OA$FUNCTION = -
        "COMMAND OA$SITE_DEV_ENGLISH:SFA_DEFINE_FILE " OA$CURDOC_FILENAME \-
      GET #COMMAND = ""\-
      GET OA$FUNCTION = "FORM " #TEMPFRM " ARG /GET=DATE1,OA$DATE_FULL" -
     ELSE -
      .IF #TEMPFRM NES "" THEN -
         GET OA$FUNCTION = "FORM " #TEMPFRM
    
    That is if I understand the purpose of OA$CURDOC_FILENAME, the first
    parameter for SFA_DEFINE_FILE.COM.
    
    Ciao,
    
    	Simon
863.9Now the Merge isn't workingCGOOA::IUSBut that&#039;s another story ...Wed Jun 24 1992 22:4541
>    Try to change your code to:
    
>    .IF #TEMPFRM NES "" AND #SFA_FORM EQS "1" THEN -
>      GET OA$FUNCTION = -
>        "COMMAND OA$SITE_DEV_ENGLISH:SFA_DEFINE_FILE " OA$CURDOC_FILENAME \-
>      GET #COMMAND = ""\-
>      GET OA$FUNCTION = "FORM " #TEMPFRM " ARG /GET=DATE1,OA$DATE_FULL" -
>     ELSE -
>      .IF #TEMPFRM NES "" THEN -
>         GET OA$FUNCTION = "FORM " #TEMPFRM
    
   Hi  Simon,
    
    Thanks for your reply.  I have now got this part working.  Now I have
    another problem.  In the FORMAT entry form, I defined a boilerplate
    file to merge the contents of the ARG (formerly ENTRY) form into a
    document file of type ASCII with a .TXT extension.
    
    When the merge takes place, I get no errors, but I also get no data.
    The document is totally blank, empty, as though no merge took place.
    No errors either.  Sometimes I get a strange error, which upon
    investigation, is supposed to have been fixed in V2.4 (which is what I
    am running).  It is:
    
    %OA-I-VMFREEFATAL, LIB$FREE_VM failure, 2048 bytes at (some address)
    etc.
    
    You get the idea...
    
    If you or anyone else can point me in the right direction so that I may
    discover why the merge fails, I would greatly appreciate it.
    
    All I want to do is get the data entered into the argument form into a
    fixed format data file (in this case - the document) because I need to
    be able to mail this around.  (see .0 and previous replies)
    
    Thanks in advance for you help and patience with a rusty ALL-IN-1
    programmer.  (over 3 years away from it.)
    
    
    /Don I.
863.10What's the contentsCESARE::EIJSAll in 1 PieceThu Jun 25 1992 08:418
    
    Don,
    
    Can you include the boilerplate as a reply?
    
    Ciao,
    
    	Simon
863.11Here it is ...CGOOA::IUSBut that&#039;s another story ...Thu Jun 25 1992 21:3114
Hi Simon,

Here is the boilerplate as it currently looks.  Inside the form, each field
has a /PUT_SAVE to save the value into each of the temporary variables
listed below.  I've check and the variables are getting set.

Thanks for your interest and help.

/Don I.

<#DATE1:15><#EMAIL_TO:21><#C1:1><#C2:1><#C3:1><#C4:1><->
<#C5:1><#C6:1><#C7:1><#OTHER_GL:25><#DATE2:15><#OPERATOR:10><->
<#AMOUNT:15><#C8:1><#C9:1><#DATE3:15><#COMMENT1:80><#COMMENT2:80><->
<#COMMENT3:80><#COMMENT4:80><#COMMENT5:80>
863.12255 characters a max??HYTIDE::CREAMEREARS to you, mate!!Fri Jun 26 1992 14:5810
    
    Don,
    
    I'm not Simon, but a quick test on our V3.0 system appeared to show
    that the longest line you can produce is 255 characters.  Your line
    would be 525 characters if I added right.
    
    Trying to help,
    
    Jack