[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

2825.0. "SYS$COMMAND and the ALL-IN-1 sub-process" by BIS1::DESTRIJCKER (Back again to the home town) Tue Jun 08 1993 10:18

    Hello everybody,

    I have been asked to implement an application (FRED) under ALL-IN-1.
    FRED accesses RALLY and then it disappears in its own world. The user
    interface is provided by about 20 pages of DCL which writes escape
    sequences to the screen to paint nice menus and accept user input.

    The problem occurs at the following line:

    $read/end_of_file=end/prompt= -
    "''esc'[20;40H''esc'[KEnter Choice:__''esc'[2D" -
    sys$command CHOICE

    DCL-E-nnnnnn, File has not been opened by DCL - check logical name.

    FRED runs hapily started form the dollar prompt and even  spawned from
    DCL. From under ALL-IN-1 it doesn't.

    I have redefined sys$command to sys$input and even defined sys$input to
    the translated logical sys$output To no avail apart from making it
    worse.

    Is there any way I can get round this problem without touching the DCL
    code and without asking ADG to rewrite their application so it's
    ALL-IN-1 compatible?

    Thanks in advance.

    Wivine. (IS Service Center Brussels - DTN 856-7558)
    
    P.S.: This note has also been posted in the ALL-IN-1_CLI notes file.
T.RTitleUserPersonal
Name
DateLines
2825.1IDNTCR::RHOTONJohn Rhoton @TNO - DTN 871.7947Tue Jun 08 1993 10:2817
             <<< ASIAGO$DUA1:[NOTES$LIBRARY]ALL-IN-1_CLI.NOTE;2 >>>
                      -< ALL-IN-1 Code Level Integration >-
================================================================================
Note 221.1            SYS$COMMAND and ALL-IN-1 sub-process                1 of 1
IDNTCR::RHOTON "John Rhoton @TNO - DTN 871.7947"     10 lines   8-JUN-1993 10:30
                      -< SYS$COMMAND pointing to mailbox >-
--------------------------------------------------------------------------------
    re: .0
    
    I guess the problem probably derives from the fact that during
    sub-process execution of a command procedure SYS$COMMAND is defined as
    the mailbox device rather than the terminal.  You could try defining
    SYS$COMMAND to SYS$ERROR or SYS$OUTPUT (which should be pointing to the
    terminal) at the beginning of the procedure, or in a jacket procedure,
    and then deassigning it at the end.
    
    John
2825.2Try SPAWNMIMS::HUSSEY_DNOT the MAMA!!! NOT the MAMA!!!Tue Jun 08 1993 17:067
    If you aren't passing things back and forth from ALL-IN-1 (based on
    fact tha you don't want to change the DCL that works outside of
    ALL-IN-1), use the SPAWN function rather than COMMAND.  This will
    create an honest-to-goodness VMS subprocess rather than the ALL-IN-1
    captive subprocess.
    
    FWIW...