(LOGO.JPG) Python for OpenVMS

(go to: table of contents, index, list of vms_lib, prev: SET_LOGICAL, next: SUB_TIMES)


SET_SYMBOL - Set Value of CLI Symbol


Format:
    vms_lib.set_symbol (symbol, value-string [,table-type-indicator])
Returns:

None

Arguments:

symbol
name of the symbol
value-string
contents of 'symbol'
table-type-indicator
1 = LIB$K_CLI_LOCAL_SYM - Local symbol table
2 = LIB$K_CLI_GLOBAL_SYM - Global symbol table

If omitted or None, the local symbol table is used.

Examples:
>>> import vms_lib

>>> LIB_K_CLI_LOCAL_SYM  = 1
>>> LIB_K_CLI_GLOBAL_SYM = 2

>>> vms_lib.set_symbol ('VMS_LIB_SYM_GLOBAL',  'VALUE_GLOBAL', 2)
>>> vms_lib.set_symbol ('VMS_LIB_SYM_LOCAL',   'VALUE_LOCAL',  1)
>>> vms_lib.set_symbol ('VMS_LIB_SYM_NONE',    'VALUE_NONE',   None)
>>> vms_lib.set_symbol ('VMS_LIB_SYM_DEFAULT', 'VALUE_DEFAULT')

$ show symbol VMS_LIB_SYM_*
  VMS_LIB_SYM_DEFAULT = "VALUE_DEFAULT"        <-- local symbol
  VMS_LIB_SYM_GLOBAL == "VALUE_GLOBAL"
  VMS_LIB_SYM_LOCAL = "VALUE_LOCAL"            <-- local symbol
  VMS_LIB_SYM_NONE = "VALUE_NONE"              <-- local symbol
$

* don't forget to delete these symbols!
  $ delete/symbol/local  VMS_LIB_SYM_DEFAULT
  $ delete/symbol/global VMS_LIB_SYM_GLOBAL
  $ delete/symbol/local  VMS_LIB_SYM_LOCAL
  $ delete/symbol/local  VMS_LIB_SYM_NONE

>>> symbol_name = 'S' * 257
>>> vms_lib.set_symbol (symbol_name, 'VALUE_STRING')
Traceback (innermost last):
  File "<stdin>", line 1, in ?
vms_lib.error: (1409932, '%LIB-F-INVSYMNAM, invalid symbol name')
>>>

>>> symbol_name = 'S' * 65536
>>> vms_lib.set_symbol (symbol_name, 'VALUE_STRING')
Traceback (innermost last):
  File "<stdin>", line 1, in ?
ValueError: argument 1: symbol - string size limited to\
 65535 characters
>>>

>>> value_string = 'V' * 257
>>> vms_lib.set_symbol ('SYMBOL', value_string)
Traceback (innermost last):
  File "<stdin>", line 1, in ?
vms_lib.error: (1409588, '%LIB-F-INVARG, invalid argument(s)')
>>>

>>> value_string = 'V' * 65536
>>> vms_lib.set_symbol ('SYMBOL', value_string)
Traceback (innermost last):
  File "<stdin>", line 1, in ?
ValueError: argument 1: value-string - string size limited to\
 65535 characters
>>>

>>> # bad table type indicator
>>> vms_lib.set_symbol ('SYMBOL', 'VALUE_STRING', 999)
Traceback (innermost last):
  File "<stdin>", line 1, in ?
vms_lib.error: (1409588, '%LIB-F-INVARG, invalid argument(s)')
>>>

>>> vms_lib.set_symbol ('SYMBOL', 'VALUE_STRING', 'X')
Traceback (innermost last):
  File "<stdin>", line 1, in ?
TypeError: argument 3: table-type-indicator must be integer or None
>>>

>>> vms_lib.set_symbol ()
Traceback (innermost last):
  File "<stdin>", line 1, in ?
TypeError: function requires at least 2 arguments; 0 given
>>>

(go to: table of contents, index, list of vms_lib, prev: SET_LOGICAL, next: SUB_TIMES)

16-DEC-1998 ZE.