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 01: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 14: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 17: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 |