Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

$

@

ANALYZE

AT_END

BACKUP

CHANGE

CHANGE_DATABASE

CHANGE_FIELD

CHANGE_INDEX

CHANGE_PROTECTION

CHANGE_RELATION

CHANGE_STORAGE_MAP

COMMIT

CONVERT

CREATE_SEGMENT

DATABASE

DECLARE_STREAM

DEFINE

DEFINE_COLLATING

DEFINE_CONSTRAINT

DEFINE_DATABASE

DEFINE_FIELD

DEFINE_INDEX

DEFINE_PROTECTION

DEFINE_RELATION

DEFINE_STORAGE_MAP

DEFINE_TRIGGER

DEFINE_VIEW

DELETE

DELETE_COLLATING

DELETE_CONSTRAINT

DELETE_DATABASE

DELETE_FIELD

DELETE_INDEX

DELETE_PATHNAME

DELETE_PROTECTION

DELETE_RELATION

DELETE_STORAGE_MAP

DELETE_TRIGGER

DELETE_VIEW

EDIT

END_SEGMENT

END_STREAM

ERASE

EXIT

EXPORT

FETCH

FINISH

FOR

GET

HELP

IMPORT

INTEGRATE

INVOKE

MODIFY

NEW_FEATURES_V4.1

ON_ERROR

PLACE

PRINT

RDOINI

READY

ROLLBACK

RSE

SET

SHOW

START_SEGMENT

START_STREAM

START_TRANSACTION

STORE

Access rights

Command Recall

Cond expr

Datatypes

Data Distrib

DCL invoke

Demo

Errors

Execute

Field attr

Logical Names

Preprocessors

RDO Foreign Cmd

Release Notes

Rel operators

Segment str

Value expr

DATA_ACCESS

DEF_ACCESS

More

Format

ANY

BETWEEN

CONTAINING

MATCHING

MISSING

STARTING_WITH

UNIQUE

value-expr

EXTRACTION

EXTRACTION_ROLLUP

REPLICATION

SHOW_TRANSFER

DELETE_SCHEDULE

DELETE_TRANSFER

DEFINE_TRANSFER

DEFINE_SCHEDULE

REINITIALIZE_TRANSFER

START_TRANSFER

STOP_TRANSFER

Release Notes

Error msg doc

More

Format

ALL

transfer-attribute

transfer-name

DEFINITION

SCHEDULE

STATUS

ALL

Format

More

Example

transfer-name

Format

More

Example

transfer-name

Format

More

Examples

REPLICATION

EXTRACTION

EXTRACTION_ROLLUP

RSE

transfer-name

text

file-spec

target-db-param-clause

move relations clause

move-views-clause

move-relations-rollup-clause

transfer-file-options-clause

ENABLED_IMMEDIATE

ENABLED_DEFERRED

DISABLED

number-pages

page-blocks

number-buffers

number-users

buffer-blocks

ext-pages

snp-pages

multi-vol-ext-clause

min-pages

max-pages

growth

MOVE_RELATIONS_ALL

SELECT_FIELDS_ALL

text

rse

select-field-name

view-name

rse

select-field-name

prologue-file-spec

epilogue-file-spec

log-file-spec

first-clause

relation-clause

with-clause

reduce-clause

sort-clause

Format

More

Examples

transfer-name

start-date-time

every-delta-time

every-absolute-time

count

delta-time

DAY

WEEK

MONTH

weekday

at-time

Format

More

Example

transfer-name

Format

More

Examples

NOW

WAIT_NOWAIT

transfer-name

Format

More

Example

transfer-name

More

Example

RDB

RDMS

RDO

ACCVIO

ACENOTFND

ACTQUERY

ACTUPDREQ

AIJACTIVE

AIJALLDONE

AIJBADAREA

AIJBCKACT

AIJBCKFAIL

AIJBCKSEQ

AIJCONFIRM

AIJCURSEQ

AIJDEVDIR

AIJDISABLED

AIJENABLED

AIJFILEGONE

AIJFNLSEQ

AIJGOODAREA

AIJMODSEQ

AIJMOREWORK

AIJNOACTIVE

AIJNOENABLED

AIJNXTFIL

AIJNXTSEQ

AIJONEDONE

AIJOPTSUC

AIJPREPARE

AIJQUIETPT

AIJRECOBS

AIJRECTRM

AIJROOSEQ

AIJSEQAFT

AIJSEQPRI

AIJVNOSYNC

ALLMIN

ALROPE

ANAEXTOBS

AREABUSY

AREA_CORRUPT

AREA_DELETED

AREA_INCONSIST

AREA_NAME

AREA_RESTRUCT

ARITH

BADAIJBCK

BADAIJFILE

BADAIJSEQ

BADAIJUNTIL

BADAIJVER

BADASCTOID

BADBNDPRM

BADBOUNDS

BADBUFSIZ

BADDATDEF

BADDBNAME

BADFILTYP

BADHANDLE

BADPARAM

BADROOTMATCH

BADSEGSTROPT

BADSPAMINT

BAD_AREA_NAME

BAD_CODE

BAD_DATATYPE

BAD_NAME

BAD_SYM

BAD_XPR

BDDATRANG

BKUPEMPTYAIJ

BOUND

BPPMAX

BPPMIN

BUFLIMEXC

BUFSMLPAG

BUFTOOSML

BUGCHECK

BUGCHKDMP

CANTASSMBX

CANTBINDRT

CANTCLOSEDB

CANTCREDBR

CANTCREGBL

CANTCREMBX

CANTCREMON

CANTDELETE

CANTLCKTRM

CANTMAPTROOT

CANTOPENDB

CANTOPENIN

CANTQIOMBX

CANTREADDB

CANTREADDBS

CANTSNAP

CANTSPAWN

CANTWRITEDBS

CATALOGEXISTS

CATALOGINUSE

CATNOTFOUND

CDDDICTALONE

CDDISREQD

CDDREQALONE

CHECKSUM

CHGIDXNOADDMAP

CMTCONNOTDEL

CNVNUMDAT

COLEXTS

COLINVFLDTYP

COLLFAILURE

COLLFMTUNK

COLNOEXTS

COLNOTDEF

COLRESERVED

COLUSEDDB

COLUSEDFLD

COLUSEDREL

COMPLEX

COMPNOTENA

COMPNOTNUM

COMPNOTTEXT

CONDELVIAREL

CONEXI

CONEXTS

CONFTXNOPTION

CONNOEXI

CONNOTDEF

CONNOTDEL

CONVERR

CONVW

CSETBADASSIGN

CSETBADCOMPARE

CSETBADCONCAT

CSETBADESCAPE

CSETBADOPER

CSETNOASCII

CSETNOTFOUND

DATCNVERR

DBACTIVE

DBBUSY

DBCRUPT

DBNOTACTIVE

DBNOTEXTEN

DBNOTINTRAN

DBNOTMULTSCHEM

DBNOTOPEN

DBRABORTED

DBSHUTDOWN

DB_CORRECT_VER

DEADLOCK

DEFLISTWORM

DOFULLBCK

DT_FRACMBZ

DT_PRECMBZ

DUPLANAME

DUPLFNAME

DUPLTRGTYPE

DUPNOTALL

EMPTYAIJ

EMPTYFILE

END

ERRFOREIGN

ERROPENIN

ERROPENOUT

ERRWRITE

EXQUOTA

EXTDBONLY

EXT_LENGTH_CH

EXT_NEED_DT

EXT_WEEKDAY_TS

FCJOUDIS

FIEUSETRA

FILACCERR

FLDEX

FLDINCOM

FLDINCOMREL

FLDINCON

FLDINSTO

FLDINTRG

FLDINUSE

FLDINVIEW

FLDLSTCONDUPS

FLDNOEX

FLDNOEXI

FLDNOTCHG

FLDNOTDEL

FLDNOTINREL

FLDVALIDIF

GETTXNOPTION

GFLDEXTS

GFLDNOEX

GOODAIJSEQ

HASHEDMIX

IDXCOMPLENERR

IDXMAPLIM

IDXMAPLMT

IDXMAPLMTERR

IDXNOTDEF

IDXNOTDEL

ILLNCHAR

INDEXTS

INDEX_S_MAX

INDEX_S_MIN

INDINMAP

INDLIMITBAD

INDNEEDSLIMIT

INDNOTEXI

INDNOTREL

INDTOOBIG

INFUNK

INVACE_LENGTH

INVCATALOGID

INVDATOPR

INVDBSFIL

INVDB_NAME

INVDB_TYPE

INVDTYPINDX

INVDTYPKEY

INVFORUPDATE

INVHEADER

INVIDENT

INVMAXROWS

INVMAXTIME

INVNAME

INVOPTPREF

INVSCHEMAID

INVSUBSTRLEN

INVTBL_NAME

INVTRGACT_STMT

INV_DATE_CHG

INV_DIGITS

INV_PCT_FILL

INV_PRECISION

INV_RATOR

INV_ROOT

INV_SCALE

INV_SUB_TYPE

JOIN_CTX_UPD

LASTARENOLIMIT

LBMAX

LBMIN

LCKCNFLCT

LOGAIJBCK

LOGCREOPT

LOGMODSPM

LOGMODSTO

LOGRECOVR

LOGRECSTAT

LOGRESOLVE

LOGSUMMARY

MAPAREAINUSE

MAPBLRMISSING

MAPNMINUSE

MAPREFAREA

MAXRECLIM

MAXRELVER

MAXTIMLIM

MAX_CCTX

MISMMORDD

MISSINGINV

MIXCLUST

MONALSTART

MONFLRMSG

MONMBXOPN

MONSTOPPED

MULTCHGAREA

MULTPLACEVIA

MULTSCHEMALONE

MULTSCHEMNODIS

MULTSCHEMNOW

MUSTRECDB

NBMAX

NBMIN

NDXPMTDUPS

NOACCSEGSTR

NOAIJDEF

NOCATALOG

NOCHAR

NOCHGRDBSYS

NOCHGVW

NOCREMBX

NOCRESYNONYM

NODBK

NODELPRIVANSI

NODELSEGSTR

NODEVDIR

NODMAX

NODMIN

NODROPSYNONYM

NODUPSANSI

NOGRPANSI

NOIDENTANSI

NOINTERUNI

NOLOCKSOUT

NOMAPONVIEW

NOMETAUPD

NOMETSYSREL

NOMONITOR

NOMOREGB

NONODE

NOOPTCUR

NOOPTNOQUIET

NOOPTOPT

NOOPTPRVNOQUIET

NOOPTUNRES

NOPLACEANSI

NOPRIV

NORTUPB

NOSCHEMA

NOSIP

NOSNAPS

NOSTAREAEXT

NOSTATS

NOSTRTUP

NOSYNONYM

NOTBOOL

NOTDSKFIL

NOTHRESUNI

NOTIMPLYET

NOTIP

NOTOPE

NOTRANAPP

NOTROOT

NOTSYSCONCEAL

NOT_BOUND

NOT_LARDY

NOT_LICENSED

NOT_READY

NOT_RESERV

NOT_UPDATE

NOT_VALID_FR

NOVIEWIND

NOWILD

NOWORMSPT

OBSVER

OK_NO_ACE

OPCLOOBS

OPERCLOSE

OPERSHUTDN

OPTINCONSIS

OPTNOAREAREC

OPTNOUNTILREC

OVERFLOW

PARTDTXNERR

PARTOPERBAD

PLACEVIA1ST

PREMEOF

PRI_RELCONEXTS

QIOXFRLEN

QUIETPT

READONLY

READ_ONLY

RECMAXEXC

REFINGFLDMSMTCH

RELALRDYMP

RELCONEXTS

RELCONNOEXI

RELEXI

RELEXTS

RELFLDEX

RELFLDNOC

RELFLDNOD

RELINCOM

RELNEXTS

RELNOEXI

RELNOTCHG

RELNOTDEL

RELNOTEMPTY

RELUSETRA

REQPBLCANSI

REQUNIFORM

RESTART

RLCREFDBYRLC

ROOMAJVER

ROOTMAJVER

RUJDEVDIR

SCHEMAEXISTS

SCHEMAINUSE

SCHNOTFOUND

SEGALRDYMP

SEGMAPONWORM

SEGSTR_AREA_INC

SEGSTR_NO_CHG

SEGTOOBIG

SETWIDTH

SIP

SNAPFULL

SNPDISCJ

SORTKEYEXT

SORTOPERR

SPAMNOTDIS

SPAMNOTRDONLY

SPAMNOTWRM

SPIMAX

SPIMIN

SSAREANOTEMPTY

SSNOTINROOT

STALL

STAREAFUL

STOMAPNOEXI

SYMTOOBIG

SYNERR

SYSRDONLY

TABIDNOTDEF

TABNOTDEF

TADMISMATCH

TERMINATE

THRESHAREEXI

THRESHUNIF

TIMEOUT

TRANSFDEF

TRAN_IN_PROG

TRGEXI

TRGEXTS

TRGINUPDREQ

TRGNOEXI

TRGNOSUBJCTX

TRGVW

TRIGNODEL

TRIG_ERROR

TRNNOTDEF

TRNNOTDEL

TRUE

TRUNCATION

TRUNRGTSTR

UNDERFLOW

UNI_RELCONNOEXI

UNLIKECOLL

UNSARITH

UNSCATALOG

UNSCOMP

UNSCONV

UNSSCHEMA

UNSSYNONYM

UNS_DTYPE

UPDINSNAP

UPDRECURSTRIG

USEUNOPTAIJ

USRMAX

USRMIN

VCO_NOFIRSTN

VIEWEXI

VIEWINVIEW

VIEWNOEXI

VIEWNORET

VIEWNOTDEL

VIEWNOUP

VIEW_NO_ANA

WASBOOL

WISH_LIST

WRMNOTMIX

WRMRDONLY

WRNG_REL

XPR_STACK_OFLO

ACCVIO

ACENOTFND

ACLNOTIMP

AGGNOTALL

AIJACTIVE

AIJALLDONE

AIJBADAREA

AIJBCKACT

AIJBCKFAIL

AIJBCKSEQ

AIJCONFIRM

AIJCURSEQ

AIJDEVDIR

AIJDISABLED

AIJENABLED

AIJFILEGONE

AIJFNLSEQ

AIJGOODAREA

AIJMODSEQ

AIJMOREWORK

AIJNOACTIVE

AIJNOENABLED

AIJNXTFIL

AIJNXTSEQ

AIJONEDONE

AIJOPTSUC

AIJPREPARE

AIJQUIETPT

AIJRECTRM

AIJROOSEQ

AIJSEQAFT

AIJSEQPRI

AIJVNOSYNC

AMB_KEYWORD

ANODBHAND

ANYNOTALL

AREABUSY

AREA_CORRUPT

AREA_DELETED

AREA_INCONSIST

AREA_RESTRUCT

ARIEXPEXP

ATTMISSING

BACKCONV

BADADJLOCKGRAN

BADAIJBCK

BADAIJFILE

BADAIJSEQ

BADAIJUNTIL

BADAIJVER

BADASCTOID

BADBLOB

BADBNDPRM

BADBOUNDS

BADBUFSIZ

BADCLUMP

BADCORATT

BADDATDEF

BADDBNAME

BADDTFMT

BADEPILOGUE

BADFILEVER

BADFILTYP

BADFLDTYP

BADIDXMAP

BADINTERVAL

BADLOGFILE

BADLOGNAM

BADMETNAM

BADMVIEWFLD

BADMVIEWREL

BADMVIEWVEW

BADMVRELS

BADMVVIEWS

BADPAGEFORMAT

BADPARAM

BADPROLOGUE

BADRECBUF

BADROLMVFLD

BADROOTMATCH

BADSNAPFILENAME

BADSPAMINT

BADSPECATR

BADTHRESHOLD

BADVAXCLUSNODES

BAD_END_NAME

BAD_NAME

BDDATRANG

BKUPEMPTYAIJ

BOOEXPEXP

BOUND

BUFTOOSML

BUGCHECK

BUGCHK

BUGCHKDMP

CABORT

CANTASSMBX

CANTBACKUP

CANTBINDRT

CANTCLOSEDB

CANTCONVERT

CANTCREDBR

CANTCREGBL

CANTCREMBX

CANTCREMON

CANTCVRT

CANTDELETE

CANTLCKTRM

CANTMAPTROOT

CANTOPENDB

CANTOPENIN

CANTQIOMBX

CANTREADDB

CANTREADDBS

CANTRESTORE

CANTSNAP

CANTSPAWN

CANTSPOOL

CANTWRITEDBS

CDDDEFERR

CDDERR

CHDBNOPARAM

CHECKSUM

CHGINDMAP

CHGINDMAPSTP

CLOSERR

CMDINTR

CMPBYINVW

CNTSPNSUB

CNVNUMDAT

COL_DROPPED

COMPLEX

COMPNOTRANS

COMTOOLON

CONALREXI

CONAMBIG

CONCHAILL

CONFATRSPEC

CONFTXNOPTION

CONNOTDEF

CONVARDEF

CONVARILL

CONVARUND

CONVERR

CONVONLY

CS_ERR

CVT_PROCEED

DATCNVERR

DATCONERR

DATNOTSUP

DATTYPUNK

DBACTIVE

DBBUSY

DBHANDUNK

DBHDLREQ

DBKNOTALL

DBNAMEHV

DBNOTACTIVE

DBNOTOPEN

DBNOTSPEC

DBRABORTED

DBSHUTDOWN

DB_CVT_FAIL

DB_CVT_SCS

DB_HANDEC

DB_HANDEC2

DB_HANLON

DB_NOTCVT

DDALERR

DEADLOCK

DEGMODSPC

DESCTOOBIG

DOFULLBCK

DTFMTTOOBIG

DTONCEEACH

DUPFLDDEF

EMPTYAIJ

EMPTYFILE

ERRDET

ERRFOREIGN

ERROPENIN

ERROPENOUT

ERRWRITE

EXPCV_DOT

EXQUOTA

EXTNOTSUP

EXTRADATA

FETNOTDON

FIELD_EXISTS

FIENOTALL

FIENOTREN

FIENOTSEG

FILACCERR

FLDAMBIG

FLDNOTCRS

FLDNOTDEF

FLDNOTINREL

FLDNOTREFD

FLUINPBUF

FOREIGN_NOUNQCON

FOREIGN_REFGREFD

GARBLED

GETTXNOPTION

GOODAIJSEQ

HOWCHANOT

ILLBEGIN

ILLCHAR

ILLNCHAR

IMP_CDD_NODATA

IMP_IDXNOTDEF

IMP_IDXNOTDEL

IMP_IDX_CONFLICT

IMP_IDX_TWICE

IMP_STANOTDEL

IMP_STMNOTDEF

IMP_STMNOTDEL

IMP_STO_CONFLICT

IMP_STO_MAP_CONFLICT

IMP_STO_MAP_TWICE

IMP_STO_TWICE

INDEXTS

INDNOEXI

INTEGDBDIF

INTEGFRFAIL

INTONOTALW

INTSYNERR

INVCHAINP

INVCHANUMSTR

INVCONS

INVDBKREF

INVDBSFIL

INVFLD

INVFLDPRO

INVFLDSIZE

INVHEADER

INVINDEX

INVNODESIZE

INVNOTDON

INVPERCENTFILL

INVPRIVNAMES

INVRELVIEW

INVSEGSTRATR

INVSTOMAP

INVTRG

INV_ROOT

IOERROR

JUNONLIN

LANFILEXT

LCKCNFLCT

LENMISMAT

LHSNOTDBN

LHSNOTVAR

LOGAIJBCK

LOGCREOPT

LOGMODSPM

LOGMODSTO

LOGRECOVR

LOGRECSTAT

LOGRESOLVE

LOGSUMMARY

LOOK_FOR

LOOK_FOR_CON

LOOK_FOR_FIN

LOOK_FOR_STT

LOOK_FOR_UNTERM

MAXFLDPRTSTR

MAXLINLEN

MAXNESEXC

MAXRELEXC

MAXVOLLABEXC

MISMMORDD

MONFLRMSG

MONMBXOPN

MONSTOPPED

MULSPECATR

MUSINVPATH

MUSTRECDB

MVRELABSNT

NOAGGALL

NOAIJDEF

NOANYALL

NOCDD

NOCDDUPDAT

NOCHAR

NOCMPBYRES

NOCOLRES

NOCONGET

NOCONRES

NOCREMBX

NODATRES

NODBHALW

NODBHAN

NODBK

NODBKALL

NODBNAME

NODEVDIR

NODISTBATU

NODPRIRES

NODUPLIVIEW

NOENTRYPT

NOFLDRES

NOFPRIRES

NOFSTINREPT

NOIDXRES

NOITEMDEF

NOLOCKSOUT

NOMAPRES

NOMLTIMV

NOMLTIMVIEW

NOMONITOR

NOMOREGB

NOMVRALL

NOMVVROL

NONODE

NOOPTCUR

NOOPTNOQUIET

NOOPTOPT

NOOPTPRVNOQUIET

NOOPTUNRES

NOPARAMETER

NOPRECOMPSEL

NOPRIV

NOPRVMVIEW

NOPRVMVREL

NOPRVREPLI

NOPRVROLMVR

NOREDINREPT

NORELRES

NOREMVER

NOREQHAN

NORPRIRES

NORTUPB

NOSEGSTRAREA

NOSELALL

NOSIP

NOSNAPS

NOSORTINREPT

NOSTATS

NOSUCHDATEFMT

NOSUCHLANG

NOSUCHTIMEFMT

NOSUPREPLI

NOTAVIEW

NOTBOOL

NOTDSKFIL

NOTENUFHV

NOTEXPSEG

NOTFOUND

NOTIMPLYET

NOTIP

NOTRANAPP

NOTREQSTA

NOTRGRES

NOTROOT

NOTSEGSTR

NOTSYSCONCEAL

NOT_BOUND

NOT_INSTALLED

NOT_LARDY

NOT_READY

NOT_UPDATE

NOUPDCOMP

NOVIERES

NOVIEWINREPT

NOWILD

NOWORMSPT

NO_CROSEG

NO_FILFND

NO_FIRSEG

NO_MORSEG

NO_PERBLO

NO_REDSEG

NO_SORSEG

NO_SUCH_FIELD

NO_TXNOUT

NO_WITSEG

NULLNOIND

ONLFIRVAR

ONLONEDB

ONLONERED

ONLONEREQ

ONLONESOR

ONLONETRA

ONLONETRN

ONLONEWIT

ONLYONEPSECT

OPENERR

OPERCLOSE

OPERSHUTDN

OPRSTK_OVRFLO

OPTINCONSIS

OPTNOAREAREC

OPTNOUNTILREC

OVERFLOW

PARSE_STACK_OVERFLOW

PARTDTXNERR

PATHREQCDD

PLACENEEDGET

PREMATURE_EOF

PREMEOF

QIOXFRLEN

QUIETPT

RDORECOBS

READ_ONLY

REANOWRT

REFSEGSTR

RELAMBIG

RELNOTDEF

REL_EXISTS

REMNOTALW

REORGONLCHSM

RESABORT

RESERVED_WORD

RESTART

RETMODSPC

ROOMAJVER

ROOTMAJVER

RSENOTSEG

RTOCMDILL

RUJDEVDIR

SCALEOPSBASIC

SEGALRSTA

SEGNOTSTA

SEGOUTSCO

SEGSTREXP

SELMORVAL

SETWIDTH

SEVERRDET

SFDBONLY

SHINDCIU

SHINDFLDSIZE

SHINDMAPVAL

SHINDMAPVAL2

SIP

SNAPFULL

SORTOPERR

SOURCEDISC

SPACREQ

SPAMNOTDIS

SPAMNOTRDONLY

SPAMNOTWRM

SSNOTINROOT

STALL

STAREAFUL

STARNOTALL

STOCONVAR

STOMAPNOEXI

STOMAP_LITS

STRALRDEC

STRALROPE

STRLITMISQUO

STRNOTDEC

STRNOTOPE

STROUTSCO

SYM_EXP

SYNTAX_ERR

SYSRDONLY

TADMISMATCH

TERMINATE

TIMEOUT

TOKTOOBIG

TOOBIGBLR

TRAACT

TRAACT_1

TRAACT_2

TRAACT_3

TRAHDLBVAL

TRAHDLINV

TRAMODSPC

TRANONERR1

TRANONERR2

TRAN_IN_PROG

TREE_OVRFLO

TRGALREXI

TRUE

TRUNCATION

UNBTMPFIL

UNDERFLOW

UNLCONVAR

UNSARITH

UNSCOMP

UNSCOMPBY

UNSCONV

UNSDSCCLA

UNSSTRXPR

UNSSUPDAT

UNTSTR

UPDATEJOIN

USEUNOPTAIJ

USINGCLSMNGLESS

USINGNOTSPEC

VEWNOTDEF

VWNOFETCH

WAIMODSPC

WASBOOL

WISH_LIST

WRMNOTMIX

WRMRDONLY

ZABORT

Format

More

Examples

COLLATING

data-type

validity-clause

missing-value-clause

dtr-clause

Segmented string

Example

fxd-pnt-num

quoted-string

Examples

Format

Examples

RDMS$BIND_QG_TIMEOUT

RDMS$BIND_QG_REC_LIMIT

RDM$BIND_CKPT_TRANS_LIMIT

RDMS$USE_OLD_UPDATE_RULES

RDMS$BIND VM SEGMENT Changed

RDMS$BIND WORK FILE Changed

RDBPRE

RDML

/BASIC

/COBOL

/FORTRAN

/INITIALIZE_HANDLES

More

More

arithmetic expression

concatenated expression

database field

database key

first from

host variable

literal

statistical expression

Examples

database handle

transaction handle

request handle

Format

MAX

MIN

TOTAL

AVERAGE

COUNT

RDB/VMS Relational Database Operator — VMS RDB_4.1_M

Additional information available:

$@ANALYZEAT_ENDBACKUPCHANGECHANGE_DATABASE
CHANGE_FIELDCHANGE_INDEXCHANGE_PROTECTION
CHANGE_RELATIONCHANGE_STORAGE_MAPCOMMITCONVERT
CREATE_SEGMENTDATABASEDECLARE_STREAMDEFINEDEFINE_COLLATING
DEFINE_CONSTRAINTDEFINE_DATABASEDEFINE_FIELDDEFINE_INDEX
DEFINE_PROTECTIONDEFINE_RELATIONDEFINE_STORAGE_MAP
DEFINE_TRIGGERDEFINE_VIEWDELETEDELETE_COLLATING
DELETE_CONSTRAINTDELETE_DATABASEDELETE_FIELDDELETE_INDEX
DELETE_PATHNAMEDELETE_PROTECTIONDELETE_RELATIONDELETE_STORAGE_MAP
DELETE_TRIGGERDELETE_VIEWEDITEND_SEGMENT
END_STREAMERASEEXITEXPORTFETCHFINISH
FORGETHELPIMPORTINTEGRATEINVOKE
MODIFYNEW_FEATURES_V4.1ON_ERRORPLACEPRINTRDOINI
READYROLLBACKRSESETSHOWSTART_SEGMENT
START_STREAMSTART_TRANSACTIONSTORE

Access rightsCommand RecallCond exprDatatypesData DistribDCL invoke
DemoErrorsExecuteField attrLogical NamesPreprocessors
RDO Foreign CmdRelease NotesRel operatorsSegment strValue expr

Access rights

 Rdb/VMS controls access rights that grant or deny users access to:

  o  Data in an Rdb/VMS database
  o  Rdb/VMS data definition statements
  o  Rdb/VMS utility statements

 When specifying access rights, remember these rules:

  o  Rdb/VMS denies all access rights not explicitly granted.
  o  Specify only those access rights to which you want to grant
     access.
  o  If you want to grant all access rights, you can do so by
     specifying the keyword "ALL" instead of listing all the access
     rights.
  o  If you want to deny all access rights, you can do so by
     specifying the keyword "NONE".

 For tables that define these access rights, ask for Additional
 Information on DATA_ACCESS, DEF_ACCESS.

Additional information available:

DATA_ACCESSDEF_ACCESS

DATA_ACCESS

 This table lists the access rights that control access to data.

 Table 1:
 +----------------+-------------+----------------+
 |                |             |                |
 | Access Right   | To Grant    | To Deny        |
 +----------------+-------------+----------------+
 |                |             |                |
 | Read data      |  READ       |   NOREAD       |
 |                |             |                |
 | Store data     |  WRITE      |   NOWRITE      |
 |                |             |                |
 | Modify data    |  MODIFY     |   NOMODIFY     |
 |                |             |                |
 | Erase data     |  ERASE      |   NOERASE      |
 +----------------+-------------+----------------+

DEF_ACCESS

 This table lists the access rights that control access to database
 definitions.

 +---------------------------+---------------+------------------+
 |                           |               |                  |
 | Access Right              | To Grant      | To Deny          |
 +---------------------------+---------------+------------------+
 |                           |               |                  |
 | Define global field,      | DEFINE        | NODEFINE         |
 | relation, or storage map  |               |                  |
 |                           |               |                  |
 | Change global field       | CHANGE        | NOCHANGE         |
 |                           |               |                  |
 | Delete global field       | DELETE        | NODELETE         |
 |                           |               |                  |
 | Run two-phase commit      | DISTRIBTRAN   | NODISTRIBTRAN    |
 | transaction on database   |               |                  |
 |                           |               |                  |
 | Define, change, delete    | CONTROL       | NOCONTROL        |
 | database protection       |               |                  |
 |                           |               |                  |
 | [future versions]         | REFERENCES    | NOREFERENCES     |
 |                           |               |                  |
 | Specify, show, and review | SECURITY      | NOSECURITY       |
 | the security audit trail  |               |                  |
 |                           |               |                  |
 | [future versions]         | SHOW          | NOSHOW           |
 |                           |               |                  |
 | Open or close a database  | ADMINISTRATOR | NOADMINISTRATOR  |
 |                           |               |                  |
 | Any CHANGE DATABASE       | ADMINISTRATOR | NOADMINISTRATOR  |
 | option                    |               |                  |
 |                           |               |                  |
 | Delete a database         | ADMINISTRATOR | NOADMINISTRATOR  |
 +---------------------------+---------------+------------------+

 This table lists the access rights that control access to relation
 definitions.

 +---------------------------+---------------+------------------+
 |                           |               |                  |
 | Access Right              |   To Grant    |  To Deny         |
 +---------------------------+---------------+------------------+
 |                           |               |                  |
 | Define index or storage   |   DEFINE      |  NODEFINE        |
 | map                       |               |                  |
 |                           |               |                  |
 | Define trigger            | READ,DEFINE   |  NOREAD,NODEFINE |
 |                           |               |                  |
 | Define view or constraint | READ,DEFINE   |  NOREAD,NODEFINE |
 |                           |               |                  |
 | Change relation           |   CHANGE      |  NOCHANGE        |
 |                           |               |                  |
 | Delete relation,          |   DELETE      |  NODELETE        |
 | index, view,              |               |                  |
 | constraint, or storage    |               |                  |
 | map                       |               |                  |
 |                           |               |                  |
 | Define, change, delete    |   CONTROL     |  NOCONTROL       |
 | protection for            |               |                  |
 | relation                  |               |                  |
 |                           |               |                  |
 | [Reserved for future      |   SHOW        |  NOSHOW          |
 | versions]                 |               |                  |
 |                           |               |                  |
 | [Reserved  for  future    |   OPERATOR    |  NOOPERATOR      |
 | versions]                 |               |                  |
 +---------------------------+---------------+------------------+

Command Recall

 Rdb/VMS saves and allows you to access up to 20 of your most recently
 entered RDO commands.  Use the UP-ARROW or CTRL/B keys to recall
 previously entered commands.  Use the DOWN-ARROW key to reexamine a
 command that you had retrieved using the UP-ARROW key.

 This feature is designed for the convenience of RDO users.  It
 greatly reduces the need to enter the RDO editing buffer to rerun one
 or more of your last 20 commands.  The EDIT statement continues to be
 a useful tool for created RDO procedures in that it lets you take
 advantage of your editor's text manipulation features and it lets you
 edit multiple lines.

Additional information available:

More

More

 Any string entered at the RDO> prompt is saved in the recall buffer.
 This includes all DCL commands prefaced by the dollar sign ($),
 commented text that begins with the exclamation point (!), and any
 RDO statements.  The carriage return delimits each line written to
 the recall buffer.  Thus, in the following example, four separate
 entries are written to the recall buffer:

 RDO> FOR E IN EMPLOYEES
 cont> WITH E.EMPLOYEE_ID BETWEEN "00164" AND "00175"
 cont> PRINT E.LAST_NAME, E.EMPLOYEE_ID
 cont> END_FOR

 The most recently typed command is at the top of the recall buffer.
 If the user enters CTRL/B at this point, the END_FOR statement would
 appear first.

 There are no parameters or logicals available to control the maximum
 number of lines saved in the recall buffer.

Cond expr

 An expression, sometimes called a Boolean expression, that represents
 the relationship between two value expressions.  The value of a
 conditional expression is either true, false, or null.

 Conditional expressions can be combined with AND and OR or qualified
 with NOT.  The AND, OR, and NOT operators are called logical
 operators.

Additional information available:

Format

Format

 conditional-expr =

 ──┬───> conditional-expr ──> 
A

N

D
──> conditional-expr ───┬──> ├───> conditional-expr ──> 
O

R
───> conditional-expr ───┤ ├────────────────────────> 
N

O

T
──> conditional-expr ───┤ ├───> value-expr ──> operator ──> value-expr ────────┤ ├───> any-clause ──────────────────────────────────────┤ ├───> between-clause ──────────────────────────────────┤ ├───> containing-clause ───────────────────────────────┤ ├───> matching-clause ─────────────────────────────────┤ ├───> missing-clause ──────────────────────────────────┤ ├───> starting-with-clause ────────────────────────────┤ └───> unique-clause ───────────────────────────────────┘

Additional information available:

ANYBETWEENCONTAININGMATCHINGMISSINGSTARTING_WITH
UNIQUE

value-expr

value-expr

 For a complete description of Rdb/VMS value expressions, ask for HELP
 on Value_expr.

ANY

 any-clause =

 ────┬───>────────┬──> 
A

N

Y
───> rse ───> └───> 
N

O

T
───┘ The condition containing ANY is true if the record stream specified by the record selection expression (RSE) includes at least one record. If you add NOT, the condition is true if there are no records in the record stream.

BETWEEN

 between-clause =

 ────> value-expr  ────┬───>──────┬───> 
B

E

T

W

E

E

N
────┐ └──> 
N

O

T
──┘ │ ┌─────────────────────────────────────────────┘ └───> value-expr ───> typebox (A)typebox (N)typebox (D) ───> value-expr ───────> The condition containing BETWEEN is true if the first value expression is between the second and the third value expressions or equal to one of them.

CONTAINING

 containing-clause =

 ───> value-expr ───┬─────>────┬──> 
C

O

N

T

A

I

N

I

N

G
───> value-expr ───> └──> 
N

O

T
──┘ With CONTAINING, the condition is true if the second value expression is found within the first. In most cases, the value expressions in a CONTAINING clause evaluate to text strings, but CONTAINING also operates on numeric data types. NOTE CONTAINING is not case sensitive; it considers uppercase and lowercase forms of the same letter to be a match. If either of the value expressions in a CONTAINING clause is null, the result is null.

MATCHING

 matching-clause =

 ───> value-expr ───┬─────>────┬─> 
M

A

T

C

H

I

N

G
───> match-expr ────> └──> 
N

O

T
──┘ With MATCHING, the condition is true if the match expression matches the value expression. MATCHING uses the following symbols: * Matches any string of zero or more characters % Matches any single character NOTE MATCHING is not case sensitive; it considers uppercase and lowercase forms of the same letter to be a match. If either of the expressions is null, the result is null.

MISSING

 missing-clause =

 ───> db-field  ────────┬────>─────┬──> 
M

I

S

S

I

N

G
───> └──> 
N

O

T
──┘ This condition is true if the value specified by db-field is missing.

STARTING_WITH

 starting-with-clause =

 ───> value-expr ───┬─────>─────┬──> 
S

T

A

R

T

I

N

G

W

I

T

H
───> value-expr ──> └──> 
N

O

T
───┘ If a condition contains STARTING WITH, the condition is true if the first characters of the first string expression match the second string expression. In most cases, the value expressions in a STARTING WITH clause evaluate to text strings, but STARTING WITH also operates on numeric data types. NOTE STARTING WITH is case sensitive; it considers uppercase and lowercase forms of the same letter to be different. If either of the string expressions in a STARTING WITH clause is null, the result is null.

UNIQUE

 unique-clause =

   ──────┬───>─────┬─> 
U

N

I

Q

U

E
───> rse ───> └──> 
N

O

T
─┘ The condition containing UNIQUE is true if the record stream specified by the RSE includes only one record. If you add NOT, the condition is true if there is more than one record in the record stream or the record stream is empty.

Datatypes

 This table summarizes the characteristics of the Rdb/VMS data types.


Table 1:  Rdb/VMS Data Types

VAX Rdb/VMS   Corresponding    Size     Range          Other
Data Type     VAX Data Type             Precision      Parameters

SIGNED        Signed byte      8 bits   -128 to          n = scale
BYTE          integer                   127              factor

SIGNED        Signed word     16 bits   -32768 to        n = scale
WORD          integer                   32767            factor

SIGNED        Signed          32 bits   -2**31 to        n = scale
LONGWORD      longword                  (2**31)-1        factor
              integer

SIGNED        Signed          64 bits   -2**63 to        n = scale
QUADWORD      quadword                  (2**63)-1        factor
              integer

F_FLOATING    F_floating      32 bits   0.29 x 10**(-38)    None
              Single                    to 1.7 x 10**38
              precision                 Approximately
              floating                  seven decimal
              point number              digits

G_FLOATING    G_floating      64 bits   0.56 x 10**(-308)   None
              Extended                  to 0.9 x 10**308
              precision                 Approximately
              floating                  15 decimal
              point number              digits

DATE          Absolute date   64 bits   Not                 None
              and time                  applicable

TEXT          ASCII text      n bytes   0 to 32767        n = number
of
                                        characters        characters
                                                          (unsigned
                                                          integer)

VARYING       Varying         Varies    0 to 32765        n = maximum
STRING        length ASCII              characters        number of
              text                                        characters
                                                          (unsigned
                                                          integer)

SEGMENTED     None            Varies    0 to 64k            None
STRING                                  bytes per
                                        segment

Note:         For more information on SEGMENTED STRINGS, request HELP
              on Segment_str.

Data Distrib

 VAX Data Distributor is a software product that lets you distribute
 whole databases, or parts of them, to target directories on the same
 or different nodes in the network.  The source database for
 extraction and extraction rollup target databases can be a
 DSRI-compliant database such as Rdb/VMS or VIDA.  The source database
 for a replication target database must be an Rdb/VMS database.

 You can issue all language statements, options, and qualifiers of VAX
 Data Distributor from RDO when VAX Data Distributor is installed on
 your system.

Additional information available:

EXTRACTIONEXTRACTION_ROLLUPREPLICATIONSHOW_TRANSFER
DELETE_SCHEDULEDELETE_TRANSFERDEFINE_TRANSFERDEFINE_SCHEDULE
REINITIALIZE_TRANSFERSTART_TRANSFERSTOP_TRANSFER

Release NotesError msg doc

Release Notes

 To see the current Release Notes for VAX Data Distributor, type or
 print the following file:

      SYS$HELP:DDALvvu.RELEASE_NOTES

                where   vv = version
                        u  = update

           For example:

      SYS$HELP:DDAL021.RELEASE_NOTES

Error msg doc

 Errors returned by Data Distributor are documented online in the file
 SYS$HELP:DDAL$MSG.DOC, which you can PRINT, TYPE, or SEARCH at DCL
 level.

EXTRACTION

 Specifies that Data Distributor create an extraction database at the
 target site.  Because each extraction database is independent of the
 source database, users at the target directory can access extraction
 databases with either read-only or read/write transactions.  Each
 time an extraction transfer executes, Data Distributor creates a new
 version of the target database and transfers a complete copy of the
 selected records to the target node.

 Indexes, constraints, and access rights are not transferred when the
 target database is created.  Once the target database has been
 created, you can define views, indexes, and constraints for it and
 modify the access rights.  Refer to the VAX Data Distributor Handbook
 for more information about extraction databases.

EXTRACTION_ROLLUP

 Specifies that Data Distributor create an extraction rollup database
 at the target site with records selected from one or more source
 databases.  Because each extraction rollup database is independent of
 the source database, users at the target directory can access
 extraction rollup databases with either read-only or read/write
 transactions.  Each time an extraction rollup transfer executes, Data
 Distributor creates a new version of the target database and
 transfers a complete copy of the selected records to the target node.

 Indexes, constraints, and access rights are not transferred when the
 target database is created.  Once the target database has been
 created, you can define indexes and constraints for it and modify the
 access rights.  Refer to the VAX Data Distributor Handbook for more
 information about extraction databases.

REPLICATION

 Specifies that Data Distributor create a replication database at the
 target site.  When a replication transfer executes, Data Distributor
 creates a database at the target site during the initial execution
 and supplies updates to it during subsequent transfers.  In addition,
 the execution of a replication transfer might create special-purpose
 relations in the source database and the target database to handle
 updating.

 Refer to the VAX Data Distributor Handbook for specific information
 about these special database entities.  Because the source database
 is modified with the addition of these new system relations, the user
 who defined the transfer needs the DEFINE access right to the source
 database.

 After Data Distributor creates the target database and transfers the
 data records to it, users are expected to access the replication
 database to retrieve data only.  Applications should not attempt to
 store, modify, or erase values in records of the replication
 database.

SHOW_TRANSFER

 Displays information about the transfer definition, schedule
 definition, the transfer status, or all these transfer attributes.
 When you enter the SHOW TRANSFER statement, you can display
 information about one transfer or all of them, but not about a
 selected number of transfers.

Additional information available:

MoreFormat

More

 You must have the Rdb/VMS READ privilege for a database to use the
 SHOW TRANSFER statement.

Format

 SHOW TRANSFER ────> transfer-attribute ───┐
    ┌──────────────────────────────────────┘
    └──────> 
F

O

R
───┬───> 
A

L

L
────────────┬───> └───> transfer-name ──┘

Additional information available:

ALL

transfer-attributetransfer-name

transfer-attribute

 transfer-attribute =

 ───┬───> 
D

E

F

I

N

I

T

I

O

N
─────┬────> ├───> 
S

C

H

E

D

U

L

E
───────┤ ├───> 
S

T

A

T

U

S
─────────┤ └───> 
A

L

L
────────────┘ The type of information you want displayed about the selected transfer or all transfers.

Additional information available:

DEFINITIONSCHEDULESTATUSALL

DEFINITION
 Displays transfer definition information for the specified transfer
 or for all transfers.
SCHEDULE
 Displays schedule definition information for the specified transfer
 or for all transfers.
STATUS
 Displays the following status information for the specified transfer
 or for all transfers:

  o  Transfer name

  o  State of the current transfer (unscheduled, scheduled, active,
     waiting-to-retry, retrying, suspended)

  o  Time the transfer entered its current transfer state

  o  Last transfer status

  o  Time the last successful transfer completed

  o  Next scheduled transfer time (for transfers in the scheduled or
     waiting-to-retry state)

  o  Number of the currently executing retry (for transfers in the
     retrying state)

  o  Number of the next retry (for transfers in the waiting-to-retry
     state)

ALL
 Displays all information about the definition, schedule, and status
 for the specified transfer or for all transfers.

ALL

 Specifies that you want Data Distributor to display information about
 all transfers associated with your UIC.  For transfers belonging to
 other UICs, Data Distributor displays only the transfer name.  To
 display information about transfers belonging to other UICs, you must
 have VMS BYPASS or READALL privilege.

transfer-name

 The transfer about which you want Data Distributor to display
 information.

DELETE_SCHEDULE

 Deletes the schedule definition associated with a transfer definition.
 You can delete a schedule definition only when the associated transfer is
 in the suspended state.  Refer to the STOP TRANSFER statement for
 information about how to suspend a transfer.  If you issue a START
 TRANSFER statement after deleting the schedule, the transfer will be
 placed in the unscheduled state.

Additional information available:

FormatMoreExample

Format

 DELETE SCHEDULE ──> Ftypebox (O)typebox (R) ───> transfer-name ──────> .

Additional information available:

transfer-name

transfer-name

 Identifies the transfer whose schedule is to be deleted.  The
 transfer-name parameter is required.

More

 You must execute the DELETE SCHEDULE statement outside of the scope of a
 transaction.  If you issue this statement when a transaction is
 outstanding, Data Distributor returns an error message.

 If a transfer has a schedule definition, DELETE TRANSFER also deletes the
 corresponding schedule definition.  If you want to delete a transfer
 schedule, the schedule definition must be associated with your UIC.

Example

 This example places the NH_EMPLOYEES transfer in a suspended state and
 then deletes the associated schedule.

 RDO> STOP TRANSFER NH_EMPLOYEES
 RDO> DELETE SCHEDULE FOR NH_EMPLOYEES.


DELETE_TRANSFER

 Deletes a transfer definition.  If a transfer has a schedule definition,
 DELETE TRANSFER also deletes the corresponding schedule definition.

Additional information available:

FormatMoreExample

Format

 DELETE TRANSFER ───> transfer-name ────> .

Additional information available:

transfer-name

transfer-name

 The transfer definition to be deleted.  The transfer-name parameter is
 required.

More

 You must have the Rdb/VMS ERASE privilege to the transfer relation to
 use the DELETE TRANSFER statement.

 You must execute the DELETE TRANSFER statement outside of the scope
 of a transaction.  If you issue this statement when a transaction is
 outstanding, Data Distributor returns an error message.

 You can delete a transfer only if the transfer is in the suspended
 state.  Refer to the STOP TRANSFER statement for information about
 how to suspend a transfer.

 When you delete a transfer definition, the associated target database
 does not change in any way.

 If you want to delete a transfer definition, the transfer definition
 must be associated with your UIC.

Example

 The following example suspends the MA_EMPLOYEES transfer and then deletes
 its definition:

 RDO> STOP TRANSFER MA_EMPLOYEES
 RDO> DELETE TRANSFER MA_EMPLOYEES.

DEFINE_TRANSFER

 Creates a transfer definition and stores it in the transfer database.  A
 transfer definition contains all the information necessary to select a set
 of records from the source database and to define a target database.  A
 transfer definition also can contain the views to be defined on the target
 database and the command procedures to be executed before and after the
 execution of the transfer.

 A source database for extraction or extraction rollup transfers can be any
 DSRI-compliant database, such as Rdb/VMS or VIDA.  For replication
 transfers, the source database must be an Rdb/VMS database.

Additional information available:

FormatMoreExamples

Format

 DEFINE TRANSFER  ──> transfer-name ──┬───> 
R

E

P

L

I

C

A

T

I

O

N
─────────┬──┐ ├───> 
E

X

T

R

A

C

T

I

O

N
──────────┤ │ └───> 
E

X

T

R

A

C

T

I

O

N

R

O

L

L

U

P
───┘ │ ┌─────────────────────────────<────────────────────────────────────┘ └──┬─>───────────────────────────────┬──> 
T

O
──> file-spec ─┐ └─> 
D

E

S

C

R

I

P

T

I

O

N
typebox (I)typebox (S) ─> typebox (/)typebox (*) text */ ─┘ │ ┌──────────────────────────────<────────────────────────────┘ └─┬─>───────────────────────┬─┬─┬─>─────────────────────────────┬─┬─┐ └─>target-db-param-clause─┘ │ ├─>move-relations-clause ───────┤ │ │ │ ├─>move-views-clause ───────────┤ │ │ │ └─>move-relations-rollup-clause─┘ │ │ └─────────────<─────────────────────┘ │ ┌──────────────────────────────<───────────────────────────────────┘ └──┬──────────>─────────────────────────┬──────────────────────────┐ └───> transfer-file-options-clause ──┘ │ ┌────────────────────────────────<─────────────────────────────────┘ └──> 
E

N

D
───┬─────────>─────────┬──┬───────>──────┬───────> . └─> transfer-name ──┘ └─> 
T

R

A

N

S

F

E

R
──┘

Additional information available:

REPLICATIONEXTRACTIONEXTRACTION_ROLLUPRSE

transfer-nametextfile-spectarget-db-param-clausemove relations clause
move-views-clausemove-relations-rollup-clausetransfer-file-options-clause

transfer-name

 The name that identifies the transfer.  The transfer name must be
 unique among the set of all transfers defined in the transfer
 database.  Because a single transfer database serves all source
 databases on a node or VAXcluster, the transfer name must be unique
 across all source databases at a given site.

 The transfer-name parameter is required.

REPLICATION

 Specifies that Data Distributor create a replication database at the
 target site.  When a replication transfer executes, Data Distributor
 creates a database at the target site during the initial execution
 and maintains a connection to that target database so the source can
 supply updates to the target.  Subsequent transfers involve only
 those modifications that have been made to the selected records in
 the source database.  (If the target and source database should
 become inconsistent with each other, you can use the REINITIALIZE
 TRANSFER statement to restore consistency.)

 In addition, the execution of a replication transfer generally
 creates special-purpose relations in the source database and the
 target database to handle updating.  Because the source database is
 modified with the addition of these system relations, the transfer
 definer's account needs the DEFINE access right to the source
 database itself.

 Users are expected to access the replication target database only to
 retrieve data.  Applications should not attempt to store, modify, or
 erase values in records of the replication database.  Although data
 values should not be manipulated in a replication database, you can
 modify the target database by defining views and indexes, and adding
 access rights.

EXTRACTION

 Specifies that Data Distributor create an extraction database at the
 target site.  Because each extraction database is independent of the
 source database, users at the target directory can access extraction
 databases with reaad/write as well as read-only transactions.  Each
 time an extraction mode transfer executes, Data Distributor creates a
 new version of the target database and transfers a complete copy of
 the selected records to the target node.

 Indexes, constraints, and access rights are not transferred when the
 target database is created.  Once the target database has been
 created, you can define indexes and constraints for it and modify the
 access rights.

EXTRACTION_ROLLUP

 Specifies that Data Distributor create an extraction rollup database
 at the target site by transferring selected relations and fields from
 one or more source databases into a single target database.  An
 extraction rollup database is defined at the target site, and Data
 Distributor pulls data from the source databases into the target.

 Each time an extraction rollup transfer is executed, Data Distributor
 creates a new version of the target database and transfers a complete
 copy of the selected records to the target node.

 The EXTRACTION ROLLUP option in the DEFINE TRANSFER statement has the
 following characteristics and limitations:

  o  All extraction rollup transfers are pull transfers; that is, you
     define the extraction transfer at the target site to transfer
     data from a number of remote source databases to a single target
     database.
  o  Data Distributor issues an error message if you do not enter a
     MOVE RELATION clause or a SELECT FIELDS list in a
     move-relations-rollup-clause.
  o  You must refer to each source database in the DEFINE TRANSFER
     statement by its database handle.
  o  On the target database, relation names and field names must be
     unique.  Consequently, all target relations of the same name must
     have the same definition, and all target fields of the same name
     must have the same datatype.  If the definitions or datatypes
     differ, Data Distributor issues an error message and the transfer
     fails.
  o  If any database specified in the transfer definition is on a node
     that is not available, Data Distributor places the transfer in a
     waiting-to-retry state.  Data Distributor will retry the transfer
     at the time specified for retry in the schedule definition.
  o  If any of the source nodes specified in the transfer definition
     fail during the transfer, the transfer will also fail.  Data
     Distributor will retry the transfer at the time specified for
     retry in the schedule definition.
  o  If the transfer fails, the retry will start at the beginning, not
     where the transfer left off.


 Indexes, constraints, and access rights are not transferred when the
 target database is created.  Once the target database has been
 created, you can define indexes and constraints for it and modify the
 access rights.

text

 A text string that allows you to associate a comment with the
 transfer definition.  The text string, together with other parts of
 the transfer definition, appears in the SHOW TRANSFER DEFINITION
 display.  The DESCRIPTION IS clause is optional.

file-spec

 Designates a file specification for the target database.  The target
 database is an Rdb/VMS database.  Data Distributor uses the file
 specification to create and access the target database.  You can use
 either a full or partial file specification or a logical name.  The
 file-spec parameter is required.  If you do not specify the node,
 device, or directory, Data Distributor assumes the SYS$LOGIN of the
 user defining the transfer.  If the file type is not .RDB, the
 transfer will fail during the creation of the target database.  The
 default file type is .RDB.

 When you specify the name of a remote node as part of the file
 specification, you can include an access control list (ACL) for
 login.  However, the most effective method of allowing access to a
 target node uses proxy accounts.

 Note that the file specification is resolved at run time.  All
 logical names used for the file-spec parameter are resolved within
 the copy process after it executes the transfer definer's login
 initialization file, LOGIN.COM.  If the target database name is a
 logical symbol name, when it is translated, the default directory is
 the one pointed to by SYS$LOGIN.

 Data Distributor makes no attempt to verify whether a database or
 file of the same name already exists in the target directory.  When
 you issue a duplicate file specification, Data Distributor creates a
 second file with the same name, but a higher version number.

 If the database system (Rdb/VMS) returns an error while attempting to
 create a database in the target directory, the copy process writes
 the error in the copy process log file and returns the error status
 to the transfer monitor.

target-db-param-clause

 target-db-param-clause =

 ───┬─┬─>────────────────────────────────────────────────────┬─┬──>
    │ ├─> 
A

L

L

O

C

A

T

I

O

N
typebox (I)typebox (S) ────────> number-pages ──> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ────┤ │ │ ├─> 
P

A

G

E

S

I

Z

E
typebox (I)typebox (S) ───> page-blocks ──────> typebox (B)typebox (L)typebox (O)typebox (C)typebox (K)typebox (S) ──────┤ │ │ ├─> 
N

U

M

B

E

R
typebox (O)F 
B

U

F

F

E

R

S
typebox (I)typebox (S) ──> number-buffers ───────────┤ │ │ ├─> 
N

U

M

B

E

R
typebox (O)F 
U

S

E

R

S
typebox (I)typebox (S) ────> number-users ─────────────┤ │ │ ├─> 
B

U

F

F

E

R

S

I

Z

E
typebox (I)typebox (S) ──> buffer-blocks ───> typebox (B)typebox (L)typebox (O)typebox (C)typebox (K)typebox (S) ──────┤ │ │ ├─> 
E

X

T

E

N

T
typebox (I)typebox (S) ──────────┬─> ext-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ───┬──┤ │ │ │ └─> (multi-vol-ext-clause) ─┘ │ │ │ ├─> 
S

N

A

P

S

H

O

T
typebox (I)typebox (S) ────┬─> 
E

N

A

B

L

E

D
─┬─> 
I

M

M

E

D

I

A

T

E
──┬─┬───┤ │ │ │ │ └─> 
D

E

F

E

R

R

E

D
──┘ │ │ │ │ │ └─> 
D

I

S

A

B

L

E

D
──────>───────────┘ │ │ │ ├─> 
S

N

A

P

S

H

O

T

A

L

L

O

C

A

T

I

O

N
typebox (I)typebox (S) ─> snp-pages ─> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ──────┤ │ │ └─> 
S

N

A

P

S

H

O

T

E

X

T

E

N

T
typebox (I)typebox (S) ─┬> ext-pages ────> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ────┬─┘ │ │ └> (multi-vol-ext-clause) ───┘ │ └──────────────────<──────────────────────────<────────────┘ Enables you to specify values for the parameters that affect the creation of the target database. This clause uses syntax similar to the Rdb/VMS DEFINE DATABASE statement. However, Data Distributor does not support all the parameters that DEFINE DATABASE supports. Data Distributor uses the values provided in this clause to create the target database.

Additional information available:

ENABLED_IMMEDIATEENABLED_DEFERREDDISABLED

number-pagespage-blocksnumber-buffersnumber-usersbuffer-blocks
ext-pagessnp-pagesmulti-vol-ext-clause

number-pages
 The number of database pages initially allocated to the target
 database.  Rdb/VMS automatically extends the allocation to handle the
 loading of data and subsequent expansion.  The default is 400 pages.
page-blocks
 The size in blocks of each database page in the target directory.
 Page size is allocated in 512-byte blocks.  The default is two blocks
 (1024 bytes).  If your largest record has more than approximately 950
 bytes, you can specify more blocks for each page to prevent records
 from being fragmented.
number-buffers
 The number of buffers Rdb/VMS allocates for each process using the
 target database.  Specify an unsigned integer between 2 and 32768.
 The default is 20 buffers.
number-users
 The maximum number of users allowed to access the target database at
 one time.  The default is 50 users.  After the maximum is reached,
 the next user who tries to invoke the database receives an error
 message and must wait for access.  The largest number of users you
 can specify is 2032, and the fewest number of users is 1.
buffer-blocks
 The number of blocks Rdb/VMS allocates for each buffer.  The value
 must be greater than zero.  If you do not specify this parameter,
 Rdb/VMS uses a buffer size that is three times the page size value.
ext-pages
 The number of pages of each target database extent.  This parameter
 provides direct control over the extent of the target database.  For
 greater control, and particularly for multivolume databases, use the
 MINIMUM, MAXIMUM, and PERCENT GROWTH parameters of the
 multi-vol-ext-clause instead.  The default extent is 100 pages.
ENABLED_IMMEDIATE
 Specifies that read/write transactions write previously updated
 copies of records they modify to the snapshot file, regardless of
 whether a read-only transaction is active.  Snapshot writing is
 enabled immediately by default.  With snapshots enabled, users or
 applications can read from either the snapshot file or the database
 file itself.
ENABLED_DEFERRED
 Specifies that read/write transactions not write previously updated
 copies of records they modify to the snapshot file unless a read-only
 transaction is already active.  Read-only transactions that attempt
 to start after an active read/write transaction must wait for all
 active read/write users to complete their transactions.  With
 snapshots enabled, users or applications can read from either the
 snapshot file or the database file itself.
DISABLED
 Specifies that snapshot writing be disabled.  There is usually some
 performance gain when snapshot writing is disabled because Rdb/VMS
 does not need to perform write operations to the snapshot file during
 updates to the database.

 You should not disable snapshots for replication databases.  Although
 users are expected only to retrieve data from the replication
 database, retrieval can occur in either read-only or read/write
 transactions.
snp-pages
 The number of pages allocated for the snapshot file.  The default is
 100 pages.  After the target database has been created, you can use
 the RDO CHANGE DATABASE statement to truncate the snapshot file.  To
 truncate the file, specify an allocation size smaller than the
 current snapshot file size.
multi-vol-ext-clause
 multi-vol-ext-clause =

   ─────> 
M

I

N

I

M

U

M
typebox (O)F ──> min-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S), ─┐ ┌──────────────────────────────────────────┘ └──> 
M

A

X

I

M

U

M
typebox (O)F ──> max-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S), ─┐ ┌──────────────────────────────────────────┘ └──> 
P

E

R

C

E

N

T

G

R

O

W

T

H
typebox (I)typebox (S) ───> growth ────>

Additional information available:

min-pagesmax-pagesgrowth

min-pages
 The minimum number of pages of each target database extent.  The
 default is 99 pages.
max-pages
 The maximum number of pages of each target database extent.  The
 default is 9,999 pages.
growth
 The percent of growth for each target database extent.  The default
 is 20 percent growth.

move relations clause

 move-relations-clause =

 ─┬──> 
M

O

V

E

R

E

L

A

T

I

O

N

S

A

L

L
───────────────────────>───────────┬────> │ │ └─┬──> 
M

O

V

E

R

E

L

A

T

I

O

N
──┬───────────────┬──> rse ──────┐ │ │ └─> typebox (/)typebox (*) text */ ─┘ │ │ │ ┌────────────────────────<───────────────────┘ │ │ └─> 
S

E

L

E

C

T

F

I

E

L

D

S
─┬──> 
A

L

L
────────>───────┬──┬──┘ │ └┬─> select-field-name ─┬┘ │ │ └──────── , <──────────┘ │ └────────────────────────────── typebox (;) <───────────────────┘ Selects the records Data Distributor transfers to the target database during an extraction or a replication transfer. The records selected for replications are specified with a restricted form of a record selection expression (RSE). You must specify a move-relations-clause for each user relation moved to the target database. If you do not include a move-relations-clause, Data Distributor assumes the default, MOVE RELATIONS ALL. When you specify a view in a MOVE RELATION clause, the records selected by that view are created as a relation in the target database. You can also transfer views using the move-views-clause. You must have READ privilege for the relations of an Rdb/VMS source database that you specify in a MOVE RELATION clause or a MOVE RELATIONS ALL clause. For VIDA databases, Data Distributor does not check for READ privilege for views.

Additional information available:

MOVE_RELATIONS_ALLSELECT_FIELDS_ALL

textrseselect-field-name

MOVE_RELATIONS_ALL
 Allows you to have Data Distributor select all records and fields
 from all user relations, excluding views, that are in the source
 database at the time the transfer is defined.  If you wish to move
 views, you must use the move-views-clause or the MOVE RELATION
 clause.  Fields defined with a COMPUTED_BY clause are restricted to
 those that use the value expressions shown in the value-expr syntax
 diagram in this section.  If a field is not defined by a supported
 value expression, you will receive a warning message, and the
 COMPUTED_BY fields will not be transferred.

 If you define a transfer on a source database that is itself a target
 extraction database, do not use the MOVE RELATIONS ALL clause.  An
 error will result during transfer execution because Data Distributor
 will attempt to define the DDAL$VINTAGE relation in the new target
 database twice.  The second transfer would create a DDAL$VINTAGE
 relation in the target database.  Then, using the MOVE RELATIONS ALL
 clause, it would attempt to copy the DDAL$VINTAGE relation that
 already exists in the source database.  To avoid this error, specify
 explicitly each relation to be moved instead of using MOVE RELATIONS
 ALL.

 Do not use the MOVE RELATIONS ALL statement for an extraction rollup
 transfer.  If you use the MOVE RELATIONS ALL statement to define an
 extraction rollup transfer, the transfer will fail on execution.
 Instead, you must name the individual relations you want to transfer
 to the extraction rollup target.
text
 A text string that allows you to associate a comment with the MOVE
 RELATION clause.  The DESCRIPTION IS clause is optional.

rse
 For more information on record selection expression, select the
 subtopic RSE under the DEFINE_TRANSFER Format subtopic.
SELECT_FIELDS_ALL
 Enables you to include every field in a specific relation.  Fields
 defined with a COMPUTED_BY clause are restricted to those that use
 the value expressions shown in the value-expr syntax diagram in this
 section.  If a field is not defined by a supported value expression,
 you will receive a warning message, and the COMPUTED_BY fields will
 not be transferred.  You cannot use the SELECT FIELDS ALL statement
 for an extraction rollup transfer.
select-field-name
 select-field-name =

    ────────> context-variable ──> . ───> field-name ─────>

 Allows you to name a specific field or group of fields you want moved
 to the target database.  You can specify only one SELECT clause for
 each MOVE clause.  Data Distributor moves only the named fields to
 the target database.  If you do not specify SELECT FIELDS ALL, the
 select-field-name clause is required.

 Data Distributor supports COMPUTED_BY fields named in the
 select-field-name clause if the fields are defined using the value
 expressions shown in the value-expr syntax diagram in this section.
 If the fields are not defined by a supported value expression, you
 will receive a fatal error message.

move-views-clause

 move-views-clause =

 ────>  
M

O

V

E

V

I

E

W

S
──┬──> 
A

L

L
───────────┬───> └┬─> view-name ──┬──┘ └────── , <──────┘ Selects the views Data Distributor defines on the target database during an extraction or a replication transfer. All the relations, views, and fields on which the transferred views are based must also be explicitly or implicitly named in the DEFINE TRANSFER statement. The transfer definition will fail if any underlying relation, view, or field is not named when you define the transfer. If you specify a view name in this clause, the view definition is transferred to the target database. You can include only one move-views-clause in a DEFINE TRANSFER statement. However, you can specify two or more views in that move-views-clause. Transferring views is limited by the following restrictions: o COMPUTED_BY fields Data Distributor transfers those COMPUTED_BY fields that depend only on the values of the relation in which the field is defined. Views that contain unsupported COMPUTED_BY fields cannot be transferred. If views that contain unsupported COMPUTED_BY fields are specified in the move-views-clause of a DEFINE TRANSFER statement, the transfer definition fails. You need to redefine the transfer, excluding the views that refer to the unsupported COMPUTED_BY fields. o READ privilege for the view For a view in an Rdb/VMS database to be transferred, Data Distributor requires that you have Rdb/VMS READ privilege for the view and for the underlying relations. If you do not have READ privilege for views you specify in the move-views-clause of a DEFINE TRANSFER statement, the transfer will fail. You need to obtain READ privilege for these views before including them in a DEFINE TRANSFER statement. For VIDA databases, Data Distributor does not check for READ privilege for views. You can also move views with the move-relations-clause. However, when you use the move-relations-clause to move a view, the view becomes a relation in the target database.

Additional information available:

view-name

view-name
 The name of the view Data Distributor transfers to the target during
 a transfer.  If you do not specify a view name, Data Distributor
 assumes the default, MOVE VIEWS ALL.

move-relations-rollup-clause

 move-relations-rollup-clause =

 ─┬─> 
M

O

V

E

R

E

L

A

T

I

O

N
────┬────────>────────┬─> rse ────┬────┬─> │ └─> typebox (/) typebox (*)text*/─────┘ │ │ │ ┌─────────────────────────<────────────────────┘ │ │ └──┬──────────────────────>───────────────────┬─┐ │ │ └─> 
I

N

T

O

R

E

L

A

T

I

O

N
────> relation-name ─────┘ │ │ │ ┌─────────────────────────<─────────────────────┘ │ │ └─> 
S

E

L

E

C

T

F

I

E

L

D

S
──┬──> select-field-name ─────┬─┬─┘ │ └────────── , <─────────────┘ │ └─────────────────────────── typebox (;) <───────────────────────┘ Selects the records Data Distributor transfers into the target database from a number of source databases during an extraction rollup transfer. The move-relations-rollup-clause has the following restrictions: o Data Distributor requires you to invoke each source database with a different database handle. You must then use these handles in the move-relations-rollup-clause. o The move-relations-rollup-clause must be used with the EXTRACTION ROLLUP parameter. Rollup transfers must be extractions. If you attempt to use the move-relations-rollup-clause with a replication transfer, the transfer definition will fail. o The MOVE RELATIONS ALL and SELECT FIELDS ALL clauses are not allowed in rollup transfers.

Additional information available:

rseselect-field-name

rse
 For more information on record selection expression, select the
 subtopic RSE under the DEFINE_TRANSFER Format subtopic.
select-field-name
 select-field-name =

    ────────> context-variable ──> . ───> field-name ─────>

 Allows you to name a specific field or group of fields you want moved
 to the target database.  You can specify only one SELECT clause for
 each MOVE clause.  Data Distributor moves only the named fields to
 the target database.  If you do not specify SELECT FIELDS ALL, the
 select-field-name clause is required.

 Data Distributor supports COMPUTED_BY fields named in the
 select-field-name clause if the fields are defined using the value
 expressions shown in the value-expr syntax diagram in this section.
 If the fields are not defined by a supported value expression, you
 will receive a fatal error message.

transfer-file-options-clause

 transfer-file-options-clause

   ─┬─┬─────────────────────────>───────────────────────────┬───────>
    │ ├──> 
P

R

O

L

O

G

U

E
Ftypebox (I)typebox (L)typebox (E) typebox (I)typebox (S) ────> prologue-file-spec ───────┤ │ ├──> 
N

O

P

R

O

L

O

G

U

E
──────────>───────────────────────────┤ │ ├──> 
E

P

I

L

O

G

U

E
Ftypebox (I)typebox (L)typebox (E) typebox (I)typebox (S) ────> epilogue-file-spec ───────┤ │ ├──> 
N

O

E

P

I

L

O

G

U

E
──────────>───────────────────────────┤ │ ├──> 
L

O

G
Ftypebox (I)typebox (L)typebox (E) 
I

S
─────────> log-file-spec ────────────┤ │ └──> 
N

O

L

O

G
───────────────>───────────────────────────┤ └───────────────────────────<───────────────────────────┘ The DCL command procedures to be executed before or after transfers and the VMS file where logging information related to the transfer execution is located.

Additional information available:

prologue-file-specepilogue-file-speclog-file-spec

prologue-file-spec
 The name of the prologue command procedure file to be run before the
 transfer executes.  This file runs at the beginning of the first
 execution of the transfer and of all subsequent transfers.  The
 prologue file is a DCL command file.  You can include a version
 number and a remote node name in the file specification.  The name is
 resolved when the transfer is defined.

 The prologue-file-spec parameter is optional.  If you do not include
 this parameter, Data Distributor assumes that NOPROLOGUE is in
 effect.  The default file type is .COM.  The default directory for
 the prologue file is SYS$LOGIN.
epilogue-file-spec
 The name of the epilogue command procedure file to be run after the
 transfer executes.  This file runs after the first execution of the
 transfer and after all subsequent transfers.  The epilogue file is a
 DCL command file.  You can include a version number or a remote node
 name in the file specification.  The name is resolved when the
 transfer is defined.

 The epilogue-file-spec parameter is optional.  If you do not include
 this parameter, Data Distributor assumes that NOEPILOGUE is in
 effect.  The default file type is .COM.  The default directory for
 the epilogue file is SYS$LOGIN.
log-file-spec
 The VMS file where the Data Distributor copy process writes any
 logging information related to the execution of the transfer.  If you
 include a version number or a node name in the file specification,
 Data Distributor returns an error.  Data Distributor creates a new
 log file every time a transfer executes.  The name is resolved when
 the transfer is defined.

 The log-file-spec parameter is optional.  If you do not include this
 parameter, Data Distributor assumes that NOLOG is in effect.  The
 default file type is .LOG.  The default directory for the log file is
 SYS$LOGIN.

RSE

 rse =

 ──┬────────>────────┬──> relation-clause ──>────────────────────┐
   └─> first-clause ─┘                                           │
 ┌───────────────────────────────────────────────────────────────┘
 └┬───────>────────┬─┬────────>──────────┬──┬────────>────────┬───>
  └─> with-clause ─┘ └─> reduce-clause ──┘  └─> sort-clause ──┘

 The record selection expression (RSE) used to identify records from
 the source database that Data Distributor includes in a record stream
 and transfers to the target database.  The RSE specifies conditions
 that individual records must satisfy in order to be included in the
 transfer to the target database.

 Data Distributor supports COMPUTED_BY fields named in an RSE if the
 fields are defined using the value expressions shown in the
 value-expr syntax diagram in this section.  If the fields are not
 defined by a supported value expression, you will receive a fatal
 error message.

 In extraction, extraction rollup, and replication transfers, you can
 use a relation-clause and with-clause.  In extraction and extraction
 rollup transfers, you can also use a first-clause, reduce-clause, and
 sort-clause.

Additional information available:

first-clauserelation-clausewith-clausereduce-clausesort-clause

first-clause
 first-clause =

 ────> 
F

I

R

S

T
──────> value-expr ───────────> value-expr = ───────┬────> database-field ──────┬──> ├────> quoted-string ───────┤ ├────> numeric-literal ─────┤ ├────> arithmetic-expr ─────┤ ├────> missing-value ───────┤ ├────> concat-expr ─────────┤ ├────> ( value-expr ) ──────┤ └────> ─ ──> value-expr ───┘ Specifies how many records are selected from the record stream formed by the record selection expression (RSE). You can only use the first-clause for an extraction or an extraction rollup transfer. If you specify a first-clause for a replication transfer, Data Distributor issues an error message.
relation-clause
 relation-clause =

 ─> context-variable ─> 
I

N
┬────────>────────┬─> relation-name ─> └> db-handle ─> . ┘ The context variables and relations to be included in the record stream or loop. If you specify a view name in the relation-clause, the moved view becomes a relation in the target database. The context-variable supplies a temporary name to identify the record stream. Once you have associated a context-variable with a relation, you use the context-variable to refer to fields from that relation. The db-handle is a host variable or name used to refer to a specific database you have invoked. In extraction or replication transfers, you should not use database handles in the RSE of a MOVE RELATION clause. Data Distributor returns an error message if you include a database handle in the RSE. However, in an extraction rollup transfer, you must use database handles in the RSE to specify the relation or Data Distributor will return an error message.
with-clause
 with-clause =

 ─────────────> 
W

I

T

H
──────────> conditional-expr ───────────> conditional-expr = ─┬───> conditional-expr ──> 
A

N

D
──> conditional-expr ───┬───> ├───> conditional-expr ──> 
O

R
───> conditional-expr ───┤ ├────────────────────────> 
N

O

T
──> conditional-expr ───┤ ├───> value-expr1 ──> rel-oper ──> value-expr2 ────────┤ ├───> between-clause ──────────────────────────────────┤ ├───> containing-clause ───────────────────────────────┤ ├───> matching-clause ─────────────────────────────────┤ ├───> starting-with-clause ────────────────────────────┤ └───> missing-clause ──────────────────────────────────┘ The with-clause contains a conditional expression that allows you to specify conditions that must be true for a record to be included in a record stream.
reduce-clause
 reduce-clause =

 ──────────────> 
R

E

D

U

C

E

D

T

O
───┬─────> value-expr ───┬─────> └──────── , <─────────┘ value-expr = ───────┬────> database-field ──────┬──> ├────> quoted-string ───────┤ ├────> numeric-literal ─────┤ ├────> arithmetic-expr ─────┤ ├────> missing-value ───────┤ ├────> concat-expr ─────────┤ ├────> ( value-expr ) ──────┤ └────> ─ ──> value-expr ───┘ Allows you to eliminate duplicate values for fields in a record stream. You can use the reduce-clause for an extraction or an extraction rollup transfer. If you specify a reduce-clause for a replication transfer, Data Distributor issues an error message.
sort-clause
 sort-clause =

 ───> 
S

O

R

T

E

D

B

Y
──┬─┬──────────────────┬─────> value-expr ──┬───> │ ├──> 
A

S

C

E

N

D

I

N

G
────┤ │ │ └──> 
D

E

S

C

E

N

D

I

N

G
───┘ │ └────────────────────── , <───────────────┘ value-expr = ───────┬────> database-field ──────┬──> ├────> quoted-string ───────┤ ├────> numeric-literal ─────┤ ├────> arithmetic-expr ─────┤ ├────> missing-value ───────┤ ├────> concat-expr ─────────┤ ├────> ( value-expr ) ──────┤ └────> ─ ──> value-expr ───┘ Allows you to sort the records in the record stream by the values of specific fields. You can sort the records according to a value expression called a sort key. The sort key determines the order of the records in the record stream. You can use the sort-clause for an extraction or an extraction rollup transfer. If you specify a sort-clause for a replication transfer, Data Distributor issues an error message. Specifying ASCENDING (the default) causes the records to be sorted in ascending order. Specifying DESCENDING causes Rdb/VMS to sort the records in descending order. The value expression specifies the sort value. This value is called the sort key.

More

 You need the Rdb/VMS WRITE privilege for the transfer relation to use
 the DEFINE TRANSFER statement.

 You must have the Rdb/VMS READ privilege for the relations and views
 of an Rdb/VMS source database that you specify in a DEFINE TRANSFER
 statement.  Data Distributor returns an error message when you
 specify relations and views in a DEFINE TRANSFER statement for which
 you do not have READ privilege.  If you specify a VIDA database, Data
 Distributor does not check for READ privilege for the relations and
 views.

 You must execute the DEFINE TRANSFER statement outside of the scope
 of a transaction.  If you issue this statement when a transaction is
 outstanding, Data Distributor returns an error message.

 You can refer to relations, fields, and views in a DEFINE TRANSFER
 statement either implicitly or explicitly.  When you include either
 the MOVE RELATIONS ALL, SELECT FIELDS ALL, or MOVE VIEWS ALL clause,
 you refer to relations, fields, or views implicitly.  Data
 Distributor uses the current definitions of the relations, fields,
 and views in the source database and stores those names explicitly in
 the transfer definition.  You refer to relations, fields, and views
 explicitly when you include the MOVE RELATION, SELECT FIELDS, or MOVE
 VIEWS clauses and supply specific relation, field, or view names.

 Data Distributor transfers those COMPUTED_BY fields that depend only
 on the values of a relation in which the field is defined.  You
 cannot transfer views that contain unsupported COMPUTED_BY fields.
 If views that contain unsupported COMPUTED_BY fields are specified in
 the move-views-clause of a DEFINE TRANSFER statement, the transfer
 definition fails.  You need to redefine the transfer, excluding the
 views that refer to the unsupported COMPUTED_BY fields.

 Data Distributor allows you to transfer views in two ways:

  o  Using the move-views-clause

     Data Distributor transfers the definition of the view when you
     specify MOVE VIEWS view-name or MOVE VIEWS ALL.  You must also
     explicitly or implicitly name in the DEFINE TRANSFER statement
     all the relations, views, or fields on which the transferred view
     definitions are based.  The transfer will fail if any underlying
     relations, views, or fields are not named.
  o  Using the move-relations-clause

     Data Distributor transfers a view by creating a relation in the
     target database containing the view's records when you use the
     MOVE RELATION clause.  This method improves query performance in
     the target database.  For example, you can achieve the effect of
     a CROSS clause by transferring a view that is a CROSS in the
     source.


 You specify the relations you wish to move in the
 move-relations-clause and the views in the move-views-clause of the
 DEFINE TRANSFER statement.  When you are doing an extraction rollup
 transfer, you specify the relations you wish to move in the
 move-relations-rollup-clause of the DEFINE TRANSFER statement.

 The same clause can occur in a DEFINE TRANSFER statement no more than
 once.  You cannot specify the same relation or view more than once in
 the move clauses.  If a relation name or view name appears in more
 than one move clause, Data Distributor returns an error.

 Individual move-relations clauses are separated by semicolons, as
 indicated in the syntax diagrams.  You can implement the
 move-relations-clause in two ways:

  o  Specify MOVE RELATIONS ALL
  o  Specify a series of relations separated by semicolons


 The move-relations-clause has the following characteristics and
 limitations:

  o  All fields in each move-relations-clause must reside in the same
     relation.
  o  You cannot name the same relation in more than one MOVE clause of
     a single transfer definition.


 The move-relations-rollup-clause has the following characteristics
 and limitations:

  o  All fields in each move-relations-rollup-clause must reside in
     the same relation.
  o  You cannot name the same relation in more than one MOVE clause of
     a single transfer definition.
  o  For each relation of a move-relations-rollup-clause that you
     enter, you can supply a target relation specification in the form
     of an INTO RELATION clause.  You can create one or many relations
     in the target database from several source database relations by
     renaming the target relations in the transfer definition.
  o  You cannot specify MOVE RELATIONS ALL or SELECT FIELDS ALL in a
     move-relations-rollup-clause.  When you specify these clauses in
     the DEFINE TRANSFER statement, the transfer will fail at the time
     of definition.


 If a transfer fails during execution, the transfer will begin again
 at one of the two following times:

  o  The next scheduled retry time if the failure results from a
     nonfatal error
  o  The next scheduled transfer time if the failure results from a
     fatal error


 This next transfer will start from the beginning to ensure
 consistency with any updates that might have been made to the source
 database.

 Data Distributor transfers only definitions for the database, fields,
 and relations specified in the transfer definition.  If the source
 database includes additional database entities such as indexes,
 constraints, or access control lists, these are not transferred to
 the target database.  You must either directly access the individual
 target database and explicitly define these entities or run command
 procedures to define the entities after the transfer executes.

 When relations specified in the transfer definition are created in
 the target database, they are given the access control lists (ACLs)
 that have the Rdb/VMS default values.  You can change the ACLs in the
 target database after it has been created.

 In a transfer definition, you can use logical symbol names to name
 the source database file, the target database file, the copy process
 log file, and the prologue and the epilogue command procedure files.
 However, Data Distributor treats these file names differently:

  o  Source database file logical names

     If the source file name is a logical symbol that translates to a
     standard VMS file name specification, Data Distributor performs
     the logical name translation.  The SHOW TRANSFER DEFINITION
     statement shows the source file name in its translated form.  The
     logical symbol can also translate into strings that, in turn,
     contain logical symbols.  As long as the resulting string looks
     like a VMS file specification and the logical symbol is not a
     concealed device name, the translation process is repeated.

     If the logical symbol translates into a VIDA access string (for
     example, /TYPE=VIDA/FILE=ACCESS_FILE/...), Data Distributor does
     no further translations.  Even if the VIDA name string contains
     logical symbol references, these references are not translated
     into VMS file specifications.  You can use a logical name in
     place of the string to identify a VIDA database.

  o  Target database file logical name

     If the target database name is a logical name, it is not
     translated by Data Distributor when it is stored in the transfer
     definition.

  o  Copy process log file logical name

     Data Distributor translates the log file logical name in the same
     way as source file logical names, with the following exceptions:

      o  The log file specification is translated in RDO when the
         DEFINE TRANSFER statement is executed.

      o  These log file names must be standard VMS file
         specifications.  Node names or version numbers are not
         allowed.


  o  Prologue and epilogue command procedure file logical names

     Data Distributor translates the prologue and epilogue file
     logical names in the same way as the source file logical name,
     with the following exceptions:

      o  The prologue and epilogue file specifications are translated
         in RDO when the DEFINE TRANSFER statement is executed.

      o  The log file names must be standard VMS file specifications.
         Node names and version numbers are allowed.


Examples

 Example 1

 The following example defines a transfer, NH_EMPLOYEES, that creates
 an extraction database.  The transfer definition selects New
 Hampshire employees' address records for transfer to the remote node.

 RDO> INVOKE DATABASE FILENAME PERSONNEL
 RDO> DEFINE TRANSFER NH_EMPLOYEES EXTRACTION
 cont>  DESCRIPTION IS /* Employees who live in New Hampshire */
 cont>  TO NODE1::DISK1:[ADAMS]NH_EMP
 cont>  MOVE RELATION E IN EMPLOYEES WITH E.STATE = "NH"
 cont>  SELECT FIELDS E.EMPLOYEE_ID,
 cont>     E.LAST_NAME,
 cont>     E.FIRST_NAME,
 cont>     E.MIDDLE_INITIAL,
 cont>     E.ADDRESS_DATA_1,
 cont>     E.ADDRESS_DATA_2,
 cont>     E.CITY,
 cont>     E.STATE,
 cont>     E.POSTAL_CODE
 cont>  LOG IS NH_EMPLOYEES.LOG
 cont>  END.


 Example 2

 This example shows an extraction from a remote source database to a
 local target database.  The DEFINE TRANSFER statement specifies the
 transfer of all personnel records to the target node.

 RDO> INVOKE DATABASE FILENAME NODE1::DISK1:[DIR1]PERSONNEL
 RDO> DEFINE TRANSFER PERS_EXAMP EXTRACTION
 cont>  DESCRIPTION IS /* Extraction of personnel records*/
 cont>  TO [LEARNER.PERS]PERS_COPY
 cont>  MOVE RELATIONS ALL
 cont>  LOG IS [LEARNER.PERS]PERS_EXAMP.LOG
 cont>  END.


 Example 3

 This example shows an extraction transfer from a remote source to a
 remote target database.  The log file, PERS_EXAMP.LOG, is located on
 the source node.

 RDO> INVOKE DATABASE FILENAME NODE1::DISK1:[DIR1]PERSONNEL
 RDO> DEFINE TRANSFER PERS_EXAMP EXTRACTION
 cont>  DESCRIPTION IS /* Extraction of personnel records*/
 cont>  TO NODE2::DISK2:[PROTO]PERS_TARGET
 cont>  MOVE RELATIONS ALL
 cont>  LOG IS PERS_EXAMP.LOG
 cont>  END.


 Example 4

 This example of a replication transfer definition sends the entire
 colleges relation and the entire degrees relation to the target
 database.  The replication database can be accessed for information
 about employees' college and degree histories.  The transfer
 definition includes some database parameters for the target database.

 RDO> INVOKE DATABASE FILENAME PERSONNEL
 RDO> DEFINE TRANSFER COLLEGE_INFO REPLICATION
 cont>  DESCRIPTION IS /* Info about employees' colleges only */
 cont>  TO NODE1::DISK1:[BURTON]EMP_COLLEGE
 cont>  NUMBER OF USERS IS 25
 cont>  SNAPSHOT ALLOCATION IS 150 PAGES
 cont>  MOVE RELATION C IN COLLEGES
 cont>  SELECT FIELDS ALL;
 cont>  MOVE RELATION D IN DEGREES
 cont>  SELECT FIELDS ALL
 cont>  LOG IS COLLEGE_INFO.LOG
 cont>  END.


 Example 5

 This replication transfer specifies three fields from the
 CREDIT_CARDS source database for transfer to the target database.
 The fields are CARD_NUM, EXPIRATION_DATE, and VALID.  Only invalid
 credit card records are selected for the transfer.

 RDO> INVOKE DATABASE FILENAME CREDIT_CARDS
 RDO> DEFINE TRANSFER BAD_CARDS REPLICATION
 cont>  DESCRIPTION IS /* Invalid credit cards */
 cont>  TO NODE1::DISK1:[CREDIT]BAD_CARDS
 cont>  MOVE RELATION C IN CARDS WITH C.VALID = "N"
 cont>  SELECT FIELDS C.CARD_NUM,
 cont>     C.EXPIRATION_DATE,
 cont>     C.VALID
 cont>  LOG IS BAD_CARDS.LOG
 cont>  END.


 Example 6

 The following example defines a replication transfer that sends the
 entire EMPLOYEES, JOB_HISTORY, SALARY_HISTORY, DEPARTMENTS, and JOBS
 relations.  The definition also selects three views for transfer:
 CURRENT_INFO, CURRENT_JOB, and CURRENT_SALARY.

 RDO> INVOKE DATABASE FILENAME PERSONNEL
 RDO> DEFINE TRANSFER NH_PERSONNEL REPLICATION
 cont> TO NODE1::DISK1:[DBADMIN]NHP.RDB
 cont>   MOVE RELATION E IN EMPLOYEES        SELECT FIELDS ALL;
 cont>   MOVE RELATION JH IN JOB_HISTORY     SELECT FIELDS ALL;
 cont>   MOVE RELATION SH IN SALARY_HISTORY  SELECT FIELDS ALL;
 cont>   MOVE RELATION D IN DEPARTMENTS      SELECT FIELDS ALL;
 cont>   MOVE RELATION J IN JOBS             SELECT FIELDS ALL
 cont>   MOVE VIEWS CURRENT_INFO, CURRENT_JOB, CURRENT_SALARY
 cont> LOG FILE IS DISK1:[DBADMIN]NHP.LOG
 cont> END.


 Example 7

 The following example moves the CURRENT_JOB view defined in the
 source database as a CROSS of the EMPLOYEES relation and the
 JOB_HISTORY relation.  You can achieve the effect of a CROSS clause
 by transferring a view that is a CROSS in the source database.  On
 the target database, the records selected by the view are created as
 a relation.

 RDO> INVOKE DATABASE FILENAME PERSONNEL
 RDO> DEFINE TRANSFER CJOB EXTRACTION
 cont>  TO NODE1::DISK1:[RAMESH]JOB_DB
 cont>  MOVE RELATION C IN CURRENT_JOB WITH C.JOB_CODE = "SEII"
 cont>     SELECT FIELDS C.LAST_NAME, C.FIRST_NAME, C.ADDRESS
 cont>  LOG FILE IS CJOB.LOG
 cont>  END TRANSFER.



 Example 8

 The following example shows an extraction rollup transfer that
 invokes several source databases:  PERSONNEL, WORKERS, and STAFF.
 The transfer selects fields in the EMPLOYEES relations from the three
 databases identified by the database handles DB1, DB2, and DB3 and
 located on three different nodes and in the JOBS relation from DB1.
 Then the transfer moves these relations to a single target database,
 LOCAL_DB.

 RDO> INVOKE DATABASE DB1=FILENAME "NODE1::DISK1:[DIR1]PERSONNEL"
 RDO> INVOKE DATABASE DB2=FILENAME "NODE2::DISK2:[DIR2]WORKERS"
 RDO> INVOKE DATABASE DB3=FILENAME "NODE3::DISK3:[DIR1]STAFF"
 RDO> DEFINE TRANSFER LABOR EXTRACTION ROLLUP
 cont>  TO NODE4::DISK4:[DIR4]LOCAL_DB
 cont>  MOVE RELATION E IN DB1.EMPLOYEES WITH E.EMP_CODE= "A+"
 cont>    INTO RELATION EXEMPT_EMPLOYEES
 cont>      SELECT FIELDS E.EMP.ID,E.SALARY,E.JOB_CODE;
 cont>  MOVE RELATION E IN DB2.EMPLOYEES WITH E.EMP_CODE= "A+"
 cont>    INTO RELATION EXEMPT_EMPLOYEES
 cont>      SELECT FIELDS E.EMP_ID,E.SALARY,E.JOB_CODE;
 cont>  MOVE RELATION E IN DB3.EMPLOYEES WITH E.EMP_CODE= "A+"
 cont>    INTO RELATION EXEMPT_EMPLOYEES
 cont>      SELECT FIELDS E.EMP.ID,E.SALARY,E.JOB_CODE;
 cont>  MOVE RELATION J IN DB1.JOBS WITH J.JOB_CODE= "J17"
 cont>    INTO RELATION ENTRY_JOBS
 cont>      SELECT FIELDS J.JOB_NAME,J.JOB_CODE
 cont>  LOG FILE IS DISK4:[DIR4]LOCAL.LOG
 cont>  END.


 Example 9

 The following EMPLOYEES transfer creates an extraction database.  The
 transfer selects records using a first-clause, with-clause,
 reduce-clause, and sort-clause.

 RDO> INVOKE DATABASE FILENAME PERSONNEL
 RDO> DEFINE TRANSFER EMPLOYEES EXTRACTION
 cont>   TO NODE1::DISK1:[NELSON]EMPLOYEES_INFO
 cont>   MOVE RELATION FIRST 10 E IN EMPLOYEES
 cont>     WITH E.CITY = "BOSTON"
 cont>     REDUCED TO E.LAST_NAME, E.FIRST_NAME, E.ADDRESS
 cont>     SORTED BY DESCENDING E.LAST_NAME
 cont>   SELECT FIELDS E.LAST_NAME, E.FIRST_NAME, E.ADDRESS
 cont> LOG FILE IS DISK1:[NELSON]EMPLOYEES.LOG
 cont> END TRANSFER.



 Example 10

 The following extraction transfer includes two command files.  The
 prologue command procedure establishes a connection to a remote node,
 and the epilogue command procedure terminates the connection.  This
 example shows how to specify the prologue file and epilogue file; it
 does not show the command procedures.

 RDO> INVOKE DATABASE FILENAME NODE1::DISK1:[DBADMIN.PERS]PERSONNEL
 RDO> DEFINE TRANSFER PERS_SAMPLE EXTRACTION
 cont>  TO PERS_COPY
 cont>  MOVE RELATIONS ALL
 cont>  PROLOGUE FILE IS DIALUP.COM
 cont>  EPILOGUE FILE IS HANGUP.COM
 cont>  LOG IS PERS_SAMPLE.LOG
 cont>  END.

DEFINE_SCHEDULE

 Creates a schedule definition and stores it in the transfer database.
 The schedule definition specifies when and how often a transfer
 should execute.  A transfer can have only one schedule definition
 associated with it.  Data Distributor returns an error if you attempt
 to define a schedule for a transfer that already has one.

Additional information available:

FormatMoreExamples

Format

 DEFINE SCHEDULE ──> Ftypebox (O)typebox (R) ──> transfer-name ───┐
 ┌────────────────────────────────────────────┘
 └───┬─────────────────────────────────┬─┐
     └──> 
S

T

A

R

T
──> start-date-time ───┘ │ ┌───────────────────────────────────────┘ └───┬─────────────────────────────────────────┬─┐ └──> 
E

V

E

R

Y
──┬─> every-delta-time ─────┬──┘ │ └─> every-absolute-time ──┘ │ ┌───────────────────────────────────────────────┘ └─┬─────────────────────────────────────────────────────────────┬─┐ └─> 
R

E

T

R

Y
─> count ─> 
T

I

M

E

S
─┬───────────────────────────────┬┘ │ └─> 
R

E

T

R

Y

E

V

E

R

Y
──> delta-time ─┘ │ ┌─────────────────────────────────────────────────────────────────┘ └──> 
E

N

D
─┬───────────────────┬─┬─────────────┬───> . └──> transfer-name ─┘ └─> typebox (S)typebox (C)typebox (H)typebox (E)typebox (D)typebox (U)typebox (L)typebox (E) ─┘

Additional information available:

transfer-namestart-date-timeevery-delta-timeevery-absolute-time
countdelta-time

transfer-name

 The transfer for which this schedule is being defined.  The transfer
 must already exist when you create a schedule definition for it.  The
 transfer-name parameter is required.

start-date-time

 The time to execute the initial transfer.  You can specify an
 absolute or delta time.  If you supply an absolute time, the initial
 transfer will be executed at the time specified.  If you use a delta
 time, Data Distributor uses the current time and the delta-time value
 to calculate the actual transfer time.  The START clause is optional.
 If you do not include a START clause, the start time is set to the
 current time so that the transfer will execute as soon as the
 transfer schedule definition is processed.

 The start-date-time parameter uses the following absolute and
 delta-time formats.  You can omit any of the trailing fields in the
 date or time.  You can omit any of the fields in the middle of the
 format as long as you include the punctuation marks.  For more
 information on date and time formats, see the entry on the $BINTIM
 VMS system service in the VMS documentation set.

 Absolute-time

 dd-mmm-yyyy hh:mm:ss.cc

 Delta time

 dddd:hh:mm:ss.cc

 In the absolute and delta time designations, the abbreviations have
 the following meanings:

 dddd   Number of days
 dd     Day of the month
 mmm    Month
 yyyy   Year
 hh     Hours
 mm     Minutes
 ss     Seconds
 cc     Hundredths of a second

every-delta-time

 Used to calculate the time to execute the next transfer.  The EVERY
 clause is optional.  If you specify the EVERY clause, you must
 specify either every-delta-time or every-absolute-time.  If you omit
 the EVERY clause, the transfer occurs only once.

 The valid specification for every-delta-time is the delta format used
 by the $BINTIM VMS system service.  The delta time you specify is the
 time from the completion of the last transfer sequence until the
 start of the next one.  A transfer sequence is the set of transfers
 from the first attempt until one of the following conditions is met:
 the execution is successful, the maximum number of retries specified
 in the RETRY clause has been reached, or a fatal error has occurred
 (one for which retries are not attempted).

every-absolute-time

 every-absolute-time =

   ─────┬──────> 
D

A

Y
──────┬──┬───────────>─────────┬─┬───> ├──────> 
W

E

E

K
─────┤ └──> 
A

T
──> at-time ──┘ │ ├──────> 
M

O

N

T

H
────┘ │ └──┬───> weekday ───┬──────────>────────┬──┬──┘ │ └─> 
A

T
──>at-time ──┘ │ └──────────────── , <───────────────────┘ Used to calculate the time to execute the next transfer. The EVERY clause is optional. If you specify the EVERY clause, you must specify either every-absolute-time or every-delta-time. If you omit the EVERY clause, the transfer occurs only once.

Additional information available:

DAYWEEKMONTH

weekdayat-time

DAY
 The transfer executes on a daily basis.
WEEK
 The transfer occurs every week on the same day of the week as the
 initial transfer.
MONTH
 The transfer occurs on a monthly cycle on the same day of the month
 as the initial transfer.

 Note that if the initial transfer starts on the 31st of the month and
 the transfer schedule specifies EVERY MONTH, the next execution of
 the transfer will be on the last day of the following month, whether
 the last day is the 28th, 29th, 30th, or 31st.
weekday
 The transfer executes on the weekdays that you list.  If you list
 more than one weekday, separate the days with commas.  Valid weekday
 specifications are:

 SUNDAY
 MONDAY
 TUESDAY
 WEDNESDAY
 THURSDAY
 FRIDAY
 SATURDAY
at-time
 Qualifies every-absolute-time by specifying the time of day at which
 the transfer should occur.  This parameter is optional.  If you
 specify DAY, WEEK, or MONTH, but do not specify an at-time, Data
 Distributor uses the time of day of the initial transfer.  In the
 case of a list of weekdays, the at-time for each day can be
 specified.  If the at-time for any weekday is not specified, the
 default is the time used for the previous entry in the list.  For the
 first entry in the list, the time of day of the initial transfer is
 used, if none is specified.

count

 The maximum number of times to retry a transfer if a transfer
 execution fails.  If you do not include a retry count or if the count
 value is set to zero, Data Distributor does not attempt to retry the
 transfer until the next scheduled transfer time as indicated by the
 EVERY clause.

 Data Distributor does not retry a transfer if the transfer failed as
 a result of a fatal error.  You can recover from a fatal error only
 by manual intervention.

delta-time

 The length of time Data Distributor waits between the time of the
 last failed attempt and the time of the next retry attempt.  The
 RETRY EVERY delta-time clause is optional and can only be specified
 if the RETRY count TIMES clause is included.

 If you specify RETRY count TIMES in the schedule definition, but do
 not specify RETRY EVERY delta-time, Data Distributor attempts the
 retry immediately.  See the description of the start-date-time
 parameter earlier in this section for valid delta-time values.

More

 To define a transfer schedule, you must have the same user
 identification code (UIC) as the user who defined the transfer.  If
 you define a schedule for a transfer defined by a user with a
 different UIC, Data Distributor returns an error message and prevents
 the schedule from executing.  If you have BYPASS privilege, you can
 define a schedule for a transfer associated with a different UIC.  In
 this case, the UIC associated with the transfer does not change.

 When you define a schedule for a transfer in the unscheduled state,
 that transfer is placed in the scheduled state.  If the transfer is
 in the suspended state, it remains in the suspended state.  To place
 the suspended transfer in the scheduled state, use the START TRANSFER
 statement.  When the transfer executes, Data Distributor places the
 transfer in the active state.

 You cannot modify a schedule definition.  If you need to change a
 parameter value in a schedule definition, you must first delete the
 schedule using the DELETE SCHEDULE statement and then define a new
 schedule.

 You must execute the DEFINE SCHEDULE statement outside of the scope
 of a transaction.  If you issue this statement when a transaction is
 outstanding, Data Distributor returns an error message.

Examples

 Example 1

 Executes the NH_EMPLOYEES transfer at 1:24 a.m.  on June 24, 1988.
 The transfer will then execute every day at 5:30 p.m.  If a nonfatal
 error occurs, the transfer execution will be retried three times with
 30 minutes between the end of the failed transfer execution and the
 start of the next one.

 RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES
 cont>  START 24-JUN-1988 01:24:00.00       <---- Absolute time
 cont>     EVERY DAY AT 17:30               <---- Absolute time
 cont>     RETRY 3 TIMES
 cont>     RETRY EVERY 0 00:30:00
 cont>  END SCHEDULE.


 Example 2

 This example uses a delta-time specification to have 36 hours (1 day
 plus 12 hours) between the completion of one transfer execution and
 the beginning of the next.  The example uses two delta times, EVERY 1
 12:00 and RETRY EVERY 0 03:00:00.  EVERY 1 12:00 states that there
 will be 36 hours (1 day plus 12 hours) between the completion of the
 first transfer and the beginning of the next.  If transfer execution
 does not succeed on the first attempt, the transfer schedule permits
 Data Distributor to make up to five additional attempts to complete
 the transfer.  RETRY EVERY 0 03:00:00 means Data Distributor should
 retry the transfer three hours after a nonfatal failure until the
 transfer completes successfully or until the maximum of five retries
 has been attempted.  If the transfer does not complete successfully
 after five retries, the next attempt will be 36 hours after the last
 failed attempt.

 RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES
 cont>  START 15-MAY-1988
 cont>  EVERY 1 12:00                  !<---- 1 day plus 12 hours
 cont>  RETRY 5 TIMES
 cont>  RETRY EVERY 0 03:00:00         !<---- 3 hours
 cont>  END.



 Example 3

 The following transfer schedule causes Data Distributor to execute a
 transfer for the first time at 12 noon on the 15th of October 1988.
 Subsequent transfers will occur every day thereafter at 5:30 p.m.  If
 an error occurs preventing a successful transfer, Data Distributor
 will retry every 30 minutes until the transfer is successful or the
 maximum of three retries has been reached.


 RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES
 cont>  START 15-OCT-1988  12:00
 cont>     EVERY DAY AT 17:30             !<---- Every day
 cont>     RETRY 3 TIMES
 cont>     RETRY EVERY 0 00:30:00
 cont>  END SCHEDULE.

 Example 4

 The following schedule definition assumes that you want to execute
 the transfer immediately after you complete the schedule definition
 and, therefore, it contains no START clause.  If the system time is
 20-OCT-1988 16:00:00 when you complete the DEFINE SCHEDULE statement,
 the next execution of the NH_EMPLOYEES transfer will start on
 20-NOV-1988 16:00:00.

 RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES
 cont>   EVERY MONTH
 cont>   RETRY 3 TIMES
 cont>   RETRY EVERY 0 00:30:00
 cont>  END.


 Example 5

 This example calls for the NH_EMPLOYEES transfer to execute at 3:00
 p.m.  every Wednesday.  The schedule definition calls for a maximum
 of three retries occurring at intervals of 30 minutes.

 RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES
 cont>  START 12-NOV-1988 15:00:00.00
 cont>     EVERY WEDNESDAY AT 15:00:00     !<---- Wednesdays at 3 p.m.
 cont>     RETRY 3 TIMES
 cont>     RETRY EVERY 0 00:30:00
 cont>  END.

 Example 6

 The following example causes an initial transfer to execute on the
 15th of July at 5 p.m., on every Monday after the 15th at 5 p.m.,
 every Tuesday at 11 a.m., and every Friday at 11 a.m.  Because a
 RETRY clause is not specified, even if a nonfatal failure occurs, the
 transfer will not execute until the next regularly scheduled time.

 RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES
 cont>   START 15-JUL-1988 17:00
 cont>   EVERY MONDAY, TUESDAY AT 11:00, FRIDAY
 cont>  END.


 Example 7

 This example causes a transfer to start at midnight on July 15th and
 on the 15th of every month thereafter at 7 p.m.

 RDO> DEFINE SCHEDULE FOR NH_EMPLOYEES
 cont>   START 15-JUL-1988
 cont>   EVERY MONTH AT 19:00
 cont>  END.

REINITIALIZE_TRANSFER

 Reinitializes a replication transfer.  You use this statement when
 the source database and the replication target database are no longer
 consistent with each other.

Additional information available:

FormatMoreExample

Format

 REINITIALIZE TRANSFER ──────> transfer-name ───>

Additional information available:

transfer-name

transfer-name

 The replication transfer that you want to reinitialize.  The
 transfer-name parameter is required.

More

 If you want to reinitialize a particular transfer, the transfer
 definition must be associated with your UIC.

 You can reinitialize a transfer only when the transfer is in the
 suspended state.  To suspend a transfer, first issue a STOP TRANSFER
 statement.  You must execute the REINITIALIZE TRANSFER statement
 outside the scope of a transaction.  If you issue this statement when
 a transaction is outstanding, Data Distributor returns an error
 message.

 After you enter the REINITIALIZE statement, the transfer remains in
 the suspended state.  You must then issue a START TRANSFER statement
 to restart the transfer.

 The REINITIALIZE statement forces the next execution of a replication
 transfer to create a new replication database in the target
 directory.  You must reinitialize a transfer when someone restores a
 previous version of the source database.

Example

 This example places the CARS_LAX transfer in a suspended state and
 then reinitializes it.  The schedule and definition for this
 replication transfer remain in place.  Once the transfer has been
 reinitialized, you can restart it.

 RDO> STOP TRANSFER CARS_LAX
 RDO> REINITIALIZE TRANSFER CARS_LAX
 RDO> START TRANSFER CARS_LAX


START_TRANSFER

 Executes a transfer on demand, or changes the state of a transfer
 from the suspended state to the scheduled, unscheduled, or active
 state.

Additional information available:

FormatMoreExamples

Format

 START TRANSFER ─────> transfer-name ──┐
    ┌──────────────────────────────────┘
    └───┬────────────>──────────────┬────>
        └───> 
N

O

W
──┬────────────┬──┘ ├─> 
W

A

I

T
────┤ └─> 
N

O

W

A

I

T
──┘

Additional information available:

NOWWAIT_NOWAIT

transfer-name

transfer-name

 The transfer to be started.  The transfer-name parameter is required.

NOW

 Changes the transfer state to active and begins execution.  If the
 transfer has a schedule defined for it, subsequent transfers occur as
 specified by that schedule.  The NOW argument is optional.

WAIT_NOWAIT

 Specifies whether Data Distributor returns control to RDO immediately
 after the transfer starts or waits until the transfer completes.  You
 must use the NOW argument if you specify WAIT or NOWAIT.  The
 default, NOWAIT, causes Data Distributor to return control
 immediately to the RDO command mode while the transfer executes.
 With NOWAIT in effect, you can enter other RDO statements while the
 copy process completes the transfer of database records to the target
 database.

 The WAIT option ensures that the transfer completes before control is
 returned to RDO.

More

 You can use the START TRANSFER statement without any qualifiers to
 change the state of a suspended transfer.  Issuing the START TRANSFER
 statement places the transfer in the scheduled state if a schedule
 definition exists for the transfer.  Execution then occurs at the
 next scheduled time.  If a schedule definition does not exist, the
 transfer is placed in the unscheduled state and will execute only
 when you issue a START TRANSFER statement using the NOW qualifier or
 you define a schedule for the transfer.

 You cannot enter the START TRANSFER statement when a transaction is
 outstanding.  You must terminate any outstanding transactions before
 issuing the START TRANSFER statement.

 You can use the START TRANSFER statement to initiate a transfer on
 demand by including the NOW option.  The NOW option immediately
 places the transfer in the active state.  This execute-on-demand
 feature is useful in batch processing environments when you want to
 initiate the transfer after another job has completed successfully,
 regardless of the transfer's schedule.

 If you want to start a transfer, the transfer definition must be
 associated with your UIC.

Examples

 Example 1

 This example starts a transfer called ENROLL_SPANISH1.  If this
 transfer has a schedule defined for execution one hour from now but
 the transfer is suspended, issuing the START TRANSFER statement only
 changes the transfer's state to scheduled.  Execution of the transfer
 will not occur for another hour.

 RDO> START TRANSFER ENROLL_SPANISH1


 Example 2

 In this example, transfer ENROLL_SPANISH1 has been defined but has no
 schedule.  You issue this START TRANSFER NOW statement because you
 want to execute the transfer immediately.  Control returns to RDO as
 soon as the transfer begins.

 RDO> START TRANSFER ENROLL_SPANISH1 NOW

STOP_TRANSFER

 Places a transfer in the suspended state.  Data Distributor does not
 attempt to execute the transfer until you remove it from the
 suspended state using the START TRANSFER statement.  If the transfer
 is in the active state, the STOP TRANSFER statement also stops the
 copy process associated with that transfer.

Additional information available:

FormatMoreExample

Format

 STOP TRANSFER ───────> transfer-name ─────>

Additional information available:

transfer-name

transfer-name

 The transfer to be suspended.  The transfer-name parameter is
 required.

More

 You must terminate any outstanding transactions before you issue a
 STOP TRANSFER statement.

 If you want to stop a particular transfer, the transfer definition
 must be associated with your UIC.

Example

 The following example places the EUROPE_PERS transfer in the
 suspended state.

 RDO> STOP TRANSFER EUROPE_PERS

DCL invoke

 Gives access to DCL from inside RDO.

 The dollar sign ($) instructs RDO to spawn a subprocess and pass the
 next keyword to DCL for processing.  You must follow the dollar sign
 with a DCL command.  After DCL processes the command, it logs out of
 the subprocess and returns control to RDO.

 Example:

      RDO> $ MAIL

      MAIL>

 Format

      $ dcl-command

Additional information available:

MoreExample

More

 You need no special Rdb/VMS privileges to use this statement.

Example

 Show current default VMS directory:

 RDO> $ DIRECTORY

 Directory DISK2:[DEPT3.ACCT]

 DEFPRO.RDO;6    NOTEQUAL.RDO;1   QUERY.RDO;1    REFEXAM.RDO;12
 STORE.RDO;1     UPDATE.RDO;2

 Total of 6 files.

 RDO>

Demo

 To see an online demonstration of Rdb/VMS, type the following:

      $ @RDM$DEMO:RDBDEMO

Errors

 Help is available on the following types of error messages:

 1.  RDB facility error messages -- Common to all Rdb relational
     database systems.

 2.  RDMS facility error messages -- Specific to Rdb/VMS.

 3.  RDO facility error messages -- Seen when you are running the
     interactive RDO utility.

Additional information available:

RDBRDMSRDO

RDB

 Print or type the SYS$HELP:RDB_MSG.DOC file for information on
 messages returned by the RDB facility.  The RDB facility is common
 code shared by all DIGITAL Standard Relational Interface (DSRI)
 compliant database systems.

 The SYS$HELP:RDB_MSG.DOC file contains the RDB facility messages from
 the most recently installed version of a DSRI-compliant database
 product on your system or VAXcluster.  (Installation of a new version
 of VIDA, VAX Rdb/ELN, or Rdb/VMS upgrades the RDB_MSG.DOC file
 whenever the RDB message image, RDBMSGS.EXE, includes new or revised
 error messages.

RDMS

Additional information available:

ACCVIOACENOTFNDACTQUERYACTUPDREQAIJACTIVE
AIJALLDONEAIJBADAREAAIJBCKACTAIJBCKFAIL
AIJBCKSEQAIJCONFIRMAIJCURSEQAIJDEVDIRAIJDISABLED
AIJENABLEDAIJFILEGONEAIJFNLSEQAIJGOODAREA
AIJMODSEQAIJMOREWORKAIJNOACTIVEAIJNOENABLED
AIJNXTFILAIJNXTSEQAIJONEDONEAIJOPTSUCAIJPREPARE
AIJQUIETPTAIJRECOBSAIJRECTRMAIJROOSEQAIJSEQAFT
AIJSEQPRIAIJVNOSYNCALLMINALROPEANAEXTOBS
AREABUSYAREA_CORRUPTAREA_DELETEDAREA_INCONSIST
AREA_NAMEAREA_RESTRUCTARITHBADAIJBCK
BADAIJFILEBADAIJSEQBADAIJUNTILBADAIJVER
BADASCTOIDBADBNDPRMBADBOUNDSBADBUFSIZ
BADDATDEFBADDBNAMEBADFILTYPBADHANDLE
BADPARAMBADROOTMATCHBADSEGSTROPTBADSPAMINT
BAD_AREA_NAMEBAD_CODEBAD_DATATYPEBAD_NAME
BAD_SYMBAD_XPRBDDATRANGBKUPEMPTYAIJBOUND
BPPMAXBPPMINBUFLIMEXCBUFSMLPAGBUFTOOSML
BUGCHECKBUGCHKDMPCANTASSMBXCANTBINDRT
CANTCLOSEDBCANTCREDBRCANTCREGBLCANTCREMBX
CANTCREMONCANTDELETECANTLCKTRMCANTMAPTROOT
CANTOPENDBCANTOPENINCANTQIOMBXCANTREADDB
CANTREADDBSCANTSNAPCANTSPAWNCANTWRITEDBS
CATALOGEXISTSCATALOGINUSECATNOTFOUNDCDDDICTALONE
CDDISREQDCDDREQALONECHECKSUMCHGIDXNOADDMAP
CMTCONNOTDELCNVNUMDATCOLEXTSCOLINVFLDTYP
COLLFAILURECOLLFMTUNKCOLNOEXTSCOLNOTDEF
COLRESERVEDCOLUSEDDBCOLUSEDFLDCOLUSEDREL
COMPLEXCOMPNOTENACOMPNOTNUMCOMPNOTTEXT
CONDELVIARELCONEXICONEXTSCONFTXNOPTIONCONNOEXI
CONNOTDEFCONNOTDELCONVERRCONVWCSETBADASSIGN
CSETBADCOMPARECSETBADCONCATCSETBADESCAPECSETBADOPER
CSETNOASCIICSETNOTFOUNDDATCNVERRDBACTIVE
DBBUSYDBCRUPTDBNOTACTIVEDBNOTEXTENDBNOTINTRAN
DBNOTMULTSCHEMDBNOTOPENDBRABORTEDDBSHUTDOWN
DB_CORRECT_VERDEADLOCKDEFLISTWORMDOFULLBCK
DT_FRACMBZDT_PRECMBZDUPLANAMEDUPLFNAME
DUPLTRGTYPEDUPNOTALLEMPTYAIJEMPTYFILE
ENDERRFOREIGNERROPENINERROPENOUT
ERRWRITEEXQUOTAEXTDBONLYEXT_LENGTH_CHEXT_NEED_DT
EXT_WEEKDAY_TSFCJOUDISFIEUSETRAFILACCERRFLDEXFLDINCOM
FLDINCOMRELFLDINCONFLDINSTOFLDINTRGFLDINUSEFLDINVIEW
FLDLSTCONDUPSFLDNOEXFLDNOEXIFLDNOTCHGFLDNOTDEL
FLDNOTINRELFLDVALIDIFGETTXNOPTIONGFLDEXTS
GFLDNOEXGOODAIJSEQHASHEDMIXIDXCOMPLENERR
IDXMAPLIMIDXMAPLMTIDXMAPLMTERRIDXNOTDEF
IDXNOTDELILLNCHARINDEXTSINDEX_S_MAXINDEX_S_MIN
INDINMAPINDLIMITBADINDNEEDSLIMITINDNOTEXIINDNOTREL
INDTOOBIGINFUNKINVACE_LENGTHINVCATALOGID
INVDATOPRINVDBSFILINVDB_NAMEINVDB_TYPE
INVDTYPINDXINVDTYPKEYINVFORUPDATEINVHEADER
INVIDENTINVMAXROWSINVMAXTIMEINVNAMEINVOPTPREF
INVSCHEMAIDINVSUBSTRLENINVTBL_NAMEINVTRGACT_STMT
INV_DATE_CHGINV_DIGITSINV_PCT_FILLINV_PRECISION
INV_RATORINV_ROOTINV_SCALEINV_SUB_TYPE
JOIN_CTX_UPDLASTARENOLIMITLBMAXLBMINLCKCNFLCT
LOGAIJBCKLOGCREOPTLOGMODSPMLOGMODSTO
LOGRECOVRLOGRECSTATLOGRESOLVELOGSUMMARY
MAPAREAINUSEMAPBLRMISSINGMAPNMINUSEMAPREFAREA
MAXRECLIMMAXRELVERMAXTIMLIMMAX_CCTX
MISMMORDDMISSINGINVMIXCLUSTMONALSTART
MONFLRMSGMONMBXOPNMONSTOPPEDMULTCHGAREA
MULTPLACEVIAMULTSCHEMALONEMULTSCHEMNODISMULTSCHEMNOW
MUSTRECDBNBMAXNBMINNDXPMTDUPSNOACCSEGSTR
NOAIJDEFNOCATALOGNOCHARNOCHGRDBSYSNOCHGVW
NOCREMBXNOCRESYNONYMNODBKNODELPRIVANSI
NODELSEGSTRNODEVDIRNODMAXNODMINNODROPSYNONYM
NODUPSANSINOGRPANSINOIDENTANSINOINTERUNI
NOLOCKSOUTNOMAPONVIEWNOMETAUPDNOMETSYSREL
NOMONITORNOMOREGBNONODENOOPTCURNOOPTNOQUIET
NOOPTOPTNOOPTPRVNOQUIETNOOPTUNRESNOPLACEANSI
NOPRIVNORTUPBNOSCHEMANOSIPNOSNAPSNOSTAREAEXT
NOSTATSNOSTRTUPNOSYNONYMNOTBOOLNOTDSKFIL
NOTHRESUNINOTIMPLYETNOTIPNOTOPENOTRANAPP
NOTROOTNOTSYSCONCEALNOT_BOUNDNOT_LARDY
NOT_LICENSEDNOT_READYNOT_RESERVNOT_UPDATE
NOT_VALID_FRNOVIEWINDNOWILDNOWORMSPT
OBSVEROK_NO_ACEOPCLOOBSOPERCLOSEOPERSHUTDN
OPTINCONSISOPTNOAREARECOPTNOUNTILRECOVERFLOW
PARTDTXNERRPARTOPERBADPLACEVIA1STPREMEOF
PRI_RELCONEXTSQIOXFRLENQUIETPTREADONLYREAD_ONLY
RECMAXEXCREFINGFLDMSMTCHRELALRDYMPRELCONEXTS
RELCONNOEXIRELEXIRELEXTSRELFLDEXRELFLDNOC
RELFLDNODRELINCOMRELNEXTSRELNOEXIRELNOTCHG
RELNOTDELRELNOTEMPTYRELUSETRAREQPBLCANSI
REQUNIFORMRESTARTRLCREFDBYRLCROOMAJVER
ROOTMAJVERRUJDEVDIRSCHEMAEXISTSSCHEMAINUSE
SCHNOTFOUNDSEGALRDYMPSEGMAPONWORMSEGSTR_AREA_INC
SEGSTR_NO_CHGSEGTOOBIGSETWIDTHSIPSNAPFULL
SNPDISCJSORTKEYEXTSORTOPERRSPAMNOTDIS
SPAMNOTRDONLYSPAMNOTWRMSPIMAXSPIMINSSAREANOTEMPTY
SSNOTINROOTSTALLSTAREAFULSTOMAPNOEXI
SYMTOOBIGSYNERRSYSRDONLYTABIDNOTDEF
TABNOTDEFTADMISMATCHTERMINATETHRESHAREEXI
THRESHUNIFTIMEOUTTRANSFDEFTRAN_IN_PROG
TRGEXITRGEXTSTRGINUPDREQTRGNOEXITRGNOSUBJCTX
TRGVWTRIGNODELTRIG_ERRORTRNNOTDEF
TRNNOTDELTRUETRUNCATIONTRUNRGTSTR
UNDERFLOWUNI_RELCONNOEXIUNLIKECOLLUNSARITH
UNSCATALOGUNSCOMPUNSCONVUNSSCHEMAUNSSYNONYM
UNS_DTYPEUPDINSNAPUPDRECURSTRIGUSEUNOPTAIJ
USRMAXUSRMINVCO_NOFIRSTNVIEWEXIVIEWINVIEW
VIEWNOEXIVIEWNORETVIEWNOTDELVIEWNOUP
VIEW_NO_ANAWASBOOLWISH_LISTWRMNOTMIXWRMRDONLY
WRNG_RELXPR_STACK_OFLO

ACCVIO

 access violation on read/write of user address

 Explanation:  A readable parameter is not readable by the DBCS
 or a writeable parameter is not writeable by the DBCS.

 User Action:  Pass good parameters to the DBCS.

ACENOTFND

 no matching access control entry found

 Explanation:  In a protection statement that refers to an
 existing access control entry, there was no existing entry that
 matched the input.

 User Action:  Use SHOW PROTECTION to see what the ACL currently
 looks like and correct your statement.

ACTQUERY

 there are queries compiled that reference relation <str>

 Explanation:  You tried to change metadata associated with the
 specified relation but a compiled query (request) exists that
 depends on the current relation metadata.

 User Action:  Finish using the referencing request and release
 it, then retry the metadata update.

ACTUPDREQ

 there are active update requests that reference relation <str>

 Explanation:  You tried to change metadata associated with the
 specified relation but a request is active that depends on the
 current relation metadata for some update action.

 User Action:  Finish using the referencing request and release
 it, then try the metadata update again.

AIJACTIVE

 <num> active transaction(s) not yet committed or aborted

 Explanation:  Upon completion of the roll-forward operations for
 the current AIJ file, more than 1 transactions remain active.
 That is, the commit or roll-back information resides in the next
 AIJ file to be processed.  It is also possible that one or more
 of these active transactions are prepared transactions, which
 may be committed or aborted by the recovery operation using
 DECdtm information; in this case, a separate message indicating
 the number of prepared transactions will be displayed.

 User Action:  No user action is required.  This message is
 informational only.

AIJALLDONE

 AIJ roll-forward operations completed

 Explanation:  The AIJ roll-forward operation has completed.

 User Action:  No user action is required.  This message is
 informational only.

AIJBADAREA

 inconsistent storage area <str> needs AIJ sequence number <num>

 Explanation:  The indicated storage area has been marked
 inconsistent with the rest of the database.  The AIJ file with
 the indicated sequence number is required to commence recovery
 of the area.  If the sequence number of the AIJ file is
 different than the indicated sequence number, recovery of the
 area will not be performed.

 User Action:  No user action is required.  This message is
 informational only.

AIJBCKACT

 AIJ modify operation not allowed; AIJ backup in progress

 Explanation:  An AIJ backup is currently in progress.  While an
 AIJ backup is in progress, AIJ modify operations, such as
 disabling AIJ journalled or changing the default AIJ filename,
 are not permitted.  If the AIJ backup was prematurely terminated
 by the user, another AIJ backup must complete before AIJ
 modifications are permitted.

 User Action:  Allow the AIJ backup to finish before attempting
 the AIJ modify operation.  If the AIJ backup was prematurely
 terminated by the user, start another AIJ backup and allow it to
 complete; the AIJ modify operation will then be possible.

AIJBCKFAIL

 the AIJ backup that created the AIJ file did not complete

 Explanation:  It appears that the AIJ backup process, that
 created the AIJ file currently being recovered, failed or was
 prematurely terminated.  When this occurs, it is possible that
 one or more transactions active at the time of the backup
 failure may not have been recovered completely.

 User Action:  Roll-forward the next AIJ file, which should
 contain the commit information for any transactions that were
 not completely recovered.  If there are no more AIJ files to be
 rolled-forward, then all transactions have been completely
 recovered.

AIJBCKSEQ

 backing up current AIJ file sequence number <num>

 Explanation:  The created AIJ backup file will be internally
 identified with the indicated sequence number.  When AIJ files
 are rolled-forward, the roll-forward utility will prompt for
 specific AIJ sequence numbers.  The AIJ file sequence number
 should be included as a component of any external file
 identification information, such as magtape labels.

 User Action:  No user action is required.  This message is
 informational only.

AIJCONFIRM

 do you wish to continue the roll-forward operation [<char>]:

 Explanation:  Prompt the user to continue or terminate the AIJ
 roll-forward operation.

 User Action:  Enter 'YES' to continue the roll-forward
 operation.  Enter 'NO' to terminate the roll-forward operation.
 Any other response will also result in the termination of the
 roll-forward operation.

AIJCURSEQ

 specified AIJ file contains sequence number <num>

 Explanation:  The specified AIJ file contains the indicated
 sequence number.  This sequence number must exactly match that
 expected by the roll-forward utility

 User Action:  No user action is required.  This message is
 informational only.

AIJDEVDIR

 AIJ filename does not include device and directory

 Explanation:  The AIJ filename you specified did not include a
 device and directory.

 User Action:  You should always include a device and directory
 in the file specification, preferably different from the
 database device for maximum protection.

AIJDISABLED

 after-image journaling must be enabled for backup

 Explanation:  You attempted to back up an after-image journal
 file for a database that has after-image journaling disabled.

 User Action:  Enable after-image journaling for your database
 and try the backup again at some later time.

AIJENABLED

 after-image journaling must be disabled during recovery

 Explanation:  You attempted to recover your database using an
 after-image journal file, but the database still has after-image
 journaling enabled.

 User Action:  Disable after-image journaling for your database
 and try the recovery again.  After recovery has completed, you
 can enable after-image journaling again.

AIJFILEGONE

 continuing with AIJ modification operation

 Explanation:  While attempting to disable AIJ journaling, or
 attempting to change the default AIJ filename, the active AIJ
 file could not be opened.  This condition typically only occurs
 for catastrophic reasons; therefore, the AIJ file is assumed to
 have contained some data records, which are presumed to have
 been lost.

 User Action:  No user action is required.  This message is
 informational only.

AIJFNLSEQ

 to start another AIJ file recovery, the sequence number
 needed will be <num>

 Explanation:  This message informs the user what the next AIJ
 file sequence number will be.  AIJ file sequence numbers are
 modified for a variety of reasons, such as performing an AIJ
 backup, enabling or disabling AIJ logging, etc.

 User Action:  No user action is required.  This message is
 informational only.

AIJGOODAREA

 storage area <str> is now consistent

 Explanation:  The indicated storage area has been marked
 consistent with the rest of the database.

 User Action:  No user action is required.  This message is
 informational only.

AIJMODSEQ

 next AIJ file sequence number will be <num>

 Explanation:  This message informs the user what the next AIJ
 file sequence number will be.  AIJ file sequence numbers are
 modified for a variety of reasons, such as performing an AIJ
 backup, enabling or disabling AIJ logging, etc.

 User Action:  No user action is required.  This message is
 informational only.

AIJMOREWORK

 active transactions will be aborted if you terminate recovery

 Explanation:  This message indicates that one or more active
 transactions will be aborted if AIJ recovery is terminated.

 User Action:  No user action is required.  This message is
 informational only.  This message supplements the AIJNXTSEQ
 message.

AIJNOACTIVE

 there are no active transactions

 Explanation:  Upon completion of the roll-forward operations for
 the current AIJ file, no transactions remain active.  The AIJ
 recovery process can be terminated without the loss of
 transaction data.

 User Action:  No user action is required.  This message is
 informational only.

AIJNOENABLED

 AIJ journaling has not yet been enabled

 Explanation:  The AIJ roll-forward operation has completed, but
 AIJ logging has not yet been enabled.  This message is a
 reminder to the user to enable AIJ logging, if desired.

 User Action:  If AIJ logging is desired, AIJ logging should be
 enabled.  Otherwise, no user action is required.  This message
 is informational only.

AIJNXTFIL

 enter the next AIJ file name, or return to terminate:

 Explanation:  Prompt the user to enter the name of another AIJ
 file to be rolled-forward.  If no AIJ file name is entered, the
 roll-forward operation is terminated.

 User Action:  Enter the name of the next AIJ file to be
 rolled-forward.  If you wish to terminate the roll-forward
 operation, simply hit return <CR>.

AIJNXTSEQ

 to continue this AIJ file recovery, the sequence number
 needed will be <num>

 Explanation:  This message informs the user what the next AIJ
 file sequence number will be.  AIJ file sequence numbers are
 modified for a variety of reasons, such as performing an AIJ
 backup, enabling or disabling AIJ logging, etc.

 User Action:  No user action is required.  This message is
 informational only.

AIJONEDONE

 AIJ file sequence <num> roll-forward operations completed

 Explanation:  This message indicates that the roll-forward
 operations for the AIJ file with the indicated sequence number
 have been successfully completed.  Note that in some cases, no
 transactions may have been applied; this is normal.

 User Action:  No user action is required.  This message is
 informational only.

AIJOPTSUC

 AIJ optimization completed successfully

 Explanation:  This is an informational message indicating that
 an AIJ optimization has completed successfully.

 User Action:  No user action.

AIJPREPARE

 <num> of the active transaction(s) prepared but not yet
 committed or aborted

 Explanation:  Upon completion of the roll-forward operations for
 the current AIJ file, more than 1 transaction remains active AND
 prepared.  That is, the commit or roll-back information either
 resides in the next AIJ file to be processed, or the action can
 be determined using DECdtm upon completion of the recovery
 operation.

 User Action:  No user action is required.  This message is
 informational only.

AIJQUIETPT

 AIJ quiet-point backup required when commit-to-journal enabled

 Explanation:  You attempted to perform a no-quiet-point back up
 of an after-image journal file when the commit-to-journal
 feature was enabled.

 User Action:  Either disable the commit-to-journal feature, or
 use the quiet-point AIJ backup mechanism.

AIJRECOBS

 RDO RECOVER command for AIJ is obsolete, please use RMU/RECOVER

 Explanation:  You requested that an RDO RECOVER statement be
 executed, perhaps with an older version of RDO.  The RDO RECOVER
 statement is no longer supported.

 User Action:  Use the RMU/RECOVER command instead.

AIJRECTRM

 AIJ roll-forward operations terminated at user request

 Explanation:  Instead of specifying another AIJ file to be
 rolled-forward, the user specified that AIJ roll-forward
 operations should be prematurely terminated.  In this case, it
 is possible that one or more active transactions were aborted by
 the system.

 User Action:  No user action is required.  This message is
 informational only.

AIJROOSEQ

 starting AIJ sequence number required is <num>

 Explanation:  The AIJ sequence number indicated corresponds to
 the first AIJ file that can be rolled-forward.  If the sequence
 number of the AIJ file to be rolled-forward does not exactly
 match the indicated sequence number, no transactions will be
 applied.

 User Action:  No user action is required.  This message is
 informational only.

AIJSEQAFT

 incorrect AIJ file sequence <num> when <num> was expected

 Explanation:  The AIJ file supplied was created subsequent to
 the expected AIJ file.  Usually, this condition occurs for the
 following reasons:  1) an incorrect AIJ file or VMS file
 "version" was specified, 2) the supplied AIJ file was not
 created for this database, or 3) AIJ logging was disabled and
 then later enabled.

 User Action:  The utility will prompt for confirmation that the
 supplied AIJ file is valid.  If AIJ logging was disabled and
 then later enabled without any intervening database transaction
 activity, then confirming the AIJ file will permit the
 roll-forward operation to continue applying all transactions
 contained in the AIJ file.  Otherwise, the AIJ file should be
 rejected and the correct AIJ file specified.  Should
 confirmation be given for an incorrect AIJ file, no transactions
 will be applied.

AIJSEQPRI

 AIJ file sequence number <num> created prior to expected
 sequence <num>

 Explanation:  The AIJ file supplied was created prior to the
 expected AIJ file.  Usually, this condition occurs for the
 following reasons:  1) an incorrect AIJ file or VMS file
 "version" was specified, 2) the supplied AIJ file was not
 created for this database, or 3) a database backup was performed
 subsequent to the AIJ backup.

 User Action:  No user action is required.  This message is
 informational only.  The AIJ roll-forward operation will
 continue to completion, although no transactions will be applied
 from the AIJ file.

AIJVNOSYNC

 AIJ file <str> synchronized with database

 Explanation:  When recovering a database for which AIJ
 journaling was enabled, it may be necessary to synchronize
 information in the AIJ file with information in the database
 root file.  This is necessary to ensure that subsequent AIJ
 recovery operations are successful.

 User Action:  No user action is required.  This message is
 informational only.

ALLMIN

 number of pages in database must be greater than 1

 Explanation:  The page allocation for the database you specified
 is too small.

 User Action:  Try another value.

ALROPE

 this record stream for this cursor is already open

 Explanation:  The call to RDMS$OPEN has failed.  You attempted
 to open a stream that is already open.

 User Action:  Call RDMS$CLOSE to close the stream.

ANAEXTOBS

 analyze extension is obsolete

 Explanation:  The RDB$K_EXT_ANALYZE function provided through
 the RDB$EXTENSION RCI call is no longer available.

 User Action:  Use the RMU/ANALYZE utility to gather static
 database statistics.

AREABUSY

 usage of storage area <str> conflicts with a co-user

 Explanation:  You attempted to ready an area that is already
 being accessed by another user, and that usage mode is
 incompatible with the usage mode you requested.

 User Action:  Wait until the storage area you requested is
 available, and try again, or ready the area with the WAIT
 option.

AREA_CORRUPT

 storage area <str> is corrupt

 Explanation:  The storage area has been corrupted by an abnormal
 termination of a BATCH UPDATE run unit.  It cannot be readied.

 User Action:  Either try to fix the problem by verifying the
 area and then altering the corrupt pages or reload/restore the
 area.

AREA_DELETED

 area <str> was previously deleted

 Explanation:  An attempt was made to ready an area which was
 previously deleted.

AREA_INCONSIST

 storage area <str> is inconsistent

 Explanation:  The storage area has been marked inconsistent with
 the rest of the database.  It cannot be readied.

 User Action:  Recover the area to make it consistent.

AREA_NAME

 area <str>

 Explanation:  This message supplies supplementary information
 for an accompanying message.

 User Action:  As specified for accompanying message.

AREA_RESTRUCT

 storage area <str> is under restructure

 Explanation:  An attempt was made to ready an area that is
 either presently being or in the recent past has been
 restructured.

 User Action:  See your DBA to have the areas released.

ARITH

 arithmetic exception

 Explanation:  An exception occurred while Rdb/VMS was evaluating
 an arithmetic expression.  The subordinate status explains the
 exception.

 User Action:  Change the expression to eliminate the error.  For
 example, if the exception was division by zero, change your
 query to exclude records that cause a division by zero.

BADAIJBCK

 previous AIJ backup did not complete

 Explanation:  It appears that the previous AIJ file backup
 process, which was started on the indicated date/time, either
 failed or was prematurely terminated by the user.  The AIJ
 backup file created by the failed backup utility is not complete
 and should not rolled-forward.

 User Action:  No user action required.  The current AIJ backup
 will backup the complete AIJ file to ensure there is no loss of
 transactions.  The AIJ file created by the failed backup utility
 MUST be preserved; DO NOT discard the AIJ backup file.  Even
 though the AIJ backup failed, the AIJ backup file must be used
 for successful roll-forward operations.

BADAIJFILE

 illegal after-image journal format

 Explanation:  The file you specified is not an after-image
 journal file.

 User Action:  Check the file name and try again.

BADAIJSEQ

 AIJ file is incorrect for roll-forward operations

 Explanation:  The specified AIJ file is not the correct file to
 be rolled-forward.  Usually, this condition occurs for the
 following reasons:  1) an incorrect AIJ file or VMS file
 "version" was specified, 2) the supplied AIJ file was not
 created for this database, or 3) AIJ logging was disabled and
 then later enabled.

 User Action:  No user action is required.  This message is
 informational only.

BADAIJUNTIL

 date specified by /UNTIL (<time>) has not yet been reached

 Explanation:  The date and time specified by the /UNTIL command
 qualifier had not yet been reached when AIJ roll-forward
 operations were completed.

 User Action:  Another AIJ file, if any, might have to be
 rolled-forward to ensure that all transactions have been applied
 up to the specified date and time.  If no more AIJ files are
 available, the AIJ roll-forward operations are complete.

BADAIJVER

 after-image journal version is incompatible with the DBCS

 Explanation:  Your after-image journal file was created with an
 incompatible version of the software.

 User Action:  Your after-image journal file cannot be used with
 the version of the software you have installed on your machine.

BADASCTOID

 "<str>" is not a valid user identifier

 Explanation:  An error occurred when accessing the rights
 database to translate an identifier name to a binary identifier.

 User Action:  See the secondary error message and supply a valid
 user identifier.

BADBNDPRM

 bad bind parameter <str> value "<str>"

 Explanation:  The logical bind parameter value is invalid.

 User Action:  See the secondary error message for more
 information.

BADBOUNDS

 value not in range <num> to <num>

 Explanation:  The value of the translated logical name is not in
 the range of acceptable values.

 User Action:  Delete the logical name, or redefine it with a
 value in the acceptable range.

BADBUFSIZ

 buffer size (<num>) is too small for largest page size (<num>)

 Explanation:  Specified buffer size is too small to hold even
 one page from the storage area with the largest page size.

BADDATDEF

 illegal default format for date string

 Explanation:  The logical name, SYS$DATE_INPUT, represents the
 default format for a date string.  It is a three character field
 (MDY,DMY, etc.) with M = month, D = day, and Y = year.

 User Action:  Redefine the logical name with a legal date string
 format.

BADDBNAME

 can't find database root <str>

 Explanation:  The database root file you specified could not be
 accessed.

 User Action:  Examine the associated messages to determine the
 reason for failure.

BADFILTYP

 database file must have extension "<str>"

 Explanation:  All database files must have the specified file
 type.

 User Action:  You might be attempting to access a non-database
 file.  If not, rename or copy the database file to have the
 proper type.

BADHANDLE

 invalid handle passed on call to Rdb

 Explanation:  A call to Rdb/VMS passed a nonzero handle when
 zero was expected or passed a handle that was not valid.  A
 handle is output by certain Rdb/VMS calls.  This error can be
 caused by errors in software, such as a preprocessor, that
 creates the calls to Rdb/VMS.

 User Action:  None.

BADPARAM

 <str> (<num>) is out of valid range (<num>..<num>)

 Explanation:  An illegal parameter was specified when creating
 or modifying the database.

 User Action:  Examine your command line for illegal parameter
 values.

BADROOTMATCH

 root file "<str>" no longer has its original name "<str>"

 Explanation:  The current root filename does not match the name
 the used when the root file was created.  This could happen if
 you copied or renamed the root file, or if the file was created
 using a concealed logical device name and that logical name is
 no longer defined.

 User Action:  Rename or copy the root file back to its original
 name or location, or redefine the necessary concealed logical
 device name in the system logical name table.

BADSEGSTROPT

 option specified is incompatible with segmented string
 storage maps

 Explanation:  You defined a storage map for segmented strings
 and included an option which is not supported or meaningless.

 User Action:  Review the documentation and correct the syntax.

BADSPAMINT

 spam interval (<num>) is too large for page size (<num>
 block(s))

 Explanation:  The SPAM interval is too large for the specified
 page size.

 User Action:  Reduce the SPAM interval or increase the page
 size.

BAD_AREA_NAME

 area named <str> does not exist

 Explanation:  You specified an area name that is incorrect.

 User Action:  Check with your DBA to determine the correct area
 names for your database and reissue your command correctly.

BAD_CODE

 corruption in the query string

 Explanation:  An illegal entry was found in the query string.

 User Action:  If you called Rdb/VMS, check the query string;
 otherwise submit an SPR.

BAD_DATATYPE

 unsupported datatype

 Explanation:  You attempted to do math with incompatible data
 types.

 User Action:  Submit an SPR.

BAD_NAME

 illegal filename

 Explanation:  You specified an illegal file name.  A second line
 of explanatory text is supplied in addition to this message.

 User Action:  Retry the command with a valid file name.

BAD_SYM

 unknown <str> symbol - <str>

 Explanation:  Invalid symbol.

 User Action:  Check the definition and retype the command.

BAD_XPR

 corrupt expression

 Explanation:  A corrupt expression was found in the query
 string.

 User Action:  If you called Rdb/VMS, check the query string.
 Otherwise, submit an SPR.

BDDATRANG

 day, month, or year field in date string out of range

 Explanation:  The month field must be between 1 and 12
 inclusive.  The day field must be between 1 and 31 inclusive.
 The year field must be between 0 and 3000 inclusive.

 User Action:  Re-enter the DATE data item with the error
 corrected.

BKUPEMPTYAIJ

 after-image journal file is empty

 Explanation:  An attempt was made to backup an empty after image
 journal file.

 User Action:  Be sure the correct after image journal file was
 specified.

BOUND

 multiple binds are not allowed

 Explanation:  You are already bound to a database.  You can only
 be bound to one database at a time for a given stream.

 User Action:  You can execute an UNBIND statement and try the
 BIND again, or use the multiple stream feature to bind to a
 database on another stream.

BPPMAX

 <num> blocks per page is greater than the Rdb/VMS maximum of
 <num>

 Explanation:  The page size for the database you specified is
 too large.

 User Action:  Try another value.

BPPMIN

 <num> blocks per page is less than the Rdb/VMS minimum of <num>

 Explanation:  The page size for the database you specified is
 too small.

 User Action:  Try another value.

BUFLIMEXC

 internal buffer limit exceeded

 Explanation:  You have provided a request whose compilation
 exceeds the buffer capabilities of Rdb/VMS.  An example would be
 a request that attempts to retrieve several thousand fields from
 a relation.

 User Action:  Rewrite the request, possibly breaking it up into
 multiple requests.

BUFSMLPAG

 buffer size is less than page size

 Explanation:  Buffer size must be large enough for at least one
 page.

 User Action:  Try another value for the buffer size.

BUFTOOSML

 buffer size (<num>) is smaller than largest page (<num>)

 Explanation:  The buffer size must be large enough to
 accommodate the largest page size within the database.

 User Action:  Specify a buffer size at least as large as the
 message indicates.

BUGCHECK

 fatal, unexpected error detected

 Explanation:  A fatal, unexpected error was detected by the
 database management system.

 User Action:  Please submit an SPR (and include any bugcheck
 dump files).

BUGCHKDMP

 generating bugcheck dump file <str>

 Explanation:  The database management system has detected a
 fatal, unexpected error, and is writing a bugcheck dump file
 with the specified file name.

 User Action:  Please send this bugcheck dump file to your
 software specialist, along with any other related programs or
 data.

CANTASSMBX

 error assigning a channel to a mailbox

 Explanation:  An error occurred while you attempted to assign a
 channel to a VMS mailbox.

 User Action:  Examine the secondary message for more
 information.

CANTBINDRT

 error mapping database root file

 Explanation:  An error occurred while mapping to the database
 root file.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTCLOSEDB

 database could not be closed as requested

 Explanation:  The database monitor detected an error while
 attempting to close the database you specified.

 User Action:  Examine the secondary message(s) or look in the
 database monitor log file (SYS$SYSTEM:*MON.LOG) for more
 information.

CANTCREDBR

 error creating database recovery process

 Explanation:  An error occurred while you attempted to create a
 detached database recovery process.

 User Action:  Examine the secondary message(s) or look in the
 database monitor log file (SYS$SYSTEM:*MON.LOG) for more
 information.

CANTCREGBL

 error creating and mapping database global section

 Explanation:  There was an error while you attempted to create a
 map to the database global section.

 User Action:  Examine the secondary message(s) for more
 information.

CANTCREMBX

 cannot create mailbox

 Explanation:  An error occurred while you attempted to create a
 mailbox.  Mailboxes are used for interprocess communication by
 the database management system.

 User Action:  Examine the associated messages to determine the
 reason for failure.  Usually, you will have to change one of
 your quotas (most likely, the buffered I/O byte count quota or
 the open file quota).

CANTCREMON

 unable to start database monitor process

 Explanation:  An error occurred while you attempted to start the
 database monitor process.  This is a detached process.

 User Action:  Examine the secondary message(s) to determine the
 reason for the failure.

CANTDELETE

 error deleting "<str>"

 Explanation:  An error occurred while you attempted to delete
 the indicated file.  You must be able to change the protection
 on a file in order to delete it.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTLCKTRM

 database monitor error establishing termination lock

 Explanation:  The database monitor was unable to assert a
 request on the user's image termination lock.  The user's image
 might already have terminated before the monitor received the
 request.

 User Action:  Examine the secondary message(s) for more
 information.

CANTMAPTROOT

 error mapping to the troot section

 Explanation:  An error occurred while mapping to the shared
 database page-file section.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTOPENDB

 database could not be opened as requested

 Explanation:  The database monitor detected an error while
 attempting to open the database you specified.

 User Action:  Examine the secondary message(s) or look in the
 database monitor log file (SYS$SYSTEM:*MON.LOG) for more
 information.

CANTOPENIN

 error opening input file <str>

 Explanation:  An error occurred while opening the input file.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTQIOMBX

 unable to send mail to a mailbox

 Explanation:  An error occurred while you attempted to send mail
 to a mailbox.

 User Action:  Examine the secondary message(s) to determine the
 reason for the failure.

CANTREADDB

 error opening or reading database file

 Explanation:  There was an error while you attempted to open or
 read from the database file.

 User Action:  Examine the secondary message(s) for more
 information.

CANTREADDBS

 error reading pages <num>:<num>-<num>

 Explanation:  An error occurred while you attempted to read one
 or more database pages.  The message indicates the storage area
 ID number and the page numbers of the first and last pages being
 read.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTSNAP

 can't ready storage area <str> for snapshots

 Explanation:  Snapshots were last enabled for this area by a
 transaction that had not committed before the snapshot started.
 Information to materialize the snapshot is not present.

 User Action:  Restart the snapshot transaction.  If failure of a
 snapshot transaction is critical, you should ready all areas
 before doing any retrievals.

CANTSPAWN

 error spawning sub-process

 Explanation:  An error occurred while you attempted to spawn a
 sub-process.

 User Action:  Examine the secondary message for more
 information.

CANTWRITEDBS

 error writing pages <num>:<num>-<num>

 Explanation:  An error occurred while you attempted to write one
 or more database pages.  The message indicates the storage area
 ID number and the page numbers of the first and last pages being
 written.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CATALOGEXISTS

 catalog <str> already exists

 Explanation:  The named catalog already exists.

 User Action:  Use a different name for the catalog.

CATALOGINUSE

 catalog <str> currently in use

 Explanation:  You attempted to drop a catalog which still
 contains a schema.

 User Action:  Drop all the schemas from the catalog before
 attempting to drop the catalog.

CATNOTFOUND

 catalog with id <num> not found in this database

 Explanation:  The catalog id referenced by the CREATE SCHEMA
 statement does not exist.

 User Action:  Please select another catalog.

CDDDICTALONE

 the CDD dictionary flag must occur alone in
 RDB$CHANGE_DATABASE buffer

 Explanation:  You attempted to change the CDD DICTIONARY flag
 along with other parameters in the same call to
 RDB$CHANGE_DATABASE.

 User Action:  Break down your request into two separate calls.

CDDISREQD

 CDD required for metadata updates is not being maintained

 Explanation:  You attempted to change a definition in a database
 which requires that all definition changes be reflected in the
 CDD, after issuing an INVOKE DATABASE FILENAME statement.

 User Action:  INVOKE DATABASE PATHNAME and retry the metadata
 update.

CDDREQALONE

 CDD is required clause must be alone in CHANGE DATABASE command

 Explanation:  You attempted to specify DICTIONARY is (not)
 REQUIRED along with other parameters in the same CHANGE DATABASE
 statement.

 User Action:  Break down your request into two separate
 statements.

CHECKSUM

 checksum error - computed <num>, page contained <num>

 Explanation:  The computed checksum for the database page
 disagreed with the checksum actually stored on the page.  This
 usually is caused by a hardware problem.

 User Action:  None.

CHGIDXNOADDMAP

 INDEX may not be altered/changed to have map

 Explanation:  A CHANGE or ALTER INDEX command cannot add a
 storage map to an index that was not previously mapped.

 User Action:  Review the index's use.  If you want to move it to
 another area, the index must be deleted and defined again.

CMTCONNOTDEL

 cannot delete constraint <str> queued for COMMIT evaluation

 Explanation:  The specified constraint was not deleted because
 an update action has caused the constraint to be queued for
 evaluation on a COMMIT.

 User Action:  COMMIT or ROLLBACK the current transaction and try
 the metadata update again.

CNVNUMDAT

 cannot convert number to a date string

 Explanation:  A quadword DATE data type is not in the correct
 form to be converted to a text string.

 User Action:  Re-enter the DATE data item in the correct format.

COLEXTS

 there is another collating sequence named <str> in this
 database

 Explanation:  The collating sequence name you tried to define
 already exists.

 User Action:  Try another collating sequence name.

COLINVFLDTYP

 collating sequence invalid for data type

 Explanation:  An attempt was made to create or change a domain
 or column such that the result is a non-text data type with a
 collating sequence.

 User Action:  Ensure that collating sequences are not used on
 non-text data types.

COLLFAILURE

 could not reformat the collating sequence

 Explanation:  Rdb/VMS translates an NCS collating sequence into
 an internal format for use in building indices, comparisons and
 matching.  The translation could not be performed.

 User Action:  Submit an SPR including the files SPR.MAR and
 SPR.NCS obtained from the command:
 NCS/MAC=SPR/OUT=SPR/EXT=<collating_name> <library> where
 <collating_name> is the name of the collating sequence that you
 selected from the library indicated by <library> or from NCS.NLB
 if you did not specify a library.

COLLFMTUNK

 collating format unknown

 Explanation:  Rdb/VMS understands the internal format of the
 collating sequences defined in NCS.NLB.  Apparently there is a
 new format in use that Rdb/VMS does not know about.  Perhaps you
 are using an obsolete version of Rdb.

 User Action:  Contact your support center.  If the problem is
 not that an obsolete version of Rdb is in use, then you should
 submit an SPR including the files SPR.MAR and SPR.NCS obtained
 from the command:  NCS/MAC=SPR/OUT=SPR/EXT=<collating_name>
 <library> where <collating_name> is the name of the collating
 sequence that you selected from the library indicated by
 <library> or from NCS.NLB if you did not specify a library.

COLNOEXTS

 there is no collating sequence named <str> in this database

 Explanation:  The collating sequence name you tried to delete
 does not exist.

 User Action:  You may have typed the collating sequence name
 incorrectly, or you did not define the collating sequence name.

COLNOTDEF

 field <str> is not defined in relation <str>

 Explanation:  The specified field does not exist in the relation
 specified.

 User Action:  The relation definition associated with the
 context variable did not include a definition for the specified
 field.  You may have specified the wrong context variable with
 the field or mistyped the field name.

COLRESERVED

 the collating sequence name <str> is reserved and my not be
 defined

 Explanation:  The collating sequence name you tried to use is
 predefined.

 User Action:  Use another name.

COLUSEDDB

 the collating sequence named <str> is used by the database

 Explanation:  The collating sequence name you tried to delete
 was defined as the collating sequence for the database.

 User Action:  Investigate.

COLUSEDFLD

 the collating sequence named <str> is used in field <str>

 Explanation:  The collating sequence name you tried to delete is
 in use.

 User Action:  Investigate.

COLUSEDREL

 the collating sequence named <str> is used in field <str> of
 relation <str>

 Explanation:  The collating sequence name you tried to delete is
 in use.

 User Action:  Investigate.

COMPLEX

 data conversion error on complex data type

 Explanation:  There would have been loss of information on a
 complex data type conversion.  The operation was not performed.

 User Action:  Enter another value.

COMPNOTENA

 index compression has not been enabled

 Explanation:  You attempted to remap index values without
 enabling compression for the index.

 User Action:  Review the command you typed, and issue a
 corrected command if appropriate.

COMPNOTNUM

 index mapping applies to BYTE, WORD and LONGWORD fields only

 Explanation:  You attempted to remap index values but the fields
 must be of a BYTE, WORD or LONGWORD data type.

 User Action:  Review the command you typed, and issue it again
 specifying a BYTE, WORD or LONGWORD data type if appropriate.

COMPNOTTEXT

 only text and varying text fields may be shortened in indices

 Explanation:  You attempted to specify a shortened size for an
 index field, but specified a data type other than text or
 varying text.  Only fields with a text or varying text data type
 can be shortened in an index.

 User Action:  Review the command you typed, and issue it again
 specifying a text or varying text field if appropriate.

CONDELVIAREL

 constraint <str> can only be deleted by changing or deleting
 relation <str>

 Explanation:  The constraint specified was defined as a
 relation-specific constraint, and can only be deleted by using
 the CHANGE RELATION or DELETE RELATION statement on the relation
 declaring the constraint.

 User Action:  First, review the database design; then, if
 desired, delete the relation-specific constraint.

CONEXI

 relation <str> is referenced in constraint <str>

 Explanation:  Before you can delete a relation, all constraints
 and views based on this relation must be deleted.

 User Action:  Delete the dependent constraints and any views
 that refer to this relation.

CONEXTS

 there is another constraint named <str> in this database

 Explanation:  The constraint name you tried to define already
 exists.

 User Action:  Choose another constraint name.

CONFTXNOPTION

 Do you really want to <str> this transaction?  [<char>]:

 Explanation:  Confirm that the user actually wants to take the
 action.

CONNOEXI

 constraint <str> does not exist in this database

 Explanation:  The name specified for the constraint was not
 found in the database.

 User Action:  Check the name of the constraint using the SHOW
 command and try again.

CONNOTDEF

 constraint <str> has not been defined

 Explanation:  The specified constraint was not defined.

 User Action:  Correct the problem and try the metadata update
 again.

CONNOTDEL

 constraint <str> has not been deleted

 Explanation:  The specified constraint was not deleted.

 User Action:  Correct the problem and retry the metadata update.

CONVERR

 data conversion error

 Explanation:  The database management system was unable to
 convert the data item from one datatype to another.

 User Action:  Enter another value.

CONVW

 views cannot be used within constraints

 Explanation:  Constraints cannot be placed on views.

 User Action:  Place constraints on the relation referred to in
 the view definition.

CSETBADASSIGN

 incompatible character sets prohibits the requested assignment

 Explanation:  An attempt was made to assign one string to
 another but the character sets of the two string were
 incompatible.

 User Action:  Ensure that character sets are compatible before
 assignment.

CSETBADCOMPARE

 incompatible character sets prohibits the requested comparison

 Explanation:  An attempt was made to compare one string to
 another but the character sets of the two string were
 incompatible.

 User Action:  Ensure that character sets are compatible before
 trying comparison.

CSETBADCONCAT

 incompatible character sets prohibits concatenation

 Explanation:  An attempt was made to concatenate strings
 together but the character sets of the two string were
 incompatible.

 User Action:  Ensure that character sets are compatible before
 trying concatenation.

CSETBADESCAPE

 character set of ESCAPE character must match that of source

 Explanation:  An escape character was used that did not have the
 same character set as the source value expression.

 User Action:  Ensure that the correct character set is used with
 the ESCAPE character.

CSETBADOPER

 character set prohibits the requested operation

 Explanation:  An attempt was made to carry out a string
 operation but the character set of the string prevented the
 operation.

 User Action:  Ensure that operation is valid on the character
 set before trying the operation again.

CSETNOASCII

 character set must contain ASCII

 Explanation:  An attempt was made to assign or compare a numeric
 or date with a text string that had a character set that did not
 contain ASCII.

 User Action:  Ensure that destination character string character
 set contains ASCII.

CSETNOTFOUND

 invalid or undefined character set

 Explanation:  The character set specified is not known to Rdb.

 User Action:  Check the character set name and/or identifier to
 ensure that they are valid.

DATCNVERR

 conversion error in date string

 Explanation:  The date string is not in one of the legal
 formats.  As a result, it cannot be converted to the DATE data
 type.

 User Action:  Re-enter the DATE data item in one of the correct
 formats.

DBACTIVE

 database is already being used

 Explanation:  You attempted to open a database that is already
 being used.  You can only open a database that is not being
 accessed.

 User Action:  Wait for all users to finish using the database,
 or force the users off by closing the database.

DBBUSY

 database is busy - try again later

 Explanation:  You attempted to access a database that is shut
 down.

 User Action:  Wait for the database to become available, and try
 again.

DBCRUPT

 database is corrupt

 Explanation:  Your database is not a valid Rdb/VMS database.
 This can happen if DEFINE DATABASE does not terminate normally.

 User Action:  Recreate your database.  If the database was not
 just created, submit an SPR.

DBNOTACTIVE

 database is not being used

 Explanation:  You attempted to close a database that is not
 open.

 User Action:  There is no need to close the database - it is
 already closed.

DBNOTEXTEN

 database not multifile, areas may not be added

 Explanation:  Your database was not specified as multifile, yet
 you attempted to add areas to the database.

 User Action:  If you want to create a multifile database from a
 single file database, use the EXPORT and IMPORT statements.

DBNOTINTRAN

 that database is not in the current transaction

 Explanation:  You tried to start a request or use a segmented
 string in a database not included in your current transaction.

 User Action:  Commit or roll back your transaction, and start a
 new transaction that includes the proper databases.

DBNOTMULTSCHEM

 multischema support is not enabled in this Rdb/VMS database

 Explanation:  Multischema support is an option feature.

 User Action:  Use the SQL ALTER RDB DATABASE ENABLED MULTISCHEMA
 statement to enable this feature and then repeat your command.

DBNOTOPEN

 database is not open for access

 Explanation:  The database must be opened to allow users to
 access it.

 User Action:  Open the database and try again.

DBRABORTED

 database recovery process terminated abnormally

 Explanation:  A detached database recovery process failed to
 recover a transaction.

 User Action:  Examine the database monitor log file and any
 SYS$SYSTEM:*DBRBUG.DMP bugcheck dump files for more information.

DBSHUTDOWN

 database shutdown is in progress

 Explanation:  The request you made could not be completed
 because the database is being shut down.

 User Action:  Examine the database monitor log file
 (SYS$SYSTEM:*MON.LOG) for more information.

DB_CORRECT_VER

 the database is already the correct version

 Explanation:  The database is already accessible by the current
 version of the software.  This message is used only by special
 versions of the software and is referenced in RMU/CONVERT.

 User Action:  None.

DEADLOCK

 deadlock on <str>

 Explanation:  The operation you attempted has been forbidden by
 the database management system because it would have led to a
 system deadlock.

 User Action:  Execute a ROLLBACK or a COMMIT to release your
 locks, and try the transaction again.

DEFLISTWORM

 default list (segmented string) storage area can not be a
 WRITE ONCE area

 Explanation:  An attempt was made to create a database with a
 default list (segmented string) storage area on a WORM (write
 one read many) device.  This is not supported by Rdb/VMS as the
 format of the lists written by the system relations is not
 compatible with the WORM drive characteristics.

 User Action:  Create the default list storage area on read/write
 media and create a storage map to assign the lists to particular
 storage areas.

DOFULLBCK

 full database backup should be done to ensure future recovery

 Explanation:  After enabling AIJ journaling, it is often
 necessary to perform a full (i.e.  not incremental) database
 backup.  Failure to backup the database may result in the AIJ
 file NOT being recoverable.

 User Action:  IT IS HIGHLY RECOMMENDED that a full database
 backup be performed AS SOON AS POSSIBLE.

DT_FRACMBZ

 fractional seconds precision must be zero for this sub type

 Explanation:  The date/time data type supplied a sub-type which
 does not allow a fractional seconds precision to be supplied.

 User Action:  This appears to be an error in the code generated
 by VAX SQL please submit an SPR to Digital showing the
 definition or query which generated this error.

DT_PRECMBZ

 interval leading field precision must be zero for this sub type

 Explanation:  The date/time data type supplied a sub-type which
 does not allow a leading interval field precision to be
 supplied.

 User Action:  This appears to be an error in the code generated
 by VAX SQL please submit an SPR to Digital showing the
 definition or query which generated this error.

DUPLANAME

 area name <str> already used

 Explanation:  The area name specified is already in use for this
 database.

 User Action:  Choose a different name.

DUPLFNAME

 file name <str> already used

 Explanation:  The file name specified is already in use for this
 database.

 User Action:  Choose a different name.

DUPLTRGTYPE

 trigger <str> already defined for specified relation and
 trigger type

 Explanation:  There can be only one trigger of each update time
 and type defined for a particular relation, with the exception
 that multiple BEFORE MODIFY or AFTER MODIFY triggers can be
 defined as long as they all have exclusive (non-intersecting)
 field lists.  The trigger being defined conflicts with the
 specified trigger for either update time and type, or in one of
 the modify field names.

 User Action:  First, review the database design and defined
 triggers; then, if desired, try the operation again with
 non-conflicting types and fields.

DUPNOTALL

 duplicate records not allowed for index <str>

 Explanation:  You are trying to add a duplicate record to an
 index on a field that does not allow duplicates.

 User Action:  Do not add duplicate records unless you
 restructure the relation to allow them.

EMPTYAIJ

 after-image journal file is empty

 Explanation:  A recovery operation was attempted on an empty
 after-image journal file, or the UNTIL time predates any
 journalled transactions.  The former can happen if no
 transactions were initiated while after-image journaling was in
 progress.

 User Action:  Correct the error and try again.

EMPTYFILE

 <str> file is empty

 Explanation:  The file is empty.

 User Action:  None.

END

 end of record stream for this cursor

 Explanation:  A status returned from RDMS$DO that indicates
 there are no more records to be returned.

 User Action:  There are no more records in the record stream.
 Process as you would for an end-of-file condition.

ERRFOREIGN

 error opening foreign command file as input

 Explanation:  An error occurred while reading a foreign command
 file.

 User Action:  Examine the secondary message for more
 information.

ERROPENIN

 error opening <str> as input

 Explanation:  An error occurred while opening an input file.

 User Action:  Examine the secondary message for more
 information.

ERROPENOUT

 error opening <str> as output

 Explanation:  An error occurred while opening an output file.

 User Action:  Examine the secondary message for more
 information.

ERRWRITE

 error writing file

 Explanation:  An error occurred while writing a file.

 User Action:  Examine the secondary message for more
 information.

EXQUOTA

 exceeded quota

 Explanation:  The image could not proceed because a resource
 quota or limit had been exceeded.

 User Action:  The secondary error message describes the resource
 that was exceeded.  If this occurs consistently, increase your
 quota.

EXTDBONLY

 operation is not allowed on single file databases

 Explanation:  You attempted to change or delete storage areas or
 change the number of nodes or number of users in a single-file
 database or use a non-default specification for the snapshot
 file.

 User Action:  If you want to create a multifile database from a
 single-file database, use the EXPORT and IMPORT statements.

EXT_LENGTH_CH

 invalid type for EXTRACT LENGTH, must be CHAR or VARCHAR

 Explanation:  The EXTRACT WEEKDAY requires that the result of
 the value expression be a CHAR or a VARCHAR.

 User Action:  Correct the query to use a valid data type for
 EXTRACT.

EXT_NEED_DT

 invalid option for EXTRACT, source must be a datetime type

 Explanation:  The EXTRACT option requires that the result of the
 value expression be a datetime type.

 User Action:  Correct the query to use a valid option for
 EXTRACT.

EXT_WEEKDAY_TS

 invalid type for EXTRACT WEEKDAY, must be DATE or TIMESTAMP

 Explanation:  The EXTRACT WEEKDAY requires that the result of
 the value expression be a DATE or a TIMESTAMP.

 User Action:  Correct the query to use a valid data type for
 EXTRACT.

FCJOUDIS

 fast commit cannot be enabled if journaling is disabled

 Explanation:  An attempt was made to enable fast commit while
 journaling is turned off.

 User Action:  enable journaling for the database before enabling
 fast commit

FIEUSETRA

 field <str> is used in the transferred relation <str>

 Explanation:  The specified field is used in the specified
 relation.  The relation is involved in a DDAL transfer
 definition.

 User Action:  You must delete the DDAL transfer definition
 before modifying the field.

FILACCERR

 error <str> file <str>

 Explanation:  This general message indicates an error accessing
 a file.

 User Action:  Examine the secondary message for more
 information.

FLDEX

 field name <str> appears more than once in this relation or
 view

 Explanation:  You chose a field name that appears more than once
 within a relation or view.

 User Action:  Use the BASED ON or COMPUTED BY clauses to change
 one occurrence of the field name.

FLDINCOM

 field <str> is referenced in COMPUTED BY field <str>

 Explanation:  You attempted to delete a field from a relation
 but the field is used in a COMPUTED BY field in the same
 relation.

 User Action:  First, review the database design; then, if
 desired, delete the COMPUTED BY field, and then delete the field
 from the relation.

FLDINCOMREL

 field <str> is referenced in COMPUTED BY field <str> in
 relation <str>

 Explanation:  You attempted to delete a field from a relation
 but the field is used in a COMPUTED BY field in another
 relation.

 User Action:  First, review the database design; then, if
 desired, delete the COMPUTED BY field, and then delete the field
 from the relation.

FLDINCON

 field <str> is referenced in constraint <str>

 Explanation:  You attempted to delete a field from a relation
 but the field is used in a constraint.

 User Action:  First, review the database design; then, if
 desired, delete the constraint, and then delete the field from
 the relation.

FLDINSTO

 field <str> is referenced in storage map <str>

 Explanation:  You attempted to delete a field from a relation
 but the field is used in a storage map.

 User Action:  First, review the database design; then, if
 desired, delete the storage map, and then delete the field from
 the relation.

FLDINTRG

 field <str> is referenced in trigger <str>

 Explanation:  You attempted to delete a field from a relation,
 but the field is used in a trigger.

 User Action:  First, review the database design; then, if
 desired, delete the trigger and then delete the field from the
 relation.

FLDINUSE

 field <str> is referenced in index <str>

 Explanation:  The field you attempted to delete is an indexed
 field.

 User Action:  First, delete the index on the field, and then
 delete the field.

FLDINVIEW

 field <str> is referenced in view <str>

 Explanation:  You attempted to delete a field from a relation
 but the field is used in a view of that relation.

 User Action:  First, review the database design; then, if
 desired, delete the view, and then delete the field from the
 relation.

FLDLSTCONDUPS

 modify field name list contains duplicates of a field name

 Explanation:  The list of field names supplied for a MODIFY type
 trigger contains multiple instances of a particular field name.

 User Action:  Choose a different set of field names for the
 modify list.

FLDNOEX

 field <str> is not part of this relation

 Explanation:  The field you named is not part of the target
 relation.

 User Action:  Check the relation definition for the correct
 field name.

FLDNOEXI

 field <str> does not exist in this database

 Explanation:  The field that you attempted to delete was not
 found.  It might be a local field in a relation rather than a
 global field.

 User Action:  Check the exact name of the field and try again to
 delete it.  If it is a local field, use the CHANGE RELATION
 statement to delete the field.

FLDNOTCHG

 field <str> has not been changed

 Explanation:  The field specified was not deleted.

 User Action:  Correct the problem and retry the operation.

FLDNOTDEL

 field <str> has not been deleted

 Explanation:  The field in question has not been deleted for the
 reason explained by the previous message.

 User Action:  Correct the problem and retry the statement.

FLDNOTINREL

 <str> is not a field in relation <str>

 Explanation:  The field you named is not part of the named
 relation.

 User Action:  Check the relation definition for the correct
 field name or specify another relation.

FLDVALIDIF

 in VALID IF definition for global field !AF

 Explanation:  During processing of the VALID IF a BLR syntax
 problem was detected.

 User Action:  Correct the definition so that the VALID IF is
 legal for Rdb/VMS.

GETTXNOPTION

 Do you wish to COMMIT/ABORT/IGNORE this transaction:

 Explanation:  Ask the user whether to COMMIT/ABORT/IGNORE this
 blocked transaction.

GFLDEXTS

 there is another global field named <str> in this database

 Explanation:  The field name you tried to define already exists.

 User Action:  Use another field name.

GFLDNOEX

 there is not a global field named <str> in this database

 Explanation:  The field you tried to include in a relation
 definition does not exist.

 User Action:  Define the field and then try to create the
 relation again.

GOODAIJSEQ

 AIJ file is correct for roll-forward operations

 Explanation:  The specified AIJ file is the correct file to be
 rolled-forward.

 User Action:  No user action is required.  This message is
 informational only.

HASHEDMIX

 index of TYPE HASHED must be stored in area(s) with PAGES MIXED

 Explanation:  You attempted to define a hashed index to be
 stored in a storage area with a uniform page format.  A hashed
 index must be stored in a storage area with a mixed page format.

 User Action:  Specify one or more storage area with mixed page
 format for the hashed index.

IDXCOMPLENERR

 index compression length exceeds field length

 Explanation:  You attempted to specify a shortened size for an
 index field that is greater than the field size.

 User Action:  Specify a shortened size that is not larger than
 the field size.

IDXMAPLIM

 value exceeds bounds specified for mapping of index <str>

 Explanation:  The data stored in a field exceeds the bounds
 specified for mapping the field.

 User Action:  Determine the cause of the problem and correct
 either the record or the index.

IDXMAPLMT

 range of mapped index limited to HIGH - LOW = 214748644

 Explanation:  You attempted to define an index using mapping
 ranges on variables such that the resulting key requires 32 or
 more bits.  The maximum permitted is 2**31-4

 User Action:  Try to define the index again without using the
 relation-map-clause.

IDXMAPLMTERR

 index map limit exceeds value limit for field

 Explanation:  You attempted to define an index using mapping
 ranges on variables that is bigger than the data type.

 User Action:  Try to define the index again using accepted
 limits.

IDXNOTDEF

 index <str> has not been defined

 Explanation:  The specified index was not defined.

 User Action:  Correct the problem and try the metadata update
 again.

IDXNOTDEL

 index <str> has not been deleted

 Explanation:  The specified index was not deleted.

 User Action:  Correct the problem and retry the metadata update.

ILLNCHAR

 illegal character found in numeric input

 Explanation:  You specified a number containing a non-numeric
 character.

 User Action:  Correct the error and try again.

INDEXTS

 there is another index named <str> in this database

 Explanation:  The index name you tried to define already exists.

 User Action:  Try another index name.

INDEX_S_MAX

 user requested node size of <num> bytes exceeds limit

 Explanation:  The index node size you specified is greater than
 that supported by the implementation.

 User Action:  Refer to the documentation and supply another
 value.

INDEX_S_MIN

 user requested node size of <num> bytes for index needing <num>

 Explanation:  The index node size you specified is less than
 that needed by the implementation.

 User Action:  Refer to the documentation and supply another
 value.

INDINMAP

 index <str> is used in storage map definition

 Explanation:  You attempted to delete an index used in a map
 definition.

INDLIMITBAD

 partition field <str> not in index

 Explanation:  You attempted to partition an index using a field
 not included in the index.

 User Action:  Specify the command again using only fields
 defined for the index.

INDNEEDSLIMIT

 limits must be specified for index

 Explanation:  You attempted to define an index without
 specifying limits for all but the last partition of the index.

 User Action:  Respecify your index definition, providing limits
 for all but the last area.

INDNOTEXI

 index <str> does not exist in this database

 Explanation:  There is no index with the given name.

 User Action:  Try SHOW INDEX to see which indexes exist.

INDNOTREL

 index <str> does not reference same relation as storage map

 Explanation:  The index specified in the PLACEMENT VIA INDEX
 clause is not an index on the relation whose storage map is
 being defined.

 User Action:  Select or create a new index for placement.

INDTOOBIG

 requested index is too big

 Explanation:  You attempted to define an index that requires
 more than 255 characters.  The limit is the number of fields
 plus the sum of the number of bytes specifying the size of each
 field.

 User Action:  Simplify the index definition or break it into two
 or more components.

INFUNK

 information item unknown

 Explanation:  You called RDB$REQUEST_INFO or another INFO
 routine and asked for an item that Rdb/VMS did not understand.

 User Action:  If you do not need that item, ignore this
 condition.  Otherwise, modify the call to the routine.

INVACE_LENGTH

 invalid Access Control Entry length

 Explanation:  You specified too many identifiers in the access
 control entry (ACE).

 User Action:  Reduce the number of identifiers in the ACE.  The
 maximum number of identifiers in ACE is 30.

INVCATALOGID

 invalid catalog identification <num>, must be negative

 Explanation:  Catalog id's are always negative numbers.

 User Action:  Correct the MBLR generation and try again.

INVDATOPR

 invalid date arithmetic operation

 Explanation:  The operation requested is not legal.  The
 operands, operator or the result is not valid for date/time
 arithmetic.

 User Action:  Correct the operation to one that is valid.

INVDBSFIL

 inconsistent storage area file <str>

 Explanation:  The indicated storage area file is inconsistent
 with the root file.  This might happen if you have improperly
 used any unsupported methods for backing up or restoring files,
 for instance COPY or RENAME.  This can also happen if you tried
 to use an old root file -- one whose storage area file names
 have been re-used for another database.

 User Action:  Restore the correct storage area file or delete
 the obsolete root file.

INVDB_NAME

 invalid database name

 Explanation:  A misspelled or nonexistent database name was
 specified in the command string.  A database name must contain
 only the following characters:  A/a-Z/z, 0-9, $, _.

 User Action:  Reenter the command with the correct spelling of a
 valid database name.

INVDB_TYPE

 invalid database type for attach

 Explanation:  You attempted to attach to an SERdb database from
 Rdb/VMS.

 User Action:  Use only Rdb/VMS to attach to an Rdb/VMS database
 and use only SERdb to attach to an SERdb database.

INVDTYPINDX

 cannot use computed by or segmented string for index

 Explanation:  You attempted to define an index using either a
 COMPUTED BY field or a segmented string as the key.

 User Action:  Select another field as the key.

INVDTYPKEY

 key <str> cannot be a computed by or segmented string field

 Explanation:  You attempted to define a UNIQUE, PRIMARY KEY, or
 FOREIGN KEY REFERENCES relation-specific constraint with a key
 field having either a computed by or segmented string datatype.

 User Action:  Select another field for the key.

INVFORUPDATE

 invalid FOR UPDATE option (<num>), must be a Boolean value

 Explanation:  The value passed to compile request was outside
 the legal range.  Please specify a valid option.

 User Action:  Please correct the item-list to
 RDB$COMPILE_REQUEST.

INVHEADER

 invalid file header record

 Explanation:  An invalid file header record was read from the
 file.

 User Action:  Check the file specification and try again.

INVIDENT

 invalid rights identifier found

 Explanation:  In a protection statement that refers to an
 existing access control entry, there was no entry in the rights
 database.

 User Action:  Make sure that any identifiers and/or UIC you
 specify are defined in the system rights database.

INVMAXROWS

 invalid optimizer maximum rows (<num>), must be greater than
 zero

 Explanation:  The value passed to compile request was outside
 the legal range.  Please specify a valid number of rows which is
 expressed as positive integer.

 User Action:  Please correct the item-list to
 RDB$COMPILE_REQUEST.

INVMAXTIME

 invalid compile time limit (<num>), must be greater than zero

 Explanation:  The value passed to compile request was outside
 the legal range.  Please specify a valid number of seconds which
 is expressed as positive integer.

 User Action:  Please correct the item-list to
 RDB$COMPILE_REQUEST.

INVNAME

 symbol <str> contains invalid characters

 Explanation:  Name symbols may contain only the characters A
 through Z, 0 through 9, and $ and _.  They may not end in $ or
 _.

 User Action:  Use a different name symbol.

INVOPTPREF

 invalid optimizer preference (<num>), must be total-time or
 fast-first

 Explanation:  The value passed to compile request was outside
 the legal range.  Please specify a valid option.

 User Action:  Please correct the item-list to
 RDB$COMPILE_REQUEST.

INVSCHEMAID

 invalid schema identification <num>, must be positive

 Explanation:  Schema id's are always postive numbers.

 User Action:  Correct the MBLR generation and try again.

INVSUBSTRLEN

 length specified for substring is invalid

 Explanation:  You specified an invalid length for the substring
 operator, which cannot be processed.  Valid lengths for the
 substring operator are greater than or equal to 0.

 User Action:  Specify a substring length that is greater than or
 equal to 0.

INVTBL_NAME

 invalid relation name

 Explanation:  You entered a misspelled or nonexistent relation
 name.

 User Action:  Reenter the command with the correct spelling of a
 valid relation name.

INVTRGACT_STMT

 invalid trigger action statement BLR

 Explanation:  The BLR specified for a trigger action condition
 is either improperly constructed or does not represent a valid
 statement.

 User Action:  If you called Rdb/VMS directly, correct your BLR
 or calling program.  If you are using a program that generates
 calls to Rdb/VMS, submit an SPR for that program.

INV_DATE_CHG

 invalid field datatype change to/from datetime

 Explanation:  An attempt was made to change the data type of a
 datetime field to a data type which was not compatible.

 User Action:  Consult the documentation for a list of valid
 conversions to/from datetime fields.

INV_DIGITS

 invalid number of digits for packed decimal, must be in range
 <num>..<num>

 Explanation:  The data definition language requested a PACKED
 DECIMAL data type that had a precision outside the range 1
 through 18.

 User Action:  Correct the definition so that the number of
 digits requested is within the legal range.

INV_PCT_FILL

 percent fill out of valid range of 1 through 100

 Explanation:  The index percent fill you specified is not a
 valid value.

 User Action:  Refer to the documentation and supply another
 value.

INV_PRECISION

 invalid interval leading field precision for datetime

 Explanation:  The data definition language requested a interval
 leading field precision which is outside the supported range.

 User Action:  Correct the definition so that the interval
 leading field precision is within the legal range.

INV_RATOR

 invalid operator for arithmetic

 Explanation:  The operator was not +, -, *, or /.

 User Action:  The query should not get this far before this is
 detected.  Submit an SPR with a copy of your query.

INV_ROOT

 database file has illegal format

 Explanation:  You attempted to use a file that is not a database
 file.

 User Action:  Check the file specification and try again.

INV_SCALE

 invalid fractional seconds precision for datetime

 Explanation:  The data definition language requested a
 fractional seconds precision for a TIME, TIMESTAMP or INTERVAL
 definition which is outside the correct range.

 User Action:  Correct the definition so that the fractional
 seconds precision is within the legal range.

INV_SUB_TYPE

 invalid sub_type in definition

 Explanation:  The data definition language requested a sub-type
 which was not recognized.

 User Action:  Correct the definition so that the sub-type is
 within the legal range.

JOIN_CTX_UPD

 relation !AC is part of a join, cannot be updated

 Explanation:  You tried to modify or erase records from a
 relation that is joined with other relations.

 User Action:  Redefine the query so that the relation you are
 trying to update is not directly joined to other relations.

LASTARENOLIMIT

 last area clause must not have a LIMIT clause

 Explanation:  You specified limits (RDO) or BLR (DSRI) for the
 data to be inserted into the last area listed.

 User Action:  Do not specify a limit for the data in the last
 storage area.

LBMAX

 <num> blocks per buffers is greater than the Rdb/VMS maximum
 of <num>

 Explanation:  The number of blocks per buffers for the database
 you specified is too large.

 User Action:  Try another value.

LBMIN

 <num> blocks per buffers is less than the Rdb/VMS minimum of
 <num>

 Explanation:  The number of blocks per buffers for the database
 you specified is too small.

 User Action:  Try another value.

LCKCNFLCT

 lock conflict on <str>

 Explanation:  The operation you attempted failed because another
 run unit is holding a lock in a mode that conflicts with the
 lock mode you needed.

 User Action:  Wait for the other run unit to finish.  Use
 ROLLBACK or COMMIT to release all your locks and retry the
 transaction, or specify that you want to wait on lock conflicts.

LOGAIJBCK

 backed up <num> committed transaction(s) at <time>

 Explanation:  The specified number of committed transactions
 were successfully backed up from the after-image journal file.
 This count does not include transactions that rolled back.

LOGCREOPT

 created optimized after-image journal file <str>

 Explanation:  This message indicates the action taken on a
 specific file.

LOGMODSPM

 modified <num> spam page(s)

 Explanation:

LOGMODSTO

 modifying storage area <str>

 Explanation:  The parameters of a storage area are in the
 process of being modified.

LOGRECOVR

 <num> transaction(s) <str>

 Explanation:  Database recovery was successful.  The specified
 number of transactions were re-applied to the database, ignored
 or rolled back.

 User Action:  None.

LOGRECSTAT

 transaction with TSN <num> <str>

 Explanation:  During roll-forward, this message is displayed
 every time a transaction is committed, rolled back, or ignored.

LOGRESOLVE

 blocked transaction with TSN <num> <str>

 Explanation:  When a blocked transaction is resolved, this
 message is displayed every time the transaction is committed,
 rolled back, or ignored.

LOGSUMMARY

 total <num> transaction(s) <str>

 Explanation:  Database recovery was successful.  The specified
 total number of transactions were re-applied to the database,
 ignored or rolled back.

 User Action:  None.

MAPAREAINUSE

 area <str> already specified for map <str>

 Explanation:  You used the area name more than once in the same
 storage map.

 User Action:  Use the area name only once in the storage map
 definition.

MAPBLRMISSING

 one or more areas is missing limitation

 Explanation:  You have not specified limits or BLR for all areas
 that are required to have limits.  You can omit limits on all
 storage areas, and you must omit limits on the last storage
 area.

 User Action:  Specify limits on all the areas except the last,
 or do not specify limits on any of the areas.

MAPNMINUSE

 map name <str> is already in use in this database

 Explanation:  You tried to define a map or index using a name
 that already exists in the database.

 User Action:  Use a name that has not already been used in the
 database.

MAPREFAREA

 error deleting storage area <str> referenced by <str>

 Explanation:  You attempted to delete a storage area currently
 referenced by a storage map.

 User Action:  Make sure the storage area you wish to delete is
 empty and no storage maps refer to it.

MAXRECLIM

 query governor maximum limit of rows has been reached

 Explanation:  The query governor quota of the maximum number of
 rows has been reached.

 User Action:  Please refer to the documentation on the setting
 of query governor limits.

MAXRELVER

 exceeded maximum table (relation) identifier

 Explanation:  No more table (relation) identifiers are
 available.

 User Action:  Unload your database, recreate the database, and
 reload using the EXPORT/IMPORT utilities or using programs.

MAXTIMLIM

 query governor maximum timeout has been reached

 Explanation:  The query governor quota of the maximum number of
 seconds that a database request can be optimized has been
 reached.

 User Action:  Please refer to the documentation on the setting
 of query governor limits.

MAX_CCTX

 exceeded maximum allowable context number

 Explanation:  The number of contexts used in a request exceeds
 32, where a context is defined as a cursor value source or a
 query/subquery.  (Note that the term "context" is used
 differently here than elsewhere in Rdb.) A cursor value source
 consists of a table, aggregate, EXISTS predicate, UNIQUE
 predicate, quantified predicate or UNION clause in a request.
 In terms of BLR, a cursor value is any of the following BLR$K_
 objects:  AGGREGATE, ALL, ANY, ANY2, AVERAGE, COUNT, FROM,
 MAXIMUM, MERGE, MINIMUM, RELATION, RELATION_ID, TOTAL, UNIQUE,
 VIA.  Cursor values are obtained from a user-generated request;
 or from the BLR associated with a view, constraint, trigger, or
 other metadata object.  Cursor queries/sub-queries are produced
 for each record selection expression (RSE) and FETCH statement.

 User Action:  If you called Rdb/VMS, check the query string and
 simplify if possible.  Otherwise submit an SPR.

MISMMORDD

 missing either month or day field in date string

 Explanation:  The date string must contain the month and day
 field.  If it does not, it will not be converted to the DATE
 data type.

 User Action:  Re-enter the DATE data item having both the month
 and day fields.

MISSINGINV

 existing records in relation <str> would violate VALID IF
 expression

 Explanation:  When a new field is added to a relation,
 previously stored records will have the new field's value set to
 NULL (MISSING).  In your relation, the VALID IF constraint
 defined for the new field is violated by this action.

 User Action:  Modify all the records where the new field is set
 to NULL (MISSING) to have a non-null value.  Or, change the
 VALID IF clause for the field to allow MISSING values.

MIXCLUST

 relation or index may not be stored in mixed and uniform areas

 Explanation:  You attempted to define a storage map that refers
 to both mixed and uniform areas.

 User Action:  Define the storage map to refer to only uniform
 areas or only mixed areas.

MONALSTART

 database monitor is already running

 Explanation:  The database monitor has previously been started.

 User Action:  Continue or see your system manager.

MONFLRMSG

 failure message received from the monitor

 Explanation:  An error happened in the monitor process.  The
 user process received the error message.

 User Action:  Examine the monitor log on the node where the user
 program was running to see messages relating to the monitor
 error.

MONMBXOPN

 monitor is already running

 Explanation:  The monitor has already been started by another
 user.

 User Action:  None.

MONSTOPPED

 database monitor process is being shut down

 Explanation:  The request you made could not be completed
 because the database monitor process is being shut down.

 User Action:  Examine the database monitor log file
 (SYS$SYSTEM:*MON.LOG) for more information.

MULTCHGAREA

 multiple references to area <str> in same CHANGE DATABASE
 command

 Explanation:  You attempted to change one storage area multiple
 times in your CHANGE DATABASE statement.

 User Action:  Combine your changes to one storage area to one
 clause.

MULTPLACEVIA

 storage map command contains multiple PLACEMENT VIA clauses

 Explanation:  The storage map command contained either multiple
 PLACEMENT VIA clauses or both a PLACEMENT VIA and NO PLACEMENT
 VIA clause.

 User Action:  Refer to the documentation on storage map usage
 for more information on how to use the command.

MULTSCHEMALONE

 the multischema flag must occur alone in RDB$CHANGE_DATABASE
 buffer

 Explanation:  You attempted to change the MULTISCHEMA option
 along with other parameters in the same call to
 RDB$CHANGE_DATABASE.

 User Action:  Break down your request into two separate calls.

MULTSCHEMNODIS

 the multischema database attribute can not be disabled

 Explanation:  You attempted to change the database to be NO
 MULTISCHEMA.  This is not supported.

 User Action:  Please use EXPORT and IMPORT to effect this
 change.

MULTSCHEMNOW

 the database is already a multischema database

 Explanation:  You attempted to change the database to be
 MULTISCHEMA when it was already.

 User Action:  No user action required.  The database has the
 multischema attribute.

MUSTRECDB

 database must be closed or recovered

 Explanation:  The operation can be done only on databases that
 are closed and recovered.

 User Action:  Use the CLOSE command if an OPEN was performed.
 Recovery, if required, can be forced by opening the database.
 If other users are accessing the database, you must wait for
 them to finish.

NBMAX

 <num> number of buffers is greater than the Rdb/VMS maximum
 of <num>

 Explanation:  The number of buffers for the database you
 specified is too large.

 User Action:  Try another value.

NBMIN

 <num> number of buffers is less than the Rdb/VMS minimum of
 <num>

 Explanation:  The number of buffers for the database you
 specified is too small.

 User Action:  Try another value.

NDXPMTDUPS

 text compressed indices must permit duplicates

 Explanation:  You attempted to create an index with duplicates
 not allowed using the DUPLICATES NOT ALLOWED clause.  However,
 you cannot use the DUPLICATES NOT ALLOWED clause when defining a
 text compressed index.

 User Action:  Do not use the DUPLICATES NOT ALLOWED clause when
 you define a text compressed index.

NOACCSEGSTR

 cannot access buffer for segmented string

 Explanation:  At least part of the user's buffer is not
 accessible.

 User Action:  Check program logic; the segmented string buffer
 address and/or length is incorrect.

NOAIJDEF

 no default after-image filename available

 Explanation:  A default after-image journal file name cannot be
 formed since no journal file name is presently in the database
 root.

 User Action:  Enable after-image journaling and supply a name
 for the after-image journal.

NOCATALOG

 catalog <str> does not exists, alter or drop not possible

 Explanation:  The catalog does not exist.

 User Action:  Repeat the command with a name of a catalog which
 exists.

NOCHAR

 no character after '' in pattern

 Explanation:  A MATCH operation was in progress and the pattern
 was exhausted with the pattern quote character as the last
 character in the pattern.

 User Action:  Rewrite the expression in error to have the proper
 format.

NOCHGRDBSYS

 cannot change RDB$SYSTEM storage area explicitly

 Explanation:  You included a CHANGE STORAGE AREA RDB$SYSTEM
 clause in the CHANGE DATABASE statement.

 User Action:  Issue the CHANGE DATABASE statement without this
 clause.  When you change database-wide parameters, the
 RDB$SYSTEM parameters are automatically changed.

NOCHGVW

 the definition of a view may not be changed

 Explanation:  You cannot change a view definition.

 User Action:  A view may be changed by deleting its old
 definition and defining a new one.

NOCREMBX

 can't create mailbox

 Explanation:  An error occurred while you attempted to create a
 mailbox.  See the secondary message for more information.

 User Action:  Correct the condition and try again.

NOCRESYNONYM

 synonyms can not be created using MBLR$K_SYNONYM_DEF

 Explanation:  Synonyms can not be created using this command.

 User Action:  No user action.

NODBK

 <num>:<num>:<num> does not point to a data record

 Explanation:  An attempt was made to fetch a record by its
 database key value, but the record has been deleted.

 User Action:  Correct the condition and try again.

NODELPRIVANSI

 privileges may not be deleted in an ANSI database

 Explanation:  You attempted to delete a privilege in an
 ANSI-style database.

 User Action:  You cannot delete a privilege in an ANSI-style
 database.

NODELSEGSTR

 the segmented string storage area, <str> can not be deleted

 Explanation:  You attempted to delete the segmented string
 storage area.

 User Action:  Make sure the storage area you wish to delete is
 not the segmented string storage area.

NODEVDIR

 filename does not include device and directory

 Explanation:  The file you specified did not include a device
 and directory.

 User Action:  You should always include a device and directory
 in the file specification, preferably different from the
 database device for maximum protection.

NODMAX

 <num> number of VAXcluster nodes is greater than the Rdb/VMS
 maximum of <num>

 Explanation:  The number of VAXcluster nodes which may access
 the database you specified is too large.

 User Action:  Refer to documentation and try another value.

NODMIN

 <num> number of VAXcluster nodes is less than the Rdb/VMS
 minimum of <num>

 Explanation:  The number of VAXcluster nodes which may access
 the database you specified is too small.

 User Action:  Refer to documentation and supply another value.

NODROPSYNONYM

 synonyms can not be dropped using MBLR$K_SYNONYM_DEF

 Explanation:  Synonyms can not be dropped using this command.

 User Action:  No user action.

NODUPSANSI

 no duplicate identifiers allowed in ANSI ACL

 Explanation:  Databases defined as ANSI compliant are restricted
 to a single instance of a UIC.

 User Action:  Enter a protection command changing the user's
 protection to what is desired rather than having two entries in
 the ACL for the same user.

NOGRPANSI

 no group UIC's allowed in ANSI db ACL

 Explanation:  Databases defined as ANSI compliant are restricted
 to single user UIC's in the access control entry except for
 PUBLIC.

 User Action:  Enter a protection command for each user rather
 than referring to them as a group, or give privilege to PUBLIC.

NOIDENTANSI

 no identifiers allowed in ANSI db ACL

 Explanation:  Databases defined as ANSI compliant are restricted
 to single user UIC's in the access control entry except for
 PUBLIC.  No system or general identifiers are allowed.

 User Action:  Enter a protection command for each user rather
 than referring to them as a group, or give privilege to PUBLIC.

NOINTERUNI

 no interval may be specified on uniform format pages

 Explanation:  You attempted to specify a spam interval on a
 PAGES UNIFORM storage area.

 User Action:  Do not specify an interval, as one will be
 automatically determined for you.

NOLOCKSOUT

 no locks on this node with the specified qualifiers

 Explanation:  No locks were found on the current node that match
 the specified command-qualifiers.  This usually indicates that
 either no monitors are active on this node, or no databases are
 currently being accessed on this node.

 User Action:  If databases are active on the node, trying using
 a less restrictive set of command-qualifiers.

NOMAPONVIEW

 a storage map may not be defined for a view

 Explanation:  You tried to define a storage map for a view

 User Action:  You must define the storage map for a relation not
 a view

NOMETAUPD

 metadata updates are prohibited until CONVERT is COMMITTED

 Explanation:  Metadata updates are not permitted unless the
 CONVERT operation has been committed or rolled back.

 User Action:  Use RMU/CONVERT to COMMIT or ROLLBACK the last
 CONVERT operation.

NOMETSYSREL

 metadata may not be created/altered on system relations

 Explanation:  You attempted to define, delete, or change an
 index, constraint, or trigger on one or more Rdb/VMS system
 relations.  Such changes, if permitted, could render the
 database unusable.

 User Action:  Do not do attempt any of these modifications to
 the system relations.

NOMONITOR

 database monitor is not running

 Explanation:  The database monitor process is not running.

 User Action:  Have your database administrator start the
 monitor, and try again.

NOMOREGB

 <num> global buffers not available to bind; <num> free out of
 <num>

 Explanation:  Your attempt to bind to the database failed
 because there are not enough global buffers to allow your
 process to bind to the database.

 User Action:  There are four ways to alleviate this problem.
 1)Try to bind to the same database on another node, if you are
 using a VAXcluster.  2)Wait till another user unbinds from the
 database and retry the bind.  3)Increase the number of global
 buffers used for the database.  4)Decrease the maximum number of
 global buffers any one user can use, in order to allow more
 users to bind to the database.  Please see your DBA for help.

NONODE

 no node name is allowed in the file specification

 Explanation:  A node name was found in the file specification.
 Node names cannot be used.

 User Action:  Use a file name without a node specification.

NOOPTCUR

 cannot optimize, AIJ file <str> is the current AIJ file

 Explanation:  This message tells the user that the current AIJ
 file cannot be optimized.  This is because the optimized AIJ
 file would not be equivalent to the current AIJ file if more
 journaling was done after optimization.

 User Action:  Start a new AIJ file and then optimize the AIJ
 file in question.

NOOPTNOQUIET

 cannot optimize, AIJ file <str> backed-up via a no quiet
 point backup

 Explanation:  This message tells the user that an AIJ file which
 was backed up with a no quiet point backup, cannot be optimized.
 This is because a no quiet point backup can leave incomplete
 transactions in an AIJ file.  AIJ optimization cannot handle
 incomplete transactions within an AIJ file.

 User Action:  No user action.  This AIJ file cannot be
 optimized.

NOOPTOPT

 cannot optimize, AIJ file <str> is already optimized

 Explanation:  This message tells the user that an optimized AIJ
 file cannot be optimized again.

 User Action:  No user action.

NOOPTPRVNOQUIET

 cannot optimize, AIJ file <str> had its previous AIJ file
 backed up via a no quiet point backup

 Explanation:  This message tells the user that an AIJ file whose
 previous AIJ file which was backed up with a no quiet point
 backup, cannot be optimized.  This is because a no quiet point
 backup can leave incomplete transactions in an AIJ file.  AIJ
 optimization cannot handle incomplete transactions within an AIJ
 file.

 User Action:  No user action.  This AIJ file cannot be
 optimized.

NOOPTUNRES

 cannot optimize, AIJ file <str> has unresolved transactions,

 Explanation:  This message tells the user that the AIJ file
 being optimized has unresolved distributed transactions.  AIJ
 optimization cannot handle unresolved transactions so it must
 abort.

 User Action:  Use the original, non-optimized AIJ file if needed
 for recovery.

NOPLACEANSI

 no user placement clauses allowed in ANSI ACL

 Explanation:  Placement of ANSI database users' access control
 entries are controlled by the database facility.

 User Action:  Enter a protection command without specifying
 either the POSITION or AFTER clause.

NOPRIV

 no privilege for attempted operation

 Explanation:  You attempted an operation that requires VMS
 privileges and you do not have those privileges enabled.

 User Action:  Examine the secondary message for more
 information.

NORTUPB

 no more user slots are available in the database

 Explanation:  The maximum number of users are already accessing
 your database.

 User Action:  Try again later.

NOSCHEMA

 schema <str> (<num>) does not exists, alter or drop not
 possible

 Explanation:  The schema does not exist.

 User Action:  Repeat the command with a name of a schema which
 exists.

NOSIP

 transaction is not a snapshot transaction

 Explanation:  You have already started a transaction that is not
 a snapshot transaction.

 User Action:  Use COMMIT or ROLLBACK to terminate your current
 transaction.  Use READY BATCH RETRIEVAL to start a new snapshot
 transaction.

NOSNAPS

 snapshots are not allowed or not enabled for area <str>

 Explanation:  Snapshots are not allowed or not enabled for this
 area.

 User Action:  This is a normal situation created by the database
 definition or by a change or modify database command.  Check
 with your DBA to make sure this situation is desirable.

NOSTAREAEXT

 storage area <str> not defined in the database

 Explanation:  A storage area mentioned in the CHANGE DATABASE
 statement is not defined in the database.

 User Action:  Reenter your statement with valid storage area
 names.

NOSTATS

 statistics are not enabled for !AD

 Explanation:  An attempt was made to show statistics for a
 database that currently has statistics collection disabled.

 User Action:  Enable statistics and try again.

NOSTRTUP

 database software not started

 Explanation:  Before you can use VAX Rdb/VMS, the software must
 be started.

 User Action:  Execute the command procedure
 SYS$MANAGER:RMONSTART.COM

NOSYNONYM

 no object <str>.<str>.<str> exists, alter or drop not possible

 Explanation:  This synonym could not be found.  This may
 indicate an error in the synonym name, or the schema id.

 User Action:  Please repeat the command using an object which
 exists, or use the correct schema id.

NOTBOOL

 expression in AND, OR, or NOT was not a Boolean

 Explanation:  The Boolean evaluator was processing an expression
 or subexpression of the form "A AND B", "A OR B", or "NOT A".
 Either the "A" or the "B" expression was not in the proper form.
 The correct forms are "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X
 GT Y", "X LE Y", "X GE Y", "X CONTAINS Y", or "X MATCHES Y".
 The operand of NOT, and both sides of AND and OR expressions
 must be Boolean expressions.

 User Action:  Rewrite the expression in error to have the proper
 format.

NOTDSKFIL

 filename does not specify disk device type

 Explanation:  A filename was specified which does not reference
 a disk oriented device type.

 User Action:  Check the filename for a proper disk device type.

NOTHRESUNI

 no thresholds may be specified on uniform format pages

 Explanation:  You attempted to specify thresholds on PAGES
 UNIFORM storage area.

NOTIMPLYET

 feature is not implemented yet

 Explanation:  You attempted to access a feature that has been
 planned but has not been implemented yet.

 User Action:  Avoid this feature.

NOTIP

 no transaction in progress

 Explanation:  You attempted to execute a DML verb, but there is
 no transaction in progress yet.

 User Action:  Execute a READY statement before executing any
 other DML statements.

NOTOPE

 this record stream for this cursor is not OPEN

 Explanation:  The call to RDMS$SEND or RDMS$RECEIVE has failed.
 You attempted to use a stream that is not open.

 User Action:  Call RDMS$START_REQUEST to open the stream.

NOTRANAPP

 no transactions in this journal were applied

 Explanation:  This journal file contains transactions that
 cannot be applied to the specified backup of the database.

 User Action:  Be sure you are using the correct database backup
 and journal file.

NOTROOT

 not a root file

 Explanation:  The specified file is not a database root file.

 User Action:  Specify a database root file and try again.

NOTSYSCONCEAL

 non-system concealed device name in filename

 Explanation:  Concealed device name must be defined in the
 system logical table.

 User Action:  If the device name has to be concealed, then
 define it in the system logical table.

NOT_BOUND

 database is not bound

 Explanation:  You have not bound to a database yet, or you have
 unbound the database and have not bound to another one yet.

 User Action:  Bind to a database before continuing.

NOT_LARDY

 area for <num>:<num>:<num> not in proper ready mode

 Explanation:  You attempted to access a logical area for which
 you have not declared your intentions.

 User Action:  Retry ready operation later.

NOT_LICENSED

 system is not licensed for use of database software

 Explanation:  A VAX Rdb/VMS kit has not been properly installed
 on the system.

 User Action:  Check to see that you are licensed to use VAX
 Rdb/VMS; and if you are, install or re-install the VAX Rdb/VMS
 kit.

NOT_READY

 storage area <str> not readied

 Explanation:  You attempted to access an area for which you have
 not declared your intentions.

 User Action:  If the area is included in your subschema, you can
 use the READY statement to prepare it for processing.

NOT_RESERV

 attempt to access relation not mentioned in reserving list

 Explanation:  You tried to access a relation not mentioned in
 the reserving list of your START_TRANSACTION statement.

 User Action:  Start a new transaction and include the required
 relations in the reserving list.

NOT_UPDATE

 storage area <str> not readied in update usage mode

 Explanation:  You attempted to modify the contents of an area
 without having declared your intentions.

 User Action:  If you have not readied the area yet, you can
 READY for UPDATE.  If you have already readied it, you must
 abort your transaction by executing a ROLLBACK before you can
 READY for UPDATE.

NOT_VALID_FR

 field <str> in relation <str> fails validation

 Explanation:  While attempting the CHANGE FIELD ...  VALID IF
 operation, data that violated the specified validation criteria
 was found.

 User Action:  Either change the validation criteria or change
 the data.

NOVIEWIND

 cannot define an index for a view

 Explanation:  You attempted to define an index for a view.

 User Action:  Define an index for the field in the relation
 named in the view definition.

NOWILD

 no wild cards are allowed in the file specification

 Explanation:  Wild card characters ("*" and "%") cannot be used
 in that file specification.

 User Action:  Use a file specification without wild card
 characters.

NOWORMSPT

 WORM areas are not supported in VAX DBMS

 Explanation:  An attempt was made to declare an area as having
 the WORM attribute.  At this time, there is no support for this
 in VAX DBMS.

 User Action:  Submit a Software Problem Report (SPR).

OBSVER

 obsolete version of database

 Explanation:  You are trying to use an obsolete version of an
 Rdb/VMS database.

 User Action:  Using an older version of Rdb/VMS, back up the
 database, and then restore it using your current version of
 Rdb/VMS.

OK_NO_ACE

 successful protection execution - no ACE returned

 Explanation:  Indicates that no access control entry is
 returned.

 User Action:  No user action.

OPCLOOBS

 RDO OPEN and CLOSE commands are obsolete, please use RMU

 Explanation:  You requested that an RDO OPEN or RDO CLOSE
 statement be executed, perhaps with an older version of RDO.
 The RDO OPEN and RDO CLOSE statements are no longer supported.

 User Action:  Use the RMU/OPEN or RMU/CLOSE commands instead.

OPERCLOSE

 database operator requested database shutdown

 Explanation:  Your program has been terminated because the
 database operator shut down the database you were using.

 User Action:  Try again later after the database shutdown is
 complete.

OPERSHUTDN

 database operator requested monitor process shutdown

 Explanation:  Your program has been terminated because the
 database operator shut down the database monitor process.

 User Action:  Try again later after the database shutdown is
 complete.

OPTINCONSIS

 optimized AIJ file is inconsistent with the database

 Explanation:  This message tells the user that the database
 and/or some areas within the database are not consistent with
 the optimized AIJ file.  This means the last transaction
 committed to the database and/or some database areas is not the
 same as the last transaction committed to the database at the
 time the optimized AIJ file's original AIJ file was created.  To
 use an optimized AIJ file for recovery, it must be consistent
 with the database and all areas.

 User Action:  Use the original, non-optimized AIJ file to do the
 recovery.

OPTNOAREAREC

 cannot do by area recovery with an optimized AIJ file

 Explanation:  This message tells the user that a recover by area
 operation was attempted with an optimized AIJ file.  Optimized
 AIJ files do not support recovery by area so the recovery
 operation was aborted.

 User Action:  Use the original, non-optimized AIJ file to do the
 by area recovery.

OPTNOUNTILREC

 cannot do a /RECOVER/UNTIL with an optimized AIJ file

 Explanation:  This message tells the user that a recover
 operation specifying an "until" time is not allowed with an
 optimized AIJ file.  No recovery is performed if this condition
 is specified.

 User Action:  Use the original, non-optimized AIJ file to do the
 /RECOVER/UNTIL operation.

OVERFLOW

 data conversion overflow

 Explanation:  A loss of information would have occurred on a
 data item transformation.  The operation was not performed.

 User Action:  Correct the error and try again.

PARTDTXNERR

 error trying to participate in a distributed transaction

 Explanation:  Unable to participate in the DECdtm distributed
 transaction due to a DECdtm error.  This error is returned in
 the secondary error message.

 User Action:  Look at the secondary error message and make the
 necessary correction and retry.

PARTOPERBAD

 operator used in partitioning BLR is bad

 Explanation:  The BLR specified for a storage map includes an
 unsupported operator.  The software issuing the invalid command
 is probably not DIGITAL supplied.

 User Action:  If the utility defining the storage map or index
 is supplied by DIGITAL, submit an SPR.  Otherwise contact the
 supplier.

PLACEVIA1ST

 PLACEMENT VIA must only be on the first vertical partition

 Explanation:  The storage map command contained multiple
 PLACEMENT VIA INDEX clauses.  This clause must only appear on
 the first vertical partition, and not on subsequent partitions.

 User Action:  Please refer to the documentation on storage map
 usage for more information on how to use this clause.

PREMEOF

 premature end of file encountered in <str>

 Explanation:  A premature end-of-file was encountered while
 reading the specified file.

PRI_RELCONEXTS

 cannot define multiple PRIMARY KEY constraints for a relation

 Explanation:  An attempt has been made to define a second
 PRIMARY KEY constraint for a relation.  Only one is allowed.

 User Action:  First, review the database design and defined
 relation-specific constraints, then, if desired, try the
 operation again specifying a constraint of a different type.

QIOXFRLEN

 data transfer length error - expected <num>, actual <num>

 Explanation:  The expected data transfer length was not equal to
 the actual data transfer length.

 User Action:  This is usually caused by a hardware problem.

QUIETPT

 waiting for database quiet point

 Explanation:  User is waiting for the quiet lock in order to
 force a database quiet point.

 User Action:  None.

READONLY

 data in a read-only storage area may not be accessed for update

 Explanation:  Your transaction attempted to access data in a
 read-only storage area for update.

 User Action:  Explicitly specify the correct access mode for the
 data, or change the read-only area to a read/write area.

READ_ONLY

 Read only area <str> must be readied in RETRIEVAL mode only

 Explanation:  A read only area can be readied in RETRIEVAL mode
 only.

 User Action:  Ready this area for retrieval or make the area
 read-write.

RECMAXEXC

 relation <str> definition exceeds data limit

 Explanation:  You attempted to define or change a relation that
 is too large.

 User Action:  Modify the relation definition.

REFINGFLDMSMTCH

 a FOREIGN KEY referencing field does not correspond to a
 referenced field

RELALRDYMP

 there already exists a map for relation <str>

 Explanation:  You tried to define a storage map for a relation
 that already has a storage map defined for it.

 User Action:  Use CHANGE STORAGE MAP if you want to change the
 storage map for that relation.

RELCONEXTS

 there is another Relation constraint named <str> in this
 database

 Explanation:  The relation-specific constraint specified already
 exists.

 User Action:  Choose another relation-specific constraint name.

RELCONNOEXI

 relation constraint <str> does not exist in this database

 Explanation:  The specified relation-specific constraint was not
 found in the database.

 User Action:  Check the name of the constraint using the SHOW
 statement and try again.

RELEXI

 field <str> is used in relation <str>

 Explanation:  The specified field you attempted to delete is
 used in a relation.

 User Action:  You should first change the relation to exclude
 this field, and then delete the field.

RELEXTS

 there is another relation named <str> in this database

 Explanation:  The relation name you tried to define already
 exists.

 User Action:  Use another relation name.

RELFLDEX

 there is another field named <str> in relation <str>

 Explanation:  The field name you want to define already exists
 in this relation.

 User Action:  Choose another name for the field.

RELFLDNOC

 field <str> in relation <str> has not been changed

 Explanation:  The field named was not changed.

 User Action:  Correct the problem and then change the field.

RELFLDNOD

 field <str> has not been deleted from relation <str>

 Explanation:  The field named was not deleted.

 User Action:  Correct the problem and then delete the field.

RELINCOM

 relation <str> is referenced in COMPUTED BY field <str> in
 relation <str>

 Explanation:  You attempted to delete a field from a relation
 but the field is used in a COMPUTED BY field in another
 relation.

 User Action:  First, review the database design; then, if
 desired, delete the COMPUTED BY field, and then delete the field
 from the relation.

RELNEXTS

 relation <str> does not exist in this database

 Explanation:  The relation name you tried to use does not exist.

 User Action:  Use another relation name.

RELNOEXI

 relation <str> does not exist in this database

 Explanation:  The relation that you attempted to delete was not
 found.

 User Action:  Check the name of the relation using the SHOW
 command and try again to delete it.

RELNOTCHG

 relation <str> has not been changed

 Explanation:  The specified relation was not changed.

 User Action:  Correct the problem and retry the metadata update.

RELNOTDEL

 relation <str> has not been deleted

 Explanation:  The specified relation was not deleted.

 User Action:  Correct the problem and retry the metadata update.

RELNOTEMPTY

 relation <str> has data in it

 Explanation:  You specified a storage map for a relation which
 has data in it.

 User Action:  You cannot specify a storage map for a relation
 that has data in it.  Specify a relation that does not already
 have data stored in it.

RELUSETRA

 relation <str> is used in a transferred definition

 Explanation:  The specified field is used in the specified
 relation.  The relation is involved in a DDAL transfer
 definition.

 User Action:  You must delete the DDAL transfer definition
 before modifying the field.

REQPBLCANSI

 identifier for [*,*] required in ANSI ACL

 Explanation:  Databases defined as ANSI compliant are restricted
 to always having an identifier [*,*] even if this identifier is
 not allowed any access to the entity.

 User Action:  Enter a protection command changing the [*,*]
 protection to none rather than deleting the entry in the ACL.

REQUNIFORM

 storage area RDB$SYSTEM must contain uniform format pages

 Explanation:  You attempted to assign PAGE FORMAT IS MIXED to
 RDB$SYSTEM storage area.

 User Action:

RESTART

 restarted recovery after ignoring <num> committed
 transaction(s)

 Explanation:  The specified number of committed transactions did
 not apply to this database root.  All subsequent transactions
 were applied.

 User Action:  None.

RLCREFDBYRLC

 relation constraint <str> is referenced by relation <str>
 constraint <str>

 Explanation:  The UNIQUE or PRIMARY KEY relation-specific
 constraint that you tried to delete with the DELETE RELATION or
 CHANGE RELATION statement cannot be deleted.  You cannot delete
 the UNIQUE or PRIMARY KEY relation-specific constraint because
 it is referenced by one or more FOREIGN KEY REFERENCES
 relation-specific constraints from one or more relation or
 relations.

 User Action:  First, review the database design; then, if
 desired, delete the FOREIGN KEY REFERENCES relation-specific
 constraint (or constraints) and try the operation again.

ROOMAJVER

 root major version is incompatible with the DBCS

 Explanation:  Your database was created with an incompatible
 version of the software.

 User Action:  Your database cannot be used with the version of
 the software you have installed on your machine.

ROOTMAJVER

 database format <num>.<num> is not compatible with software
 version <num>.<num>

 Explanation:  Your database was created with an incompatible
 version of the software.

 User Action:  Your database cannot be used with the version of
 the software you have installed on your machine.

RUJDEVDIR

 RUJ filename does not include device and directory

 Explanation:  The RUJ filename you specified did not include a
 device and directory.

 User Action:  You should always include a device and directory
 in the file specification, preferably different from the
 database device for maximum protection.

SCHEMAEXISTS

 schema <str> already exists in this catalog <str>

 Explanation:  The named schema already exists.

 User Action:  Use a different name for the schema.

SCHEMAINUSE

 schema <str> currently in use

 Explanation:  You attempted to drop a schema which still
 contains database object (such as domains, tables, indices,
 etc).

 User Action:  Drop all the objects from the schema before
 attempting to drop the schema.

SCHNOTFOUND

 schema with id <num> not found in this database

 Explanation:  The schema id referenced by the ALTER statement
 does not exist.

 User Action:  Please select another schema.

SEGALRDYMP

 there already exists a map for segmented strings

 Explanation:  You tried to define a storage map for a relation
 that already has a storage map defined for it.

 User Action:  Use the CHANGE STORAGE MAP statement if you want
 to change the storage map for segmented strings or lists.

SEGMAPONWORM

 only segmented strings may be stored in a WRITE_ONCE area

 Explanation:  You tried to define a storage map that would allow
 something other than a segmented string to be stored in a
 WRITE_ONCE area

 User Action:  You must define the storage map on an area that is
 not WRITE_ONCE

SEGSTR_AREA_INC

 segmented string was stored incorrectly

 Explanation:  The database has a storage map for segmented
 strings.  The database has stored part of the segmented string
 in the incorrect area.

 User Action:  Currently this is only expected to happen when the
 RDML or RDBPRE precompilers are in use and the logical name
 RDMS$BIND_SEGMENTED_STRING_BUFFER has not been specified to a
 large enough value to permit buffering of the entire segmented
 string.

SEGSTR_NO_CHG

 you cannot change a field's datatype to or from a segmented
 string

 Explanation:  Nonsegmented string fields cannot be changed to or
 from segmented string fields.

 User Action:  Define a new field with the desired data type and
 use a program to properly load/unload the segmented string.

SEGTOOBIG

 segmented string segment exceeds maximum allowed size

 Explanation:  A segmented string segment has been specified that
 is larger than the maximum size allowed.  Segment size is
 maintained in a word, which allows 65,535 unsigned bytes of
 data.  The initial (first) segment stored requires 27 bytes of
 overhead, leaving 65,508 bytes for the user's data.  All
 subsequent segments require only 13 bytes of overhead, leaving
 65,522 bytes for the user's data.

 User Action:  Specify a segment size that meets the above
 criteria for user data.

SETWIDTH

 error setting width of terminal

 Explanation:  An error occurred while parsing a file name.

 User Action:  Examine the secondary message for more
 information.

SIP

 transaction is a snapshot transaction

 Explanation:  You have already started a transaction that is a
 snapshot transaction.

 User Action:  Use READY BATCH RETRIEVAL to ready the area for
 the snapshot transaction or use COMMIT to terminate the snapshot
 transaction.

SNAPFULL

 snapshot area too full for operation

 Explanation:  You attempted to store a record in the database,
 because there was an active reader and the snapshot area in
 which the record would go is too full.

 User Action:  Modify the snapshot area extend parameter to allow
 snapshot area extension.

SNPDISCJ

 snapshots must be disabled or enabled deferred with commit to
 journal optimizaion

 Explanation:  within the alter database, the user tried to turn
 on commit to journal while snapshots are enabled.

 User Action:  disable snapshots before turning on commit to
 journal

SORTKEYEXT

 sort key is external to RSE context

 Explanation:  A sort key refers to record stream contexts that
 are totally external to the Record Selection Expression that
 contains the sort clause.  This type of sort key provides an
 invariant value to the sort, making the sort more costly for no
 useful purpose, and may indicate an improperly positioned sort
 clause.

 User Action:  Define the sort key or keys again, or reposition
 the sort clause to a more external RSE.

SORTOPERR

 a VMS SORT/MERGE operation was unsuccessful

 Explanation:  A VMS SORT/MERGE operation completed
 unsuccessfully.  See the secondary message as to what operation
 failed.

 User Action:  Fix the VMS SORT/MERGE problem and try again.

SPAMNOTDIS

 cannot disable SPAMs for uniform area <str>

 Explanation:  Only mixed format areas can have spams
 enabled/disabled.

 User Action:  Do not enable/disable SPAMs for uniform format
 areas.

SPAMNOTRDONLY

 cannot enable SPAMs for READ_ONLY area <str>

 Explanation:  Read only areas cannot be modified to have spams
 enabled since this involves rebuilding the SPAM pages.

 User Action:  Change area to be read write.

SPAMNOTWRM

 cannot enable SPAMs for WORM area <str>

 Explanation:  Worm areas cannot have spams enabled.

 User Action:  Do not enable SPAMs for WORM areas.

SPIMAX

 spam interval of <num> is more than the Rdb/VMS maximum of
 <num>

 Explanation:  The SPAM interval you specified is too large.

 User Action:  Choose a smaller interval.

SPIMIN

 spam interval of <num> is less than the Rdb/VMS minimum of
 <num>

 Explanation:  The SPAM interval you specified is too small.

 User Action:  Choose a larger interval.

SSAREANOTEMPTY

 segmented string area <str> is not empty, it may not be deleted

 Explanation:  You tried to change the storage map for segmented
 strings and delete an area, but there are segments in the area

 User Action:  You must determine what relations use the data
 that is in the area and then determine what you want to do about
 it before issuing the CHANGE STORAGE MAP statement again.

SSNOTINROOT

 <str> is not in the root file

 Explanation:  The DDCB you specified is not in the root file.
 You can see which DDCBs a root file has with the DBO/DUMP
 command.

 User Action:  Add the DDCB to your root file (DBO/MODIFY), or
 check your bind sequence and try again.

STALL

 asynchronous operation requires a stall

 Explanation:  The operation has not completed yet.

 User Action:  Check the event flag and I/O status block for
 final completion and submit and SPR..

STAREAFUL

 storage area too full for operation

 Explanation:  You attempted to store a record in the database,
 but the storage area in which the record would go is too full.

 User Action:  Modify the storage area extend parameter to allow
 storage area extension.

STOMAPNOEXI

 storage map <str> does not exist in this database

 Explanation:  The storage map you attempted to delete was not
 found.

 User Action:  Check the name of the storage map using the SHOW
 command and try again to delete it.

SYMTOOBIG

 symbol <str> is longer than the maximum 31 characters

 Explanation:  The maximum size for a symbol name is 31
 characters.  You attempted to use a symbol longer than 31
 characters.

 User Action:  Use a shorter symbol.

SYNERR

 request synchronization error

 Explanation:  You tried to send a message to Rdb/VMS when
 Rdb/VMS was not expecting it, or you tried to receive a message
 from Rdb/VMS when Rdb/VMS was not prepared to send it.

 User Action:  If you called Rdb/VMS directly, correct your BLR
 or calling program.  If you are using a program that generates
 calls to Rdb/VMS, submit an SPR for that program.

SYSRDONLY

 BATCH or EXCLUSIVE UPDATE access is not allowed if RDB$SYSTEM
 is read-only

 Explanation:  BATCH UPDATE and EXCLUSIVE UPDATE access do not
 update the snapshot files.  The fact that snapshots are not
 being maintained is recorded in the RDB$SYSTEM area.  Hence,
 RDB$SYSTEM may not be READ_ONLY.

 User Action:  Use another UPDATE access mode, or change
 RDB$SYSTEM to be READ WRITE.

TABIDNOTDEF

 relation ID, <num>, is not defined in database

 Explanation:  The specified relation identification does not
 exist in the current database.

 User Action:  Invoke the correct database.  Specify the correct
 relation identification.  Perhaps you specified a term or
 keyword where the parser expected a relation identification.

TABNOTDEF

 relation <str> is not defined in database

 Explanation:  The specified relation does not exist in the
 current database.

 User Action:  Invoke the correct database.  Spell the relation
 name correctly.  Perhaps you specified a term or keyword where
 the parser expected a relation name.

TADMISMATCH

 journal is for database version <time>, not <time>

 Explanation:  The version time and date stamp in the root does
 not match the version time and date stamp in the journal file.
 This journal cannot be applied to this backup.

 User Action:  Use the correct journal file or backup file.

TERMINATE

 database monitor forced image exit to protect database

 Explanation:  To maintain the integrity of the database, the
 monitor forced your image exit because an unrecoverable error
 has been detected.

 User Action:  Restart your transaction.

THRESHAREEXI

 illegal thresholds usage - area <str> exists, and cannot have
 THRESHOLDS respecified

 Explanation:  Cannot redefine thresholds on existing area

 User Action:  Delete and recreate the area with the desired
 thresholds or create an area with the new thresholds and move
 the data from the old to the new area.

THRESHUNIF

 illegal thresholds usage - area <str> is MIXED format, must
 be UNIFORM

 Explanation:  Thresholds in storage maps can only be applied to
 UNIFORM areas.

 User Action:  Reference UNIFORM areas if you wish to use storage
 map thresholds.  Otherwise define MIXED areas thresholds using
 the CREATE STORAGE AREA or DEFINE STORAGE AREA statements when
 creating or altering the database.

TIMEOUT

 timeout on <str>

 Explanation:  A lock request has been canceled by the database
 management system because the request could not be granted
 within the user-specified timeout period.

 User Action:  Execute a ROLLBACK or a COMMIT to release your
 locks, and try the transaction again.

TRANSFDEF

 there is another transfer named <str> for this database

 Explanation:  DDAL tried to store information in the source
 database for the transfer name given and discovered that the
 transfer name was already stored.

 User Action:  Delete this replication transfer, and pick a new
 transfer name.

TRAN_IN_PROG

 transaction in progress

 Explanation:  You attempted an operation that is allowed only
 when you have no transaction in progress.

 User Action:  Complete your transaction by executing a COMMIT or
 ROLLBACK.

TRGEXI

 relation <str> is referenced in trigger <str>

 Explanation:  Before you can delete a relation, all constraints,
 triggers, and views based on this relation must be deleted.

 User Action:  Delete the dependent constraints, triggers, and
 views that refer to this relation.

TRGEXTS

 there is another trigger named <str> in this database

 Explanation:  The trigger name you tried to define already
 exists.

 User Action:  Choose another trigger name.

TRGINUPDREQ

 there are active update requests that reference trigger <str>

 Explanation:  You tried to delete the specified trigger while
 there are one or more active update requests that reference the
 trigger.  The specified trigger was not deleted.

 User Action:  Allow the update request or requests to finish,
 and try the trigger deletion again.

TRGNOEXI

 trigger <str> does not exist in this database

 Explanation:  The name specified for the trigger was not found
 in the database.

 User Action:  Check the name of the trigger using the SHOW
 TRIGGERS statement and try the operation again.

TRGNOSUBJCTX

 trigger may not reference the subject relation context

 Explanation:  A BEFORE STORE or AFTER ERASE trigger or a trigger
 action that does not specify FOR EACH ROW contains an illegal
 reference to the subject relation current or NEW/OLD context
 (row values or dbkey).

 User Action:  Define the trigger to use only the relation
 contexts declared within the trigger actions.

TRGVW

 views cannot be used within a trigger

 Explanation:  You cannot define a trigger on a view and must not
 reference views in the triggered condition or actions.

 User Action:  Define the trigger to use the relation referred to
 in the view definition.

TRIGNODEL

 trigger <str> cannot delete record being modified or stored

 Explanation:  The trigger specified (possibly invoked by another
 trigger) attempted to delete a record that was currently being
 stored or modified (by either a user request or a trigger
 action).

 User Action:  First, review the database design and defined
 triggers.  Then, define one or more of the triggers again to
 eliminate the possibilty of deleting a record that is being
 modified or stored.

TRIG_ERROR

 trigger <str> forced an error

 Explanation:  The specified trigger executed an action defined
 to produce this exception.

 User Action:  This may be an expected occurrence in some
 situations, but in general determine the conditions that led to
 the update that caused the triggered error, eliminate those
 conditions (it may be necessary to discuss a solution with your
 database manager), and try the operation again.

TRNNOTDEF

 transfer <str> has not been defined

 Explanation:  The specified transfer was not defined.

 User Action:  Correct the problem and try the metadata update
 again.

TRNNOTDEL

 transfer <str> has not been deleted

 Explanation:  The specified transfer was not deleted.

 User Action:  Correct the problem and try the metadata update
 again.

TRUE

 condition value is true

 Explanation:

TRUNCATION

 data conversion truncation error

 Explanation:  You attempted an operation that would cause loss
 of information on a data item movement.

 User Action:  Correct the error and try again.

TRUNRGTSTR

 truncation of right hand side string for assignment has
 occurred

 Explanation:  You executed a STORE or MODIFY statement, and the
 string on the right hand side of the equation is longer than the
 string on the left.

 User Action:  The length of the right hand side must fit in the
 location where the value is being stored.  Specify a string
 which fits into the target location.

UNDERFLOW

 data conversion underflow

 Explanation:  You attempted an operation that would cause loss
 of information on a data item movement.

 User Action:  Correct the error and try again.

UNI_RELCONNOEXI

 unique Relation constraint <str> does not exist in this
 database

 Explanation:  The relation-specific constraint specified either
 was not found in the database or does not reference a UNIQUE or
 PRIMARY KEY constraint.  This relation-specific constraint is
 referenced by the definition of a FOREIGN KEY REFERENCES
 relation-specific constraint and must represent either a UNIQUE
 or PRIMARY KEY for the referenced relation and any referenced
 fields.

 User Action:  If the utility defining the FOREIGN KEY REFERENCES
 relation-specific constraint is supplied by DIGITAL, submit an
 SPR, otherwise contact the supplier.

UNLIKECOLL

 fields of unlike collating sequence may not be compared

 Explanation:  Rdb/VMS does not permit comparisons among fields
 with unlike collating sequences.

 User Action:  Specify fields with the same collating sequence.

UNSARITH

 expression includes unsupported arithmetic operation

 Explanation:  The Boolean evaluator was processing an expression
 or sub-expression that contained an arithmetic operator.
 Arithmetic operators are not supported.

 User Action:  Rewrite the expression in error without the
 arithmetic operator.

UNSCATALOG

 catalogs can not be created, altered or dropped

 Explanation:  You must have multischema support enabled to
 create, alter and drop catalogs.

 User Action:  See action for primary message.

UNSCOMP

 unsupported data comparison

 Explanation:  You attempted an operation that would compare two
 incommensurate data items.

 User Action:  Correct the error and try again.

UNSCONV

 unsupported data conversion

 Explanation:  You attempted an operation that would cause loss
 of information on a data item movement.

 User Action:  Correct the error and try again.

UNSSCHEMA

 schemas can not be created, altered or dropped

 Explanation:  You must have multischema support enabled to
 create, alter and drop schemas.

 User Action:  See action for primary message.

UNSSYNONYM

 synonyms can not be created, altered or dropped

 Explanation:  You must have multischema support enabled to
 create, alter and drop synonyms.

 User Action:  See action for primary message.

UNS_DTYPE

 unsupported datatype

 Explanation:  Rdb/VMS does not support this data type.

 User Action:  Refer to documentation for information on data
 types and host language data type conversion.

UPDINSNAP

 cannot update in READ_ONLY transaction

 Explanation:  You tried an update operation in a transaction
 started without the READ_WRITE option.

 User Action:  Use the START_TRANSACTION READ_WRITE statement.

UPDRECURSTRIG

 update would cause recursive execution of trigger !AC

 Explanation:  The trigger specified and possibly a series of
 other triggers have been defined such that execution of the
 update operation which invokes the specified trigger will cause
 that trigger to be recursively invoked.

 User Action:  First, review the database design and defined
 triggers; then, redefine one or more of the triggers to
 eliminate the possibilty of recursive invocation.

USEUNOPTAIJ

 please use original unoptimized AIJ file for this recovery
 operation

 Explanation:  This message tells the user that the requested
 recovery operation is not compatible with an optimized AIJ file.
 See the accompanying message for the cause of the
 incompatability.

 User Action:  Use the original, non-optimized AIJ file to do the
 recovery.

USRMAX

 <num> number of users is greater than the Rdb/VMS maximum of
 <num>

 Explanation:  The number of users for the database you specified
 is too large.

 User Action:  Refer to documentation and try another value.

USRMIN

 <num> number of users is less than the Rdb/VMS minimum of <num>

 Explanation:  The number of users for the database you specified
 is too small.

 User Action:  Refer to documentation and supply another value.

VCO_NOFIRSTN

 CHECK OPTION is not allowed for a view with row limit

 Explanation:  The CHECK OPTION on a view requires that neither
 that view nor any view nested in it has FIRST N or LIMIT TO n
 ROWS clause.

 User Action:  Remove either CHECK OPTION or LIMIT TO n ROWS
 clause from the view.

VIEWEXI

 relation <str> is referenced by view <str>

 Explanation:  Before deleting a relation, all constraints and
 views based on this relation must be deleted.

 User Action:  Delete the dependent views and any constraints
 that refer to the relation, then delete the relation.

VIEWINVIEW

 view <str> is referenced by view <str>

 Explanation:  A view cannot be deleted if another view depends
 upon it.

 User Action:  Delete the dependent view first.

VIEWNOEXI

 view <str> does not exist in this database

 Explanation:  The view you attempted to delete was not found.

 User Action:  Check the name of the view using the SHOW command
 and try again to delete it.

VIEWNORET

 view cannot be retrieved by database key

 Explanation:  A view defined with a Record Selection Expression
 that references AGGREGATE or MERGE streams cannot be retrieved
 via database key.

 User Action:  Retrieve the relations to which the view refers.

VIEWNOTDEL

 view <str> has not been deleted

 Explanation:  The specified view was not deleted.

 User Action:  Correct the problem and retry the metadata update.

VIEWNOUP

 view cannot be updated

 Explanation:  A view containing a CROSS, REDUCE TO, or FIRST
 clause cannot be updated.

 User Action:  Update the relations to which the view refers.

VIEW_NO_ANA

 views cannot be analyzed

 Explanation:  You attempted to analyze a view.

 User Action:  Use a relation name.

WASBOOL

 expression in CONTAINS or MATCHES was a Boolean

 Explanation:  The Boolean evaluator was processing an expression
 or sub-expression of the form "A CONTAINS B" or "A MATCHES B".
 Either the "A" or the "B" expression was a Boolean of the form
 "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X GT Y", "X LE Y", "X GE
 Y", "X CONTAINS Y", or "X MATCHES Y".  Neither side of CONTAINS
 and MATCHES expressions are allowed to be Boolean expressions.

 User Action:  Rewrite the expression in error to have the proper
 format.

WISH_LIST

 feature not implemented yet

 Explanation:  The action you requested requires a feature that
 is not implemented in the current version of this product.

 User Action:  Try a simpler way of doing things.

WRMNOTMIX

 cannot add WORM attribute to uniform format area <str>

 Explanation:  WORM areas should only be mixed format areas.

 User Action:  Examine your command line for illegal combination.

WRMRDONLY

 cannot add WORM attribute to READ_ONLY area <str>

 Explanation:  WORM areas cannot also have the read-only
 property.

 User Action:  Examine your command line for illegal combination.

WRNG_REL

 attempt to retrieve <str> with DBKEY from another relation

 Explanation:  You attempted to retrieve a relation using a
 database key value, but the database key was from another
 relation.

 User Action:  Supply the key value from the correct relation.

XPR_STACK_OFLO

 expression forces too many levels of recursion

 Explanation:  You provided an expression which forces too many
 levels of recursion.  The expression should be rewritten to use
 parentheses and therefore cause fewer levels of recursion.

 User Action:  Rewrite the expression.

RDO

Additional information available:

ACCVIOACENOTFNDACLNOTIMPAGGNOTALL
AIJACTIVEAIJALLDONEAIJBADAREAAIJBCKACT
AIJBCKFAILAIJBCKSEQAIJCONFIRMAIJCURSEQAIJDEVDIR
AIJDISABLEDAIJENABLEDAIJFILEGONEAIJFNLSEQ
AIJGOODAREAAIJMODSEQAIJMOREWORKAIJNOACTIVE
AIJNOENABLEDAIJNXTFILAIJNXTSEQAIJONEDONEAIJOPTSUC
AIJPREPAREAIJQUIETPTAIJRECTRMAIJROOSEQ
AIJSEQAFTAIJSEQPRIAIJVNOSYNCAMB_KEYWORDANODBHAND
ANYNOTALLAREABUSYAREA_CORRUPTAREA_DELETED
AREA_INCONSISTAREA_RESTRUCTARIEXPEXPATTMISSING
BACKCONVBADADJLOCKGRANBADAIJBCKBADAIJFILE
BADAIJSEQBADAIJUNTILBADAIJVERBADASCTOID
BADBLOBBADBNDPRMBADBOUNDSBADBUFSIZBADCLUMP
BADCORATTBADDATDEFBADDBNAMEBADDTFMT
BADEPILOGUEBADFILEVERBADFILTYPBADFLDTYP
BADIDXMAPBADINTERVALBADLOGFILEBADLOGNAM
BADMETNAMBADMVIEWFLDBADMVIEWRELBADMVIEWVEW
BADMVRELSBADMVVIEWSBADPAGEFORMATBADPARAM
BADPROLOGUEBADRECBUFBADROLMVFLDBADROOTMATCH
BADSNAPFILENAMEBADSPAMINTBADSPECATRBADTHRESHOLD
BADVAXCLUSNODESBAD_END_NAMEBAD_NAMEBDDATRANG
BKUPEMPTYAIJBOOEXPEXPBOUNDBUFTOOSML
BUGCHECKBUGCHKBUGCHKDMPCABORTCANTASSMBX
CANTBACKUPCANTBINDRTCANTCLOSEDBCANTCONVERT
CANTCREDBRCANTCREGBLCANTCREMBXCANTCREMON
CANTCVRTCANTDELETECANTLCKTRMCANTMAPTROOT
CANTOPENDBCANTOPENINCANTQIOMBXCANTREADDB
CANTREADDBSCANTRESTORECANTSNAPCANTSPAWN
CANTSPOOLCANTWRITEDBSCDDDEFERRCDDERR
CHDBNOPARAMCHECKSUMCHGINDMAPCHGINDMAPSTP
CLOSERRCMDINTRCMPBYINVWCNTSPNSUBCNVNUMDAT
COL_DROPPEDCOMPLEXCOMPNOTRANSCOMTOOLON
CONALREXICONAMBIGCONCHAILLCONFATRSPEC
CONFTXNOPTIONCONNOTDEFCONVARDEFCONVARILL
CONVARUNDCONVERRCONVONLYCS_ERRCVT_PROCEED
DATCNVERRDATCONERRDATNOTSUPDATTYPUNK
DBACTIVEDBBUSYDBHANDUNKDBHDLREQDBKNOTALL
DBNAMEHVDBNOTACTIVEDBNOTOPENDBNOTSPEC
DBRABORTEDDBSHUTDOWNDB_CVT_FAILDB_CVT_SCS
DB_HANDECDB_HANDEC2DB_HANLONDB_NOTCVT
DDALERRDEADLOCKDEGMODSPCDESCTOOBIGDOFULLBCK
DTFMTTOOBIGDTONCEEACHDUPFLDDEFEMPTYAIJ
EMPTYFILEERRDETERRFOREIGNERROPENIN
ERROPENOUTERRWRITEEXPCV_DOTEXQUOTAEXTNOTSUP
EXTRADATAFETNOTDONFIELD_EXISTSFIENOTALL
FIENOTRENFIENOTSEGFILACCERRFLDAMBIGFLDNOTCRS
FLDNOTDEFFLDNOTINRELFLDNOTREFDFLUINPBUF
FOREIGN_NOUNQCONFOREIGN_REFGREFDGARBLEDGETTXNOPTION
GOODAIJSEQHOWCHANOTILLBEGINILLCHARILLNCHAR
IMP_CDD_NODATAIMP_IDXNOTDEFIMP_IDXNOTDELIMP_IDX_CONFLICT
IMP_IDX_TWICEIMP_STANOTDELIMP_STMNOTDEFIMP_STMNOTDEL
IMP_STO_CONFLICTIMP_STO_MAP_CONFLICTIMP_STO_MAP_TWICE
IMP_STO_TWICEINDEXTSINDNOEXIINTEGDBDIFINTEGFRFAIL
INTONOTALWINTSYNERRINVCHAINPINVCHANUMSTR
INVCONSINVDBKREFINVDBSFILINVFLDINVFLDPRO
INVFLDSIZEINVHEADERINVINDEXINVNODESIZE
INVNOTDONINVPERCENTFILLINVPRIVNAMESINVRELVIEW
INVSEGSTRATRINVSTOMAPINVTRGINV_ROOTIOERROR
JUNONLINLANFILEXTLCKCNFLCTLENMISMATLHSNOTDBN
LHSNOTVARLOGAIJBCKLOGCREOPTLOGMODSPM
LOGMODSTOLOGRECOVRLOGRECSTATLOGRESOLVE
LOGSUMMARYLOOK_FORLOOK_FOR_CONLOOK_FOR_FIN
LOOK_FOR_STTLOOK_FOR_UNTERMMAXFLDPRTSTRMAXLINLEN
MAXNESEXCMAXRELEXCMAXVOLLABEXCMISMMORDD
MONFLRMSGMONMBXOPNMONSTOPPEDMULSPECATR
MUSINVPATHMUSTRECDBMVRELABSNTNOAGGALL
NOAIJDEFNOANYALLNOCDDNOCDDUPDATNOCHARNOCMPBYRES
NOCOLRESNOCONGETNOCONRESNOCREMBXNODATRESNODBHALW
NODBHANNODBKNODBKALLNODBNAMENODEVDIRNODISTBATU
NODPRIRESNODUPLIVIEWNOENTRYPTNOFLDRES
NOFPRIRESNOFSTINREPTNOIDXRESNOITEMDEFNOLOCKSOUT
NOMAPRESNOMLTIMVNOMLTIMVIEWNOMONITORNOMOREGB
NOMVRALLNOMVVROLNONODENOOPTCURNOOPTNOQUIET
NOOPTOPTNOOPTPRVNOQUIETNOOPTUNRESNOPARAMETER
NOPRECOMPSELNOPRIVNOPRVMVIEWNOPRVMVREL
NOPRVREPLINOPRVROLMVRNOREDINREPTNORELRES
NOREMVERNOREQHANNORPRIRESNORTUPB
NOSEGSTRAREANOSELALLNOSIPNOSNAPSNOSORTINREPT
NOSTATSNOSUCHDATEFMTNOSUCHLANGNOSUCHTIMEFMT
NOSUPREPLINOTAVIEWNOTBOOLNOTDSKFILNOTENUFHV
NOTEXPSEGNOTFOUNDNOTIMPLYETNOTIPNOTRANAPP
NOTREQSTANOTRGRESNOTROOTNOTSEGSTRNOTSYSCONCEAL
NOT_BOUNDNOT_INSTALLEDNOT_LARDYNOT_READY
NOT_UPDATENOUPDCOMPNOVIERESNOVIEWINREPT
NOWILDNOWORMSPTNO_CROSEGNO_FILFND
NO_FIRSEGNO_MORSEGNO_PERBLONO_REDSEG
NO_SORSEGNO_SUCH_FIELDNO_TXNOUTNO_WITSEG
NULLNOINDONLFIRVARONLONEDBONLONEREDONLONEREQ
ONLONESORONLONETRAONLONETRNONLONEWIT
ONLYONEPSECTOPENERROPERCLOSEOPERSHUTDN
OPRSTK_OVRFLOOPTINCONSISOPTNOAREARECOPTNOUNTILREC
OVERFLOWPARSE_STACK_OVERFLOWPARTDTXNERR
PATHREQCDDPLACENEEDGETPREMATURE_EOFPREMEOF
QIOXFRLENQUIETPTRDORECOBSREAD_ONLY
REANOWRTREFSEGSTRRELAMBIGRELNOTDEF
REL_EXISTSREMNOTALWREORGONLCHSMRESABORT
RESERVED_WORDRESTARTRETMODSPCROOMAJVER
ROOTMAJVERRSENOTSEGRTOCMDILLRUJDEVDIR
SCALEOPSBASICSEGALRSTASEGNOTSTASEGOUTSCO
SEGSTREXPSELMORVALSETWIDTHSEVERRDET
SFDBONLYSHINDCIUSHINDFLDSIZESHINDMAPVALSHINDMAPVAL2
SIPSNAPFULLSORTOPERRSOURCEDISCSPACREQ
SPAMNOTDISSPAMNOTRDONLYSPAMNOTWRMSSNOTINROOT
STALLSTAREAFULSTARNOTALLSTOCONVAR
STOMAPNOEXISTOMAP_LITSSTRALRDECSTRALROPE
STRLITMISQUOSTRNOTDECSTRNOTOPESTROUTSCO
SYM_EXPSYNTAX_ERRSYSRDONLYTADMISMATCH
TERMINATETIMEOUTTOKTOOBIGTOOBIGBLR
TRAACTTRAACT_1TRAACT_2TRAACT_3TRAHDLBVALTRAHDLINV
TRAMODSPCTRANONERR1TRANONERR2TRAN_IN_PROG
TREE_OVRFLOTRGALREXITRUETRUNCATION
UNBTMPFILUNDERFLOWUNLCONVARUNSARITH
UNSCOMPUNSCOMPBYUNSCONVUNSDSCCLAUNSSTRXPR
UNSSUPDATUNTSTRUPDATEJOINUSEUNOPTAIJ
USINGCLSMNGLESSUSINGNOTSPECVEWNOTDEFVWNOFETCH
WAIMODSPCWASBOOLWISH_LISTWRMNOTMIXWRMRDONLY
ZABORT

ACCVIO

 access violation on read/write of user address

 Explanation:  A readable parameter is not readable by the DBCS
 or a writeable parameter is not writeable by the DBCS.

 User Action:  Pass good parameters to the DBCS.

ACENOTFND

 no matching access control entry found

 Explanation:  In a protection statement that refers to an
 existing access control entry, there was no existing entry that
 matched the input.

 User Action:  Use SHOW PROTECTION to see what the ACL currently
 looks like, and correct your statement.

ACLNOTIMP

 ACL not imported for !AS

 Explanation:  The ACL contained in the RBR file could not be
 imported to the named object (database/relation/field)

 User Action:  If you really want it, you must either obtain the
 needed privileges (BYPASS) or import the database under the
 account of the former owner (which may not be sufficient
 anyway).  If you do not care about the restoration of
 protections you can ignore the message or import the database
 using the NOACL parameter which will cause all privileges and
 protections in the RBR file to be ignored.

AGGNOTALL

 aggregate expressions are not allowed in VALID IF expressions

 Explanation:  You entered a VALID IF expression that contained
 something other than an operator, literal value, or the field
 name.

 User Action:  Check the Rdb/VMS Reference Manual for details on
 VALID IF.

AIJACTIVE

 <num> active transaction(s) not yet committed or aborted

 Explanation:  Upon completion of the roll-forward operations for
 the current AIJ file, more than 1 transactions remain active.
 That is, the commit or roll-back information resides in the next
 AIJ file to be processed.  It is also possible that one or more
 of these active transactions are prepared transactions, which
 may be committed or aborted by the recovery operation using
 DECdtm information; in this case, a separate message indicating
 the number of prepared transactions will be displayed.

 User Action:  No user action is required.  This message is
 informational only.

AIJALLDONE

 AIJ roll-forward operations completed

 Explanation:  The AIJ roll-forward operation has completed.

 User Action:  No user action is required.  This message is
 informational only.

AIJBADAREA

 inconsistent storage area <str> needs AIJ sequence number <num>

 Explanation:  The indicated storage area has been marked
 inconsistent with the rest of the database.  The AIJ file with
 the indicated sequence number is required to commence recovery
 of the area.  If the sequence number of the AIJ file is
 different than the indicated sequence number, recovery of the
 area will not be performed.

 User Action:  No user action is required.  This message is
 informational only.

AIJBCKACT

 AIJ modify operation not allowed; AIJ backup in progress

 Explanation:  An AIJ backup is currently in progress.  While an
 AIJ backup is in progress, AIJ modify operations, such as
 disabling AIJ journalled or changing the default AIJ filename,
 are not permitted.  If the AIJ backup was prematurely terminated
 by the user, another AIJ backup must complete before AIJ
 modifications are permitted.

 User Action:  Allow the AIJ backup to finish before attempting
 the AIJ modify operation.  If the AIJ backup was prematurely
 terminated by the user, start another AIJ backup and allow it to
 complete; the AIJ modify operation will then be possible.

AIJBCKFAIL

 the AIJ backup that created the AIJ file did not complete

 Explanation:  It appears that the AIJ backup process, that
 created the AIJ file currently being recovered, failed or was
 prematurely terminated.  When this occurs, it is possible that
 one or more transactions active at the time of the backup
 failure may not have been recovered completely.

 User Action:  Roll-forward the next AIJ file, which should
 contain the commit information for any transactions that were
 not completely recovered.  If there are no more AIJ files to be
 rolled-forward, then all transactions have been completely
 recovered.

AIJBCKSEQ

 backing up current AIJ file sequence number <num>

 Explanation:  The created AIJ backup file will be internally
 identified with the indicated sequence number.  When AIJ files
 are rolled-forward, the roll-forward utility will prompt for
 specific AIJ sequence numbers.  The AIJ file sequence number
 should be included as a component of any external file
 identification information, such as magtape labels.

 User Action:  No user action is required.  This message is
 informational only.

AIJCONFIRM

 do you wish to continue the roll-forward operation [<char>]:

 Explanation:  Prompt the user to continue or terminate the AIJ
 roll-forward operation.

 User Action:  Enter 'YES' to continue the roll-forward
 operation.  Enter 'NO' to terminate the roll-forward operation.
 Any other response will also result in the termination of the
 roll-forward operation.

AIJCURSEQ

 specified AIJ file contains sequence number <num>

 Explanation:  The specified AIJ file contains the indicated
 sequence number.  This sequence number must exactly match that
 expected by the roll-forward utility

 User Action:  No user action is required.  This message is
 informational only.

AIJDEVDIR

 AIJ filename does not include device and directory

 Explanation:  The AIJ filename you specified did not include a
 device and directory.

 User Action:  You should always include a device and directory
 in the file specification, preferably different from the
 database device for maximum protection.

AIJDISABLED

 after-image journaling must be enabled for backup

 Explanation:  You attempted to back up an after-image journal
 file for a database that has after-image journaling disabled.

 User Action:  Enable after-image journaling for your database
 and try the backup again at some later time.

AIJENABLED

 after-image journaling must be disabled during recovery

 Explanation:  You attempted to recover your database using an
 after-image journal file, but the database still has after-image
 journaling enabled.

 User Action:  Disable after-image journaling for your database
 and try the recovery again.  After recovery has completed, you
 can enable after-image journaling again.

AIJFILEGONE

 continuing with AIJ modification operation

 Explanation:  While attempting to disable AIJ journaling, or
 attempting to change the default AIJ filename, the active AIJ
 file could not be opened.  This condition typically only occurs
 for catastrophic reasons; therefore, the AIJ file is assumed to
 have contained some data records, which are presumed to have
 been lost.

 User Action:  No user action is required.  This message is
 informational only.

AIJFNLSEQ

 to start another AIJ file recovery, the sequence number
 needed will be <num>

 Explanation:  This message informs the user what the next AIJ
 file sequence number will be.  AIJ file sequence numbers are
 modified for a variety of reasons, such as performing an AIJ
 backup, enabling or disabling AIJ logging, etc.

 User Action:  No user action is required.  This message is
 informational only.

AIJGOODAREA

 storage area <str> is now consistent

 Explanation:  The indicated storage area has been marked
 consistent with the rest of the database.

 User Action:  No user action is required.  This message is
 informational only.

AIJMODSEQ

 next AIJ file sequence number will be <num>

 Explanation:  This message informs the user what the next AIJ
 file sequence number will be.  AIJ file sequence numbers are
 modified for a variety of reasons, such as performing an AIJ
 backup, enabling or disabling AIJ logging, etc.

 User Action:  No user action is required.  This message is
 informational only.

AIJMOREWORK

 active transactions will be aborted if you terminate recovery

 Explanation:  This message indicates that one or more active
 transactions will be aborted if AIJ recovery is terminated.

 User Action:  No user action is required.  This message is
 informational only.  This message supplements the AIJNXTSEQ
 message.

AIJNOACTIVE

 there are no active transactions

 Explanation:  Upon completion of the roll-forward operations for
 the current AIJ file, no transactions remain active.  The AIJ
 recovery process can be terminated without the loss of
 transaction data.

 User Action:  No user action is required.  This message is
 informational only.

AIJNOENABLED

 AIJ journaling has not yet been enabled

 Explanation:  The AIJ roll-forward operation has completed, but
 AIJ logging has not yet been enabled.  This message is a
 reminder to the user to enable AIJ logging, if desired.

 User Action:  If AIJ logging is desired, AIJ logging should be
 enabled.  Otherwise, no user action is required.  This message
 is informational only.

AIJNXTFIL

 enter the next AIJ file name, or return to terminate:

 Explanation:  Prompt the user to enter the name of another AIJ
 file to be rolled-forward.  If no AIJ file name is entered, the
 roll-forward operation is terminated.

 User Action:  Enter the name of the next AIJ file to be
 rolled-forward.  If you wish to terminate the roll-forward
 operation, simply hit return <CR>.

AIJNXTSEQ

 to continue this AIJ file recovery, the sequence number
 needed will be <num>

 Explanation:  This message informs the user what the next AIJ
 file sequence number will be.  AIJ file sequence numbers are
 modified for a variety of reasons, such as performing an AIJ
 backup, enabling or disabling AIJ logging, etc.

 User Action:  No user action is required.  This message is
 informational only.

AIJONEDONE

 AIJ file sequence <num> roll-forward operations completed

 Explanation:  This message indicates that the roll-forward
 operations for the AIJ file with the indicated sequence number
 have been successfully completed.  Note that in some cases, no
 transactions may have been applied; this is normal.

 User Action:  No user action is required.  This message is
 informational only.

AIJOPTSUC

 AIJ optimization completed successfully

 Explanation:  This is an informational message indicating that
 an AIJ optimization has completed successfully.

 User Action:  No user action.

AIJPREPARE

 <num> of the active transaction(s) prepared but not yet
 committed or aborted

 Explanation:  Upon completion of the roll-forward operations for
 the current AIJ file, more than 1 transaction remains active AND
 prepared.  That is, the commit or roll-back information either
 resides in the next AIJ file to be processed, or the action can
 be determined using DECdtm upon completion of the recovery
 operation.

 User Action:  No user action is required.  This message is
 informational only.

AIJQUIETPT

 AIJ quiet-point backup required when commit-to-journal enabled

 Explanation:  You attempted to perform a no-quiet-point back up
 of an after-image journal file when the commit-to-journal
 feature was enabled.

 User Action:  Either disable the commit-to-journal feature, or
 use the quiet-point AIJ backup mechanism.

AIJRECTRM

 AIJ roll-forward operations terminated at user request

 Explanation:  Instead of specifying another AIJ file to be
 rolled-forward, the user specified that AIJ roll-forward
 operations should be prematurely terminated.  In this case, it
 is possible that one or more active transactions were aborted by
 the system.

 User Action:  No user action is required.  This message is
 informational only.

AIJROOSEQ

 starting AIJ sequence number required is <num>

 Explanation:  The AIJ sequence number indicated corresponds to
 the first AIJ file that can be rolled-forward.  If the sequence
 number of the AIJ file to be rolled-forward does not exactly
 match the indicated sequence number, no transactions will be
 applied.

 User Action:  No user action is required.  This message is
 informational only.

AIJSEQAFT

 incorrect AIJ file sequence <num> when <num> was expected

 Explanation:  The AIJ file supplied was created subsequent to
 the expected AIJ file.  Usually, this condition occurs for the
 following reasons:  1) an incorrect AIJ file or VMS file
 "version" was specified, 2) the supplied AIJ file was not
 created for this database, or 3) AIJ logging was disabled and
 then later enabled.

 User Action:  The utility will prompt for confirmation that the
 supplied AIJ file is valid.  If AIJ logging was disabled and
 then later enabled without any intervening database transaction
 activity, then confirming the AIJ file will permit the
 roll-forward operation to continue applying all transactions
 contained in the AIJ file.  Otherwise, the AIJ file should be
 rejected and the correct AIJ file specified.  Should
 confirmation be given for an incorrect AIJ file, no transactions
 will be applied.

AIJSEQPRI

 AIJ file sequence number <num> created prior to expected
 sequence <num>

 Explanation:  The AIJ file supplied was created prior to the
 expected AIJ file.  Usually, this condition occurs for the
 following reasons:  1) an incorrect AIJ file or VMS file
 "version" was specified, 2) the supplied AIJ file was not
 created for this database, or 3) a database backup was performed
 subsequent to the AIJ backup.

 User Action:  No user action is required.  This message is
 informational only.  The AIJ roll-forward operation will
 continue to completion, although no transactions will be applied
 from the AIJ file.

AIJVNOSYNC

 AIJ file <str> synchronized with database

 Explanation:  When recovering a database for which AIJ
 journaling was enabled, it may be necessary to synchronize
 information in the AIJ file with information in the database
 root file.  This is necessary to ensure that subsequent AIJ
 recovery operations are successful.

 User Action:  No user action is required.  This message is
 informational only.

AMB_KEYWORD

 ambiguous keyword abbreviation

 Explanation:  You used an ambiguous abbreviation.

 User Action:  Specify the entire keyword.

ANODBHAND

 another database has been invoked with the same db_handle
 name <str>

 Explanation:  You specified in the INVOKE statement the same
 name for the db_handle as in a previous INVOKE statement.

 User Action:  Reenter the INVOKE statement with a different
 db_handle name.

ANYNOTALL

 ANY and UNIQUE are not allowed in a VALID IF expression

 Explanation:  You entered a VALID IF expression containing
 something other than an operator, literal value, or field name.

 User Action:  Check the VAX Rdb/VMS Reference Manual for details
 on VALID IF.

AREABUSY

 usage of storage area <str> conflicts with a co-user

 Explanation:  You attempted to ready an area that is already
 being accessed by another user, and that usage mode is
 incompatible with the usage mode you requested.

 User Action:  Wait until the storage area you requested is
 available, and try again, or ready the area with the WAIT
 option.

AREA_CORRUPT

 storage area <str> is corrupt

 Explanation:  The storage area has been corrupted by an abnormal
 termination of a BATCH UPDATE run unit.  It cannot be readied.

 User Action:  Either try to fix the problem by verifying the
 area and then altering the corrupt pages or reload/restore the
 area.

AREA_DELETED

 area <str> was previously deleted

 Explanation:  An attempt was made to ready an area which was
 previously deleted.

AREA_INCONSIST

 storage area <str> is inconsistent

 Explanation:  The storage area has been marked inconsistent with
 the rest of the database.  It cannot be readied.

 User Action:  Recover the area to make it consistent.

AREA_RESTRUCT

 storage area <str> is under restructure

 Explanation:  An attempt was made to ready an area that is
 either presently being or in the recent past has been
 restructured.

 User Action:  See your DBA to have the areas released.

ARIEXPEXP

 an arithmetic expression was expected

 Explanation:  An arithmetic expression was expected in the
 current context.  A Boolean expression was found.

 User Action:  You must use an arithmetic expression in this
 context.

ATTMISSING

 invalid or missing attributes

 Explanation:  Internal error -- a required attribute (such as
 the data type in a GLOBAL FIELD clump) is missing.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.

BACKCONV

 please backup your database and use the RMU/CONVERT command

 Explanation:  The database has an obsolete root file and must be
 converted.

 User Action:  The database must be converted.  First make a
 backup copy.  Then use the RMU/CONVERT command.

BADADJLOCKGRAN

 ADJUSTABLE LOCK GRANULARITY clause is not allowed in the
 DEFINE TRANSFER statment.

 Explanation:  You have specified an ADJUSTABLE LOCK GRANULARITY
 clause as an attribute for the target database in a DEFINE
 TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 ADJUSTABLE LOCK GRANULARITY clause.

BADAIJBCK

 previous AIJ backup did not complete

 Explanation:  It appears that the previous AIJ file backup
 process, which was started on the indicated date/time, either
 failed or was prematurely terminated by the user.  The AIJ
 backup file created by the failed backup utility is not complete
 and should not rolled-forward.

 User Action:  No user action required.  The current AIJ backup
 will backup the complete AIJ file to ensure there is no loss of
 transactions.  The AIJ file created by the failed backup utility
 MUST be preserved; DO NOT discard the AIJ backup file.  Even
 though the AIJ backup failed, the AIJ backup file must be used
 for successful roll-forward operations.

BADAIJFILE

 illegal after-image journal format

 Explanation:  The file you specified is not an after-image
 journal file.

 User Action:  Check the file name and try again.

BADAIJSEQ

 AIJ file is incorrect for roll-forward operations

 Explanation:  The specified AIJ file is not the correct file to
 be rolled-forward.  Usually, this condition occurs for the
 following reasons:  1) an incorrect AIJ file or VMS file
 "version" was specified, 2) the supplied AIJ file was not
 created for this database, or 3) AIJ logging was disabled and
 then later enabled.

 User Action:  No user action is required.  This message is
 informational only.

BADAIJUNTIL

 date specified by /UNTIL (<time>) has not yet been reached

 Explanation:  The date and time specified by the /UNTIL command
 qualifier had not yet been reached when AIJ roll-forward
 operations were completed.

 User Action:  Another AIJ file, if any, might have to be
 rolled-forward to ensure that all transactions have been applied
 up to the specified date and time.  If no more AIJ files are
 available, the AIJ roll-forward operations are complete.

BADAIJVER

 after-image journal version is incompatible with the DBCS

 Explanation:  Your after-image journal file was created with an
 incompatible version of the software.

 User Action:  Your after-image journal file cannot be used with
 the version of the software you have installed on your machine.

BADASCTOID

 "<str>" is not a valid user identifier

 Explanation:  An error occurred when accessing the rights
 database to translate an identifier name to a binary identifier.

 User Action:  See the secondary error message and supply a valid
 user identifier.

BADBLOB

 unable to IMPORT segmented string

 Explanation:  Error from Rdb$CREATE_SEGMENTED_STRING.  See the
 following message for more information.

 User Action:  If the nature of the problem is not obvious,
 submit an SPR with a copy of the Rdb/VMS interchange file (RBR)
 that caused the error.

BADBNDPRM

 bad bind parameter <str> value "<str>"

 Explanation:  The logical bind parameter value is invalid.

 User Action:  See the secondary error message for more
 information.

BADBOUNDS

 value not in range <num> to <num>

 Explanation:  The value of the translated logical name is not in
 the range of acceptable values.

 User Action:  Delete the logical name, or redefine it with a
 value in the acceptable range.

BADBUFSIZ

 buffer size (<num>) is too small for largest page size (<num>)

 Explanation:  Specified buffer size is too small to hold even
 one page from the storage area with the largest page size.

BADCLUMP

 invalid clump type encountered

 Explanation:  Internal error - bad data in the Rdb/VMS
 interchange file (RBR).

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.

BADCORATT

 invalid core attribute <num>, <num> in RBR file

 Explanation:  Internal error - bad data in the Rdb/VMS
 interchange file (RBR).

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.

BADDATDEF

 illegal default format for date string

 Explanation:  The logical name, SYS$DATE_INPUT, represents the
 default format for a date string.  It is a three character field
 (MDY,DMY, etc.) with M = month, D = day, and Y = year.

 User Action:  Redefine the logical name with a legal date string
 format.

BADDBNAME

 can't find database root <str>

 Explanation:  The database root file you specified could not be
 accessed.

 User Action:  Examine the associated messages to determine the
 reason for failure.

BADDTFMT

 date or time format is not set up correctly

 Explanation:  You entered a SHOW DATE_FORMAT command, but
 LIB$DT_FORMAT is not properly defined.

 User Action:  Check the definition of LIB$DT_FORMAT.  If it is a
 process logical, it should be changed.  If it is a group or
 system logical, contact your system manager to change it.

BADEPILOGUE

 only one epilogue file clause can be specified per transfer

 Explanation:  You specified more than one epilogue file clause
 in the DEFINE TRANSFER statement.  This is not permitted.

 User Action:  Reenter the DEFINE TRANSFER statement, specifying
 only one EPILOGUE IS or NOEPILOGUE clause.

BADFILEVER

 incompatible RBR file type

 Explanation:  This version of RDO cannot import a database from
 this Rdb/VMS interchange file (RBR).

 User Action:  Use a version of RDO that corresponds to the
 version of RDO that created this file.

BADFILTYP

 database file must have extension "<str>"

 Explanation:  All database files must have the specified file
 type.

 User Action:  You might be attempting to access a non-database
 file.  If not, rename or copy the database file to have the
 proper type.

BADFLDTYP

 field <str> of target relation <str> has different field types

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have entered MOVE RELATION clauses with the
 same target relation name and specified fields with the same
 names but of different data types in the source databases.

 User Action:  Reenter the DEFINE TRANSFER statement by
 specifying fields of the same datatype in all the MOVE RELATION
 clauses with the same target relation.

BADIDXMAP

 fields specified for partitioning index do not agree with
 fields for index

 Explanation:  The user named fields to partition an index but in
 an incorrect order, or specified too many fields.

 User Action:  Review the DML statement and specify it again.

BADINTERVAL

 INTERVAL clause is not allowed in the DEFINE TRANSFER
 statement.

 Explanation:  You have specified an INTERVAL clause as an
 attribute for the target database in a DEFINE TRANSFER
 statement.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 INTERVAL clause.

BADLOGFILE

 only one log file clause can be specified per transfer

 Explanation:  You specified more than one log file clause in the
 DEFINE TRANSFER statement.  This is not permitted.

 User Action:  Reenter the DEFINE TRANSFER statement, specifying
 only one LOG FILE IS or NOLOG clause.

BADLOGNAM

 invalid log file name

 Explanation:  You entered an invalid log file name.

 User Action:  Refer to the explanation in the user action
 section of the secondary error message.

BADMETNAM

 metadata names must end in A - Z or 0 - 9

 Explanation:  The name given in a DML or DDL statement ended in
 a dollar sign or an underscore.  These symbols are not allowed.

 User Action:  Specify a valid name.

BADMVIEWFLD

 field <str> of relation <str> must be moved for view <str>

 Explanation:  You attempted to transfer a view without
 transferring a field to which the view refers.  You must also
 explicitly transfer in the DEFINE TRANSFER statement all
 relevant fields of relations to which the view refers.

 User Action:  Reenter the DEFINE TRANSFER statement, adding the
 required field to the appropriate MOVE RELATION clause.

BADMVIEWREL

 underlying relation <str> of view <str> must also be moved

 Explanation:  You attempted to transfer a view without
 transferring the relations to which the view refers.  You must
 explicitly transfer the relations to which the view refers in
 the DEFINE TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement adding the
 required MOVE RELATION clause.

BADMVIEWVEW

 underlying view <str> of view <str> must also be moved

 Explanation:  You attempted to transfer a view without
 transferring other views that underlie the view you want to
 transfer.  You must explicitly transfer the views to which the
 view refers in the DEFINE TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement adding the
 required views to the MOVE VIEW clause.

BADMVRELS

 move-relations-clause is allowed only once in DEFINE TRANSFER

 Explanation:  You specified more than one move-relations-clause
 in a DEFINE TRANSFER statement.  Possibly you did not separate
 the MOVE RELATION clauses with semicolons.

 User Action:  When you use a DEFINE TRANSFER statement, group
 all the MOVE RELATION clauses together and separate them with
 semicolons.

BADMVVIEWS

 move-views-clause is allowed only once in DEFINE TRANSFER

 Explanation:  You entered more than one move-views-clause in a
 DEFINE TRANSFER statement.  Only one move-views-clause is
 allowed in a DEFINE TRANSFER statement.

 User Action:  Combine all MOVE VIEWS clauses into one list and
 separate the view names with commas.

BADPAGEFORMAT

 PAGE FORMAT clause is not allowed in the DEFINE TRANSFER
 statement.

 Explanation:  You have specified a PAGE FORMAT clause as an
 attribute for the target database in a DEFINE TRANSFER
 statement.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 PAGE FORMAT clause.

BADPARAM

 <str> (<num>) is out of valid range (<num>..<num>)

 Explanation:  An illegal parameter was specified when creating
 or modifying the database.

 User Action:  Examine your command line for illegal parameter
 values.

BADPROLOGUE

 only one prologue file clause can be specified per transfer

 Explanation:  You specified more than one prologue file clause
 in the DEFINE TRANSFER statement.  This is not permitted.

 User Action:  Reenter the DEFINE TRANSFER statement, specifying
 only one PROLOGUE IS or NOPROLOGUE clause.

BADRECBUF

 NUMBER OF RECOVERY BUFFERS clause is not allowed in the
 DEFINE TRANSFER statement.

 Explanation:  You have specified the NUMBER OF RECOVERY BUFFERS
 clause as an attribute for the target database in a DEFINE
 TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 NUMBER OF RECOVERY BUFFERS clause.

BADROLMVFLD

 MOVE RELATION clauses of target relation <str> have different
 fields

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have entered a MOVE RELATION clauses with
 the same target relation name but specified a different set of
 fields in each clause.

 User Action:  Reenter the DEFINE TRANSFER statement by
 specifying the same set of fields in all the MOVE RELATION
 clauses with the same target relation.

BADROOTMATCH

 root file "<str>" no longer has its original name "<str>"

 Explanation:  The current root filename does not match the name
 the used when the root file was created.  This could happen if
 you copied or renamed the root file, or if the file was created
 using a concealed logical device name and that logical name is
 no longer defined.

 User Action:  Rename or copy the root file back to its original
 name or location, or redefine the necessary concealed logical
 device name in the system logical name table.

BADSNAPFILENAME

 SNAPSHOT_FILENAME clause is not allowed in the DEFINE
 TRANSFER statement.

 Explanation:  You have specified a SNAPSHOT_FILENAME clause as
 an attribute for the target database in a DEFINE TRANSFER
 statement.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 SNAPSHOT_FILENAME clause.

BADSPAMINT

 spam interval (<num>) is too large for page size (<num>
 block(s))

 Explanation:  The SPAM interval is too large for the specified
 page size.

 User Action:  Reduce the SPAM interval or increase the page
 size.

BADSPECATR

 attribute is incorrectly specified

 Explanation:  You specified a field attribute that does not make
 sense.

 User Action:  Check the documentation and specify the data
 definition statement again.

BADTHRESHOLD

 THRESHOLDS clause is not allowed in the DEFINE TRANSFER
 statement.

 Explanation:  You have specified a THRESHOLDS clause as an
 attribute for the target database in a DEFINE TRANSFER
 statement.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 THRESHOLDS clause.

BADVAXCLUSNODES

 NUMBER OF VAXCLUSTER NODES clause is not allowed in the
 DEFINE TRANSFER statement.

 Explanation:  You have specified a NUMBER OF VAXCLUSTER NODES
 clause as an attribute for the target database in a DEFINE
 TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 NUMBER OF VAXCLUSTER NODES clause.

BAD_END_NAME

 the name in END <str> does not match item name <str>

 Explanation:  The name given in an END <name> <structure> (for
 example, END name RELATION) does not match the name given to the
 item (DEFINE RELATION name).

 User Action:  Specify the same item name.

BAD_NAME

 identifiers and names may not exceed 31 characters in length

 Explanation:  The name given in a DML/DDL statement was longer
 than the permitted limit.

 User Action:  For data definition statements, specify a shorter
 name.  For data manipulation statements, consult your database
 design specifications to find the correct name.

BDDATRANG

 day, month, or year field in date string out of range

 Explanation:  The month field must be between 1 and 12
 inclusive.  The day field must be between 1 and 31 inclusive.
 The year field must be between 0 and 3000 inclusive.

 User Action:  Re-enter the DATE data item with the error
 corrected.

BKUPEMPTYAIJ

 after-image journal file is empty

 Explanation:  An attempt was made to backup an empty after image
 journal file.

 User Action:  Be sure the correct after image journal file was
 specified.

BOOEXPEXP

 a Boolean expression was expected

 Explanation:  Either a numeric or string expression was found
 where a Boolean expression was expected.

 User Action:  You must use a Boolean expression in this context.

BOUND

 multiple binds are not allowed

 Explanation:  You are already bound to a database.  You can only
 be bound to one database at a time for a given stream.

 User Action:  You can execute an UNBIND statement and try the
 BIND again, or use the multiple stream feature to bind to a
 database on another stream.

BUFTOOSML

 buffer size (<num>) is smaller than largest page (<num>)

 Explanation:  The buffer size must be large enough to
 accommodate the largest page size within the database.

 User Action:  Specify a buffer size at least as large as the
 message indicates.

BUGCHECK

 fatal, unexpected error detected

 Explanation:  A fatal, unexpected error was detected by the
 database management system.

 User Action:  Please submit an SPR (and include any bugcheck
 dump files).

BUGCHK

 there has been a fatal error; please submit an SPR; no dump
 was produced

 Explanation:  A fatal error has occurred.

 User Action:  Submit an SPR with information about the
 circumstances under which the bug occurred.  Note that
 RDO$_BUGCHECKs do not produce dumps as RDB$_BUGCHECKs do.

BUGCHKDMP

 generating bugcheck dump file <str>

 Explanation:  The database management system has detected a
 fatal, unexpected error, and is writing a bugcheck dump file
 with the specified file name.

 User Action:  Please send this bugcheck dump file to your
 software specialist, along with any other related programs or
 data.

CABORT

 user entered Control-C to abort command

 Explanation:  You entered a CTRL/C to abort the current command.

 User Action:  None.

CANTASSMBX

 error assigning a channel to a mailbox

 Explanation:  An error occurred while you attempted to assign a
 channel to a VMS mailbox.

 User Action:  Examine the secondary message for more
 information.

CANTBACKUP

 BACKUP command may not be issued, use RDO EXPORT

 Explanation:  The BACKUP command is no longer available in RDO.

 User Action:  Use the RDO EXPORT command, which provides the
 same functionality.

CANTBINDRT

 error mapping database root file

 Explanation:  An error occurred while mapping to the database
 root file.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTCLOSEDB

 database could not be closed as requested

 Explanation:  The database monitor detected an error while
 attempting to close the database you specified.

 User Action:  Examine the secondary message(s) or look in the
 database monitor log file (SYS$SYSTEM:*MON.LOG) for more
 information.

CANTCONVERT

 CONVERT command may not be issued, use RMU/CONVERT

 Explanation:  The CONVERT command is no longer available in RDO.

 User Action:  Use the RMU/CONVERT command which provides the
 same functionality.

CANTCREDBR

 error creating database recovery process

 Explanation:  An error occurred while you attempted to create a
 detached database recovery process.

 User Action:  Examine the secondary message(s) or look in the
 database monitor log file (SYS$SYSTEM:*MON.LOG) for more
 information.

CANTCREGBL

 error creating and mapping database global section

 Explanation:  There was an error while you attempted to create a
 map to the database global section.

 User Action:  Examine the secondary message(s) for more
 information.

CANTCREMBX

 cannot create mailbox

 Explanation:  An error occurred while you attempted to create a
 mailbox.  Mailboxes are used for interprocess communication by
 the database management system.

 User Action:  Examine the associated messages to determine the
 reason for failure.  Usually, you will have to change one of
 your quotas (most likely, the buffered I/O byte count quota or
 the open file quota).

CANTCREMON

 unable to start database monitor process

 Explanation:  An error occurred while you attempted to start the
 database monitor process.  This is a detached process.

 User Action:  Examine the secondary message(s) to determine the
 reason for the failure.

CANTCVRT

 cannot convert this database version

 Explanation:  Your database is not recognized as one which can
 be converted.

 User Action:  Either the database being converted has already
 been converted, is too old to be converted, or is not a
 database.  You should check your backups.

CANTDELETE

 error deleting "<str>"

 Explanation:  An error occurred while you attempted to delete
 the indicated file.  You must be able to change the protection
 on a file in order to delete it.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTLCKTRM

 database monitor error establishing termination lock

 Explanation:  The database monitor was unable to assert a
 request on the user's image termination lock.  The user's image
 might already have terminated before the monitor received the
 request.

 User Action:  Examine the secondary message(s) for more
 information.

CANTMAPTROOT

 error mapping to the troot section

 Explanation:  An error occurred while mapping to the shared
 database page-file section.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTOPENDB

 database could not be opened as requested

 Explanation:  The database monitor detected an error while
 attempting to open the database you specified.

 User Action:  Examine the secondary message(s) or look in the
 database monitor log file (SYS$SYSTEM:*MON.LOG) for more
 information.

CANTOPENIN

 error opening input file <str>

 Explanation:  An error occurred while opening the input file.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTQIOMBX

 unable to send mail to a mailbox

 Explanation:  An error occurred while you attempted to send mail
 to a mailbox.

 User Action:  Examine the secondary message(s) to determine the
 reason for the failure.

CANTREADDB

 error opening or reading database file

 Explanation:  There was an error while you attempted to open or
 read from the database file.

 User Action:  Examine the secondary message(s) for more
 information.

CANTREADDBS

 error reading pages <num>:<num>-<num>

 Explanation:  An error occurred while you attempted to read one
 or more database pages.  The message indicates the storage area
 ID number and the page numbers of the first and last pages being
 read.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CANTRESTORE

 RESTORE command may not be issued, use RDO IMPORT

 Explanation:  The RESTORE command is no longer available in RDO.

 User Action:  Use the RDO IMPORT command, which provides the
 same functionality.

CANTSNAP

 can't ready storage area <str> for snapshots

 Explanation:  Snapshots were last enabled for this area by a
 transaction that had not committed before the snapshot started.
 Information to materialize the snapshot is not present.

 User Action:  Restart the snapshot transaction.  If failure of a
 snapshot transaction is critical, you should ready all areas
 before doing any retrievals.

CANTSPAWN

 error spawning sub-process

 Explanation:  An error occurred while you attempted to spawn a
 sub-process.

 User Action:  Examine the secondary message for more
 information.

CANTSPOOL

 SPOOL command may not be issued, use RMU/BACKUP/AFTER_JOURNAL

 Explanation:  The SPOOL command is no longer available in RDO.

 User Action:  Use the RMU/BACKUP/AFTER_JOURNAL command, which
 provides the same functionality.

CANTWRITEDBS

 error writing pages <num>:<num>-<num>

 Explanation:  An error occurred while you attempted to write one
 or more database pages.  The message indicates the storage area
 ID number and the page numbers of the first and last pages being
 written.

 User Action:  Examine the associated messages to determine the
 reason for failure.

CDDDEFERR

 unable to update or read the CDD default path

 Explanation:  An error occurred updating or reading the CDD
 default path.

 User Action:  Check the CDD message that follows for more
 details.

CDDERR

 error occurred during CDD signin, CDD will not be used

 Explanation:  An error occurred during signin.  Refer to the CDD
 manual for more information.

 User Action:  Check the CDD message that follows for more
 details.

CHDBNOPARAM

 command CHANGE DATABASE included no parameters

 Explanation:  User entered CHANGE DATABASE {PATH | NAME} db_name
 without entering any parameters to change.

 User Action:  Specify what you intend to change on a CHANGE
 DATABASE command.

CHECKSUM

 checksum error - computed <num>, page contained <num>

 Explanation:  The computed checksum for the database page
 disagreed with the checksum actually stored on the page.  This
 usually is caused by a hardware problem.

 User Action:  None.

CHGINDMAP

 This index was previously specified with a STORE clause,
 continue?  [N]

 Explanation:  You are specifying a CHANGE INDEX statement
 without a STORE clause, which places the index into the
 RDB$SYSTEM storage area.  The index was previously specified as
 being stored in a different area.  RDO is confirming that you
 want the index placed in the RDB$SYSTEM storage area.

 User Action:  An affirmative reply (Y or YES) causes the
 operation to continue.  A negative reply (a carriage return, N,
 or NO) terminates the operation.

CHGINDMAPSTP

 terminating operation at user's request

 Explanation:  See above.

 User Action:  None.

CLOSERR

 error detected when closing RBR file

 Explanation:  See the message that follows for details.

 User Action:  In the absence of other error messages, the
 database has probably been imported successfully.

CMDINTR

 this statement is not allowed in a transaction

 Explanation:  You entered a statement that cannot be used when a
 transaction is outstanding.

 User Action:  Commit or rollback the transaction and try the
 statement again.

CMPBYINVW

 view <str> cannot be transferred

 Explanation:  In a DEFINE TRANSFER statement, you are attempting
 to move a view which references a COMPUTED_BY field which
 contains an unsupported value expression.

 User Action:  Reenter the DEFINE TRANSFER statement and omit the
 view that contains the COMPUTED_BY field that uses the
 unsupported value expression.  Refer to the DEFINE TRANSFER
 statement in the Data Distributor Handbook for information on
 what value expressions are supported for a COMPUTED_BY field.

CNTSPNSUB

 cannot spawn subprocess

 Explanation:  The preprocessor was unable to spawn a subprocess
 to compile the program.

 User Action:  Read the next message and determine what to do.

CNVNUMDAT

 cannot convert number to a date string

 Explanation:  A quadword DATE data type is not in the correct
 form to be converted to a text string.

 User Action:  Re-enter the DATE data item in the correct format.

COL_DROPPED

 collating sequence dropped for non-text field <str>

 Explanation:  A collating sequence was defined on a non-text
 field.  This collating sequence is dropped from the field.

 User Action:  None.

COMPLEX

 data conversion error on complex data type

 Explanation:  There would have been loss of information on a
 complex data type conversion.  The operation was not performed.

 User Action:  Enter another value.

COMPNOTRANS

 <str> in relation <str> will not be transferred

 Explanation:  You entered a SELECT FIELDS ALL clause in the
 DEFINE TRANSFER statement to move a relation that contains a
 COMPUTED_BY field using a value expression that is unsupported.
 The DEFINE TRANSFER statement is accepted with all the fields of
 this MOVE RELATION clause except the specified COMPUTED_BY field
 that is unsupported.

 User Action:  Refer to the DEFINE TRANSFER statement in the Data
 Distributor Handbook for information on what value expressions
 are supported.

COMTOOLON

 command line longer than <num> character maximum

 Explanation:  You typed a command line longer than the current
 maximum line length.

 User Action:  Break up the command line with continuation lines.
 There is no practical limit on the total length of all
 continuation lines in a single command.

CONALREXI

 constraint <str> already exists in this database

 Explanation:  You requested that a constraint be named with the
 name of an existing constraint.

 User Action:  Choose a different name.

CONAMBIG

 the constraint <str> was not qualified and is in multiple
 databases

 Explanation:  You must qualify the constraint with database
 handles when accessing more than one database containing that
 constraint.

 User Action:  Make sure the INVOKE statements include
 qualifiers, and retype the query using the appropriate
 qualifier.

CONCHAILL

 cannot begin program with continuation character

 Explanation:  Apparently the COBOL program starts with a
 continuation character.

 User Action:  Correct the source text and resubmit the job.

CONFATRSPEC

 conflicting or contradictory attributes specified

 Explanation:  You specified attributes which cannot be used
 together.  Because Rdb/VMS cannot determine which attribute to
 use, it rejects the command.

 User Action:  Respecify the DDL without the redundant clauses.

CONFTXNOPTION

 Do you really want to <str> this transaction?  [<char>]:

 Explanation:  Confirm that the user actually wants to take the
 action.

CONNOTDEF

 constraint <str> is not defined in database

 Explanation:  The specified constraint does not exist in the
 current database.

 User Action:  Invoke the correct database.  Check the constraint
 name for correct spelling.  Check the constraint definition to
 make sure you did not specify a term where the constraint name
 was expected.

CONVARDEF

 context variable <str> is already defined

 Explanation:  The current statement attempts to define an
 existing context variable such as the P in OPEN IN STREAM S FOR
 P IN PORT.  However, the context variable has already been
 defined in another RSE.

 User Action:  Use another context variable, or close the stream
 in which the context variable is defined.

CONVARILL

 cannot use the context variable, <str>, declared in the store

 Explanation:  A context variable was used in a STORE statement
 that was the same as the one declared in the STORE RSE.
 Example:  STORE J IN PORT USING J.CITY = J.COUNTRY END_STORE

 User Action:  Change the command to include the correct context
 variable.

CONVARUND

 context variable <str> is not defined

 Explanation:  The current statement attempts to use a context
 variable that is not defined in a current RSE.  You may have
 closed the stream in which the context variable was defined.

 User Action:  Use the context variable within a FOR loop, OPEN
 STREAM loop, or aggregate expression.

CONVERR

 data conversion error

 Explanation:  The database management system was unable to
 convert the data item from one datatype to another.

 User Action:  Enter another value.

CONVONLY

 only a CONVERT command may be issued

 Explanation:

CS_ERR

 error retrieving collating sequence <str>

 Explanation:  The collating sequence could not be retrieved --
 see the message that follows.

 User Action:  Correct the problem and try the operation again.

CVT_PROCEED

 convert proceeding

 Explanation:  You issued a CONVERT command and the conversion is
 underway.

 User Action:  Wait a moment.

DATCNVERR

 conversion error in date string

 Explanation:  The date string is not in one of the legal
 formats.  As a result, it cannot be converted to the DATE data
 type.

 User Action:  Re-enter the DATE data item in one of the correct
 formats.

DATCONERR

 data conversion error

 Explanation:  An error occurred during data conversion.  Refer
 to next message.

 User Action:  The secondary message should clarify the problem.

DATNOTSUP

 date data type not supported in this context

 Explanation:  The output of a date value to the language file is
 not supported.  Example:  HV = rdb$missing(date field).

 User Action:  Do not use dates in this manner.

DATTYPUNK

 datatype unknown.  Expression cannot use only host variables

 Explanation:  An assignment or a Boolean expression must have at
 least one database field or literal.

 User Action:  You must use a database variable or literal in the
 expression.

DBACTIVE

 database is already being used

 Explanation:  You attempted to open a database that is already
 being used.  You can only open a database that is not being
 accessed.

 User Action:  Wait for all users to finish using the database,
 or force the users off by closing the database.

DBBUSY

 database is busy - try again later

 Explanation:  You attempted to access a database that is shut
 down.

 User Action:  Wait for the database to become available, and try
 again.

DBHANDUNK

 no DATABASE command specified a handle of <str>

 Explanation:  You specified an unknown database handle in a
 context variable table definition.

 User Action:  Check the query and the INVOKE statement to make
 sure they match.

DBHDLREQ

 db handle should be specified for EXTRACTION ROLLUP transfers

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you are attempting to move a relation without
 specifying the database handle of the source database.

 User Action:  Reenter the DEFINE TRANSFER statement by
 specifying the database handle of the source database for each
 of the move-relation-clauses.

DBKNOTALL

 DB key references are not allowed in VALID IF expressions

 Explanation:  You entered a VALID IF expression that did not
 contain an operator, literal value, or field name.

 User Action:  Check the VAX Rdb/VMS Reference Manual for details
 on VALID IF.

DBNAMEHV

 a database name is not allowed in a qualified host variable

 Explanation:  You cannot use a database field name to qualify a
 host variable.  For example, you cannot have the following
 expression:  FOR E IN EMPLOYEES WITH E.EMPLOYEE_ID =
 HOST_VAR(E.EMPLOYEE_ID) ~.~.~.

 User Action:  Use an additional GET statement to assign the
 value of the database field to another host variable and use
 that host variable to qualify the first host variable.  For
 example, FOR E IN EMPLOYEES GET HOST-VAR-2 = E.EMPLOYEE_ID FOR
 E1 IN EMPLOYEES WITH E.EMPLOYEE_ID = HOST-VAR(HOST-VAR-2) ~.~.~.
 END_FOR END_FOR

DBNOTACTIVE

 database is not being used

 Explanation:  You attempted to close a database that is not
 open.

 User Action:  There is no need to close the database - it is
 already closed.

DBNOTOPEN

 database is not open for access

 Explanation:  The database must be opened to allow users to
 access it.

 User Action:  Open the database and try again.

DBNOTSPEC

 db handle not specified for segmented string creation

 Explanation:  A CREATE_SEG was done with more than one database
 invoked.  You did not specify in which database the segmented
 string was to be created.

 User Action:  Add a database handle to the segment handle.

DBRABORTED

 database recovery process terminated abnormally

 Explanation:  A detached database recovery process failed to
 recover a transaction.

 User Action:  Examine the database monitor log file and any
 SYS$SYSTEM:*DBRBUG.DMP bugcheck dump files for more information.

DBSHUTDOWN

 database shutdown is in progress

 Explanation:  The request you made could not be completed
 because the database is being shut down.

 User Action:  Examine the database monitor log file
 (SYS$SYSTEM:*MON.LOG) for more information.

DB_CVT_FAIL

 database conversion failed

 Explanation:  You issued a CONVERT command and the conversion
 has failed.

 User Action:  Accompanying messages should indicate further
 action.  The conversion process will have left the database in
 an inconsistent state so you will have to restore a copy of the
 database from the backup media and retry the CONVERT command on
 the restored copy of the database.

DB_CVT_SCS

 database !AC successfully converted from version !UL.!UL to
 !UL.!UL

 Explanation:  You issued a CONVERT command and the conversion
 has completed.

 User Action:  None.

DB_HANDEC

 handle already declared

 Explanation:  You declared a database handle through ACMS.  This
 interferes with defining a handle through the interpreter.

 User Action:  You should not specify another handle.

DB_HANDEC2

 handle already declared

 Explanation:  You declared a database handle through ACMS.  This
 interferes with defining a handle through the interpreter.  This
 also interferes with declaring multiple database handles.

 User Action:  You should not specify another handle.

DB_HANLON

 the DB handle must be a longword

 Explanation:  Database handles that are passed to RDB$INTERPRET
 must be longwords passed by descriptor.

 User Action:  Define the database handle to be a longword.
 Examples:  For COBOL:  01 DBHANDLE PIC S9(9) COMP.  For FORTRAN:
 INTEGER*4 DBHANDLE.  For BASIC:  LONG DBHANDLE.

DB_NOTCVT

 database not converted

 Explanation:  You issued a convert command and the conversion
 was not attempted.

 User Action:  You should correct the problem and retry the
 convert.

DDALERR

 VAX Data Distributor fatal error

 Explanation:  You entered a VAX Data Distributor statement which
 failed.

 User Action:  Refer to the explanation in the user action
 section of the secondary error message.

DEADLOCK

 deadlock on <str>

 Explanation:  The operation you attempted has been forbidden by
 the database management system because it would have led to a
 system deadlock.

 User Action:  Execute a ROLLBACK or a COMMIT to release your
 locks, and try the transaction again.

DEGMODSPC

 only one degree mode may be specified for a transaction

 Explanation:  You specified two degree modes (consistency or
 concurrency) in a START_TRANSACTION statement.

 User Action:  Specify one degree mode in your START_TRANSACTION
 statement.

DESCTOOBIG

 the description clause's maximum length is !UL

 Explanation:  Rdb/VMS currently has a limit for a description
 clause size.

 User Action:  Use a shorter description clause.

DOFULLBCK

 full database backup should be done to ensure future recovery

 Explanation:  After enabling AIJ journaling, it is often
 necessary to perform a full (i.e.  not incremental) database
 backup.  Failure to backup the database may result in the AIJ
 file NOT being recoverable.

 User Action:  IT IS HIGHLY RECOMMENDED that a full database
 backup be performed AS SOON AS POSSIBLE.

DTFMTTOOBIG

 date or time format must be in the range 1 to 999

 Explanation:  You entered a DATE or TIME value outside the range
 1 to 999 in the SET DATE_FORMAT statement.

 User Action:  Enter a value greater than or equal to 1 and less
 than or equal to 999.

DTONCEEACH

 you can specify DATE or TIME only once each

 Explanation:  You entered DATE date-number twice or TIME
 time-number twice in the SET DATE_FORMAT statement.

 User Action:  Enter nothing, or enter DATE, TIME, or one of each
 with SET DATE FORMAT.

DUPFLDDEF

 field <str> has different definitions in relations <str> and
 <str>

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you are attempting to move a field which does
 not have the same definition in all the source databases.  Since
 we cannot have two definitions of a field in the target
 database, the DEFINE TRANSFER command is invalid.

 User Action:  Reenter the DEFINE TRANSFER statement by including
 only one definition of the field mentioned above or by changing
 all the definitions of this field into the same type.

EMPTYAIJ

 after-image journal file is empty

 Explanation:  A recovery operation was attempted on an empty
 after-image journal file, or the UNTIL time predates any
 journalled transactions.  The former can happen if no
 transactions were initiated while after-image journaling was in
 progress.

 User Action:  Correct the error and try again.

EMPTYFILE

 <str> file is empty

 Explanation:  The file is empty.

 User Action:  None.

ERRDET

 an error was detected

 Explanation:  An "error level" (-E-) error condition was
 detected by RDO and returned to DCL during the execution of an
 RDO statement.

 User Action:  If possible, run the statement(s) again in
 interactive RDO and read any additional RDO error messages to
 determine what caused the error condition.  Then fix the error.
 Remember, in a DCL command procedure containing RDO statements,
 use the $SEVERITY symbol to test for RDO$_ERRDET.

ERRFOREIGN

 error opening foreign command file as input

 Explanation:  An error occurred while reading a foreign command
 file.

 User Action:  Examine the secondary message for more
 information.

ERROPENIN

 error opening <str> as input

 Explanation:  An error occurred while opening an input file.

 User Action:  Examine the secondary message for more
 information.

ERROPENOUT

 error opening <str> as output

 Explanation:  An error occurred while opening an output file.

 User Action:  Examine the secondary message for more
 information.

ERRWRITE

 error writing file

 Explanation:  An error occurred while writing a file.

 User Action:  Examine the secondary message for more
 information.

EXPCV_DOT

 expected context variable and dot, host variables not
 permitted here

 Explanation:  You attempted to use a name where a variable or
 literal was required.  The error message indicates that you
 probably forgot to type the context variable and a period before
 a field name, or you forgot to use quotation marks around a
 quoted string.

 User Action:  Add a context variable and a period or use a
 literal.

EXQUOTA

 exceeded quota

 Explanation:  The image could not proceed because a resource
 quota or limit had been exceeded.

 User Action:  The secondary error message describes the resource
 that was exceeded.  If this occurs consistently, increase your
 quota.

EXTNOTSUP

 EXTERNAL database handles are not supported for RDB$INTERPRET

 Explanation:  External database handles are not supported for
 RDB$INTERPRET.  Only LOCAL and the default database handle are
 supported.  External database handles apply only to
 preprocessors that can declare variables for database handles.

 User Action:  For database handles that must be accessed in
 multiple modules, use LOCAL.  Otherwise, use the default
 database handle.

EXTRADATA

 unexpected data at the end of the RBR file

 Explanation:  Internal error - found more data than expected in
 the Rdb/VMS interchange file (RBR).

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.

FETNOTDON

 a fetch has not been done yet for stream <str>

 Explanation:  You referenced a stream, but you did not issue a
 FETCH statement for that stream.

 User Action:  Type FETCH <stream name>.

FIELD_EXISTS

 field <str> already exists in this database

 Explanation:  You requested that a field be named with the name
 of an existing field.

 User Action:  Choose a different name.

FIENOTALL

 field, <str>, is not allowed in the VALID IF expression for
 field <str>

 Explanation:  You entered a field name in a VALID IF clause that
 does not match the name of the field being defined.

 User Action:  Check the VAX Rdb/VMS Reference Manual for details
 on VALID IF, or use the name of the field you are defining.

FIENOTREN

 field <str> cannot rename CDD field <str>

 Explanation:  You requested that a field being defined from a
 CDD definition be named something other than the name of the CDD
 field.

 User Action:  Respecify the field definition using the CDD field
 name.

FIENOTSEG

 field, <str>, is not a segmented string

 Explanation:  You attempted a START_SEGMENTED_STRING operation
 using a field that is not a segmented string.

 User Action:  Use a segmented string field with the
 START_SEGMENTED_STRING statement.

FILACCERR

 error <str> file <str>

 Explanation:  This general message indicates an error accessing
 a file.

 User Action:  Examine the secondary message for more
 information.

FLDAMBIG

 field <str> is not unique in previous relations in the CROSS

 Explanation:  You specified a field that does not exist in the
 previous relations specified by the CROSS clause.

 User Action:  The relation definition associated with the
 context variable does not include a definition for the specified
 field.  You may have specified the wrong context variable with
 the field or mistyped the field name.

FLDNOTCRS

 field <str> was not found in previous relations in the CROSS

 Explanation:  You specified a field that is not in the relations
 specified in the CROSS clause.

 User Action:  The relation definition associated with the
 context variable did not include a definition for the specified
 field.  You may have specified the wrong context variable with
 the field or mistyped the field name.

FLDNOTDEF

 field <str> is not defined in relation <str>

 Explanation:  You specified a field that does not exist in the
 named relation.

 User Action:  The relation definition associated with the
 context variable did not include a definition for the specified
 field.  You may have specified the wrong context variable with
 the field or mistyped the field name.

FLDNOTINREL

 <str> is not a field in relation, <str>

 Explanation:  The field you specified is not part of the named
 relation.

 User Action:  Check the relation definition for the correct
 field name, or specify another relation.

FLDNOTREFD

 defined field, <str>, is not used in VALID IF clause

 Explanation:  You defined a field with a VALID IF clause that
 does not reference the defined field.

 User Action:  Define the field again, and name that field in the
 VALID IF clause.

FLUINPBUF

 indirect command file buffer flushed for Control C

 Explanation:  You entered CTRL/C while executing an indirect
 command file.

 User Action:  None.

FOREIGN_NOUNQCON

 no Primary/Unique constraint matching foreign constraint <str>

 Explanation:  The foreign relation constraint must have a
 primary or unique constraint (with its key matching the foreign
 relation constraint's referenced key) defined and stored or
 defined in the same relation with the foreign relation
 constraint.

 User Action:  Correct the problem and try the operation again.

FOREIGN_REFGREFD

 referencing/referenced fields number mismatch in foreign
 constraint <str>

 Explanation:  The number of referencing and referenced fields
 must be equal in the foreign relation constraint.

 User Action:  Correct the problem and try the operation again.

GARBLED

 interchange file is corrupt

 Explanation:  Internal error - probably mismatched BEGIN and END
 clumps.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.

GETTXNOPTION

 Do you wish to COMMIT/ABORT/IGNORE this transaction:

 Explanation:  Ask the user whether to COMMIT/ABORT/IGNORE this
 blocked transaction.

GOODAIJSEQ

 AIJ file is correct for roll-forward operations

 Explanation:  The specified AIJ file is the correct file to be
 rolled-forward.

 User Action:  No user action is required.  This message is
 informational only.

HOWCHANOT

 no attribute specified for command to change field !AC

 Explanation:  You tried to change a field but did not specify
 any attribute to change.

 User Action:  Specify an attribute to change.

ILLBEGIN

 file <str> is corrupt or not an Rdb interchange file

 Explanation:  IMPORT can recreate databases only from the
 Rdb/VMS interchange file (RBR).  This file is not an Rdb/VMS
 interchange file (RBR).

 User Action:  Retry the operation with the correct file name.

ILLCHAR

 illegal character detected

 Explanation:  An illegal character has been detected.

 User Action:  Use only valid characters.

ILLNCHAR

 illegal character found in numeric input

 Explanation:  You specified a number containing a non-numeric
 character.

 User Action:  Correct the error and try again.

IMP_CDD_NODATA

 importing a CDD dictionary with NODATA is not allowed

 Explanation:  You used the NODATA option when importing a
 CDD/Plus dictionary database.

 User Action:  You cannot use the NODATA option when importing
 CDD/Plus dictionaries.  The resulting database is not usable by
 CDD/Plus.  Use the DATA option and try again.

IMP_IDXNOTDEF

 index <str> not defined - check spelling of the relation name

 Explanation:  The IMPORT operation could not process a DEFINE
 INDEX clause because the named relation was not defined in the
 database.

 User Action:  Check that the relation name was spelled
 correctly.

IMP_IDXNOTDEL

 index <str> not deleted - check spelling of the index name

 Explanation:  The IMPORT operation could not process a DELETE
 INDEX clause because the named index was not defined in the
 database.

 User Action:  Check that the index name was spelled correctly.

IMP_IDX_CONFLICT

 DEFINE and DELETE INDEX <str> specified

 Explanation:  You specified a DEFINE and DELETE INDEX using the
 same name.

 User Action:  Specify either a DEFINE or a DELETE INDEX.

IMP_IDX_TWICE

 DEFINE or DELETE INDEX <str> specified twice

 Explanation:  You specified a DEFINE or DELETE INDEX twice using
 the same name.

 User Action:  Specify a INDEX name only once.

IMP_STANOTDEL

 storage area <str> not deleted - check spelling of the
 storage area name

 Explanation:  The IMPORT operation could not process a DELETE
 STORAGE AREA clause because the named storage area was not
 defined in the database.

 User Action:  Check that the storage area name was spelled
 correctly.

IMP_STMNOTDEF

 storage map <str> not defined - check spelling of the
 relation name

 Explanation:  The IMPORT operation could not process a DEFINE
 STORAGE MAP clause because the named relation was not defined in
 the database.

 User Action:  Check that the relation name was spelled
 correctly.

IMP_STMNOTDEL

 storage map <str> not deleted - check spelling of the storage
 map name

 Explanation:  The IMPORT operation could not process a DELETE
 STORAGE MAP clause because the named storage map was not defined
 in the database.

 User Action:  Check that the storage map name was spelled
 correctly.

IMP_STO_CONFLICT

 DEFINE and DELETE STORAGE AREA <str> specified

 Explanation:  You specified a DEFINE and DELETE STORAGE AREA
 using the same name.

 User Action:  Specify a either a DEFINE or a DELETE STORAGE
 AREA.

IMP_STO_MAP_CONFLICT

 DEFINE and DELETE STORAGE MAP <str> specified

 Explanation:  You specified a DEFINE and DELETE STORAGE MAP
 using the same name.

 User Action:  Specify either a DEFINE or a DELETE STORAGE AREA.

IMP_STO_MAP_TWICE

 DEFINE or DELETE STORAGE MAP <str> specified twice

 Explanation:  You specified a DEFINE or DELETE STORAGE MAP twice
 using the same name.

 User Action:  Specify a STORAGE MAP name only once.

IMP_STO_TWICE

 DEFINE or DELETE STORAGE AREA <str> specified twice

 Explanation:  You specified a DEFINE or DELETE STORAGE AREA
 twice using the same name.

 User Action:  Specify a STORAGE AREA name only once.

INDEXTS

 there is another index named, <str>, in this database

 Explanation:  The index name you tried to define already exists.
 This message is also printed during an IMPORT operation if the
 backup file contains multiple definitions of an index.
 Duplicate definitions may indicate corruption of the .RBR file,
 or improper operation during the EXPORT operation.

 User Action:  Try another index name.  If this message arose
 during an IMPORT operation, submit an SPR with a copy of the
 Rdb/VMS interchange file (.RBR) that caused the error.

INDNOEXI

 index <str> does not exist in this database

 Explanation:  The index you attempted to change was not found.

 User Action:  Check the name of the storage map using the SHOW
 command and try again to change it.

INTEGDBDIF

 Database filespec must equate to filespec <str> recorded in CDD

 Explanation:  The INTEGRATE database filespec and the filespec
 recorded with the dictionary database definitions found at the
 specified pathname refer to different databases.

 User Action:  Reissue the command with a filespec that
 corresponds to the database referenced in the data dictionary,
 or with a different pathname.

INTEGFRFAIL

 attempt to INTEGRATE FROM nonexistent CDD entity <str>

 Explanation:  The data dictionary entity required for INTEGRATE
 FROM does not exist.

 User Action:  Respecify a path that points to an existing data
 dictionary entity.

INTONOTALW

 INTO RELATION clause is not allowed in this context

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION or
 REPLICATION transfer, you have specified an INTO RELATION
 clause.

 User Action:  Reenter the DEFINE TRANSFER statement by not
 specifying an INTO RELATION clause.

INTSYNERR

 <str> <str>

 Explanation:  This message is used by the interpreter to put the
 line with the syntax error into the message vector.

 User Action:  Call RDB$SIGNAL and find the syntax error.

INVCHAINP

 invalid character in input

 Explanation:  The input contains an illegal or unrecognizable
 character.

 User Action:  Correct the source text and resubmit the job.

INVCHANUMSTR

 invalid character in numeric string

 Explanation:  The string appears to be a numeric literal.
 However, it contains one or more illegal characters.

 User Action:  Correct the source text and resubmit the job.

INVCONS

 unable to IMPORT constraint <str>

 Explanation:  Internal error - the named constraint will not
 appear in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.  In the meantime,
 you can redefine this constraint explicitly.

INVDBKREF

 invalid use of a database key

 Explanation:  Dbkeys cannot be used in an RSE except to check
 for equality or non-equality with a dbkey fetched from the
 database.

 User Action:  Correct the problem and try the operation again.

INVDBSFIL

 inconsistent storage area file <str>

 Explanation:  The indicated storage area file is inconsistent
 with the root file.  This might happen if you have improperly
 used any unsupported methods for backing up or restoring files,
 for instance COPY or RENAME.  This can also happen if you tried
 to use an old root file -- one whose storage area file names
 have been re-used for another database.

 User Action:  Restore the correct storage area file or delete
 the obsolete root file.

INVFLD

 unable to IMPORT field <str>

 Explanation:  Internal error - the named field will not appear
 in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.

INVFLDPRO

 invalid protection defined for field, only MODIFY allowed

 Explanation:  Only MODIFY may be specified for field protection.

 User Action:  Do not specify field privileges other than MODIFY.

INVFLDSIZE

 specified invalid field size

 Explanation:  You specified an illegal field size.

 User Action:  Please specify a field size between 0 and 32768
 exclusive.

INVHEADER

 invalid file header record

 Explanation:  An invalid file header record was read from the
 file.

 User Action:  Check the file specification and try again.

INVINDEX

 unable to IMPORT index <str>

 Explanation:  Internal error - the named index will not appear
 in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.  In the meantime,
 you can recreate this index explicitly.

INVNODESIZE

 invalid node size parameter specified

 Explanation:  The command specified a number for a node size
 which was invalid.  It was either less than or equal to zero or
 greater than 32768.

 User Action:  Review the command and respecify using a node size
 within the above range (but big enough to meet the
 implementation requirements).

INVNOTDON

 no DATABASE invoked yet, please issue a DATABASE command

 Explanation:  You must invoke a database before you issue an RDO
 statement.  can be executed.

 User Action:  Invoke the database, and then issue the RDO
 statement.

INVPERCENTFILL

 invalid percent fill parameter specified

 Explanation:  The command specified a number for a percent fill
 which was invalid.  It was either less than or equal to zero or
 greater than 100.

 User Action:  Review the command and respecify using a percent
 fill within the above range.

INVPRIVNAMES

 invalid privilege names specified in message file

 Explanation:  The names specified in PRIV_NAMES0 and PRIV_NAMES1
 were incorrect in some way.

 User Action:  Submit an SPR or contact your support center.

INVRELVIEW

 unable to IMPORT relation or view <str>

 Explanation:  Internal error - the named relation or view (and
 its data) has been lost.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.

INVSEGSTRATR

 invalid segmented string attribute

 Explanation:  You specified a MISSING VALUE or VALID IF clause
 along with a segmented string data type.

 User Action:  You should respecify the data definition statement
 without the MISSING VALUE or VALID IF clauses.

INVSTOMAP

 storage map is invalid as specified

 Explanation:  You specified an invalid storage map.

 User Action:  Review the command and issue it correctly.

INVTRG

 unable to IMPORT trigger <str>

 Explanation:  Internal error - the named trigger will not appear
 in the recreated database.

 User Action:  Submit an SPR with a copy of the Rdb/VMS
 interchange file (RBR) that caused the error.  In the meantime,
 you can redefine this trigger explicitly.

INV_ROOT

 database file has illegal format

 Explanation:  You attempted to use a file that is not a database
 file.

 User Action:  Check the file specification and try again.

IOERROR

 an unexpected I/O error occurred

 Explanation:  Unable to read any more of the Rdb/VMS interchange
 file (RBR); part of the database may be imported.

 User Action:  Correct the problem indicated by the message that
 follows this message and retry the operation.

JUNONLIN

 extraneous characters found after the end of the statement

 Explanation:  You typed extra characters after the end of the
 statement.

 User Action:  Check statement syntax for correct statement
 termination.

LANFILEXT

 <str> is the language file extension, please use another
 extension

 Explanation:  The input file type you specified to the
 preprocessor is the same file type as the output file type.

 User Action:  Rename the file with the default file
 specifications and run the preprocessor again.  Refer to the
                                    ___ _______ _____ __
 default file specifications in the VAX Rdb/VMS Guide to
 ___________
 Programming.

LCKCNFLCT

 lock conflict on <str>

 Explanation:  The operation you attempted failed because another
 run unit is holding a lock in a mode that conflicts with the
 lock mode you needed.

 User Action:  Wait for the other run unit to finish.  Use
 ROLLBACK or COMMIT to release all your locks and retry the
 transaction, or specify that you want to wait on lock conflicts.

LENMISMAT

 truncating right hand side string for assignment to field <str>

 Explanation:  You executed a STORE or MODIFY statement, and the
 string on the right hand side of the equation is longer than the
 string on the left.

 User Action:  The message is just a warning.  You can issue a
 MODIFY statement to correct the store or a ROLLBACK statement to
 terminate the transaction.

LHSNOTDBN

 the left hand side of the assignment expression is not a DB
 name

 Explanation:  The left side of an assignment expression in a
 STORE or MODIFY statement must be a field name qualified by a
 context variable.  Example:  P.CITY

 User Action:  Use a qualified database field name in the left
 side of an assignment expression.

LHSNOTVAR

 the left hand side of the assignment expression is not a
 variable

 Explanation:  The left side of an assignment expression in a GET
 command must be a host variable.  For preprocessed statements,
 the variable must be a host language variable.  For Callable
 RDO, the variable must be "!VAL".

 User Action:  Use a host variable in the left side of an
 assignment expression.

LOGAIJBCK

 backed up <num> committed transaction(s) at <time>

 Explanation:  The specified number of committed transactions
 were successfully backed up from the after-image journal file.
 This count does not include transactions that rolled back.

LOGCREOPT

 created optimized after-image journal file <str>

 Explanation:  This message indicates the action taken on a
 specific file.

LOGMODSPM

 modified <num> spam page(s)

 Explanation:

LOGMODSTO

 modifying storage area <str>

 Explanation:  The parameters of a storage area are in the
 process of being modified.

LOGRECOVR

 <num> transaction(s) <str>

 Explanation:  Database recovery was successful.  The specified
 number of transactions were re-applied to the database, ignored
 or rolled back.

 User Action:  None.

LOGRECSTAT

 transaction with TSN <num> <str>

 Explanation:  During roll-forward, this message is displayed
 every time a transaction is committed, rolled back, or ignored.

LOGRESOLVE

 blocked transaction with TSN <num> <str>

 Explanation:  When a blocked transaction is resolved, this
 message is displayed every time the transaction is committed,
 rolled back, or ignored.

LOGSUMMARY

 total <num> transaction(s) <str>

 Explanation:  Database recovery was successful.  The specified
 total number of transactions were re-applied to the database,
 ignored or rolled back.

 User Action:  None.

LOOK_FOR

 syntax error, looking for <str>, found <str> instead

 Explanation:  The syntax expected a specific keyword, but you
 entered another.

 User Action:  Check the syntax and reenter the correct keyword.

LOOK_FOR_CON

 <str>

 Explanation:  This message is used for listing syntactically
 legitimate alternatives.

 User Action:  Consider options from the list.

LOOK_FOR_FIN

 found <str> instead

 Explanation:  This terminates the list of syntactically valid
 alternatives and should give you an idea of what has happened.

 User Action:  Reenter the statement, or use EDIT to correct it.

LOOK_FOR_STT

 syntax error, looking for:

 Explanation:  The syntax expected a list of things, list
 follows.

 User Action:  Consider options from the list.

LOOK_FOR_UNTERM

 syntax error, looking for <str>, found <str> instead

 Explanation:  This is issued with a RDO-F-BUGCHK because it
 indicates that a severe error has occurred in the syntax tables.

 User Action:  Record the exact command line as typed (use EDIT
 to write it to a file), and submit an SPR.  Then consider
 finding a workaround.

MAXFLDPRTSTR

 maximum number of fields in a print star relation is <num>

 Explanation:  You used a PRINT <context variable>.* for a
 relation that has too many fields.

 User Action:  Name the fields explicitly in the PRINT statement.

MAXLINLEN

 maximum allowed line_length is <num> bytes

 Explanation:  You entered a line length that exceeds the limit.

 User Action:  Choose a smaller length.

MAXNESEXC

 maximum statement nesting level is exceeded

 Explanation:  You exceeded the maximum nesting of FOR and
 START_STREAM statements.

 User Action:  Reduce the nesting level.

MAXRELEXC

 maximum number of relations in an RSE has been exceeded

 Explanation:  You exceeded the maximum number of relations in an
 RSE.  There are too many CROSS clauses.

 User Action:  Reduce the number of CROSS expressions.

MAXVOLLABEXC

 maximum size of volume label is <num>

 Explanation:  You entered a name for a volume label that exceeds
 the limit for a journal file name.

 User Action:  Choose a smaller name.

MISMMORDD

 missing either month or day field in date string

 Explanation:  The date string must contain the month and day
 field.  If it does not, it will not be converted to the DATE
 data type.

 User Action:  Re-enter the DATE data item having both the month
 and day fields.

MONFLRMSG

 failure message received from the monitor

 Explanation:  An error happened in the monitor process.  The
 user process received the error message.

 User Action:  Examine the monitor log on the node where the user
 program was running to see messages relating to the monitor
 error.

MONMBXOPN

 monitor is already running

 Explanation:  The monitor has already been started by another
 user.

 User Action:  None.

MONSTOPPED

 database monitor process is being shut down

 Explanation:  The request you made could not be completed
 because the database monitor process is being shut down.

 User Action:  Examine the database monitor log file
 (SYS$SYSTEM:*MON.LOG) for more information.

MULSPECATR

 attribute is specified redundantly

 Explanation:  You specified a field attribute more than once.
 Because Rdb/VMS cannot determine which attribute to use, it
 rejects it.

 User Action:  Respecify the data definition statement without
 the redundant clauses.

MUSINVPATH

 cannot DEFINE FROM CDD unless database invoked by pathname

 Explanation:  You requested that a field or relation be defined
 from the CDD but no CDD has been attached via an INVOKE by
 PATHNAME.

 User Action:  INVOKE the database by PATHNAME, then respecify
 the definition.

MUSTRECDB

 database must be closed or recovered

 Explanation:  The operation can be done only on databases that
 are closed and recovered.

 User Action:  Use the CLOSE command if an OPEN was performed.
 Recovery, if required, can be forced by opening the database.
 If other users are accessing the database, you must wait for
 them to finish.

MVRELABSNT

 no MOVE RELATION clause is specified in an EXTRACTION ROLLUP
 transfer

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have not specified any MOVE RELATION
 clause.

 User Action:  Since a MOVE RELATIONS ALL clause is not allowed
 in this context, you have to explicitly specify the MOVE
 RELATION clauses.  Reenter the DEFINE TRANSFER statement by
 specifying the MOVE RELATION clauses explicitly.

NOAGGALL

 aggregate expressions are not allowed in MOVE RELATION clauses

 Explanation:  You entered a MOVE RELATION clause that contained
 an aggregate expression.  Only an operator, literal value, or
 field name are allowed in a MOVE RELATION clause.

 User Action:  Check the VAX Data Distributor Handbook or the VAX
 Rdb/VMS Reference Manual for details on the MOVE RELATION
 clause.  Reenter the DEFINE TRANSFER statement with a correct
 MOVE RELATION clause.

NOAIJDEF

 no default after-image filename available

 Explanation:  A default after-image journal file name cannot be
 formed since no journal file name is presently in the database
 root.

 User Action:  Enable after-image journaling and supply a name
 for the after-image journal.

NOANYALL

 ANY and UNIQUE are not allowed in a MOVE RELATION clause

 Explanation:  You entered a MOVE RELATION clause containing ANY
 or UNIQUE.  Only an operator, literal value, or field name are
 allowed in a MOVE RELATION clause.

 User Action:  Check the VAX Data Distributor Handbook or the VAX
 Rdb/VMS Reference Manual for details on the MOVE RELATION
 clause.  Reenter the DEFINE TRANSFER statement with a correct
 MOVE RELATION clause.

NOCDD

 there is no CDD on this system, specify a filename on the
 DATABASE command

 Explanation:  Because there is no CDD running on this system,
 you cannot invoke a database using a path name.

 User Action:  Invoke the database with the database file name.

NOCDDUPDAT

 database invoked by filename, the CDD will not be updated

 Explanation:  (In RDO or Rdb$INTERPRET) You issued a data
 definition statement after invoking by file name.

 User Action:  This is a warning.  You can roll back and invoke
 the database by specifying the path name.  This ensures that
 data definitions are updated both in the data dictionary and in
 the database itself.

NOCHAR

 no character after '' in pattern

 Explanation:  A MATCH operation was in progress and the pattern
 was exhausted with the pattern quote character as the last
 character in the pattern.

 User Action:  Rewrite the expression in error to have the proper
 format.

NOCMPBYRES

 computed field !AC in relation !AC not IMPORTed

 Explanation:  You specified a computed field in your database
 that could not be imported.  Perhaps the field references other
 fields and relations that were deleted from the database by an
 older version of the software that would have permitted such a
 thing.

 User Action:  You must investigate the problem further.  The
 relation should have been properly imported except for the
 listed field.

NOCOLRES

 unable to IMPORT collating sequence <str>

 Explanation:  This collating sequence could not be imported --
 see the message that follows.

 User Action:  Correct the problem and try the operation again.

NOCONGET

 the concatenate operator cannot be used within a GET statement

 Explanation:  The concatenate operator may not be used within a
 GET statement.

 User Action:  You must do the concatenation outside of Rdb/VMS
 statements.

NOCONRES

 unable to IMPORT constraint <str>

 Explanation:  Could not import this constraint -- see the
 message that follows.

 User Action:  Correct the problem and retry the operation.

NOCREMBX

 can't create mailbox

 Explanation:  An error occurred while you attempted to create a
 mailbox.  See the secondary message for more information.

 User Action:  Correct the condition and try again.

NODATRES

 remaining data for this relation will be ignored

 Explanation:  An error occurred while you attempted to store the
 data; see the following message.

 User Action:  Correct the problem and retry the operation.

NODBHALW

 database handles are not allowed in a MOVE RELATION clause

 Explanation:  You specified a database handle for the record
 selection expression (RSE) in a MOVE RELATION clause.  Inside a
 MOVE RELATION clause, database handles are not allowed for the
 RSE.

 User Action:  Reenter the DEFINE TRANSFER statement omitting the
 database handle name.

NODBHAN

 a database handle may not be specified on this statement

 Explanation:  You specified a database handle on a statement
 that either does not or can not use one.

 User Action:  Remove the handle.

NODBK

 <num>:<num>:<num> does not point to a data record

 Explanation:  An attempt was made to fetch a record by its
 database key value, but the record has been deleted.

 User Action:  Correct the condition and try again.

NODBKALL

 database key references are not allowed in a MOVE RELATION
 clause

 Explanation:  You entered a MOVE RELATION clause that contained
 a database key or a host variable.  Only an operator, literal
 value, or field name are allowed in a MOVE RELATION clause.

 User Action:  Check the VAX Data Distributor Handbook or the VAX
 Rdb/VMS Reference Manual for details on the MOVE RELATION
 clause.  Reenter the DEFINE TRANSFER statement with a correct
 MOVE RELATION clause.

NODBNAME

 a database name was not specified on a DATABASE command

 Explanation:  You issued an INVOKE DATABASE statement that did
 not specify a database by file specification or data dictionary
 path name.

 User Action:  Check the syntax of the INVOKE DATABASE statement.

NODEVDIR

 filename does not include device and directory

 Explanation:  The file you specified did not include a device
 and directory.

 User Action:  You should always include a device and directory
 in the file specification, preferably different from the
 database device for maximum protection.

NODISTBATU

 attempt to start a distributed transaction with BATCH_UPDATE

 Explanation:  You specified attributes which cannot be used
 together, for example, batch update and distributed transaction.

 User Action:  Specify the START_TRANSACTION statement again
 without the conflicting clauses.

NODPRIRES

 Unable to import database ANSI privileges for <str>

 Explanation:  RDO could not import these ANSI privileges; see
 the message that follows.

 User Action:  Correct the problem and try the operation again.

NODUPLIVIEW

 view <str> cannot be specified more than once in a transfer
 definition

 Explanation:  You have specified a view name in both a
 move-relations-clause and in a move-views-clause.

 User Action:  Reenter the DEFINE TRANSFER statement by
 specifying the view either in a move-relations-clause or in a
 move-views-clause but not in both.

NOENTRYPT

 no entry point

 Explanation:  There is no entry point for the routine in the
 shareable image.

 User Action:  Make sure you are in the right Rdb/VMS
 environment.

NOFLDRES

 unable to IMPORT field <str>

 Explanation:  Could not import this field.  See the following
 message.

 User Action:  Correct the problem and retry the operation.

NOFPRIRES

 Unable to import ANSI privileges on field <str>.<str> for <str>

 Explanation:  RDO could not import these ANSI privileges -- see
 the message that follows.

 User Action:  Correct the problem and try the operation again.

NOFSTINREPT

 FIRST clause is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have entered a FIRST clause.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 FIRST clause in the MOVE RELATION clause.

NOIDXRES

 unable to IMPORT index <str>

 Explanation:  Could not import this index.  See the following
 message.

 User Action:  Correct the problem and retry the operation.

NOITEMDEF

 unable to define item from command line

 Explanation:  Could not define an item from the command line.
 See the following message.

 User Action:  Correct the problem and retry the operation.

NOLOCKSOUT

 no locks on this node with the specified qualifiers

 Explanation:  No locks were found on the current node that match
 the specified command-qualifiers.  This usually indicates that
 either no monitors are active on this node, or no databases are
 currently being accessed on this node.

 User Action:  If databases are active on the node, trying using
 a less restrictive set of command-qualifiers.

NOMAPRES

 unable to IMPORT storage map <str>

 Explanation:  Could not import this storage map.  See the
 following message.

 User Action:  Correct the problem and retry the operation.

NOMLTIMV

 attempt to move the relation <str> multiple times

 Explanation:  You attempted to specify the same relation name
 more than once in the MOVE clause of a DEFINE TRANSFER
 statement.  In a DEFINE TRANSFER statement, you can not move the
 same relation more than once.

 User Action:  Reenter the DEFINE TRANSFER statement omitting the
 duplicate MOVE RELATION clause.

NOMLTIMVIEW

 attempt to move the view <str> multiple times

 Explanation:  You attempted to move the named view more than
 once in a DEFINE TRANSFER statement.  This action is not
 permitted.

 User Action:  Reenter the DEFINE TRANSFER statement, specifying
 each view only once.

NOMONITOR

 database monitor is not running

 Explanation:  The database monitor process is not running.

 User Action:  Have your database administrator start the
 monitor, and try again.

NOMOREGB

 <num> global buffers not available to bind; <num> free out of
 <num>

 Explanation:  Your attempt to bind to the database failed
 because there are not enough global buffers to allow your
 process to bind to the database.

 User Action:  There are four ways to alleviate this problem.
 1)Try to bind to the same database on another node, if you are
 using a VAXcluster.  2)Wait till another user unbinds from the
 database and retry the bind.  3)Increase the number of global
 buffers used for the database.  4)Decrease the maximum number of
 global buffers any one user can use, in order to allow more
 users to bind to the database.  Please see your DBA for help.

NOMVRALL

 MOVE RELATIONS ALL clause is not allowed in an EXTRACTION
 ROLLUP transfer

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have specified a MOVE RELATIONS ALL clause.

 User Action:  Reenter the DEFINE TRANSFER statement by
 specifying each relation explicitly in a MOVE RELATION clause.

NOMVVROL

 MOVE VIEWS clause is not allowed in an EXTRACTION ROLLUP
 transfer

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have specified a MOVE VIEWS clause.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 MOVE VIEWS clause.

NONODE

 no node name is allowed in the file specification

 Explanation:  A node name was found in the file specification.
 Node names cannot be used.

 User Action:  Use a file name without a node specification.

NOOPTCUR

 cannot optimize, AIJ file <str> is the current AIJ file

 Explanation:  This message tells the user that the current AIJ
 file cannot be optimized.  This is because the optimized AIJ
 file would not be equivalent to the current AIJ file if more
 journaling was done after optimization.

 User Action:  Start a new AIJ file and then optimize the AIJ
 file in question.

NOOPTNOQUIET

 cannot optimize, AIJ file <str> backed-up via a no quiet
 point backup

 Explanation:  This message tells the user that an AIJ file which
 was backed up with a no quiet point backup, cannot be optimized.
 This is because a no quiet point backup can leave incomplete
 transactions in an AIJ file.  AIJ optimization cannot handle
 incomplete transactions within an AIJ file.

 User Action:  No user action.  This AIJ file cannot be
 optimized.

NOOPTOPT

 cannot optimize, AIJ file <str> is already optimized

 Explanation:  This message tells the user that an optimized AIJ
 file cannot be optimized again.

 User Action:  No user action.

NOOPTPRVNOQUIET

 cannot optimize, AIJ file <str> had its previous AIJ file
 backed up via a no quiet point backup

 Explanation:  This message tells the user that an AIJ file whose
 previous AIJ file which was backed up with a no quiet point
 backup, cannot be optimized.  This is because a no quiet point
 backup can leave incomplete transactions in an AIJ file.  AIJ
 optimization cannot handle incomplete transactions within an AIJ
 file.

 User Action:  No user action.  This AIJ file cannot be
 optimized.

NOOPTUNRES

 cannot optimize, AIJ file <str> has unresolved transactions,

 Explanation:  This message tells the user that the AIJ file
 being optimized has unresolved distributed transactions.  AIJ
 optimization cannot handle unresolved transactions so it must
 abort.

 User Action:  Use the original, non-optimized AIJ file if needed
 for recovery.

NOPARAMETER

 SHOW command permits no parameters

 Explanation:  The collating sequence could not be retrieved --
 see the message that follows.

 User Action:  Correct the problem and try the operation again.

NOPRECOMPSEL

 no precompiler selected

 Explanation:  You invoked the preprocessor without specifying
 the language option desired.

 User Action:  Specify a switch or file type.

NOPRIV

 no privilege for attempted operation

 Explanation:  You attempted an operation that requires VMS
 privileges and you do not have those privileges enabled.

 User Action:  Examine the secondary message for more
 information.

NOPRVMVIEW

 insufficient privilege to transfer the view <str>

 Explanation:  You attempted to transfer the named view without
 READ privilege on the view.  You must have READ privilege on the
 view to be able to transfer the view in a DEFINE TRANSFER
 statement.

 User Action:  Reenter the DEFINE TRANSFER statement excluding
 the named view.  Check the VAX Rdb/VMS Reference Manual for
 details on PROTECTION statements.

NOPRVMVREL

 insufficient privilege to transfer the relation <str>

 Explanation:  You specified a relation for which you do not have
 READ privilege.  You must have READ privilege on the relation to
 transfer the relation in a DEFINE TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement excluding
 the named relation.  Check the VAX Rdb/VMS Reference Manual for
 details on PROTECTION statements.  Also consult your database
 administrator.

NOPRVREPLI

 insufficient privilege to define a replication transfer

 Explanation:  You attempted to define a replication transfer
 without DEFINE privilege on the source database.  To define a
 replication transfer, you must have DEFINE privilege on the
 source database.

 User Action:  Check the VAX Rdb/VMS Reference Manual for details
 on PROTECTION statements.  See your database administrator to
 obtain DEFINE privilege.

NOPRVROLMVR

 insufficient privilege to transfer the relation <str>.<str>

 Explanation:  You specified a relation for which you do not have
 READ privilege in the specified database.  You must have READ
 privilege on the relation to transfer the relation in a DEFINE
 TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement excluding
 the named relation.  Check the VAX Rdb/VMS Reference Manual for
 details on PROTECTION statements.  Also consult your database
 administrator.

NOREDINREPT

 REDUCE clause is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have entered a REDUCE clause.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 REDUCE clause in the MOVE RELATION clause.

NORELRES

 unable to IMPORT relation <str>

 Explanation:  Could not import this relation.  See the following
 message.

 User Action:  Correct the problem and retry the operation.

NOREMVER

 remote node or version number is not allowed in a log file name

 Explanation:  You used a node name or a version number in the
 log file specification of a DEFINE TRANSFER statement.

 User Action:  Reenter the DEFINE TRANSFER statement using a log
 file specification which contains neither a node name nor a
 version number.

NOREQHAN

 a request handle may not be specified on this statement

 Explanation:  You specified a request handle on a statement that
 does not use one.

 User Action:  Remove the handle.

NORPRIRES

 Unable to import ANSI privileges on relation <str> for <str>

 Explanation:  RDO could not import these ANSI privileges -- see
 the message that follows.

 User Action:  Correct the problem and try the operation again.

NORTUPB

 no more user slots are available in the database

 Explanation:  The maximum number of users are already accessing
 your database.

 User Action:  Try again later.

NOSEGSTRAREA

 segmented string storage area <str> is not defined

 Explanation:  You specified a storage area in the SEGMENTED
 STRING STORAGE AREA clause that does not exist.

 User Action:  Specify a storage area which is already defined in
 the DEFINE DATABASE statement.

NOSELALL

 SELECT FIELDS ALL clause is not allowed in an EXTRACTION
 ROLLUP transfer

 Explanation:  In a DEFINE TRANSFER statement of an EXTRACTION
 ROLLUP transfer, you have specified a SELECT FIELDS ALL clause.

 User Action:  Reenter the DEFINE TRANSFER statement by
 specifying each field explicitly in the SELECT FIELDS clause.

NOSIP

 transaction is not a snapshot transaction

 Explanation:  You have already started a transaction that is not
 a snapshot transaction.

 User Action:  Use COMMIT or ROLLBACK to terminate your current
 transaction.  Use READY BATCH RETRIEVAL to start a new snapshot
 transaction.

NOSNAPS

 snapshots are not allowed or not enabled for area <str>

 Explanation:  Snapshots are not allowed or not enabled for this
 area.

 User Action:  This is a normal situation created by the database
 definition or by a change or modify database command.  Check
 with your DBA to make sure this situation is desirable.

NOSORTINREPT

 SORT clause is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have entered a SORT clause.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 SORT clause in the MOVE RELATION clause.

NOSTATS

 statistics are not enabled for !AD

 Explanation:  An attempt was made to show statistics for a
 database that currently has statistics collection disabled.

 User Action:  Enable statistics and try again.

NOSUCHDATEFMT

 format DATE <num> does not exist

 Explanation:  You entered DATE date-number where the logical
 LIB$DATE_FORMAT_nnn does not exist.

 User Action:  Contact the system manager to install the date
 formats.

NOSUCHLANG

 specified language not defined on this system

 Explanation:  You entered the SET LANGUAGE statement, but the
 logical name table LNM$LANGUAGE_xxx does not exist.

 User Action:  Contact your system manager to make sure
 everything has been set up properly; the language may not be
 supported, or the language may have been spelled incorrectly.
 The language name cannot be abbreviated.

NOSUCHTIMEFMT

 format TIME <num> does not exist

 Explanation:  You entered TIME time-number where the logical
 LIB$TIME_FORMAT_nnn does not exist.

 User Action:  Contact the system manager to install the
 date/time formats.

NOSUPREPLI

 replication transfer is not supported for this source database

 Explanation:  You attempted to define a replication transfer on
 a source database which is not an Rdb/VMS database.  Replication
 transfers can be defined only for Rdb/VMS databases.  For other
 databases you can define only extraction transfers.

 User Action:  If your source database is not an Rdb/VMS
 database, define an extraction transfer.

NOTAVIEW

 <str> is not a view

 Explanation:  The name you specified in a MOVE VIEWS clause is
 not the name of a view.

 User Action:  Retype the DEFINE TRANSFER command with the
 correct view name.

NOTBOOL

 expression in AND, OR, or NOT was not a Boolean

 Explanation:  The Boolean evaluator was processing an expression
 or subexpression of the form "A AND B", "A OR B", or "NOT A".
 Either the "A" or the "B" expression was not in the proper form.
 The correct forms are "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X
 GT Y", "X LE Y", "X GE Y", "X CONTAINS Y", or "X MATCHES Y".
 The operand of NOT, and both sides of AND and OR expressions
 must be Boolean expressions.

 User Action:  Rewrite the expression in error to have the proper
 format.

NOTDSKFIL

 filename does not specify disk device type

 Explanation:  A filename was specified which does not reference
 a disk oriented device type.

 User Action:  Check the filename for a proper disk device type.

NOTENUFHV

 not enough host variables passed; <num> passed, at least
 <num> used

 Explanation:  You did not pass enough host variables to
 RDB$INTERPRET.  For RDB$INTERPRET, there were more !VALs in the
 command string than host variable descriptors passed.  If one
 more host variable is detected by the parser than was passed,
 parsing stops.  There could be more host variables used than the
 error message specifies.

 User Action:  Supply matching number of host variables and
 !VALs.

NOTEXPSEG

 cannot assign an expression to RDB$VALUE or RDB$LENGTH

 Explanation:  Your preprocessor does not support assigning an
 expression value to RDB$VALUE or RDB$LENGTH.

 User Action:  You can work around this problem by assigning the
 value of the expression to a temporary variable.  Then assign
 the temporary variable value to RDB$VALUE or RDB$LENGTH.

NOTFOUND

 No rows were found for this statement

 Explanation:  No rows were found for an UPDATE or DELETE
 statement, or a query produced an empty table.

 User Action:  None, this is a warning message.

NOTIMPLYET

 feature is not implemented yet

 Explanation:  You attempted to access a feature that has been
 planned but has not been implemented yet.

 User Action:  Avoid this feature.

NOTIP

 no transaction in progress

 Explanation:  You attempted to execute a DML verb, but there is
 no transaction in progress yet.

 User Action:  Execute a READY statement before executing any
 other DML statements.

NOTRANAPP

 no transactions in this journal were applied

 Explanation:  This journal file contains transactions that
 cannot be applied to the specified backup of the database.

 User Action:  Be sure you are using the correct database backup
 and journal file.

NOTREQSTA

 not a request statement.  Can only use request options on
 request statement

 Explanation:  You attempted to use a REQUEST_HANDLE or
 TRANSACTION_HANDLE clause in a statement that was not a request
 statement.  Request options are not necessary on statements that
 are not request statements.

 User Action:  Put the handle option clause in the request
 statement.

NOTRGRES

 unable to IMPORT trigger <str>

 Explanation:  This trigger could not be imported -- see the
 message that follows.

 User Action:  Correct the problem and try the operation again.

NOTROOT

 not a root file

 Explanation:  The specified file is not a database root file.

 User Action:  Specify a database root file and try again.

NOTSEGSTR

 context variable <str> does not reference a segmented string

 Explanation:  You attempted to use a context variable with
 RDB$VALUE or RDB$LENGTH, and the context variable does not refer
 to a segmented string field.

 User Action:  Use a context variable defined for a segmented
 string with RDB$VALUE and RDB$LENGTH.

NOTSYSCONCEAL

 non-system concealed device name in filename

 Explanation:  Concealed device name must be defined in the
 system logical table.

 User Action:  If the device name has to be concealed, then
 define it in the system logical table.

NOT_BOUND

 database is not bound

 Explanation:  You have not bound to a database yet, or you have
 unbound the database and have not bound to another one yet.

 User Action:  Bind to a database before continuing.

NOT_INSTALLED

 <str> is not installed

 Explanation:  The product is not installed on the system.

 User Action:  The named product must be installed before the
 attempted statement can be successfully executed.

NOT_LARDY

 area for <num>:<num>:<num> not in proper ready mode

 Explanation:  You attempted to access a logical area for which
 you have not declared your intentions.

 User Action:  Retry ready operation later.

NOT_READY

 storage area <str> not readied

 Explanation:  You attempted to access an area for which you have
 not declared your intentions.

 User Action:  If the area is included in your subschema, you can
 use the READY statement to prepare it for processing.

NOT_UPDATE

 storage area <str> not readied in update usage mode

 Explanation:  You attempted to modify the contents of an area
 without having declared your intentions.

 User Action:  If you have not readied the area yet, you can
 READY for UPDATE.  If you have already readied it, you must
 abort your transaction by executing a ROLLBACK before you can
 READY for UPDATE.

NOUPDCOMP

 can not update computed by field, <str>

 Explanation:  You tried to store or modify a COMPUTED BY field.
 This is not allowed.

 User Action:  Restate the update removing the COMPUTED BY field.

NOVIERES

 unable to IMPORT view <str>

 Explanation:  Could not import this view -- see the message that
 follows.

 User Action:  Correct the problem and retry the operation.

NOVIEWINREPT

 view <str> is not allowed in MOVE RELATION clause of a
 REPLICATION transfer

 Explanation:  In the MOVE RELATION clause of a REPLICATION
 TRANSFER definition you have specified a view.

 User Action:  Reenter the DEFINE TRANSFER statement without the
 view in the MOVE RELATION clause.  The view definition can be
 moved by specifying the view in the MOVE VIEWS clause.

NOWILD

 no wild cards are allowed in the file specification

 Explanation:  Wild card characters ("*" and "%") cannot be used
 in that file specification.

 User Action:  Use a file specification without wild card
 characters.

NOWORMSPT

 WORM areas are not supported in VAX DBMS

 Explanation:  An attempt was made to declare an area as having
 the WORM attribute.  At this time, there is no support for this
 in VAX DBMS.

 User Action:  Submit a Software Problem Report (SPR).

NO_CROSEG

 no CROSS clause may be used with a segmented string
 specification

 Explanation:  You attempted to use a CROSS clause with a
 segmented string specification.  This is not permitted.

 User Action:  Remove the CROSS clause.

NO_FILFND

 file <str> not found for input to the precompiler

 Explanation:  You attempted to open a nonexistent file.

 User Action:  Check the file specified.  Supply complete file
 specification.

NO_FIRSEG

 no FIRST clause may be used with a segmented string
 specification

 Explanation:  You attempted to use a FIRST clause with a
 segmented string specification.  This is not permitted.

 User Action:  Remove the FIRST clause.

NO_MORSEG

 there are no more segments in this segmented string

 Explanation:  You attempted to print or get a segment from a
 segmented string and the last segment has already been read.

 User Action:  This is a normal case.  You have retrieved the
 entire segmented string.

NO_PERBLO

 no periods are permitted within a FOR or an ON ERROR block

 Explanation:  COBOL does not permit periods between the PERFORM
 and END_PERFORM block, or the IF and END_IF block that the
 preprocessor generates.

 User Action:  Remove the period from the end of the DML
 statement within the FOR or ON ERROR block.

NO_REDSEG

 no REDUCED TO clause may be used with a segmented string
 specification

 Explanation:  You attempted to use a REDUCED TO clause with a
 segmented string specification.  This is not permitted.

 User Action:  Remove the REDUCED TO clause.

NO_SORSEG

 no SORTED BY clause may be used with a segmented string
 specification

 Explanation:  You attempted to use a SORTED BY clause with a
 segmented string specification.  This is not permitted.

 User Action:  Remove the SORTED BY clause.

NO_SUCH_FIELD

 field, <str>, does not exist in this database

 Explanation:  You specified a field that does not exist in the
 database.

 User Action:  Check database entity definitions for the valid
 database field name.

NO_TXNOUT

 no transaction outstanding

 Explanation:  You attempted to terminate a transaction with a
 COMMIT or a ROLLBACK when no transaction was outstanding.

 User Action:  Enter a START_TRANSACTION statement before COMMIT
 or ROLLBACK.

NO_WITSEG

 no WITH clause may be used with a segmented string
 specification

 Explanation:  You attempted to use a WITH clause with a
 segmented string specification.  This is not permitted.

 User Action:  Remove the WITH clause.

NULLNOIND

 tried to store null into host variable with no indicator
 variable

 Explanation:  Null values can only be stored in host variables
 which have indicator variables.

 User Action:  Add an indicator variable to the host variable
 reference or make sure that no null values can be returned to
 it.

ONLFIRVAR

 only first variable in qualified variable expression

 Explanation:  COBOL allows only the first variable in a
 qualification to be an array.  The preprocessors do not
 recognize the arrays of arrays in FORTRAN, COBOL or BASIC.

 User Action:  Rewrite the query and check the appropriate
 reference manual.

ONLONEDB

 only one database can be referenced in an RSE or an expression

 Explanation:  You cannot use database variables from more than
 one database in an RSE or in an expression.  You can, however,
 refer to variables from one database in an expression and refer
 to variables in another database in a STORE or a MODIFY
 statement.  Nested FOR statements may refer to different
 databases in the RSEs of each FOR statement.

 User Action:  Use separate statements or nested FOR loops for
 multiple database access.

ONLONERED

 only one REDUCE clause can appear in an RSE

 Explanation:  You included more than one REDUCED TO clause in
 the RSE.  This is not permitted.

 User Action:  Specify all reduce expressions in one reduce list.

ONLONEREQ

 only one request handle may be specified on a STMT

 Explanation:  You included more than one REQUEST_HANDLE in your
 statement.  Only one is permitted.

 User Action:  Use only one REQUEST_HANDLE.  You may have
 intended to use a TRANSACTION_HANDLE.

ONLONESOR

 only one SORT clause can appear in an RSE

 Explanation:  You included more than one SORTED BY clause in
 your RSE.  This is not permitted.

 User Action:  Specify all sort expressions in one sort list.

ONLONETRA

 only one transaction handle may be specified on a STMT

 Explanation:  You included more than one TRANSACTION_HANDLE in
 your statement.  Only one TRANSACTION_HANDLE is permitted.

 User Action:  Use only one TRANSACTION_HANDLE.  You may have
 intended to use a REQUEST_HANDLE.

ONLONETRN

 only one transaction allowed at a time

 Explanation:  You attempted to use more than one transaction.
 Only one transaction is allowed at a time.  Note that RDO does
 an implicit START_TRANSACTION on the first DML statement.

 User Action:  A COMMIT or ROLLBACK terminates a transaction.

ONLONEWIT

 only one WITH clause can appear in an RSE

 Explanation:  You included more than one WITH clause in the RSE.
 This is not permitted.

 User Action:  Specify all Boolean expressions in one WITH
 clause.

ONLYONEPSECT

 only one PSECT statement per module is supported

 Explanation:  You attempted to use more than one PSECT directive
 per module.  The PSECT directive may only be used once per
 module.

 User Action:  Decide which PSECT statement is really desired and
 delete all others.

OPENERR

 unable to open <str> as the interchange file

 Explanation:  Could not access the Rdb/VMS interchange file
 (RBR).

 User Action:  Correct the problem indicated by subsequent
 messages and retry the operation.

OPERCLOSE

 database operator requested database shutdown

 Explanation:  Your program has been terminated because the
 database operator shut down the database you were using.

 User Action:  Try again later after the database shutdown is
 complete.

OPERSHUTDN

 database operator requested monitor process shutdown

 Explanation:  Your program has been terminated because the
 database operator shut down the database monitor process.

 User Action:  Try again later after the database shutdown is
 complete.

OPRSTK_OVRFLO

 operator stack overflow

 Explanation:  The internal limit of the parsing operator stack
 was exceeded.

 User Action:  Submit an SPR with the query that caused the
 error.

OPTINCONSIS

 optimized AIJ file is inconsistent with the database

 Explanation:  This message tells the user that the database
 and/or some areas within the database are not consistent with
 the optimized AIJ file.  This means the last transaction
 committed to the database and/or some database areas is not the
 same as the last transaction committed to the database at the
 time the optimized AIJ file's original AIJ file was created.  To
 use an optimized AIJ file for recovery, it must be consistent
 with the database and all areas.

 User Action:  Use the original, non-optimized AIJ file to do the
 recovery.

OPTNOAREAREC

 cannot do by area recovery with an optimized AIJ file

 Explanation:  This message tells the user that a recover by area
 operation was attempted with an optimized AIJ file.  Optimized
 AIJ files do not support recovery by area so the recovery
 operation was aborted.

 User Action:  Use the original, non-optimized AIJ file to do the
 by area recovery.

OPTNOUNTILREC

 cannot do a /RECOVER/UNTIL with an optimized AIJ file

 Explanation:  This message tells the user that a recover
 operation specifying an "until" time is not allowed with an
 optimized AIJ file.  No recovery is performed if this condition
 is specified.

 User Action:  Use the original, non-optimized AIJ file to do the
 /RECOVER/UNTIL operation.

OVERFLOW

 data conversion overflow

 Explanation:  A loss of information would have occurred on a
 data item transformation.  The operation was not performed.

 User Action:  Correct the error and try again.

PARSE_STACK_OVERFLOW

 parse stack overflow

 Explanation:  The internal limits of the parsing stack were
 exceeded.

 User Action:  Submit an SPR with the query that caused the
 error.

PARTDTXNERR

 error trying to participate in a distributed transaction

 Explanation:  Unable to participate in the DECdtm distributed
 transaction due to a DECdtm error.  This error is returned in
 the secondary error message.

 User Action:  Look at the secondary error message and make the
 necessary correction and retry.

PATHREQCDD

 a pathname is specified but no CDD is available

 Explanation:  The statement entered specifies a CDD pathname,
 but there is no CDD available for use (may not be installed).

 User Action:  Choose a statement or statement option that does
 not specify a pathname, or check with the system administrator
 to determine why the CDD is not available.

PLACENEEDGET

 PLACE operator must fetch data

 Explanation:  A PLACE statement has been used without a GET or
 PRINT statement.  PLACE must retrieve something from the
 database, usually a dbkey.

 User Action:  Use the GET or PRINT statement to retrive the
 appropriate dbkey.

PREMATURE_EOF

 statement is syntactically incomplete

 Explanation:  You entered a syntactically incomplete statement.

 User Action:  Complete the statement before pressing RETURN.

PREMEOF

 premature end of file encountered in <str>

 Explanation:  A premature end-of-file was encountered while
 reading the specified file.

QIOXFRLEN

 data transfer length error - expected <num>, actual <num>

 Explanation:  The expected data transfer length was not equal to
 the actual data transfer length.

 User Action:  This is usually caused by a hardware problem.

QUIETPT

 waiting for database quiet point

 Explanation:  User is waiting for the quiet lock in order to
 force a database quiet point.

 User Action:  None.

RDORECOBS

 RECOVER command is obsolete, please use RMU/RECOVER

 Explanation:  You requested that an RDO RECOVER statement be
 executed.  This statement is no longer supported in RDO.

 User Action:  Use the RMU/RECOVER command instead.

READ_ONLY

 Read only area <str> must be readied in RETRIEVAL mode only

 Explanation:  A read only area can be readied in RETRIEVAL mode
 only.

 User Action:  Ready this area for retrieval or make the area
 read-write.

REANOWRT

 a READ_ONLY transaction cannot specify write locks

 Explanation:  You specified a READ_ONLY transaction and a
 relation was locked for write access.  This is a conflict of
 access modes.

 User Action:  Start a transaction READ_WRITE or use a read lock.
 Note, the default is always READ_ONLY.

REFSEGSTR

 reference to segmented string <str> must use RDB$VALUE or
 RDB$LENGTH

 Explanation:  You attempted to use a context variable that was
 defined in a segmented string RSE with a field name that was
 neither RDB$VALUE or RDB$LENGTH.  You can only use RDB$VALUE or
 RDB$LENGTH to refer to a segmented string.

 User Action:  Use either <context-variable>.RDB$VALUE or
 <context-variable>.RDB$LENGTH, where context variable is the one
 defined in the segmented string RSE.

RELAMBIG

 the relation <str> was not qualified and is in multiple
 databases

 Explanation:  You must qualify the database with relation names
 when accessing more than one database containing that relation.

 User Action:  Make sure the INVOKE statements include
 qualifiers, and retype the query using the appropriate
 qualifier.

RELNOTDEF

 relation <str> is not defined in database

 Explanation:  The specified relation does not exist in the
 current database.

 User Action:  Invoke the correct database.  Spell the relation
 name correctly.  You may have specified a name other than a
 relation name.

REL_EXISTS

 relation <str> already exists in this database

 Explanation:  You attempted to define a relation with the name
 of an existing relation.

 User Action:  Choose a different name.

REMNOTALW

 a remote source database is not allowed to be replicated

 Explanation:  You were attached to a database which is on a
 remote node when you tried to define a replication mode transfer
 using the DEFINE TRANSFER statement.

 User Action:  Define an extraction transfer instead.

REORGONLCHSM

 REORGANIZE may only be used in CHANGE STORAGE MAP

 Explanation:  You specified the REORGANIZE keyword in a
 statement other than the CHANGE STORE MAP statement.

 User Action:  Specify the REORGANIZE keyword only in the CHANGE
 STORAGE MAP statement.  There is no REORGANIZE keyword in the
 DEFINE STORAGE MAP statement.

RESABORT

 terminating the IMPORT operation

 Explanation:  The IMPORT operation has been aborted; see the
 messages preceding this one.

 User Action:  None.

RESERVED_WORD

 <str> is a keyword; it cannot be used as a name

 Explanation:  You entered a keyword where a name was expected.

 User Action:  Specify a unique name instead of the keyword.

RESTART

 restarted recovery after ignoring <num> committed
 transaction(s)

 Explanation:  The specified number of committed transactions did
 not apply to this database root.  All subsequent transactions
 were applied.

 User Action:  None.

RETMODSPC

 only one retain mode may be specified for a transaction

 Explanation:  You specified two transaction modes in a
 START_TRANSACTION statement.

 User Action:  Specify only one transaction mode in a
 START_TRANSACTION statement.

ROOMAJVER

 root major version is incompatible with the DBCS

 Explanation:  Your database was created with an incompatible
 version of the software.

 User Action:  Your database cannot be used with the version of
 the software you have installed on your machine.

ROOTMAJVER

 database format <num>.<num> is not compatible with software
 version <num>.<num>

 Explanation:  Your database was created with an incompatible
 version of the software.

 User Action:  Your database cannot be used with the version of
 the software you have installed on your machine.

RSENOTSEG

 the RSE in a START_SEGMENTED_STRING does not reference a
 segmented string

 Explanation:  The START_SEGMENTED_STRING record selection
 expression refers to a real record stream instead of a segmented
 string field.  START_SEGMENTED_STRING may refer only to
 segmented strings.

 User Action:  Use a segmented string field in the RSE portion of
 the START_SEGMENTED_STRING command.

RTOCMDILL

 requested command is not supported in runtime-only or remote
 environment

 Explanation:  You issued a statement that is not supported in a
 run-time-only or remote system (such as DEFINE FIELD).

 User Action:  You may have to move your database to a system
 that has a development system to do this task.

RUJDEVDIR

 RUJ filename does not include device and directory

 Explanation:  The RUJ filename you specified did not include a
 device and directory.

 User Action:  You should always include a device and directory
 in the file specification, preferably different from the
 database device for maximum protection.

SCALEOPSBASIC

 cannot use scaled operands in BASIC operations

 Explanation:  You attempted to perform arithmetic operations on
 scaled data types.  This is not supported in the BASIC
 preprocessor.

 User Action:  Use simple assignment statements to convert the
 variables to the desired data types and perform operations on
 those data types.

SEGALRSTA

 segmented string <str> is already started

 Explanation:  You issued a START_SEGMENTED_STRING statement
 using a segmented string name for which a START_SEGMENTED_STRING
 statement has been issued without a corresponding
 END_SEGMENTED_STRING.

 User Action:  Issue END_SEGMENTED_STRING or use another
 segmented string.

SEGNOTSTA

 segmented string <str> is not started or created

 Explanation:  You issued an END_SEGMENTED_STRING statement using
 a name for which no corresponding START_SEGMENTED_STRING or
 CREATE_SEGMENTED_STRING was issued, or for which an
 END_SEGMENTED_STRING has already been entered.

 User Action:  Issue a START_SEGMENTED_STRING or
 CREATE_SEGMENTED_STRING statement before using
 END_SEGMENTED_STRING, or only use END_SEGMENTED_STRING once for
 each START_SEGMENTED_STRING or CREATE_SEGMENTED_STRING.

SEGOUTSCO

 segmented string <str> was used out of scope

 Explanation:  You attempted to issue an END_SEGMENTED_STRING
 command using a name that was already ended.

 User Action:  Use only one END_SEGMENTED_STRING per
 START_SEGMENTED_STRING.

SEGSTREXP

 cannot use a segmented string in an expression

 Explanation:  You attempted to use a segmented string in an
 expression.  Segmented strings may be used only in expressions
 using the MISSING operator.

 User Action:  Remove the operations on the segmented string from
 the DML query.

SELMORVAL

 the result of a singleton select returned more than 1 value

 Explanation:  A singleton select statement (SELECT...INTO) may
 only return 1 row of values.  The result table for this
 singleton select contains more than one row.

 User Action:  Either embed the SELECT statement (without the
 INTO clause) in a DECLARE CURSOR statement and process it with
 OPEN and FETCH statements, or modify the SELECT statement so it
 will return only one row.

SETWIDTH

 error setting width of terminal

 Explanation:  An error occurred while parsing a file name.

 User Action:  Examine the secondary message for more
 information.

SEVERRDET

 a severe error was detected

 Explanation:  A severe error was detected by RDO and returned to
 DCL during the execution of an RDO statement.

 User Action:  If possible, run the statement(s) again in
 interactive RDO and read any additional RDO error messages to
 determine what caused the severe error condition.  Then fix the
 error.  Remember, in a DCL command procedure containing RDO
 statements, use the $SEVERITY symbol to test for RDO$_SEVERRDET.

SFDBONLY

 <str> function restricted to Single File DataBases

 Explanation:  This function is restricted to single file
 databases.  It cannot be used with multifile databases.

 User Action:  Use the corresponding RMU function for a multifile
 database.

SHINDCIU

 Compression in use

 Explanation:  Used for SHOW INDICES.

 User Action:  None.

SHINDFLDSIZE

 size of index key is

 Explanation:  Used to display the number of characters used in
 the key for an index.  The field used for the key must be at
 least of this length.

 User Action:  None.

SHINDMAPVAL

 mapping values

 Explanation:  Uses values from <low> to <high> for minimizing
 space needed for index node.

 User Action:  None.

SHINDMAPVAL2

 to

 Explanation:  Uses values from <low> to <high> for minimizing
 space needed for index node.

 User Action:  None.

SIP

 transaction is a snapshot transaction

 Explanation:  You have already started a transaction that is a
 snapshot transaction.

 User Action:  Use READY BATCH RETRIEVAL to ready the area for
 the snapshot transaction or use COMMIT to terminate the snapshot
 transaction.

SNAPFULL

 snapshot area too full for operation

 Explanation:  You attempted to store a record in the database,
 because there was an active reader and the snapshot area in
 which the record would go is too full.

 User Action:  Modify the snapshot area extend parameter to allow
 snapshot area extension.

SORTOPERR

 a VMS SORT/MERGE operation was unsuccessful

 Explanation:  A VMS SORT/MERGE operation completed
 unsuccessfully.  See the secondary message as to what operation
 failed.

 User Action:  Fix the VMS SORT/MERGE problem and try again.

SOURCEDISC

 source code after END statement ignored

 Explanation:  There may have been source code after an end
 statement.

 User Action:  Review the program and if there was meaningful
 source code after the end statement in a precompiled module,
 separate it into another module.

SPACREQ

 a space is required before file specification

 Explanation:  A space is required to parse the begining of the
 file specification.

 User Action:  Run the preprocessor again and include a space
 before the file specification.

SPAMNOTDIS

 cannot disable SPAMs for uniform area <str>

 Explanation:  Only mixed format areas can have spams
 enabled/disabled.

 User Action:  Do not enable/disable SPAMs for uniform format
 areas.

SPAMNOTRDONLY

 cannot enable SPAMs for READ_ONLY area <str>

 Explanation:  Read only areas cannot be modified to have spams
 enabled since this involves rebuilding the SPAM pages.

 User Action:  Change area to be read write.

SPAMNOTWRM

 cannot enable SPAMs for WORM area <str>

 Explanation:  Worm areas cannot have spams enabled.

 User Action:  Do not enable SPAMs for WORM areas.

SSNOTINROOT

 <str> is not in the root file

 Explanation:  The DDCB you specified is not in the root file.
 You can see which DDCBs a root file has with the DBO/DUMP
 command.

 User Action:  Add the DDCB to your root file (DBO/MODIFY), or
 check your bind sequence and try again.

STALL

 asynchronous operation requires a stall

 Explanation:  The operation has not completed yet.

 User Action:  Check the event flag and I/O status block for
 final completion and submit and SPR..

STAREAFUL

 storage area too full for operation

 Explanation:  You attempted to store a record in the database,
 but the storage area in which the record would go is too full.

 User Action:  Modify the storage area extend parameter to allow
 storage area extension.

STARNOTALL

 invalid use of asterisk - expected field name

 Explanation:  You attempted to use a context_variable.* in a
 field-required context.

 User Action:  Supply names of fields to be referenced.

STOCONVAR

 must use the context variable, <str>, declared in the
 STORE/MODIFY.  You had <str>

 Explanation:  You used a context variable in a STORE statement
 that does not match the one declared in the RSE of the STORE
 statement.  For example:  FOR P IN PORT STORE J IN PORT USING
 P.CITY = J.CITY END_STORE END_FOR

 User Action:  Include the correct context variable in your STORE
 or MODIFY statement.

STOMAPNOEXI

 storage map <str> does not exist in this database

 Explanation:  The storage map you attempted to change was not
 found.

 User Action:  Check the name of the storage map using the SHOW
 command and try again to change it.

STOMAP_LITS

 too many fields in limit clause

 Explanation:  A DEFINE STORAGE MAP statement has specified more
 literal values as limits than corresponding fields in the USING
 clause.

 User Action:  Correct the statement.  The number of literal
 values you specify must match the number of fields in the USING
 clause.

STRALRDEC

 stream <str> is already declared

 Explanation:  You attempted to declare a stream that was already
 declared.

 User Action:  Use another stream name.

STRALROPE

 stream <str> is already opened

 Explanation:  You attempted to open a stream that was already
 open.

 User Action:  Close the open stream or use another stream name.

STRLITMISQUO

 string literal missing closing quote

 Explanation:  The string in a user assignment statement is
 missing a closing quote.

 User Action:  Insert one or more quotes as appropriate.

STRNOTDEC

 stream <str> has not been declared

 Explanation:  You attempted to open a predeclared stream that
 hasn't been declared

 User Action:  Declare the stream or use the name of a
 predeclared stream.

STRNOTOPE

 stream <str> is not opened

 Explanation:  You attempted to fetch a row from a stream that
 was not open, or you attempted to close a stream that was not
 open.

 User Action:  Issue a START_STREAM <stream-name> command before
 using FETCH.  Start a stream before closing, or close a stream
 only once after opening it.

STROUTSCO

 stream <str> was used out of scope

 Explanation:  You attempted to use a stream name outside the
 scope of the START_STREAM/END_STREAM block.  This is not
 permitted.

 User Action:  Use FETCH only within the START/END block.

SYM_EXP

 one of the following symbols was expected:

 Explanation:  You typed an unexpected keyword.

 User Action:  Type a correct keyword.

SYNTAX_ERR

 syntax error

 Explanation:  A syntax error was detected in a your RDO
 statement.

 User Action:  Correct the syntax error and retry the statement.

SYSRDONLY

 BATCH or EXCLUSIVE UPDATE access is not allowed if RDB$SYSTEM
 is read-only

 Explanation:  BATCH UPDATE and EXCLUSIVE UPDATE access do not
 update the snapshot files.  The fact that snapshots are not
 being maintained is recorded in the RDB$SYSTEM area.  Hence,
 RDB$SYSTEM may not be READ_ONLY.

 User Action:  Use another UPDATE access mode, or change
 RDB$SYSTEM to be READ WRITE.

TADMISMATCH

 journal is for database version <time>, not <time>

 Explanation:  The version time and date stamp in the root does
 not match the version time and date stamp in the journal file.
 This journal cannot be applied to this backup.

 User Action:  Use the correct journal file or backup file.

TERMINATE

 database monitor forced image exit to protect database

 Explanation:  To maintain the integrity of the database, the
 monitor forced your image exit because an unrecoverable error
 has been detected.

 User Action:  Restart your transaction.

TIMEOUT

 timeout on <str>

 Explanation:  A lock request has been canceled by the database
 management system because the request could not be granted
 within the user-specified timeout period.

 User Action:  Execute a ROLLBACK or a COMMIT to release your
 locks, and try the transaction again.

TOKTOOBIG

 symbol name is too big

 Explanation:  You entered a symbol (token) name with a length
 greater than 32 characters.  The length of a symbol name must be
 less than or equal to 32 characters.

 User Action:  Use a symbol with no more than 32 characters.

TOOBIGBLR

 request BLR would be too large to execute

 Explanation:  Your request is too large to be compiled.

 User Action:  The DML statement must be broken up into smaller
 parts.

TRAACT

 a database cannot be invoked while a transaction is active

 Explanation:  You issued an INVOKE statement while a transaction
 was still in progress.

 User Action:  You must either commit or roll back the current
 transaction or wait until the current transaction is terminated
 before invoking another database.

TRAACT_1

 a database cannot be defined while a transaction is active

 Explanation:  You issued a DEFINE DATABASE command while a
 transaction was still in progress.

 User Action:  You must either commit or roll back the current
 transaction or wait until the current transaction is terminated
 before invoking another database.

TRAACT_2

 ROLLBACK or COMMIT the transaction

 Explanation:  You are attempting an operation that cannot be
 executed while the current transaction is still in progress.

 User Action:  You must either commit or roll back the current
 transaction or wait until the current transaction is terminated
 before attempting the new database activity.

TRAACT_3

 a database cannot be deleted while a transaction is active

 Explanation:  You issued a data definition statement while a
 data manipulation transaction was still in progress.

 User Action:  Commit or roll back the data manipulation
 transaction, start a new transaction, and reissue the data
 definition statement.

TRAHDLBVAL

 transaction handle must be !VAL

 Explanation:  You specified a transaction handle name to
 RDB$INTERPRET.

 User Action:  You must use !VAL and a longword variable.

TRAHDLINV

 transaction handle datatype invalid, must be longword

 Explanation:  You specified a transaction handle to
 RDB$INTERPRET that was not a longword.

 User Action:  You must use !VAL and a longword variable.

TRAMODSPC

 only one transaction mode may be specified for a transaction

 Explanation:  You specified two transaction modes in a
 START_TRANSACTION statement.

 User Action:  Specify one transaction mode in a
 START_TRANSACTION statement.

TRANONERR1

 start_transaction not allowed in on error

 Explanation:  A START_TRANSACTION statement is not allowed in an
 ON ERROR clause.

 User Action:  The ON ERROR clause is within a request.  If a new
 transaction is desired, leave the current request and then start
 the transaction.

TRANONERR2

 must leave current request to start a new transaction

 Explanation:  A START_TRANSACTION statement is not allowed in an
 ON ERROR clause.

 User Action:  The ON ERROR clause is within a request.  If a new
 transaction is desired, leave the current request and then start
 the transaction.

TRAN_IN_PROG

 transaction in progress

 Explanation:  You attempted an operation that is allowed only
 when you have no transaction in progress.

 User Action:  Complete your transaction by executing a COMMIT or
 ROLLBACK.

TREE_OVRFLO

 tree storage overflow

 Explanation:  The internal limit of the AST tree nodes was
 exceeded.

 User Action:  Submit an SPR with the query that caused the
 error.

TRGALREXI

 trigger <str> already exists in this database

 Explanation:  The trigger name you requested is already the name
 of an existing trigger.

 User Action:  Choose a different name.

TRUE

 condition value is true

 Explanation:

TRUNCATION

 data conversion truncation error

 Explanation:  You attempted an operation that would cause loss
 of information on a data item movement.

 User Action:  Correct the error and try again.

UNBTMPFIL

 unable to open a temporary file called <str>

 Explanation:  RDO attempted to open a temporary file.  It was
 either in the default directory or the directory specified with
 the /OBJ compile qualifier.

 User Action:  Include a valid directory specification with
 protection level that allows temporary files to be created.

UNDERFLOW

 data conversion underflow

 Explanation:  You attempted an operation that would cause loss
 of information on a data item movement.

 User Action:  Correct the error and try again.

UNLCONVAR

 unlike context variables; can update only one relation at a
 time

 Explanation:  The current MODIFY or STORE statement attempts to
 update database fields in multiple relations.  Example:  "MODIFY
 USING P.EMPLOYEE_NUM = "FOO"; J.NAME = "JONES" END-MODIFY."

 User Action:  Use a separate MODIFY or STORE statement to update
 fields in multiple relations.

UNSARITH

 expression includes unsupported arithmetic operation

 Explanation:  The Boolean evaluator was processing an expression
 or sub-expression that contained an arithmetic operator.
 Arithmetic operators are not supported.

 User Action:  Rewrite the expression in error without the
 arithmetic operator.

UNSCOMP

 unsupported data comparison

 Explanation:  You attempted an operation that would compare two
 incommensurate data items.

 User Action:  Correct the error and try again.

UNSCOMPBY

 <str>.<str> is not supported in this context

 Explanation:  You included the COMPUTED_BY field named in this
 error message in the SELECT FIELDS clause of a DEFINE TRANSFER
 statement.  This COMPUTED_BY field uses a value expression that
 is unsupported.

 User Action:  Reenter the DEFINE TRANSFER statement and omit the
 COMPUTED_BY field that uses the unsupported value expression.
 Refer to the DEFINE TRANSFER statement in the Data Distributor
 Handbook for information on what value expressions are
 supported.

UNSCONV

 unsupported data conversion

 Explanation:  You attempted an operation that would cause loss
 of information on a data item movement.

 User Action:  Correct the error and try again.

UNSDSCCLA

 unsupported descriptor class <num>

 Explanation:  The class of the descriptor in an input parameter
 is not supported by Rdb/VMS.

 User Action:  Use class S, D, DS, or VS.

UNSSTRXPR

 unsupported string expression

 Explanation:  You attempted an operation on a string that is not
 supported.  ie string = string + string;

 User Action:  Please check the manual for the string expressions
 allowed.  If you are using the preprocessors, you might be able
 to work around the limitation by using a temporary variable.

UNSSUPDAT

 unsupported datatype requested

 Explanation:  You requested input or output of an unsupported
 data type from Callable RDO.

 User Action:  Review the data types of the variables in the call
 and change the offending data type to a supported data type.

UNTSTR

 unterminated string found

 Explanation:  The matching quotation mark (" or ') for a string
 was not found.

 User Action:  Reenter the command with the matching quotation
 mark.

UPDATEJOIN

 relation <str> is part of join cannot be updated

 Explanation:  You tried to modify or erase records from a
 relation that is joined with other relations.

 User Action:  Redefine the query so that the relation you are
 trying to update is not directly joined to other relations.

USEUNOPTAIJ

 please use original unoptimized AIJ file for this recovery
 operation

 Explanation:  This message tells the user that the requested
 recovery operation is not compatible with an optimized AIJ file.
 See the accompanying message for the cause of the
 incompatability.

 User Action:  Use the original, non-optimized AIJ file to do the
 recovery.

USINGCLSMNGLESS

 USING clause present with no WITH LIMIT clause

 Explanation:  You specified a STORE USING clause, but no WITH
 LIMIT clause.

 User Action:  The STORE USING clause is meaningless without the
 WITH LIMIT clause.

USINGNOTSPEC

 no USING clause specified

 Explanation:  A DEFINE STORAGE MAP statement has specified
 literal values as limits but has specified no fields in the
 USING clause.

 User Action:  Correct the statement.  The number of literal
 values you specify must match the number of fields in the USING
 clause.

VEWNOTDEF

 view <str> is not defined in database

 Explanation:  The specified view does not exist in the current
 database.

 User Action:  Invoke the proper database.  Spell the view name
 correctly.  You may have specified an expression where a view
 name was expected.

VWNOFETCH

 view <str> cannot be fetched within a stream

 Explanation:  Records from the specified view cannot be
 retrieved in a stream.  This indicates that the view was defined
 as an AGGREGATE (SQL GROUP BY) or MERGE (SQL UNION) stream.

 User Action:  Retrieve the records using a FOR statement.

WAIMODSPC

 only one wait mode may be specified for a transaction

 Explanation:  You specified two transaction modes in a
 START_TRANSACTION statement.

 User Action:  Specify only one transaction mode in a
 START_TRANSACTION statement.

WASBOOL

 expression in CONTAINS or MATCHES was a Boolean

 Explanation:  The Boolean evaluator was processing an expression
 or sub-expression of the form "A CONTAINS B" or "A MATCHES B".
 Either the "A" or the "B" expression was a Boolean of the form
 "NOT X", "X EQ Y", "X NE Y", "X LT Y", "X GT Y", "X LE Y", "X GE
 Y", "X CONTAINS Y", or "X MATCHES Y".  Neither side of CONTAINS
 and MATCHES expressions are allowed to be Boolean expressions.

 User Action:  Rewrite the expression in error to have the proper
 format.

WISH_LIST

 feature not yet implemented

 Explanation:  The action you requested requires a feature that
 is not implemented in the current version of this product.

 User Action:  Avoid using this feature.

WRMNOTMIX

 cannot add WORM attribute to uniform format area <str>

 Explanation:  WORM areas should only be mixed format areas.

 User Action:  Examine your command line for illegal combination.

WRMRDONLY

 cannot add WORM attribute to READ_ONLY area <str>

 Explanation:  WORM areas cannot also have the read-only
 property.

 User Action:  Examine your command line for illegal combination.

ZABORT

 user entered Control-Z to abort command

 Explanation:  You entered a CTRL/Z to abort the current command.

 User Action:  None.

Execute

 The 'at' sign (@) means "execute" in RDO, just as in DCL.  When you
 type @ and the name of an indirect command file, RDO executes the
 statements in the file as if you had typed them one at a time at the
 RDO prompt.  The default file type for an indirect command file is
 RDO.  You can use the SET VERIFY statement to have the commands in
 the file displayed on the screen as they execute.

 Example:

      $ TYPE ACCOUNTING.RDO
      INVOKE DATABASE FILENAME "DEPT3:ACCOUNTING"
      SHOW DATABASES
      $ RDO
      RDO> @ACCOUNTING
      Database with filename ACCOUNTING

Additional information available:

FormatMoreExamples

Format

 @file-spec

 file-spec

 The name of an indirect command file.  You can use either a full VMS
 file specification, a file name, or a logical name.  If you use a
 file name, RDO looks in the current default VMS directory for a file
 by that name.  The file must contain valid RDO statements.

More

 You do not need any special Rdb/VMS privileges to use the EXECUTE
 statement.

 You can use the SET VERIFY statement to have the commands in the file
 displayed on the screen as they execute.

 RDO recognizes a special RDO command file called RDOINI.RDO, which
 contains RDO statements to be issued before RDO displays the RDO>
 prompt.  If this file exists, RDO executes the commands in that file
 first, before displaying the prompt and accepting your input.  If you
 have defined the logical name RDOINI to point to a general
 initialization file, RDO uses this file.  Otherwise, it looks for
 RDOINI.RDO in the current default directory.

Examples

 Example 1

 Use an indirect command file to execute a frequently used query:

 $ TY EMPADDR.RDO
 !
 ! This command file generates information for a mailing list.
 !
 INVOKE DATABASE FILENAME 'DISK2:[DEPT32]MF_PERSONNEL.RDB'
 SET OUTPUT 'DISK2:[DEPT32]MAILLIST.DOC'
 FOR E IN EMPLOYEES
  PRINT E.FIRST_NAME, E.MIDDLE_INITIAL, E.LAST_NAME,
        E.ADDRESS_DATA_1, E.ADDRESS_DATA_2, E.CITY, E.STATE,
 E.POSTAL_CODE
 END_FOR
 $ RDO:== $RDO
 $ RDO
 RDO> @EMPADDR


 Example 2

 You can use a logical name to run a command file:

 $ SET DEFAULT DISK1:[FORESTER]
 $ DEFINE COUNT "DISK2:[DEPT3]COUNT.RDO"
 $ TYPE DISK2:[DEPT3]COUNT.RDO
 !
 ! This command file counts the records in
 ! each relation in the MF_PERSONNEL database.
 !
 SET NOVERIFY
 SET OUTPUT COUNT.LOG
 INVOKE DATABASE FILENAME 'DISK2:[DEPT3]MF_PERSONNEL.RDB'

 PRINT "   "
 PRINT "Statistics for the MF_PERSONNEL database follow: "
 PRINT "  "
 PRINT "Count of Employees -------> ", COUNT OF X IN EMPLOYEES
 PRINT "Count of Jobs ------------> ", COUNT OF J IN JOBS
 PRINT "Count of Degrees ---------> ", COUNT OF D IN DEGREES
 PRINT "Count of Salary_History --> ", COUNT OF SH IN SALARY_HISTORY
 PRINT "Count of Job_History -----> ", COUNT OF JH IN JOB_HISTORY
 PRINT "Count of Work_Status -----> ", COUNT OF W IN WORK_STATUS
 PRINT "Count of Departments -----> ", COUNT OF D IN DEPARTMENTS
 PRINT "Count of Colleges --------> ", COUNT OF C IN COLLEGES
 PRINT "Count of Resumes ---------> ", COUNT OF R IN RESUMES
 PRINT "  "
 PRINT "Statistics Complete for Database - written to COUNT.LOG"
 PRINT "    "
 PRINT "   "
 $ !
 $ RDO:== $RDO
 $ RDO
 RDO> @COUNT

 Statistics for the PERSONNEL database follow:

  Count of Employees ------->            100
  Count of Jobs ------------>             15
  Count of Degrees --------->            166
  Count of Salary_History -->            729
  Count of Job_History ----->            274
  Count of Work_Status ----->              3
  Count of Departments ----->             26
  Count of Colleges -------->             16
  Count of Resumes --------->              0

 Statistics Complete for Database - written to COUNT.LOG

 RDO>

 Notice that the default VMS directory is not the same as the
 directory containing the command file.  You define the process
 logical name to point to the correct command file.  Then you use the
 logical name as the object of the @ command.

Field attr

 The characteristics of a field.

 field-attributes =

 DATATYPE IS ───> data-type ──┐
    ┌─────────────────────────┘
    └──┬─────────────────────────────────────────────────┬───>
       └┬─┬──> validity-clause───────────────────────┬─┬─┘
        │ ├──> missing-value-clause──────────────────┤ │
        │ ├──> dtr-clause────────────────────────────┤ │
        │ ├──> 
C

O

L

L

A

T

I

N

G

S

E

Q

U

E

N

C

E
typebox (I)typebox (S) sequence-name───┤ │ │ └──> 
N

O

C

O

L

L

A

T

I

N

G

S

E

Q

U

E

N

C

E
────────────────┘ │ └─────────────────<────────────────────────────┘

Additional information available:

COLLATING

data-typevalidity-clausemissing-value-clausedtr-clause

data-type

 Describes the characteristics of data stored in fields.  Request the
 top-level HELP topic "Datatypes" for a table of Rdb/VMS data types.

Additional information available:

Segmented string

Segmented string

 seg-str-option =

   ─┬─┬───> 
S

E

G

M

E

N

T

L

E

N

G

T

H
typebox (I)typebox (S) ───> n ───> typebox (B)typebox (Y)typebox (T)typebox (E)typebox (S) ──┬─┬─> │ └───> 
S

U

B

T

Y

P

E
typebox (I)typebox (S) ────┬────> 
B

L

R
──────┬────┘ │ │ ├────> 
T

E

X

T
─────┤ │ │ └────> n ────────┘ │ └──────────────────────<────────────────────────┘

validity-clause

 Specifies a validation check for a field.  Rdb/VMS evaluates the
 conditional expression at run time when the field is stored or
 modified.

 validity-clause =

 ─┬─> 
V

A

L

I

D

I

F
───> conditional-expr ─┬─> └─> 
N

O

V

A

L

I

D

I

F
────────────────────┘ conditional-expr Specifies a valid conditional expression. This conditional expression must refer only to the field being defined. Ask for HELP on Cond_expr for a complete description of Rdb/VMS conditional expressions.

Additional information available:

Example

Example

 In the following example, the SHOW FIELD statement shows the SEX
 field, which contains a VALID IF clause.  The CHANGE FIELD statement
 removes the VALID_IF clause from the SEX field:

 RDO> DATA FILE DB$:PERSONNEL
 RDO> SHOW FIELD SEX
      SEX                              text size is   1
    Description:         M, F
    Missing value:       "?"
    Valid:               IF SEX = 'M' OR SEX = 'F' OR
                                 SEX MISSING
 RDO> CHANGE FIELD SEX NO VALID IF.
 RDO> SHOW FIELD SEX
      SEX                              text size is   1
    Description:         M, F
    Missing value:       "?"
 RDO> ROLLBACK

missing-value-clause

 Specifies a numeric or character string literal that denotes that no
 value is stored in the field.  When you retrieve or display the
 value, Rdb/VMS returns the contents of the MISSING_VALUE string or
 number.

 missing-value-clause =

   ─────> 
M

I

S

S

I

N

G

V

A

L

U

E
typebox (I)typebox (S) ───┬───> fxd-pnt-num ─────┬───> └───> quoted-string ───┘

Additional information available:

fxd-pnt-numquoted-stringExamples

fxd-pnt-num

 A fixed-point number that Rdb/VMS uses to replace a retrieved null
 value.

 A fixed-point number always includes a decimal point, even when there
 are no digits to the right of the decimal point.

 For example, if a field contains dollar and cent values, you may want
 to use 0.00 as the missing value to preserve the value context when
 Rdb/VMS retrieves and displays null values.  In this particular case,
 if you do not allow null values and you do not specify a missing
 value, Rdb/VMS fills the retrieved field with zeros.

 Specify a number that does not exceed the defined field length and
 include a decimal point.

quoted-string

 A character string that Rdb/VMS uses to replace retrieved null
 values.  For example, you could specify a missing value of "Value not
 found" to replace null values.  Specify a character string whose
 length does not exceed the length of the field.  Enclose the string
 in single or double quotation marks ("string" or 'string').  Ask for
 HELP on Value_expr for a complete description of the use of literal
 expressions.

Examples

 Example 1

 Define missing value for dates:

 DEFINE FIELD  STANDARD_DATE
         DESCRIPTION /* Universal date field */
         DATATYPE IS DATE
         MISSING_VALUE IS "17-NOV-1858 00:00:00.00"
         EDIT_STRING FOR DATATRIEVE IS 'DD-MMM-YYYY'.

 This definition defines a missing value for date fields to be the
 same as the base date and time for VMS.


 Example 2

 Define missing values for numeric fields:

 DEFINE FIELD  SALARY
         DATATYPE IS SIGNED LONGWORD SCALE -2
         MISSING_VALUE IS 0.00
         EDIT_STRING FOR DATATRIEVE IS '$$$$,$$9.99'.

 This statement specifies "0.00" as the missing value for SALARY
 fields.


 Example 3

 Define missing values for text fields:

 DEFINE FIELD  ADDRESS_DATA
         DATATYPE IS TEXT SIZE 20
         MISSING_VALUE IS "Not available".

 When you retrieve a field whose value is missing, Rdb/VMS displays
 the string "Not available".

dtr-clause

 Rdb/VMS provides support for VAX DATATRIEVE, the Digital query
 language.  You can specify one or more of the following clauses:

      Query header
      Query name
      Default value
      Edit string

 If you specify a DATATRIEVE attribute on a global field, you can
 cancel that attribute for a particular relation, using the NO
 qualifier.  The NO qualifier of the dtr-clause is available when you
 are changing a definition with the CHANGE FIELD or CHANGE RELATION
 statement.  The NO qualifier is not used with the dtr-clause of
 DEFINE FIELD, DEFINE RELATION, and DEFINE VIEW.

Additional information available:

FormatExamples

Format

 dtr-clause =

 ─┬─> 
Q

U

E

R

Y

H

E

A

D

E

R

F

O

R
──┬─> typebox (D)typebox (T)typebox (R) ────────┬──> typebox (I)typebox (S) ─┬> quoted-string ──┬─┬─> │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ─┘ └────── typebox (/) <────────┘ │ ├─> 
N

O

Q

U

E

R

Y

H

E

A

D

E

R

F

O

R
──┬── typebox (D)typebox (T)typebox (R) ──────────┬────────────────────────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ───┘ │ ├─> 
Q

U

E

R

Y

N

A

M

E
Ftypebox (O)typebox (R) ────┬─> typebox (D)typebox (T)typebox (R) ─────────┬─> typebox (I)typebox (S) ──> quoted-string ────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ │ ├─> 
N

O

Q

U

E

R

Y

N

A

M

E
Ftypebox (O)typebox (R) ────┬── typebox (D)typebox (T)typebox (R) ─────────┬─────────────────────────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ │ ├─> 
D

E

F

A

U

L

T

V

A

L

U

E
Ftypebox (O)typebox (R) ─┬─> typebox (D)typebox (T)typebox (R) ─────────┬─> typebox (I)typebox (S) ─┬> fxd-pnt-num ────┬─┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ └> quoted-string ──┘ │ ├─> 
N

O

D

E

F

A

U

L

T

V

A

L

U

E
Ftypebox (O)typebox (R) ─┬─> typebox (D)typebox (T)typebox (R) ─────────┬─────────────────────────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ │ ├─> 
E

D

I

T

S

T

R

I

N

G
Ftypebox (O)typebox (R) ───┬─> typebox (D)typebox (T)typebox (R) ─────────┬─> typebox (I)typebox (S) ──> quoted-string ────┤ │ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ │ └─> 
N

O

E

D

I

T

S

T

R

I

N

G
Ftypebox (O)typebox (R) ┬─> typebox (D)typebox (T)typebox (R) ─────────┬────────────────────────────┘ └─> typebox (D)typebox (A)typebox (T)typebox (A)typebox (T)typebox (R)typebox (I)typebox (E)typebox (V)typebox (E) ──┘ fxd-pnt-num The default value returned to DATATRIEVE when Rdb/VMS retrieves null values. A fixed-point number is a number that always includes a decimal point, even when there are no digits to the right of the decimal point. quoted-string A literal expression that Rdb/VMS returns to DATATRIEVE.

Examples

 Example 1

 The following example defines a field and specifies a DATATRIEVE edit
 string for that field:

 DEFINE FIELD  MIDDLE_INITIAL
         DATATYPE IS TEXT SIZE 1
         EDIT_STRING FOR DATATRIEVE IS 'X.'.

 The X represents any alphanumeric character.  When you access this
 field through DATATRIEVE, the field value is followed by a period.
 The DATATRIEVE documentation set contains a complete list of editing
 characters.


 Example 2

 The following example defines a DATATRIEVE query name for one field
 and a DATATRIEVE query header for another:

 DEFINE FIELD  STATE
         DATATYPE IS TEXT SIZE 2
         QUERY_NAME FOR DATATRIEVE IS "ST".
 DEFINE FIELD  SEX
         DATATYPE IS TEXT SIZE 1
         VALID IF SEX = 'M' OR SEX = 'F'
         QUERY_HEADER FOR DATATRIEVE IS "S"/"E"/"X".

 These statements define DATATRIEVE query names and query headers for
 the STATE and SEX fields.  The header for the SEX field will be one
 character wide, like the field itself.

COLLATING

 The COLLATING_SEQUENCE clause specifies the collating sequence to be
 used in the field you are defining.

 The NO COLLATING_SEQUENCE clause specifies that the field will use
 the standard default collating sequence (the ASCII collating
 sequence).

Logical Names

 This section describes new Rdb/VMS logical names and changes to other
 Rdb/VMS logical names.  For complete information on Rdb/VMS logical
 names, see the VAX Rdb/VMS Guide to Database Performance and Tuning.

Additional information available:

RDMS$BIND_QG_TIMEOUTRDMS$BIND_QG_REC_LIMITRDM$BIND_CKPT_TRANS_LIMIT
RDMS$USE_OLD_UPDATE_RULES

RDMS$BIND VM SEGMENT ChangedRDMS$BIND WORK FILE Changed

RDMS$BIND VM SEGMENT Changed

 The logical names RDMS$BIND_VM_SEGMENT changed to
 RDM$BIND_VM_SEGMENT, that is, without the S.  This logical name
 prevents memory fragmentation and allows certain applications which
 would otherwise run out of virtual memory to execute correctly.

                                 NOTE

         The RDM$BIND_VM_SEGMENT logical name is not for
         general use, as preserving larger block sizes (by
         preventing fragmentation) may cause problems for some
         applications.


 To use this logical name use the DCL command as follows:

 $ DEFINE RDM$BIND_VM_SEGMENT 1

 Use this logical name either on the system experiencing the problem
 or in some other appropriate place such as in the LOGIN.COM file of
 the users experiencing the difficulty.

RDMS$BIND_QG_TIMEOUT

 The RDMS$BIND_QG_TIMEOUT logical name is used to set the query
 optimizer elapsed time limit.  The elapsed time that the query
 optimizer spends compiling a query can now be limited by defining the
 logical name RDMS$BIND_QG_TIMEOUT and specifying a value in seconds.
 A timer is established which will cause the query compilation to be
 aborted if too much elapsed time has passed.  This logical name is
 translated at attach time and supersedes all options specified in the
 application.

 The following DCL command is used to define the RDMS$BIND_QG_TIMEOUT
 logical name and set a value of 120 seconds.

 $ DEFINE RDMS$BIND_QG_TIMEOUT 120

 In this example, the query optimizer will abort the query compilation
 after 120 seconds have elapsed.

 See the RDMS$BIND_QG_REC_LIMIT help topic at this level for
 information on how to limit the number of records delivered during
 query processing.

RDMS$BIND_QG_REC_LIMIT

 The RDMS$BIND_QG_REC_LIMIT logical name is used to set the query
 optimizer row number delivery limit.  The number of rows delivered
 during query processing can now be limited by defining the logical
 name RDMS$BIND_QG_REC_LIMIT and specifying a value of n records.
 Defining this logical name is useful for any query that returns large
 quantities of rows and is likely to do large numbers of I/O
 operations.  This limit counts the rows being returned by the query.
 Note that this value is independent of the number of records read by
 the application, for example intermediate records for a join, or
 component records for an aggregate.  It is very similar to the LIMIT
 TO clause in SQL.  However, if this limit is exceeded, an error
 message is returned.  This logical name is translated at attach time
 and supersedes all options specified in the application.

 The following DCL command is used to define the
 RDMS$BIND_QG_REC_LIMIT logical name and set a value of 20 records:

 $ DEFINE RDMS$BIND_QG_REC_LIMIT 20

 In this example, the query optimizer will terminate processing the
 query after 20 records are returned.

 See the RDMS$BIND_QG_TIMEOUT help topic at this level for information
 on how to limit the elapsed time that the query optimizer can spend
 compiling a query.

RDM$BIND_CKPT_TRANS_LIMIT

 You can use the RDM$BIND_CKPT_TRANS_LIMIT logical name to define a
 process-specific checkpoint interval value when undo/redo recovery
 processing is enabled.  By default, a process checkpoints when the
 AIJ block size limit is reached or the time interval limit is
 exceeded, whichever occurs first.  The RDM$BIND_CKPT_TRANS_LIMIT
 logical name uses the number of transactions as the checkpoint
 trigger.  For example, if you define RDM$BIND_CKPT_TRANS_LIMIT to be
 10, the process on which the logical is defined checkpoints after
 committing ten transactions IF the transaction limit is reached
 before the block size or time limits are exceeded.

RDMS$USE_OLD_UPDATE_RULES

 This section discusses use of the RDMS$USE_OLD_UPDATE_RULES logical
 name to preserve update behavior.  With the release of Rdb/VMS
 Version 4.1, you cannot modify or erase records in a relation if the
 relation is joined with other relations.

                                 NOTE

         This restriction applies to RDO, RDBPRE, and RDML
         only.  SQL syntax does not allow this type of update.


 However, updates to a relation are allowed if you join the relation
 with other relations in a subquery.

 This update restriction can cause applications that depend on the
 previous update behavior to fail unless update queries are modified.
 Because this may not be possible before upgrading to Version 4.1, you
 can use the RDMS$USE_OLD_UPDATE_RULES logical name to retain the
 previous update behavior, then modify your applications.

 Define the RDMS$USE_OLD_UPDATE_RULES logical name to be 1, as shown
 below, to enforce the old update rules.

 $ DEFINE RDMS$USE_OLD_UPDATE_RULES 1

 Support for this logical name will be removed in a future release of
 Rdb/VMS.

RDMS$BIND WORK FILE Changed

 The RDMS$BIND_WORK_FILE logical name is used to redirect the location
 of temporary files that Rdb/VMS sometimes creates for use in matching
 operations.  Rdb/VMS creates the file when the process running the
 query runs out of virtual memory, and deletes the file once the query
 is completed.

 For Rdb/VMS Version 4.1, you can define RDMS$BIND_WORK_FILE and
 specify a device name and directory.  This enables the file to use
 resource identifiers for disk quota allocation.

 The following example shows how to assign the location of temporary
 files to a specific device and directory.

 $ DEFINE RDMS$BIND_WORK_FILE WORK$DISK:[RDB.WORK]

Preprocessors

 Rdb/VMS preprocessors check and process Rdb/VMS statements in your
 program, converting the Rdb/VMS statements to host language calls to
 the database.  RDBPRE, the preprocessor for BASIC, COBOL, and
 FORTRAN, automatically invokes the necessary host language compiler
 for your program.  You must invoke the host language compiler after
 you preprocess a VAX C or VAX Pascal program with the RDML
 preprocessor.

Additional information available:

RDBPRERDML

RDBPRE

 You can define a symbol to invoke RDBPRE.  Once you are in the RDBPRE
 environment, you can specify the programming language and the input
 file specification.  For example:

 $ RDBPRE :== $RDBPRE
 $ RDBPRE
 INPUT FILE> MYPROG.RFO/FORTRAN

 A more convenient method is to define a symbol that invokes a
 particular preprocessor.  For example, if you frequently use the
 preprocessor with VAX FORTRAN data manipulation language (DML)
 programs:

 $ RFOR :== $RDBPRE/FORTRAN
 $ RFOR MYPROGRAM.RFO

Additional information available:

/BASIC/COBOL/FORTRAN/INITIALIZE_HANDLES

/BASIC

 Specifies that the input file is a BASIC source file.  Following
 successful RDBPRE preprocessing, the resulting file is submitted
 automatically to the BASIC compiler.

/COBOL

 Specifies that the input file is a COBOL source file.  Following
 successful RDBPRE preprocessing, the resulting file is submitted
 automatically to the COBOL compiler.

/FORTRAN

 Specifies that the input file is a FORTRAN source file.  Following
 successful RDBPRE preprocessing, the resulting file is submitted
 automatically to the FORTRAN compiler.

/INITIALIZE_HANDLES

 The /[NO]INITIALIZE_HANDLES qualifier allow you to control whether
 RDBPRE will initialize RDBPRE-supplied database, transaction, and
 request handles.  Use of the /NOINITIALIZE_HANDLES qualifier allows
 you to link a main image against a shareable image and share handles
 between the two.

        Format:
               /INITIALIZE_HANDLES     (Default)
               /NOINITIALIZE_HANDLES

 These qualifiers have no effect on whether or when handles are
 cleared in the generated code; they only control initialization of
 handles in declarations.  Furthermore, they only affect database,
 transaction and request handles that RDBPRE declares.  User-specified
 transaction and request handles will not be initialized when you use
 the /INITIALIZE_HANDLES qualifier.

 In RDBPRE when you use the /NOINITIALIZE_HANDLES qualifier, any
 handle you specify in your application program must also be specified
 in the shareable image.

RDML

 You can define a symbol to invoke the Relational Data Manipulation
 Language (RDML) preprocessor.  For example:

 $ RDML :== $RDML
 $ RDML
 _Source file: SAL_HISTORY.RC

 A more convenient method is to define symbols.  For example:

 $ RDMLC    :== $RDML/C
 $ RDMLPAS  :== $RDML/PASCAL
 $!
 $ RDMLC SAL_HISTORY.RC

 See the RDML Help module that is available from DCL level for
 details.

RDO Foreign Cmd

 You can invoke RDO as a foreign DIGITAL Command Language (DCL)
 command.  Example:

 $ RDO :== $RDO
 $ RDO CHANGE DATABASE FILE PERS JOURNAL FILE DSK1:[TOP]PS.AIJ.

Additional information available:

More

More

 RDO as a foreign DCL command is useful in DCL command procedures
 because it lets you test the success or failure of the RDO DCL
 command line.  For example, after each DCL command, you can enter in
 your procedure:

 $ IF $SEVERITY .NES. "1" THEN GOTO HANDLE_ERROR

 The integer values for each DCL severity level are:

 Value           Severity

 0               Warning
 1               Success
 2               Error
 3               Information
 4               Severe (fatal) error

 The possible integer values returned by RDO are 1, 2, or 4.  The
 specific status codes returned by RDO are:

 SS$_NORMAL
 RDO-E-ERRDET, an error was detected
 RDO-F-SEVERRDET, a severe error was detected

 These are returned in DCL's $STATUS symbol.

 Users who currently invoke RDO as a foreign command will receive one
 of the above (as additional) messages if the RDO command fails.  See
 the VMS DCL Dictionary for more information about handling errors in
 DCL command procedures.

Release Notes

 The VAX Rdb/VMS Release Notes are in the following file:

      SYS$HELP:RDBVMSvvu.RELEASE_NOTES

                where   vv = version
                        u  = update

           For example:

      SYS$HELP:RDBVMS041.RELEASE_NOTES

Rel operators

 Permitted                  Relational Operation
 Symbols


 EQ  =                      True if the two value expressions are
                            equal.

 NE  <>                     True if the two value expressions are not
                            equal.

 GT  >                      True if the first value expression is
                            greater than the second.

 GE  >=                     True if the first value expression is
                            greater than or equal to the second.

 LT  <                      True if the first value expression is less
                            than the second.

 LE  <=                     True if the first value expression is less
                            than or equal to the second.

 BETWEEN                    True if the first value expression is
                            between the second and third or equal to
                            one of them.

 ANY                        True if the record stream specified by the
                            RSE includes at least one record. If you
                            add NOT, the condition is true if there are
                            no records in the record stream.

 MATCHING                   True if the second expression matches a
                            substring of the first value expression.
                            MATCHING uses these special characters:

                                 *  Matches any string
                                 %  Matches any character

 MISSING                    True if the value expression is null.

 UNIQUE                     True if the record stream specified by the
                            RSE includes only one record. If you add
                            NOT, the condition is true if there is more
                            than one record in the record stream or the
                            record stream is empty.

 CONTAINING                 True if the string specified by the second
                            string expression is found within the
                            string specified by the first. Not
                            case sensitive.

 STARTING WITH              True if the first characters of the first
                            string expression match the second string
                            expression. Case sensitive.

Segment str

 A special Rdb/VMS data type designed to handle large pieces of data
 with a segmented internal structure.  The maximum size of a string
 segment is 64K bytes.  Except for the length of the string's
 segments, Rdb/VMS does not know anything about the type of data
 contained in a segmented string.  In a segmented string, you can
 store large amounts of text, long strings of binary input from a data
 collecting device, or graphic data.  A program can then extract the
 data from the database and handle it in the appropriate way.

Additional information available:

More

More

 Because Rdb/VMS does not know what kind of data is contained in a
 segmented string, you cannot perform many of the standard data
 manipulation functions on it.  You cannot use logical operators, such
 as EQ and CONTAINING, to compare segmented strings.  Rdb/VMS does not
 perform any data type conversion on data that is transferred into or
 out of a segmented string.  You can use the MISSING operator on a
 segmented string field.

 Rdb/VMS defines a special name to refer to the segments of a
 segmented string.  This name is equivalent to a field name; it names
 the "fields" or segments of the string.  Furthermore, because
 segments can vary in length, Rdb/VMS also defines a name for the
 length of a segment.  You must use these names in the value
 expressions that you use to retrieve the length and value of a
 segment.  These names are:

     RDB$VALUE      The value stored in a segment of a segmented
                    string

     RDB$LENGTH     The length in bytes of a segment

 Because a single segmented string field value is made up of multiple
 segments, you must manipulate the segments one at a time.  Therefore,
 segmented string operations require an internal looping mechanism,
 much like the record stream set up by a FOR or START_STREAM
 statement.

Value expr

 A symbol or string of symbols that you use to calculate a value.
 When you use a value expression in a statement, Rdb/VMS calculates
 the value associated with the expression and uses that value when
 executing the statement.  Any value expression can be enclosed in
 parentheses or preceded by a minus sign.

Additional information available:

arithmetic expressionconcatenated expressiondatabase fielddatabase key
first fromhost variableliteralstatistical expression

arithmetic expression

 An arithmetic expression combines arithmetic operators with:  numeric
 values, numeric host language variables, and/or numeric database
 fields.  When you use an arithmetic expression in a statement,
 Rdb/VMS calculates the value associated with the expression and uses
 that value when executing the statement.  Therefore, an arithmetic
 expression must be reducible to a value.  If either operand of an
 arithmetic expression is a null value, the resulting value is also
 null.

 arith-expr =

 ─┬─> numeric-value    ─┬──┬──> typebox (+) ──┬──┬─> numeric-value    ─┬───>
  ├─> numeric-host-var ─┤  ├──> - ──┤  ├─> numeric-host-var ─┤
  └─> numeric-db-field ─┘  ├──> typebox (*) ──┤  └─> numeric-db-field ─┘
                           └──> typebox (/) ──┘

concatenated expression

 A value expression that combines two other value expressions by
 joining the second to the end of the first.  Concatenated expressions
 uses the concatenate operator (|).  You can combine value expressions
 of any kind, including numeric expressions, string expressions, and
 literals.

 You can use concatenated expressions to simulate group fields and
 edit strings.

 Format

 concat-expr =

   ───> value-expr ───>  |  ───> value-expr ───>

Additional information available:

Examples

Examples

 Example 1

 Use a concatenated expression as a field in a view:

 DEFINE VIEW MAIL OF
  E IN EMPLOYEES.
   NAME COMPUTED BY
     E.FIRST_NAME | ' ' | E.MIDDLE_INITIAL | ' ' | E.LAST_NAME.
   E.ADDRESS_DATA_1.
   E.CITY.
   E.POSTAL_CODE.
 END MAIL VIEW.

 This statement creates a field for the view by combining the three
 name fields from the EMPLOYEES relation.


 Example 2

 Use a concatenated expression to simulate an edit string:

 DEFINE VIEW BUCKS OF S IN SALARY_HISTORY.
    EMPLOYEE_ID.
    SALARY_START.
    SALARY_END.
    SAL COMPUTED BY "$"|S.SALARY_AMOUNT.
 END.


 When you display the fields of BUCKS, a dollar sign appears in front
 of the salary amount.

database field

      --> context-var . field-name -->

 The name of a field in the database that consists of a context
 variable and a field name.  A context variable is a temporary name
 that you associate with a relation.  You define a context variable in
 a record selection expression.

 For example:

     FOR E IN EMPLOYEES PRINT  E.LAST_NAME
         |        |           |            |
         |        |           +------+-----+
         |        |                  |
      context   relation          database
      variable   name               field

database key

 A pointer that indicates a specific record in the database.  You can
 use the database key to retrieve a record in a FETCH statement or in
 a record selection expression.  Database keys are intended primarily
 for use in host language programs.

 db-key =

   ───> context-var ──> . ───> 
R

D

B

$

D

B

K

E

Y
───>

first from

 The FIRST FROM expression works in two steps:

  o  It forms the record stream as specified by the record selection
     expression.

  o  If at least one record matches the RSE, Rdb/VMS uses the values
     stored in the first record of the record stream to evaluate the
     value expression.


 Format

 first-from-expr

   ───> 
F

I

R

S

T
───> value-expr ───> 
F

R

O

M
───> rse ───>

host variable

 A host or substitution variable, used to communicate with a calling
 (host) program.  A host language program declares a host language
 variable and then assigns database values to it.  Host language
 variables are not used in RDO.

 You can also use host language variables as names to represent
 databases and database elements.  These names are called handles.

Additional information available:

database handletransaction handlerequest handle

database handle

 A variable name declared as a longword in a host language program.
 You can use the database handle in several statements and clauses to
 identify a database.

transaction handle

 A host language variable you associate with a transaction.  If you do
 not declare the transaction handle explicitly, Rdb/VMS attaches an
 internal identifier to the transaction.

 The ability to declare a transaction handle is provided for
 compatibility with other database products and future releases of VAX
 Rdb/VMS.

request handle

 A host language variable you associate with a compiled request.

literal

 A character string literal, numeric literal, or date literal.  You
 can use a literal as a value expression.  For example:

     FOR E IN EMPLOYEES WITH E.LAST_NAME = "Toliver"
        PRINT E.EMPLOYEE_ID                 -------
     END_FOR                                   |
                                         string literal


     FOR S IN SALARY_HISTORY WITH S.SALARY_AMOUNT > 40000
        PRINT S.EMPLOYEE_ID                         -----
     END_FOR                                          |
                                               numeric literal


     FOR S IN SALARY_HISTORY WITH S.SALARY_START = "9-APR-1980"
        PRINT S.EMPLOYEE_ID                         ----------
     END_FOR                                             |
                                                   date literal

statistical expression

 Calculates a value based on a value expression for every record in a
 record stream.  When you use a statistical expression (except for
 COUNT), you specify a value expression and a record selection
 expression (RSE).  Rdb/VMS first evaluates the value expression for
 each record in the record stream formed by the RSE.  Then it
 calculates a single value based on all the results of the first step.

 For more information on value expressions and record selection
 expressions, ask for HELP on Value_expr and RSE.

Additional information available:

Format

Format

 statistical-expr =

   ───────┬──> 
M

A

X
─────┬──> value-expr ──┬──> 
O

F
──> rse ──> ├──> 
M

I

N
─────┤ │ ├──> 
T

O

T

A

L
───┤ │ ├──> 
A

V

E

R

A

G

E
─┘ │ └──> 
C

O

U

N

T
─────────────────────┘

Additional information available:

MAXMINTOTALAVERAGECOUNT

MAX

 --> MAX --> value-expr --> OF --> rse -->

 Find the highest paid employee in the company:

 START_TRANSACTION READ_ONLY

 FOR SAL IN CURRENT_SALARY WITH SAL.SALARY_AMOUNT =
     MAX CURR.SALARY_AMOUNT OF
         CURR IN CURRENT_SALARY
 PRINT SAL.EMPLOYEE_ID,
       SAL.LAST_NAME,
       SAL.SALARY_AMOUNT
 END_FOR

 COMMIT

MIN

 --> MIN --> value-expr --> OF --> rse -->

 Find the job title with the smallest minimum salary:

 FOR J IN JOBS WITH J.MINIMUM_SALARY =
       MIN JM.MINIMUM_SALARY OF JM IN JOBS
 PRINT J.JOB_TITLE,
       J.MINIMUM_SALARY
 END_FOR

TOTAL

 --> TOTAL --> value-expr --> OF --> rse -->

 Assign the total payroll for the company to a host language variable:

 &RDB&   START_TRANSACTION READ_ONLY
 &RDB&       GET TOTAL-SALARY = TOTAL CH.SALARY_AMOUNT
 &RDB&            OF CH IN CURRENT_SALARY
 &RDB&   END_GET
 &RDB&   COMMIT

AVERAGE

 --> AVERAGE --> value-expr --> OF --> rse -->

 Display the average salary of all the employees whose salaries exceed
 $50,000:

 PRINT  AVERAGE CS.SALARY_AMOUNT OF
         CS IN CURRENT_SALARY WITH
          CS.SALARY_AMOUNT GT 50000

COUNT

 --> COUNT --> OF --> rse -->

 The following COBOL code fragment finds out the number of employees
 who live in a particular state, specified by the host language
 variable STATE:

         ACCEPT STATE.
 &RDB&   GET STATE-COUNT = COUNT OF E IN EMPLOYEES
 &RDB&            WITH E.STATE = STATE
 &RDB&   END_GET
         DISPLAY "Number of employees in ", STATE, " is ",
             STATE-COUNT.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026