VAX/VMS & SQL*Menu v5 os_command

From: <bamon_at_ocvaxc.cc.oberlin.edu>
Date: 11 Aug 93 13:26:58 EDT
Message-ID: <1993Aug11.132658.1_at_ocvaxc.cc.oberlin.edu>


This problem is specific to SQL*Menu v5 running on VAX/VMS, using a procedure when a menu option is chosen, that includes:

os_command('(type=2) _at_or_com:orsj0200 "&cp"');

The above command runs orsj0200.com on a VAX/VMS machine from a SQL*Menu v5 type 7 (PL/SQL) menu item. It is used to recompile/relink Pro*C and Pro*Cobol modules and user exits when the Oracle Kernel has been changed and some or all modules need to be relinked.

The command file includes the following:

 $!---------------------------------------------------------------
 $! Create Temporary Data File of Module Information
 $!---------------------------------------------------------------

$ write sys$output "BEFORE:"
$ sho log sys$command
$ define/proc sys$command sys$input
$ write sys$output "AFTER:"
$ sho log sys$command
$ create or_temp:orsj0200_'user'.dat

 MODULE:AR1P0700,LANG:CO,SYS:AR,SUB:N,UEXIT:N,MACHINE:VAXC,SPEC:Y  MODULE:AR1P2000,LANG:CO,SYS:AR,SUB:N,UEXIT:N,MACHINE:VAXC,SPEC:Y  ...
$ deassign/proc sys$command

The "$define/proc sys$command sys$input" is needed so that the command file won't come back to the terminal user looking for the input to the temporary file.

When this menu option is chosen from the menu, the user sees something like this:

  Module specified: FASP0070
  BEFORE:
     "SYS$COMMAND" = "_NTY140:" (LNM$PROCESS_TABLE)   AFTER:
     "SYS$COMMAND" = "SYS$INPUT" (LNM$PROCESS_TABLE)   1 "SYS$INPUT" = "_OCVS1$DKA0:" (LNM$PROCESS_TABLE)   Updating FASP0070

  Pro*C: Release 1.5.6.2.0 - Production on Wed Aug 11 12:01:18 1993

  Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.

  Precompiling fa_src:fasp0070.PC

  • Linking FASP0070.EXE

This is a successful recompile and relink of the module called FASP0070. However, lines 2-6,

   BEFORE:
      "SYS$COMMAND" = "_NTY140:" (LNM$PROCESS_TABLE)    AFTER:
      "SYS$COMMAND" = "SYS$INPUT" (LNM$PROCESS_TABLE)    1 "SYS$INPUT" = "_OCVS1$DKA0:" (LNM$PROCESS_TABLE) are only there as debug statements. They are not necessary to the process.

But, if I leave out the debug statements:

The command file then includes only the following:

  $!---------------------------------------------------------------
  $! Create Temporary Data File of Module Information
  $!---------------------------------------------------------------
  $ define/proc sys$command sys$input
  $ create or_temp:orsj0200_'user'.dat
  MODULE:AR1P0700,LANG:CO,SYS:AR,SUB:N,UEXIT:N,MACHINE:VAXC,SPEC:Y   MODULE:AR1P2000,LANG:CO,SYS:AR,SUB:N,UEXIT:N,MACHINE:VAXC,SPEC:Y   ...
  $ deassign/proc sys$command

and the output looks like this:  

  Module specified: FASP0070
  %CREATE-E-OPENIN, error opening SYS$INPUT as input   -RMS-F-LNE, logical name translation count exceeded   %DCL-W-SKPDAT, image data (records not beginning with "$") ignored

This is a total mystery to me. Any clues?

Please respond via email, our newsfeed isn't working.

Thanks,


Jennifer R. Amon            PHONE: (216) 775-6987   
Houck Computing Center        FAX: (216) 775-8573    
Oberlin College          
Oberlin, OH 44074        INTERNET: bamon_at_ocvaxc.cc.oberlin.edu
_____________________________________________________________________
Received on Wed Aug 11 1993 - 19:26:58 CEST

Original text of this message