| 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 |
I need some pointers on integrating applications into the ALL-IN-1
menuing interface.
I am working with a customer who wants to access a Fortran application
through the BA menu in their ALL-IN-1 system.
The problem they have is that when they try to do character searches of
a database, it will return the user to the BA menu, instead of doing
the search.
I spoke with the application programmer today and he indicated to me
that in the character searches he is doing a lib$spawn in his
application to produce the search, and is pretty sure that sys$input
is getting lost in the subprocess that is created with the spawn.
His theory is that; because the search no longer has sys$input defined
that is why we are returned to the BA menu.
Is this theory credible? If so would there be any way to fix this
through ALL-IN-1 programming changes.
Any help or ideas would be most appreciated.
Sandy
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 1231.1 | You may well be on the right track | GIDDAY::SETHI | Man from Downunder | Thu Aug 13 1992 00:07 | 10 |
G'day Sandy,
The theory may well be right I came across a problem of a similar
nature sometime back. I can't remember (sorry for the Ronnie Ragan :-),
what we did to solve the problem. All I can say is that you are
looking in the right direction.
Sorry I can't be of much help please post your findings here.
Sunil
| |||||
| 1231.2 | Random thoughts | SHALOT::NICODEM | Avoid traffic; leave work at noon | Thu Aug 13 1992 13:31 | 24 |
Sandy, I'm not sure that there's quite enough information here to go on, but I'll give it a shot. First, I assume that the FORTRAN application is being invoked via a COMMAND function, therefore running (initially) in the ALL-IN-1 subprocess. If this is the case, the user must remember that the ALL-IN-1 subprocess does *not* have TT: as the default SYS$INPUT device. Any application that is called in the subprocess that requires keyboard input should preface the call to the application by defining a job logical for SYS$INPUT, pointing to the terminal. Second, you're unclear as to exactly what *does* happen in the applica- tion. For example, I couldn't tell if *any* of the application ran, or if it immediately returned to BA with no user I/O at all, or what. If the problem is *outside* the application, you may be able to gather some more information either by turning on ALL-IN-1 tracing, or doing a SET VERIFY in the subprocess. If the problem is *within* the application, you may have to link it with the Debugger and go from there. F P.S. Is this an application that could benefit by them re-writing it as an INSTALL/EXECUTE routine? It would be faster, easier to integrate, etc. | |||||
| 1231.3 | The live COM proc being called from Named Data | ANGLIN::LUNDIN | Thu Aug 13 1992 16:08 | 48 | |
I have included the COM procedure that is called from the BA menu to access
the FORTRAN application.
I hope this offers a little more insight into what we are dealing with.
Thanks,
Sandy
$!procedure to run AQUIRE application from within ALL-IN-1
$SET MESSAGE /NOTEXT/NOSEVERITY/NOIDENTIFICATION/NOFACILITY
$!get the current equivalence value for logical TT:
$ OLD_TT = F$LOGICAL("TT")
$!
$! ask ALL-IN-1 parent process to tell subprocess the value of
$! symbol OS$TERM_DEVICE:
$!
$ WRITE OAMAILBOX "OA GET OA$TERM_DEVICE"
$@DCLMAILBOX:
$ING_TT = RESULT
$!
$!assign new value to logical TT based on results of preceding step:
$! preceding step
$!
$DEFINE/NOLOG/PROC TT 'ING_TT'
$!
$! set up app symbols
$ DEFINE/NOLOG LOC$SCRATCH EU02:[USMODELS.AQUIREDB.SCRATCH]
$ DEFINE/NOLOG AQDATA EU02:[USMODELS.AQUIREDB.DATA]
$ DEFINE/NOLOG AQSUPP EU02:[USMODELS.AQUIREDB.DATA]
$SET NOCONTROL =(Y)
$ DEFINE /USER_MODE SYS$INPUT SYS$OUTPUT
$ RUN EU02:[USMODELS.AQUIREDB]AQUIRE
$SET CONTROL =(Y)
$!
$! Re-define TT to its previous value:
$ DEFINE/NOLOG/PROC TT 'OLD_TT'
$ GOTO END
$NEXT:
$write sys$output "<ESC>[1m<ESC>[5m"
$write sys$output "<ESC>#6 AQUIRE SYSTEM UNAVAILABLEu
$write sys$output "<ESC>#6 CALL FOR UPTIME"
$write sys$output "<ESC>[0m"
$wait 00:00:06
$!
$END:
$SET MESSAGE /TEXT/SEVERITY/IDENTIFICATION/FACILITY
$EXIT
| |||||