(LOGO.JPG) Python for OpenVMS

(go to: table of contents, index, list of vms_sys, prev: DELETE_PROXY, next: DELPRC)


DELLNM - Delete Logical Name


Format:
    vms_sys.dellnm (tabnam, [lognam], [acmode])
Returns:

None

Arguments:

tabnam
Name of a logical name table or list of tables to be searched for the logical name to be deleted.
lognam
Logical name to be deleted.
acmode
Access mode to be used in the delete operation. @@ As of 30-AUG-1998 there is no 'vms_psldef' module which would provide names like PSL_C_SUPER.

Remember that the access mode is maximized (the least privileged mode is selected) unless the process has SYSNAM privilege. WARNING! As has been mentioned in the GENMAN 'programming' page the Python executable should NOT be installed with privileges!

Examples:
$ define TEST_LNM "value"
$ show logical /full TEST_LNM
   "TEST_LNM" [super] = "value" (LNM$PROCESS_TABLE)

$! the process does not have SYSNAM privilege
$ python -c "import vms_sys; vms_sys.dellnm('LNM$PROCESS','TEST_LNM')"
Traceback (innermost last):
  File "<string>", line 1, in ?
vms_sys.error: (444, '%SYSTEM-F-NOLOGNAM, no logical name match')
$! -> the access was maximized and
$!    a user-mode logical name did not exist

$ define TEST_LNM /USER_MODE "value"
$ python -c "import vms_sys; vms_sys.dellnm('LNM$PROCESS','TEST_LNM')"
$! no error message - the user-mode logical name was deleted

$ set PROCESS /PRIVILEGE=SYSNAM
$ define /executive_mode /table=LNM$PROCESS_DIRECTORY -
  TEST_LNM_EXEC "value"
$ show logical /table=LNM$PROCESS_DIRECTORY /full

(LNM$PROCESS_DIRECTORY) [kernel]  [directory]
                        [no protection information]

  "LNM$GROUP" [kernel] = "LNM$GROUP_010040" [terminal]
  "LNM$JOB" [kernel] = "LNM$JOB_81524540" [terminal]
  "LNM$PROCESS" [kernel] = "LNM$PROCESS_TABLE" [terminal]
  "LNM$PROCESS_DIRECTORY" [kernel,no_alias,nodelete,table] = "" [terminal]
  "LNM$PROCESS_TABLE" [kernel,no_alias,table] = "" [terminal]
  "TEST_LNM_EXEC" [exec] = "value"
$!
$ python
Python 1.5.1 (V001P4, Aug 29 1998, 21:12:47) [DECC] on vms
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
portions Copyright 1996-1998 Uwe Zessin
>>> import vms_sys

>>> PSL_C_EXEC = 1
>>> vms_sys.dellnm ('LNM$PROCESS_DIRECTORY', 'TEST_LNM_EXEC',
...     PSL_C_EXEC)
>>> import os
>>> os.system('show logical /table=LNM$PROCESS_DIRECTORY /full')

(LNM$PROCESS_DIRECTORY) [kernel]  [directory]
                        [no protection information]

  "LNM$GROUP" [kernel] = "LNM$GROUP_010040" [terminal]
  "LNM$JOB" [kernel] = "LNM$JOB_81524540" [terminal]
  "LNM$PROCESS" [kernel] = "LNM$PROCESS_TABLE" [terminal]
  "LNM$PROCESS_DIRECTORY" [kernel,no_alias,nodelete,table] = "" [terminal]
  "LNM$PROCESS_TABLE" [kernel,no_alias,table] = "" [terminal]
1       <-- return status from os.system()
>>>


$! create a new logical name table
$ create /name_table TEST_LNT /parent_table= LNM$PROCESS_DIRECTORY
$ show logical /table=LNM$PROCESS_DIRECTORY /full

(LNM$PROCESS_DIRECTORY) [kernel]  [directory]
                        [no protection information]

  "LNM$GROUP" [kernel] = "LNM$GROUP_010040" [terminal]
  "LNM$JOB" [kernel] = "LNM$JOB_814AC4C0" [terminal]
  "LNM$PROCESS" [kernel] = "LNM$PROCESS_TABLE" [terminal]
  "LNM$PROCESS_DIRECTORY" [kernel,no_alias,nodelete,table] = "" [terminal]
  "LNM$PROCESS_TABLE" [kernel,no_alias,table] = "" [terminal]
  "TEST_LNT" [super,table] = "" [terminal]
$! delete the logical name table
$ python
[...]
>>> import vms_sys
>>> PSL_C_SUPER = 2
>>> vms_sys.dellnm ('LNM$PROCESS_DIRECTORY','TEST_LNT',PSL_C_SUPER)

$ show logical /table=LNM$PROCESS_DIRECTORY /full

(LNM$PROCESS_DIRECTORY) [kernel]  [directory]
                        [no protection information]

  "LNM$GROUP" [kernel] = "LNM$GROUP_010040" [terminal]
  "LNM$JOB" [kernel] = "LNM$JOB_81524540" [terminal]
  "LNM$PROCESS" [kernel] = "LNM$PROCESS_TABLE" [terminal]
  "LNM$PROCESS_DIRECTORY" [kernel,no_alias,nodelete,table] = "" [terminal]
  "LNM$PROCESS_TABLE" [kernel,no_alias,table] = "" [terminal]
$

(go to: table of contents, index, list of vms_sys, prev: DELETE_PROXY, next: DELPRC)

27-SEP-1998 ZE.