The following sections provide full descriptions of all DB commands. The syntax of the add and modify commands differs between DB's default mode of operation and the FAX mode invoked with the fax-mode command. The FAX mode versions of these commands are described under the fax-mode command description.
1 – Add
Syntax: add alias-name alias-value [attributes[,...]] With the add command an alias and its expansion value can be added to the database currently opened. If the alias expansion value contains any spaces, commas, or upper case characters which should not be converted to lower case, then the expansion value must be enclosed in double quotes. Any double quotes in the expansion value must be "doubled" (i.e., entered as two consecutive double quotes). Examples of these two cases are: db> add STAFF "BOB@EXAMPLE.COM,SUE@EXAMPLE.COM,TOM@EXAMPLE.COM" db> add JOHN-FAX """/FN=x8645/AT=Jo Doe/""@text-fax.EXAMPLE.com" db> add LDAP-ALL <"""ldap:///dc=example,dc=edu?mail?sub?(cn=*)""" The first add command establishes the alias STAFF - > BOB@EXAMPLE.COM,SUE@EXAMPLE.COM,TOM@EXAMPLE.COM This alias required quoting since it included commas. The second add command establishes the alias JOHN-FAX - > "/FN=x8645/AT=John Doe/"@text-fax.example.com and was enclosed in double quotes because of the space in it, and the need to not convert John Doe's name to "john doe". Also, the double quotes present in the alias expansion value were doubled; that is, each double quote, ", was specified as two double quotes, "". The third add command establishes the alias LDAP-ALL - > <"ldap:///dc=example,dc=edu?mail?sub?(cn=*)" Which means that PMDF will expand the alias into a mailing list by performing an LDAP query using the LDAP URL specified. As another example, consider entering the alias JD with the simple expansion value JD573@VAXC.EXAMPLE.COM: db> add JD JD573@VAXC.EXAMPLE.COM [Entry added to database] db> show JD Key Value ---------- ----------------------------- jd jd573@vaxc.example.com [1 entry shown] db> Note that the alias name along with its translation value was converted to lower case. DB will always translate the name of an alias to lower case; PMDF does not do case sensitive alias matching. To prevent the alias translation value from being converted to lower case, enclose it in double quotes; e.g., db> modify JD "JD573@VAXC.EXAMPLE.COM" [1 entry modified] db> show JD Key Value ---------- ----------------------------- jd JD573@VAXC.EXAMPLE.COM [1 entry shown] db> The optional attributes parameter of the add command can be one or more comma separated keywords selected from the list: mail-address Treat this alias as a mail address; i.e., set the mail address attribute flag for this alias. Default when in either normal or FAX mode. Not set when an "override on" command has been issued. non-mail-address Do not treat this alias as a mail address; i.e., clear the mail address attribute flag for this alias. fax-address Treat this alias as a FAX address; i.e., set the FAX address attribute flag for this alias. Default when in FAX mode. Not set when an "override on" command has been issued. non-fax-address Do not treat this alias as a FAX address; i.e., clear the FAX address attribute flag for this alias. public Mark this alias as being publicly accessible. Other users can reference this alias by sending mail to an address of the form USER+ALIAS@LOCAL-HOST. When this alias is used in outgoing mail and is not expanded into component addresses, it will appear in the message in the form USER+ALIAS@LOCAL-HOST. Public is the opposite of the private attribute described below. private Mark this alias as being private. Other users will not be able to use this alias. If this alias appears in outgoing mail (and is not expanded into its component addresses) it will appear as an unexpanded RFC 822 group address: ALIAS: ;. Private is the opposite of the public attribute described above. expand This attribute forces the expansion of the alias into its component addresses. All of the component addresses will be listed in the message header as the alias expands. no-expand This attribute inhibits the expansion of the alias into its component addresses. The alias itself will appear in the header in some form; see the description of the public and private attributes above for details on the forms the alias can take. pass-receipts This attribute enables the passage of requests for delivery and read receipts through to all recipients as the alias is expanded. Note that allowing the passage of such a request to a large distribution list can result in a lot of return mail. block-receipts This attribute disables the passage of requests for delivery and read receipts through to all recipients as the alias is expanded. Requests for such receipts are honored at the time the alias expands; in effect the alias is treated as the message destination. When an alias is entered with the add command at the "db>" prompt, the alias will automatically be given the mail address attribute unless an "override on" command has been previously issued or the non-mail-address keyword is specified with the add command.
2 – Close
Syntax: close The close command closes the currently open alias database. Use the open command to open a different database. DB will automatically close any open database when the exit-program or quit-program commands are issued.
3 – Copy
Syntax: copy from-alias-name to-alias-name The copy command creates a new alias with the name to-alias-name and associates to it the expansion value of the alias with the name from-alias-name. A subsequent change to the "from" alias will not affect the "to" alias. Any attributes associated with the "from" alias will be copied to the "to" alias regardless of whether or not an "override on" command has been issued previously. db> add Postmaster "system@thor.example.com" [Entry added to database] db> copy Postmaster Postmast [1 entry copied] db> show Post* Key Value ---------- ----------------------------- postmast system@thor.example.com postmaster system@thor.example.com [2 entries shown] db>
4 – Exit-Program
Syntax: exit-program The exit-program and quit-program commands are identical and each causes DB to close any open database and then exit. Note that in FAX mode there is no exit-program command, only an exit-mode command. To immediately exit DB from FAX mode, use the quit- program command.
5 – Fax-Mode
Syntax: fax-mode The fax-mode command puts you into FAX mode - a mode which attempts to simplify the creation and modification of aliases whose expansion values are FAX addresses. In this mode, the DB command prompt changes to "db.fax>". To exit this mode use the command exit-mode. (From this mode there is no exit-program prompt; to immediately exit FAX mode, use the quit-program command.) When in FAX mode, aliases created with the add command are given the attributes mail-address and fax-address. Only addresses with both of these attributes can be manipulated with the add, copy, modify, rename, remove, set, and show commands while in FAX mode. Note, however, that if the "override on" command has been issued, then all attribute checking is bypassed and no attributes will be assigned to aliases created with the add command. In FAX mode, the add and modify commands have a different syntax then their counterparts in the normal DB mode. (Recall, you can always tell which mode you're in by the DB prompt: in normal mode the prompt is "db>"; in FAX mode the prompt is "db.fax>".)
5.1 – Add (FAX Mode)
Syntax: add alias-name fax-number number domain domain-name [[item value]...] To add an alias in FAX mode, the alias name, FAX telephone number, and domain name (e.g., text-fax.example.com) must all be supplied. If the FAX telephone number contains any spaces or commas, then it must be enclosed in double quotes. Additional items of information can be specified. Note that when specifying a value for an item, the value must be enclosed in double quotes if it contains any spaces, commas, or characters you don't want converted to lower case. Furthermore, any double quotes appearing in the value must be changed to two consecutive double quotes. The names of the additional items and their meanings are: 1-address The recipient's address can be displayed in one to five lines on the FAX cover page. These items are used to specify each individual line of the address. If no address lines are specified, then no address lines will be displayed on the FAX cover page. If intermediate address lines are omitted (e.g., lines 1 and 3 specified, line 2 omitted), then blank address lines will be displayed in place of the omitted lines. authorization Your site might require you to specify an authorization or access code in order to send FAXes. You can specify any required authorization or access codes with this item. fax-modem-number The telephone number which the transmitting FAX modem should use when identifying itself to the receiving FAX device. While the receiving FAX device might print this number across the top or bottom of received pages, it is not placed on the FAX by PMDF- FAX (the sending FAX modem). To control the FAX number which is displayed on the cover page as your FAX telephone number, use the "my-fax-number" item. my-fax-number The FAX telephone number to display on the FAX cover page. my-organization-name The name of your organization, group, or department to display across the top of each transmitted FAX page. my-telephone-number The recipient's telephone number to be printed on the FAX cover page. If not specified, then no telephone number will be displayed. For example, to specify a FAX address for John Doe at Example Company, Inc., the following command can be issued while in FAX mode: db.fax> add john-fax fax-number "(714) 555-1212" domain "text-fax.example.com" recipient "John Doe" 1-address "Example" telephone "(714) 555-1212" db.fax> show john-fax Alias name: john-fax Recipient's FAX number: (714) 555-1212 Recipient's name: John Doe Address line 1: Example Recipient's telephone number: (714) 555-1212 Domain specification: @text-fax.example.com [1 entry shown] db.fax> Note that all of the values entered were enclosed in double quotes. This is often the safest policy as it avoids having to worry about spaces or other characters which can appear in the values to be specified and it prevents values entered from being converted to lower case. recipients-name The name of the recipient as it will appear on the cover page of the FAX message. Be sure to enclose the recipient's name in double quotes so as to not have it converted to lower case. If not specified, then no recipient's name will be displayed on the FAX cover page. send-after Do not send the FAX until after the specified date and time. The date and time must be given using the standard OpenVMS date-time specification format. For example, the date-time specification "3-FEB-2012 22:35:00" requests that the FAX not be transmitted until after 22:35 (10:35 PM) on February 3, 2012. setup A PostScript file to first process before processing your message. The filename must specify a full path to the file and the file must be world readable. Text library modules can also be specified using the format file-spec(module-name); e.g., setup D1:[INIT]PSLIB(LETTERHEAD) where the text library is the file D1:[INIT]PSLIB.TLB and the module name is LETTERHEAD.
5.2 – Modify (FAX Mode)
Syntax: modify alias-name [[item value]...] With the modify command, various items associated with a FAX address can be altered or removed, and new items can be added to the FAX address. To alter or add an item simply specify the item name and new value. To delete an item, simply give the item name without any associated value. The domain-name and fax-number items, described below, cannot be deleted. In addition to the items which can be specified with the add command, two additional items can be specified. These items are: fax-number The FAX number to send the FAX message to. domain-name The domain name associated with the FAX address. Continuing with the example of the previous subsection, we can use the modify command to delete the use of the 1-address line and to change the recipient's telephone phone number: db.fax> modify john-fax 1-address [1 entry modified] db.fax> modify john-fax telephone-number "(714) 555-1212" [1 entry modified] db.fax> show john-fax Alias name: john-fax Recipient's FAX number: (714) 555-1212 Recipient's name: John Doe Recipient's telephone number: (714) 555-1212 Domain specification: @text-fax.example.com [1 entry shown] db.fax>
6 – Modify
Syntax: modify alias-name new-alias-value The modify command is used to replace the expansion value of an alias with a new expansion value. db> add postmaster "system@thor.example.com" [Entry added to database] db> show postmaster Key Value ---------- ----------------------------- postmaster system@thor.example.com [1 entry shown] db> modify postmaster "JOHN@example.COM" db> show postmaster Key Value ---------- ----------------------------- postmaster JOHN@example.COM [1 entry shown] db> Wild cards can be used when specifying the alias name in order to modify one or more aliases simultaneously.
7 – Open
Syntax: open database-name [huge|long|short] The OPEN command opens an alias database after first closing any currently opened database. If the database to be opened already exists, then DB will automatically determine whether or not the database is a "huge" (stores 80/1024 character long alias names/values), or "long" (stores 80/132 character long alias names/values) or "short" (stores 32/80 character long alias names/values). If the database does not already exist, then it will be created. If the SHORT, LONG, or HUGE keyword is specified after the database file name, then the database created will be of that type. If no keyword is specified, the created database will be a long database. When DB is first invoked, the personal alias database pointed at by the logical PMDF_PERSONAL_ALIAS_DATABASE is automatically opened. If it doesn't exist, a long database is automatically created. Note that because of this, if you want a huge or short database instead of a long one, you must create a database file of the desired size either (e.g. for a huge database) using "pmdf crdb/huge", or by using the DB "open other-file huge" command then renaming other-file to the PMDF_PERSONAL_ALIAS_DATABASE name.
8 – Override
Syntax: override on|off The override command is useful when looking at or modifying databases other than an alias database. Ordinarily the database manipulation commands, add, copy, modify, rename, remove, set, and show will only operate on aliases with the mail-address attribute. When the command "override on" has been issued, these commands can be used to manipulate any entry in the database regardless of its attributes (or lack thereof). The "override off" command negates the "override on" command.
9 – Quit-Program
Syntax: quit-program The exit-program and quit-program commands are identical and each causes DB to close any open database and then exit. Note that in FAX mode there is no exit-program command, only an exit-mode command. To immediately exit DB from FAX mode, use the quit- program command.
10 – Remove
Syntax: remove alias-name With the remove command, one or more aliases can be removed from the database. Wild cards can be used when specifying aliases to be removed. For instance, to remove all aliases from a database, issue the command "remove *".
11 – Rename
Syntax: rename old-alias-name new-alias-name The rename command is used to rename an alias without altering its expansion value: db> add postmaster "system@thor.example.com" [Entry added to database] db> show postmaster Key Value ---------- ----------------------------- postmaster system@thor.example.com [1 entry shown] db> rename postmaster post [1 entry renamed] db> show post Key Value ---------- ----------------------------- post system@thor.example.com [1 entry shown] db>
12 – Set
Syntax: set alias-name attributes[,...] The set command can be used to grant or remove attributes from aliases. The alias name specification can include wild cards. The allowable attribute names are listed in the add command description described under the "add" command.
13 – Show
Syntax: show [alias-name [attributes]] The show command is used to list the contents of a database. The optional attributes keyword, when supplied, causes the attributes associated with each alias to also be displayed: db> add postmaster "system@thor.example.com" [Entry added to database] db> show postmaster attributes Key Value ---------- ----------------------------- postmaster system@thor.example.com Attributes: private,expand,block-receipts,mail-address [1 entries shown] db> The alias name specification can contain wild cards. To see all entries with the mail-address attribute, issue the command "show"; to see absolutely all entries, first issue the command "override on" followed by the command "show"
14 – Wildcards
Syntax: wildcards ignore|interpret By default, the characters * and % in alias names are interpreted as wildcards: an asterisk, *, will match zero or more characters while each percent sign, %, will match precisely one character. The command "wildcards ignore" will cause DB to not interpret asterisks or percent signs as wildcards; the command "wildcards interpret" will resume interpretation of wildcards.
15 – Write
Syntax: write file-name [alias] The write command is used to create a command file which, when fed back into DB with the < or << commands, will recreate the entire database. If the alias keyword is specified, then a PMDF alias file (using PMDF's alias file format) will instead be produced. For instance, the following commands will create a database named DB2.DAT which duplicates the database DB1.DAT: db> open db1.dat db> write make.com db> open db2.dat [creating database] db> <<make.com db> The above example presupposes the existence of a database named DB1.DAT. The file MAKE.COM created with the write command is an ordinary text file which can be edited with any text editor. Note that this is not an efficient way to duplicate a database - the DCL COPY command works much faster. The write command is intended as a means of creating a textual representation of a database which can be edited as a text file and later turned back into a database.