VPW Version 2.0 The VAX Professional Workstation User's Guide by James G. Downward KMS Fusion, Inc. Ann Arbor, Mich. 48104 April 16, 1983 CHAPTER 1 THE VAX PROFESSIONAL WORKSTATION 1.1 Introduction Version 2 of the VAX Professional Workstation is now available for use. This manual documents the various features of the VAX Professional Workstation and provides an introduction in how to use them. The VAX Professional Workstation is an outgrowth of an effort to provide both staff and support personnel easy, menu driven access to a growing number of VAX productivity tools. The overriding consideration is that the user-VAX interface should be friendly, and that even "non-programmers" should be able to benefit significantly from the available productivity tools. The VAX Professional Workstation provides simple, menu driven access to: o The VAX Computer Aided Instruction Courses o The VAX DateBook System o The VAX Desk Calculator o The VAX Document Preparation and Filing System o The VAX Electronic Mail System o The VAX Teleconferencing System o The VAX PhoneBook System o The VAX Reminder System o The VAX Reference Library The various facilities of the VAX Professional Workstation are accessed from multiple menus. Menu selections have been grouped according to the functions performed. The major groupings are: o The Electronic Desk provides a package of office automation tools. o The Research Assistant provides access to functions primarily used by those engaged in research activities. THE VAX PROFESSIONAL WORKSTATION Page 1-2 o The VAX Instructor provides a common interface to both DEC and in-house CAI courses on using the VAX. o The VAX Personal Workstation provides each user with a personal menu of options. 1.2 Assumptions The VAX Professional Workstation is designed to work primarily on VT100 or equivalent terminals with the advanced video option. Since it is menu-driven, the VT100 baud rate should be at least 2400 baud. A limited number of functions may be done from an NBI workstation. This functionality is provided mainly so that files can be transfered between the VAX and the NBI word processor. It is also assumed that each VAX user accessing the VAX Professional workstation has a separate, unique account/directory. This assumption is necessary because from time to time the VAX Professional Workstation creates temporary files. These files would not be unique if multiple users were using VPW on the same account. 1.3 Using The VAX Professional Workstation To access the VAX Professional Workstation, type VPW. NBI VPW users are automatically logged onto the VAX Professional Workstation in NBI compatability mode. Some VPW functions only work on VT100 terminals. A subset of functions are available on the NBI terminals. Only functions which work on NBI terminals are displayed in the menu which appears on an NBI terminal. NBI-specific functions (file transfer to the NBI) are not available for VT100 users. When the VAX Professional Workstation is accessed for the first time after logging on, the user's DateBook (if any) is checked to see if there are any entries present for that day. If there are, a reminder message is broadcast and displayed on the user's terminal. The user may then invoke DateBook and see what is scheduled. Once the VAX Professional Workstation has been accessed, the following VMS commands become available for use at any time. ALIST - Display a phone number and address BROADCAST - Broadcast a message to a user CALC - Use the VAX Calculator DATEBOOK - Use the VAX DateBook NOTEBOOK - Use the VAX NoteBook PHONEBOOK - Use the VAX PhoneBook PLIST - Display a phone number THE VAX PROFESSIONAL WORKSTATION Page 1-3 REMINDER - Send a reminder message VPW - Invoke the VAX Professional Workstation WP - Use the VAX Document Preparation System 1.4 The VAX Professional Workstation Menus Each menu displays a list of options. Keywords appear on the left with the minimum number of required keys to enter displayed in bold, capital letters on VT100 terminals, and capital letters on others. On the right of each keyword is a discription of the function to be performed. At the bottom of each menu, the user is prompted for a "Choice: ". If an invalid choice is entered, a warning message is displayed at the user's terminal, and the user is again prompted for a "Choice: ". Direct cursor addressing is used by all tasks and command procedures to minimize the amount of I/O to the user's terminal screen. There is a large number of ways to exit from VPW. A Control-Y will clean up work in progress, reset correct terminal characteristics and exit to DCL at any point. A Control-Z or EXIT will exit from any menu and return to either the previous menu or the VAX command level. Hitting a carriage return from the primary menu will repaint the screen. However, hitting a carriage return from a secondary menu will return the user to the primary menu. If the user enters an invalid selection a warning message is displayed and the user is prompted for an input choice. 1.4.1 The Primary VT100 Menu When VPW on a VT100 starts up the primary menu is displayed. The VAX Professional Workstation The VAX Professional Workstation You may choose: Desk - The VAX Electronic Desk D Instruction - The VAX Instructor I Logoff - Logoff the VAX L Personal - The VAX Personal Workstation P Research - The Vax Research Assistant R Exit - Exit E Choice: The menu is self explanatory. Each selection (except Logoff and Exit) will drop you into a secondary menu. Once you are in a secondary menu you will stay in the secondary menu until either you enter Exit, hit carriage return to the "Choice:" prompt, or type Control-Y. THE VAX PROFESSIONAL WORKSTATION Page 1-4 1.4.2 The NBI Primary Menu If the terminal accessing the VAX Professional Workstation is an NBI terminal, the following menu is displayed. The VAX Professional Workstation You may choose: Calculate - Use the VAX calculator DateBook - Use the DateBook System Exit - Exit menu and use VAX directly Logoff - Logoff the VAX Mail - Use the VAX Electronic Mail Phonebook - Use the Phonebook System Reminder - Send a Reminder TOday - Check DateBook for today's events TRansfer - Transfer a file from the VAX to NBI Choice: All functions except "Transfer" are discussed as part of the Electronic Desk menu or the Research Assistant menu. The Transfer option is unique for NBI terminals. For the transfer option to work, the document for transfer must have been prepared for must transmission to the NBI using the VAX Document Preparation System (Option WP on in the Electronic Desk menu). The reasons for this requirement are twofold. First, the Document Preparation System sets the correct margins for transmitting the document to the NBI. If the margins are not set correctly, a significant amount of work is required by the secretaries in reediting the document after it has been transmitted. Second, when a document is prepared for transmission to the NBI, a special index file is updated, placing that document in a queue for the NBI. When the transfer option is selected, the file for transfer can not be found if the index has not had the file name placed in it. When the NBI user requests to transfer a document from the VAX, the user is prompted for the name of the individual to transfer a document for. If the name entered is correct, and that user has submitted a document for transmission, each document name available for transmission by that user is displayed and the NBI user is asked if it is the desired document. If it is, the NBI user is told how to setup the NBI and to "Hit RETURN when ready". Setting up the NBI involves exiting from communication mode temporarily (hit the MODE key), turning logging on, and returning to communication mode (hit CANCEL key). When a carriage return is pressed while in communication mode, the file is transmitted to the NBI and captured in -COMLOG on the user's NBI directory. Following transmission, the user is told to turn Press MODE, Turn Logging off, return to conversational mode and to "Press Carriage Return when ready". The operator is then asked if the file was transmitted correctly. If it was, the entry requesting transmission in the index file is deleted. If the file was not THE VAX PROFESSIONAL WORKSTATION Page 1-5 transmitted and captured, the operator is given another chance to get it. 1.5 The Electronic Desk Menu When the Electronic Desk menu is selected the following menu is displayed. The VAX Electronic Desk The VAX Electronic Desk You may choose: Datebook - Use the DateBook system D Mail - Use VMS Electronic MAIL M Phonebook - Use the VAX PhoneBook system P Reminder - Send a Reminder R TAlk - Local Teleconference calls TA TOday - Check DateBook for today's events TO Wp - Use the VAX Document Preparation System W Exit - Exit E Choice: The Electronic Desk provides users with a selection of standard office automation tools. The DateBook system uses command procedures and DATATRIEVE to provide the user with a personal appointment calendar. PhoneBook provides the user access to phone, address, and mailing lists. It is implemented as a function of the VAX NoteBook program, which is described in a subsequent chapter. The VAX Reminder system allows one to send dated reminder messages to other users on the system. Based on user input, the user submits messages to the reminder queue for delivery at a later time and date. At the appointed date and time, the message is dequeued and the Broadcast utility finds the user and displays the message at any terminal on which the user is logged on. If the user is not logged on at any terminal, Broadcast mails the message to the user. The use of the Broadcast utility, the DateBook system, the VAX PhoneBook, the VAX Reminder system, and the VAX Document Preparation system are documented in later chapters. The use of VMS Electronic Mail and the VMS Electronic Teleconference utility (The VMS PHONE command), are documented in the VMS Utilities Manual. Copies of these sections are available from the System Manager. THE VAX PROFESSIONAL WORKSTATION Page 1-6 1.6 The VAX Instructor When the Instruction is selected, the VAX Instructor menu is displayed: The VAX Instructor The VAX Instructor You may choose to learn about: DElete The VMS Delete Command DE DIrectory The VMS Directory Command DI EDit The VMS Edit command ED File Specifier The VMS File Specifier F Introduction Introduction to VMS I Purge The VMS Purge Command P Runoff The VMS Runoff Command R Type The VMS Type Command T EXit Exit from this menu EX Choice: The Edit and the Introduction choices invoke the DEC's CAI (Computer Aided Instruction) courses for the DEC Standard Editor and for an Introduction to VMS respectively. The other CAI courses were developed in house and provide a very good introduction to the basic VMS commands which are necessary for general use by every VAX user. All of the CAI courses let you see what the correct working of the commands is, and most provide for testing to see if you have learned the course material. All the courses are entertaining and provide a rapid, nearly painless way to learn how to use the VAX. As an aid in learning to use the VAX we also have a number of introductory books, including a VAX/VMS Primer and the VAX/VMS Users Introduction. 1.7 The VAX Personal Workstation To avoid the problem of having to create a multitude of command procedures for users requiring different functionality, each user is permitted to have one personal menu option per directory. When the Personal Workstation option is selected for the first time a menu template file, VPWUSER.MNU, is created. Initially the only entries in this menu are to Exit and to return to the VAX Professional Workstation main menu. Users wishing to add a personal menu should edit VPWUSER.MNU to add lines of the following form: key - Text....Text|Key:=@cmdprocedure.MNU Two features are important here. First the vertical bar, "|", must be used to separate the menu text to display from the foreign command. Second, the foreign command must be of the form THE VAX PROFESSIONAL WORKSTATION Page 1-7 Cmdverb:=@command_file_name.MNU Note that the file type of the specified command file must be .MNU. This special extension (for menu) is used so that VPW knows whether or not the foreign command belongs to the menu. An example of setting up the menu is: MYreport - Text 1|MY*report:=@MYREPORT.MNU MY Targets - Text 2|T:=@TARGLST.MNU T VIsicalc - Text 3|VIsicalc:=@VCALC.MNU VI : When the menu is displayed the following will appear: You many choose: MYreport - Text 1 MY Targets - Text 2 T VIsicalc - Text 3 VI VPW - The VAX Professional Workstation VPW EXit - Exit EX Choice: The VPW and Exit command are automatically inserted by VPW. Bold text can be inserted with the editor using VT100 escape sequences. [1m turns on bold mode and [0m turns off all special attributes. However, it is not necessary to make any characters appear bold. Do it only for personal convenience. Note the use of the "*" in defining the foreign commands. This allows the foreign command to be recognized if more than the minimum number of characters are entered. 1.8 The Research Assistant Menu When the Research Assistant menu is requested the following menu is displayed. The VAX Research Assistant The VAX Research Assistant You may choose: Calculate - Use the VAX Calculator C Journals - Use the VAX Reference Library J Report - Use the Target Shot Analysis System R Exit - Exit menu and use VAX system directly E Choice: At present this menu is rather short. In time, however, other functions will be added to assist users in analyzing data, creating graphs, and remotely analyzing images with the image processor. The Calculate option invokes the VAX Calculator. The Journals option uses NoteBook to create and maintain a private reference THE VAX PROFESSIONAL WORKSTATION Page 1-8 library to journal articles one wishes to remember. The user can store information on each article including title, authors, journal, dates, pages, and keywords. At any later time the user can search the library index for references using any of the data fields as search parameters. The Report option is used to allow users to run target shot analysis programs which can track down target shot data which can be on one of two network nodes and on a large number of on-line or off-line disks. 1.9 Menu Commands 1.9.1 Calculate Calculate The Calculate option invokes the VAX calculator program which signifies its presence with the prompt CALC>. Exit from calculator mode by entering Control-Z (Altshift-Z on the NBI terminals). A list of valid commands may be obtained by typing ? to the CALC> prompt. Chapter 3 describes how to use the VAX Calculator. 1.9.2 DateBook DateBook The Datebook option invokes the DateBook procedure which is documented in Chapter 4 in this manual. DateBook provides the user with a personal appointment calendar. Datebook provides on-line help for its functions. When its menu is displayed, enter Help for an explanation of all its functions and options. 1.9.3 Exit Exit Typing an Exit, Control-Y, or Control-Z will return you to VAX command level or the previous command procedure. Typing a carriage return will return you to the primary menu. After each requested function in the menu is completed, the current menu will again be displayed and prompt you for a new choice. 1.9.4 Journals Journals The Journals option allows the user to create and access a list of journal articles and references. Journals is controled by NoteBook, whose use is documented in Chapter 6. Pressing the PF2 key on VT100 terminals when Journals is requesting input will produce a HELP display. The program is practically self teaching. However, users are to read Chapter 6 prior to using journals. THE VAX PROFESSIONAL WORKSTATION Page 1-9 1.9.5 Logoff Logoff The user is logged off of the VAX without having to leave the menu first. 1.9.6 Mail Mail A message is first displayed telling you that you are about to use VMS MAIL and how you can get help and exit from mail when done. MAIL then prompts for input. The user can request help on using MAIL by typing HELP when MAIL prompts. Control-Z at any point will cause MAIL to exit and you will be returned to the primary menu. To use MAIL you should get a copy of the chapter on using MAIL in the VMS Utilities manual. 1.9.7 Phonebook Phonebook The PhoneBook option allows the user to create and access a list of phone numbers and addresses in a data file on their login directory. PhoneBook is implemented using the VAX NoteBook. Phonebook's use is documented in Chapter 7. Pressing the PF2 key on VT100 terminals when Phonebook is requesting input will produce a HELP display. The program is practically self teaching. However, users are should read Chapter 7 for more details. 1.9.8 Reminder Reminder The Reminder option allows the user to send dated and time-stamped reminder messages to users on the VAX. The use of Reminder is documented in Chapter 8 later in this manual. 1.9.9 Report Report The Report option provides the staff with easy access to the report programs used in analyzing the data acquired in our experiments. The data is filed by experiment number, some 100 blocks of data per experiment. Data can be stored either on a PDP-11 system (connected via DECnet), off-line on a removable disk cartridge, or on any one of a number of subdirectories on an RA81 disk. The Target Shot Analysis System either locates where the data is stored and allows the user to run the report programs (over the network if required) or informs the user which removable disk the data is on so that the disk can be loaded on the system. THE VAX PROFESSIONAL WORKSTATION Page 1-10 1.9.10 TAlk TAlk The TAlk command allows the user to access the VMS PHONE utility which allows users on different terminals (VT100's) to converse with each other using their terminals. When PHONE prompts, type HELP to get help in learning the commands for PHONE. Information on how to use PHONE can be found in a chapter in the VMS Utilities manual 1.9.11 TOday TOday Typing TOday will cause DateBook to display all meetings/appointments scheduled for the current day. The use of DateBook is documented in Chapter 4 in this manual. 1.9.12 WP WP The WP command (for Word Processor) drops the user into the VAX Document Preparation system menu. The VAX Document Preparation system is described in Chapter 5 of this manual. CHAPTER 2 THE VAX BROADCAST UTILITY BROADCAST allows any user to send a one line notice to another user on the system. Its syntax is BROADCAST TTxx:message...message...message or BROADCAST Username:message...message...message If the form using the Username is specified (and it must be a proper user's logon name), BROADCAST will send a notification message to all terminals the user is logged on to. Alternatively, using the form specifying the terminal number, the message will be sent to the terminal regardless of the user at the terminal. BROADCAST can not work if the user has set the terminal /NOBROADCAST. To use BROADCAST, define the symbol BROADCAST:==$SYS$SYSVPWFILES:BROADCAST This symbol is automatically defined by SYSLOGIN.COM when it executes @SYS$SYSVPWFILES:SETVPWSYM.COM during the logon process. To work, BROADCAST must be installed with OPER, and WORLD privilege. Messages sent to DEC CRT terminals will erase the top 6 lines of the screen and display the notice 2 lines down from the top. CHAPTER 3 THE VAX DESK CALCULATOR 3.1 Introduction This chapter documents the use of CALC, the VAX Desk Calculator. CALC may either be accessed from the VAX Professional Workstation menu or as a foreign command (defined by SYS$SYSVPWFILES:SETVPWSYM.COM during SYSLOGIN.COM) by typing CALC. CALC is a calculator designed to evaluate arithmetic expressions. In its basic form, expression evaluation is similar to that used by ANSI FORTRAN with calculations performed on INTEGER4 and REAL8 constants. Variables may also be invoked but 4 8 are limited to single alphabetic characters. It is assumed that the reader is familiar with FORTRAN data types, constants, expression syntax, operator precedence, and the syntax for assigning values to variables. Additional features include octal, hexadecimal, and multiple precision arithmetic capabilities. Commonly used commands and expressions can be placed in a file and executed when convenient. 3.2 Getting Started When invoked, CALC prompts for input with CALC> Try typing 123+456 followed by a carriage return. CALC will evaluate the expression and output the answer 579 It then prompts for further input. Try other expressions such as 12.0 - 99. (answer=-87.00000000000000) -(-32767+(6-2)**8-(512/(409-401))) (answer=-32705) 3*5/7 (answer=2) THE VAX DESK CALCULATOR Page 3-2 3*(5/7) (answer=0) Mixed mode is legal, for example 1977/50. is evaluated as 39.54000000000000 Reals may be expressed using D or E format. For example 1.2E10*2.D0**3-1.D-8 is evaluated as 0.95999999999999992D+11 Variables may also be used to retain values for later use. CALC allows variables consisting of a single alphabetic character. As in FORTRAN, variable A through H and O thru Z default to type real, I thru N to type integer. To set I to a value use the usual FORTRAN syntax, for example: I=2**10-1 Try typing the single character 'I'. CALC will respond with its value. We can now use I in various expressions such as J=I-I/3*3 % is a special variable that retains the value of the last expression evaluated. For example, to add up the numbers 1, 2, 3, 4, 5, and 6 successively, we could enter 1 %+2 %+3 %+4 %+5 %+6 Note that you can examine the value of the variables by typing the appropriate single character followed by a carriage return. Such an examination does not change the value of %. To exit from CALC, type *E (or *EXIT) or *S (or *STOP) or Control-Y THE VAX DESK CALCULATOR Page 3-3 3.3 Special Functions CALC recognizes a variety of special functions. For example, to calculate the square root of 2, we can type SQRT(2.) CALC responds with the value 1.41421356237310 Each function may have an expression for its argument. For example, A=2.0*SQRT(ALOG(9.)+3.) sets A to 4.55948443459838 The following special functions are available: FUNCTION NAME ARGUMENT TYPE FUNCTION VALUE DESCRIPTION -------------------------------------------------------------------------- ABS REAL REAL absolute value DABS REAL REAL absolute value IABS INTEGER INTEGER absolute value IFIX REAL INTEGER convert REAL to INTEGER AINT REAL REAL REAL truncation INT REAL INTEGER convert REAL to INTEGER IDINT REAL INTEGER convert REAL to INTEGER EXP REAL REAL e**X DEXP REAL REAL e**X ALOG REAL REAL natural logarithm DLOG REAL REAL natural logarithm ALOG10 REAL REAL logarithm base 10 DLOG10 REAL REAL logarithm base 10 SQRT REAL REAL square root DSQRT REAL REAL square root SIN REAL REAL trigonometric sine DSIN REAL REAL trigonometric sine COS REAL REAL trigonometric cosine DCOS REAL REAL trigonometric cosine TANH REAL REAL hyperbolic tangent DTANH REAL REAL hyperbolic tangent ATAN REAL REAL arc tangent DATAN REAL REAL arc tangent 3.4 Working In Octal And Hexadecimal You may change the base used to specify constants by using the B command. Legal forms are B command action ------- ------ *B displays current default base *B 8 changes default base to octal THE VAX DESK CALCULATOR Page 3-4 *B 10 changes default base to 10 *B 16 changes default base to 16 Suppose we have changed the default base to octal. Then adding 7 + 1 we obtain the result 00000000010 (BASE 8) If the default base is hexadecimal, we can enter 9 + 1 which is evaluated as 0000000A (BASE 16) Suppose we have assigned A=1 then 1+A gives 2.000000000000000 even when the default base is 16. If we wish to add the hexadecimal digit 'A' to 1, enter 1+0A We now obtain the desired 0000000B (BASE 16) This leading 0 is only necessary when the first hexadecimal digit is greater than 9. If constants are entered with digits that are not legal for the base being used, the entire number is converted using a more appropriate base. For example, if we have set the default base to octal and type 1+9 the 9 is not an octal number so it is converted to base 10. If a base 16 number is involved, the result will be in base 16. You may temporarily change the base for a single integer constant by preceeding it with THE VAX DESK CALCULATOR Page 3-5 ^8 for octal ^10 for base 10 ^16 for base 16 For example, if the default base is 10, 100+^840 gives 132 a base 10 integer. I=100+^1610 gives 116 also a base 10 integer. Note that the '^' can only be used to specify the base of constants and that expressions such as ^16I are illegal. To declare variables to be integers of a specific base, we can use the commands *INTEGER (base 10) *OCTAL (base 8) *HEX (base 16) For example, *INTEGER A declares variable A to be a base 10 integer. *HEX B,Z,F declares variables B, Z, and F to be base 16 integers. *DECIMAL lists all the variables that have been declared to be of type DECIMAL. To summarize, there are three distinct ways of making base declarations when using CALC. The first is to use the B command to B designate the base default value. This is used to determine the base for constants when they occur in expressions. It does not in any way influence the type of any variables found in an expression. The only way to change the type of a variable is with a specific CALC command such as *INTEGER A,B Suppose for example that the default base is 10 and we enter *OCTAL A A=100 THE VAX DESK CALCULATOR Page 3-6 then CALC responds with 00000000144 (BASE 8) Finally, the last way to change a base is to use the explicit base specifiers for a constant, for example ^10 123 ^8 777 ^16 AB 3.5 Multiple Precision Normally integer arithmetic (base 8, 10, and 16) is done internally with INTEGER4 variables. To allow for larger numbers, 4 CALC has multiple precision capabilities that allow numbers up to 99 digits to be manipulated. Constants are converted to a multiple precision data type when the number of digits specified exceeds a certain value. This value depends upon the specified base. Leading zeroes are included in this count and can be used to force constants to be of type multiple precision. base maximum number of digits before conversion ---- ------------------------------------------ 8 10 10 9 16 7 Suppose we type (with the default base of 10) the number 1234567890 then CALC echoes with 1,234,567,890 (BASE 10) The commas indicate that % now has type multiple precision base 10. Similarly, typing 1234ABCD results in 1234,ABCD (BASE 16) Notice that base 16 multiple precision numbers are separated by commas every 4 digits, octal and base 10 numbers every 3 digits. THE VAX DESK CALCULATOR Page 3-7 You may perform the usual operations of addition, subtraction, multiplication, division, and exponentiation. As of version 1.0, exponentiation of a multiple precision number may only be to a non-negative integral power. To declare variables of type multiple precision, use *M8 (multiple precision base 8) *M10 (multiple precision base 10) *M16 (multiple precision base 16) for example, *M8 A,B declares A and B to be multiple precision octal variables. Then typing A=32768 results in CALC responding with 100,000 (BASE 8) 3.6 Additional Commands All commands to CALC (as distinguished from expressions to be evaluated) begin with an asterisk. To obtain a list of all possible commands, type a question mark followed by a carriage return. Most of the commands have already been described. The following section gives an explanation of the remaining commands. COMMAND DESCRIPTION ------- ----------- *@filename Where filename is the name of a file of CALC commands. CALC reads the file and executes the commands. Up to 5 nested calls can be made. Recursive calls are not allowed. CALC prompts with CALC before each command line is executed, where n is the calling level. You may optionally follow the file name with a blank followed by a single variable name (a single alphabetic character or %). CALC will then execute the file until the value of that variable is zero or negative. The test of this variable is made before the file is executed and not during execution of commands within the file. If the variable's value is not positive when the command is initially encountered, the file will not be opened for execution. See the section on command file examples for ways to use this option. THE VAX DESK CALCULATOR Page 3-8 *ASCII Declares a list of variables to be of type ASCII. This is useful when decoding ASCII characters. For example, if we set A to be of type ASCII, then typing A=77 results in the character 'M' being output. The inverse operation is the single quote. It allows us to specify a single ASCII constant. For example, if we type 'M then the character 'M' is echoed and indicates that % holds that character and has data type ASCII. Suppose that the variable I has data type INTEGER. Then we can output the base 10 code for the ASCII character 'M' by entering I='M which results in 77 being output. Notice that you may not be able to enter certain control characters that are intercepted by your operating system. Characters whose value is less than 32. are output by printing the character '^' followed by the equivalent ASCII character of that number plus 32. For example, A=10 results in ^* being output since 42 is the ASCII code for the character '*'. See apendix A for a table of the characters output by CALC to represent such non-printable characters. *C COMMENT line. The characters that follow are ignored by CALC. This is useful when documenting files containing CALC commands. THE VAX DESK CALCULATOR Page 3-9 *N NOVIEW. Prevents CALC from outputting the value of the expressions evaluated. This is especially useful when executing files containing CALC commands that initialize variables to special values. Equivalent to *V 1 *V VIEW. Controls CALC's printing options: command output class ------------- -------------- *V 0 error messages *V 1 error messages command lines read from files *V 2 error messages value of expressions evaluated *V 3 error messages command lines read from a file value of expressions evaluated *V same as *V 3 The default setting is *V 3. Notice that other legal forms are *VIEW 1 and *V2 *R READ. Allows a single line to be read from the terminal. Useful in files of CALC commands to allow additional commands to be entered (like *S to exit from that file) or simply as a way to halt terminal output until the carriage return key is pressed. *REAL declares specified variables to be REAL*8. When the values of such variables are output, FORTRAN's D format is used. *DECIMAL Declares specified variables to be REAL*8. When the values of such variables are output, FORTRAN's F format is used. Variables A-H and O-Z default to type DECIMAL. *S STOP. Same as *E *E EXIT. Terminates CALC session unless it is used within a file of CALC commands. In this case, CALC closes the file and continues with the next command. *Z ZERO. Zeroes all variables except %. Data types are not changed. THE VAX DESK CALCULATOR Page 3-10 3.7 Additional Features CALC has a HELP command. When CALC is prompting (CALC>) you may type either HELP or ? followed optionally by a keyword. If no keyword is present, a list of available keywords for obtaining help will be displayed. HELP works just like getting normal HELP from the VAX system. If a given keyword has help under several sub-topics, you can request HELP on specific sub-topics by typing HELP etc. CALC is similar to FORTRAN with respect to operator precedence. Blanks may occur anywhere on a command line without effect except after a single quote mark used to specify a single ASCII character constant. CALC extends the ANSI FORTRAN syntax by allowing the following: 1. Multiple assignments on one line. For example, I=J=K=812 2. Unary + and unary - are allowed. For example, 2*-3 +2+-7 -2**4 are all legal. The last expression evaluates to 16 because the unary - has a higher precedence than exponentiation. 3. exponentiation may be indicated by using ! as well as ** If any of the declarations are entered (such as INTEGER or M8) I M and no argument to this command is given, then CALC will print out the variables that have been assigned that data type. Note that a variable can be assigned to different data types using such commands and still not be assigned a value. If you attempt to output the value of such a variable, an error message will result. 3.8 Command File Examples EXAMPLE 1: PROBLEM: Be able to enter the coefficients of a second degree polynomial and have the roots output. Solution: Create the following file and call it ROOT: *CALCULATES THE ROOTS OF A 2ND DEGREE EQUATION *C YOU WILL BE ASKED TO ENTER THE VALUES OF *C A,B AND C WHERE *C *C 2 *C A X +B X + C = 0 *C THE VAX DESK CALCULATOR Page 3-11 *C *C ENTER THE VALUE OF A *R A=% *C ENTER THE VALUE OF B *R B=% *C ENTER THE VALUE OF C *R C=% *C THE ROOTS ARE: X=(-B+SQRT(B*B-4.*A*C))/2.*A Y=(-B-SQRT(B*B-4.*A*C))/2.*A *C *C AS YOU CAN SEE BECAUSE A*X*X+B*X+C A*Y*Y+B*Y+C Then run the procedure by entering CALC and typing *@ROOT THE VAX DESK CALCULATOR Page 3-12 EXAMPLE 2: PROBLEM: Suppose we are working on a problem that requires us to convert many decimal 16 bit word addresses to octal byte address. We would like to be able to simply enter the decimal word address and have CALC respond with the octal byte address. SOLUTION: Create a file of the following commands and call it BYT: *C *C *C *C *C ENTER DECIMAL WORDS *R A=%+% Then we enter CALC and type the following: *OCTAL A (to make A an octal variable) 1 (to set % to a non-zero number) *@BYT % (to execute the file of conversion commands) We will then repeatedly execute the file BYT until we enter a zero as the number to be converted. THE VAX DESK CALCULATOR Page 3-13 EXAMPLE 3: PROBLEM: We wish to set up a command file called SIGN that allows us to enter a number, and then execute the files MINUS, ZERO, and PLUS according to the value entered. SOLUTION: Create the file SIGN consisting of: *C ENTER THE NUMBER WHOSE SIGN IS TO BE DETERMINED *R I=J=% I=-I K=1 *C K STAYS AT 1 IF NUMBER IS NON-ZERO *@MINUS I *@PLUS J *@ZERO K The file MINUS: *C THE NUMBER IS NEGATIVE I=K=0 The file PLUS: *C THE NUMBER IS POSITIVE J=K=0 and the file ZERO: *C THE NUMBER IS ZERO K=0 Notice that K is used to control the execution of the file ZERO by initializing it to 1 and resetting it to zero if either of the files PLUS or MINUS are executed. THE VAX DESK CALCULATOR Page 3-14 EXAMPLE 4: PROBLEM: Enter the number N and calculate the numbers 1!, 2!, 3!, 4!, ... N! where N! = N*(N-1)*(N-2)*...*3*2*1 SOLUTION: Since the numbers may grow very large, we will use a multiple precision variable. Create the following files: MFACT: *C INPUT THE LIMIT OF THE FACTORIAL LIST *V 0 *R N=% *M10 A I=0 *@MF1 N *C SET VIEW AND TYPE FOR VARIABLE A AT DEFAULT VALUES *DECIMAL A *V MF1: A=1 N=N-1 I=I+1 J=I *@MF2 J *V2 A *V0 MF2: A=A*J J=J-1 We then enter CALC and type *@MFACT A typical run of this procedure would look like: >CAL CALC>*@MFACT THE VAX DESK CALCULATOR Page 3-15 CALC<2>*C INPUT THE LIMIT OF THE FACTORIAL LIST CALC<2>*V 0 CALC<2>4 1 (BASE 10) 2 (BASE 10) 6 (BASE 10) 24 (BASE 10) CALC> THE VAX DESK CALCULATOR Page 3-16 EXAMPLE 5: PROBLEM: We wish to specify a default base and successively add numbers into a sum. SOLUTION: Create the following files of CALC commands: ADD: *V *C ENTER DEFAULT BASE *R *C CHANGE DATA TYPE OF SUM *C BY SPECIFYING THE DATA TYPE FOR I AND J *R *C TO EXIT, TYPE 0 TO ZERO OUT, ADD -I *V0 I=0 1 *@ADD1 % *V ADD1: *V *R *V0 J=% I=I+% *V2 I *V0 %=IABS(J) Then we invoke the procedure by typing *@ADD A typical run follows: CALC>*@ADD CALC<2>*V CALC<2>*C ENTER DEFAULT BASE CALC<2>*R CALC<2>*B 8 DEFAULT BASE IS 8 CALC<2>*C CHANGE DATA TYPE OF SUM CALC<2>*C BY SPECIFYING THE DATA TYPE FOR I AND J CALC<2>*R CALC<2>*OCTAL I,J CALC<2>*C TO EXIT, TYPE 0 TO ZERO OUT, ADD -I THE VAX DESK CALCULATOR Page 3-17 CALC<2>*V0 CALC<3>177 00000000177 (BASE 8) CALC<3>1 00000000200 (BASE 8) CALC<3>0 00000000200 (BASE 8) CALC> 3.9 Usage Notes Version 1.0 1. When you iterate on a file by a call such as *@REPEAT X then note that A) X must have been set to a positive value when the command is executed or else the file will not be executed. B) If the file of commands does not change the value of the variable X you will enter an infinite loop. You can explicitly set X to a non-positive value, use the *Z command to zero it (if it is not %), or include a *R command to give you a chance to reset the variable and get out of the loop. C) *E and *S will allow you to exit from the command file REPEAT but will not of themselves prevent repetitions. D) Entering constants echo on the terminal (assuming *V is properly set) and can change the value and type of the variable %. This is important to remember when using % to control the iteration of a file. 2. When you first enter CALC, the variable % has type INTEGER and holds the version number of the program. 3. In practice, multiple precision arithmetic may be limited to less than 99 digits because of your terminal's inability to print that many characters. 4. No implicit conversion is made to multiple precision when operations with reals or integers cause an overflow. This was done in version 1.0 in case the multiple precision routines have to be removed when creating a small task image for some operating system. THE VAX DESK CALCULATOR Page 3-18 5. In FORTRAN, -A**2 is the same as -(A**2) with CALC, -A**2 is the same as (-A)**2 (just like SNOBOL!) 6. If R and A are positive reals and I is a positive integer, some compilers like RSX-11M's F4P won't allow (at run time) evaluation of (-I)**R (-A)**R 7. Under RSX-11M F4P you will find 2**.5 to have value 1 while 2.**.5 has value 1.41421356237310 8. 10E10 is a hexadecimal constant (integer) while 10.E10 is a real. THE VAX DESK CALCULATOR Page 3-19 3.10 Appendix A ASCII CALC ASCII CALC ASCII CALC ASCII CALC CODE PRINTS CODES PRINTS CODE PRINTS CODE PRINTS ---- ------ ----- ------ ---- ------ ---- ------ 0 ^ 32 64 @ 96 ` 1 ^! 33 ! 65 A 97 a 2 ^" 34 " 66 B 98 b 3 ^# 35 # 67 C 99 c 4 ^$ 36 $ 68 D 100 d 5 ^% 37 % 69 E 101 e 6 ^& 38 & 70 F 102 f 7 ^' 39 ' 71 G 103 g 8 ^( 40 ( 72 H 104 h 9 ^) 41 ) 73 I 105 i 10 ^* 42 * 74 J 106 j 11 ^+ 43 + 75 K 107 k 12 ^, 44 , 76 L 108 l 13 ^_ 45 - 77 M 109 m 14 ^. 46 . 78 N 110 n 15 ^/ 47 / 79 O 111 o 16 ^0 48 0 80 P 112 p 17 ^1 49 1 81 Q 113 q 18 ^2 50 2 82 R 114 r 19 ^3 51 3 83 S 115 s 20 ^4 52 4 84 T 116 t 21 ^5 53 5 85 U 117 u 22 ^6 54 6 86 V 118 v 23 ^7 55 7 87 W 119 w 24 ^8 56 8 88 X 120 x 25 ^9 57 9 89 Y 121 y 26 ^: 58 : 90 Z 122 Z 27 ^; 59 ; 91 [ 123 { 28 ^< 60 < 92 \ 124 | 29 ^= 61 = 93 ] 125 } 30 ^> 62 > 94 ^ 126 ~ 31 ^? 63 ? 95 _ 127 CHAPTER 4 THE VAX DATEBOOK SYSTEM 4.1 Introduction The VAX DateBook System is accessed either through the VAX Professional Workstation or directly by typing DateBook. When you start up DateBook the following menu is displayed. Personal Date/Meeting Book (Type ^Y to exit at any Point) You may choose: Add - Add a new date to remember DElete - Delete all entries between two dates DIsplay - Display a selected list of dates Exit - Exit from DateBook Help - Help on using DateBook Month - Display a Month-at-a-Glance Print - Print date list on printer Remove - Remove selected entries on a given date Set - Set the default DateBook Choice: 4.1.1 ADD When you enter ADD mode, DateBook starts prompting you for input. It asks you for DATE, TIME, ATTENDEE, and TOPIC. After you have entered all items, it displays what you have entered and asks you if it is OK. If no mistakes were made, type Y or YES. If you type N, NO, or just hit carriage return (, RETurn), the entry will not be made in the DateBook. During the prompting for DATE and TIME a carriage return (, RETurn) entered at the prompt will return the user to the main menu. The top line of the add display shows the current DateBook the user is using. THE VAX DATEBOOK SYSTEM Page 4-2 4.1.1.1 Attendee ATTENDEE may be used several ways. If a secretary is using the DateBook to keep track of appointments for a number of users, this DateBook entry field is used to specify which user the entry is for. If a given user is using DateBook for him or herself alone, this entry can be used to specify the meeting attendees, or any other convenient item of interest. When DateBook prompts for ATTENDEE, you may enter up to a 14 character string to enter in this field. If you are unsure what a 14 character string is, STRING, is an item you can request HELP on. Valid ATTENDEE entries might be J. Downward P. Vavra VAX Wrk Grp but VAX Working Group is too long. 4.1.1.2 Date Format The date format is DD-MMM-YYYY. The years must be entered as four digits, ie 1982 not 82. The months are entered as JAN...DEC. The "-" in the date is required syntax. Examples of date entries are: VALID INVALID 1-JAN-1982 1/JAN/1982 01-JAN-1982 1-JAN-82 25-FEB-1982 2/25/82 30-NOV-1982 30-NEV-1982 Normally, the days must lie between 0...31, but if you specify too large a day on a certain month (ie 29 days in February) it will be flagged with an error. At this time, the last day in February in LEAP year will not work. 4.1.1.3 Time Time is kept using a 24 hour clock. The day starts at 00:00 and runs through 23:59. Morning hours are < 12:00. The format for the entry is HH:MM. The ":" is required syntax. Valid time intries include: 00:01 One minute past midnight 9:30 Nine thirty in the morning 09:30 " " " " " 14:30 Two thirty in the afternoon THE VAX DATEBOOK SYSTEM Page 4-3 4.1.1.4 Topic Each meeting/appointment/deadline can have a TOPIC. For a meeting the TOPIC entry might be the topic to be discussed. It also might include the people asked to attend. For a formal meeting it might specify the meeting name and paper to be presented. Anything may be entered for topic, as long as it is 40 or fewer characters long. Valid topics are: Discuss Vax maintance contract DECUS, VAX to RSX Migration Paper If more than 40 characters are input, an error is reported. 4.1.2 Default Answers The very first time a user uses DateBook, it prompts for information it will need for all future use. It gets the user's first and last name and the default user name (attendee) for whom DateBook entries are to be made. This information is stored in DATEDFLT.COM. If at any time you are unhappy with your default answers, enter DCL mode, type DELETE DATEDFLT.COM;, and reenter , DateBook. DateBook will then prompt again for first and last name and the default datebook entry name. 4.1.3 Default Datebook By default, DateBook always uses the DateBook data file on the user's directory. When in any of the specialized modes (ADD, DELETE, REMOVE, or DISPLAY) DateBook will display at the top of the screen the DateBook file currently being accessed. You can change the default file with the SET command. To access another's datebook, however, the other user must first give you RWED privilege to their DateBook data file. 4.1.4 DELETE DELETE is used if you want to delete all entries in the DateBook from one date up to and includeing a second date. If you hit the terminal key RETURN (, RETurn, type RETurn), DateBook will return to the main menu. DateBook will ask for the starting date on which to delete entries. If you enter a valid date (DD-MMM-YYYY) for the first day, DateBook will ask you for the ending date to delete. If the second date entry is valid, DateBook will print a message showing the range of dates which will be THE VAX DATEBOOK SYSTEM Page 4-4 deleted. It will then ask if it should proceed to delete the entries. If any answer but Y or YES is given, DateBook will return to the delete menu without deleting any entries. If a Y or a YES is entered, DateBook will delete all those entries and then return to the delete menu to see if you have more to delete. 4.1.5 Display The user can display DateBook entries for a single specific day, the current day, or all days. When the user types DISPLAY, DateBook prompts for the date to display. If the user hits the carriage return (, RETurn), any DateBook entries for the current day are displayed. If the user types ALL, all entries in the file are displayed. If the user enters a specific day (DD-MMM-YYYY), just the entries for that day are displayed. The Display command only outputs to the user's terminal. Use the Print command to output a hard copy. Whether or not any entries occur in the file for a given day, a header will be displayed. If no entries occur, no entries will follow the header. 4.1.6 Print The Print option is identical to the Display option with the exception that a data file is written which is printed either on the line printer or the letter quality printer. The user is prompted for where to send the output. Only LP and LQ are allowed inputs. Typing LP will send output to the line printer, and typing LQ will send the output to the letter quality printer. Whether or not any entries occur in the file for a given day, a header will be displayed. If no entries occur, no entries will follow the header. 4.1.7 Month The Month option allows the user to have displayed (VT100 terminals only) the number of appointments for each day within a given month. The display is in calendar format and appointments, if present, are highlighted. THE VAX DATEBOOK SYSTEM Page 4-5 4.1.8 REMOVE If you make a mistake and want to remove/delete a sepcific entry on a given day, type REMove to menu prompt. DateBook will then prompt you for what day to search for. Enter it as DD-MMM-YYYY. DateBook will then read all the entries. Each entry for that date will be displayed and DateBook will ask you if you wish to remove that entry. If you type Y or YES the entry will be deleted. Any other response and the entry will be saved and DateBook will check to see if more entries on that date exist. When it is done processing a given day, it will return to the prompt mode and request another date to be entered. If you do not want to remove any other DateBook entries, hit the terminal's return key (, RETurn). The top line of the REMOVE page will display the current DateBook file being accessed. 4.1.9 SET The SET option is used to change the default DateBook data file being used by DateBook. When the SET option is issued, first the current directory being accessed is displayed. Next a new directory string is prompted for. No error checking is done to insure that a legal directory string is entered. If one wants to return to the directory on which DateBook was first started up, type RETURN to the second prompt instead of a new directory string. 4.1.10 Special Commands DateBook has two special in-line commands for use in a user's LOGIN.COM file or directly at the terminal command level. The commands are TODAY and CHECK. The command DATEBOOK TODAY will display all meetings/appointments/deadlines that will occur that day. Nothing will be displayed if there are no datebook entries. The command DATEBOOK CHECK will just check to see if any DateBook entries for the current day exist, and if they do, broadcast a message to the user that the DateBook has entries for the present day. Since only a check for entries is done, DATEBOOK CHECK is much FASTER than DATEBOOK TODAY. To use the CHECK function in your LOGIN.COM file, either just add a line $ DATEBOOK CHECK or execute the DateBook checking in parallel with logging on by THE VAX DATEBOOK SYSTEM Page 4-6 submitting DateBook to run in BATCH mode. To do this, include the command $ SUBMIT SYS$SYSVPWFILES:DATEBOOK/PARAM=CHECK/NOIDENT/NOLOG and DateBook will start checking your DateBook while you are logging on. 4.1.11 System Requirements DateBook requires the following command procedures, executable images and data files. SYS$SYSVPWFILES:PAGE.COM Define with SETVPWSYM.COM SYS$SYSVPWFILES:TERM.COM during SYSLOGIN.COM SYS$SYSVPWFILES:TESTFILE.COM SYS$SYSROOT:[SYSEXE]DTR.EXE DATATRIEVE SYS$SYSVPWFILESBROADCAST.EXE Broadcast message to user SYS$SYSVPWFILES:DATEBOOK.DTT Prototype data file SYS$DISK:[]DATEBOOK.DAT User's DateBook SYS$SYSROOT:[SYSMSG]QUERY.DIC DATATRIEVE dictionary When DateBook starts up, it looks for the existence of the file DATEBOOK.DAT on the login directory. If no such file is present, it copies SYS$SYSVPWFILES:DATEBOOK.DTT to DATEBOOK.DAT on the users directory. If the template file can not be copied, a warning message is displayed for 4 seconds. If neither DATEBOOK.DAT nor DATEBOOK.DTT exist and the user is privileged, the user has the opportunity to create the DATEBOOK.DTT template data file and make the appropriate DATATRIEVE entries in QUERY.DIC by issuing the CREATE command, which exists although it is not in the menu. CHAPTER 5 THE VAX DOCUMENT PREPARATION SYSTEM 5.1 Introduction One of the overriding goals of the VPW system is to provide a casual VAX user with friendly, yet easy access to the the many productivity tools available on the VAX system. As much as possible, the casual user should not have to understand how to talk "computer" with the VAX to be able to use some of its basic services. The VAX system provides many services similar in concept to those found on dedicated word processing systems, ie directories, a full screen video editor, and a document formatter. The Document Preparation System is used to tie these capabilities into a coherent whole and to keep track of the documents produced. 5.2 Assumptions And Goals The previous version the VAX Document Preparation System was written assuming users were familiar with VAX termminology and could at any time drop out of the system and correct problems at the DCL level. This version assumes the oposite and tries to provide a complete environment for the creation, editing, revision, formatting, printing, filing and retreiving of documents. Its use is targeted toward professional staff who find it convenient to prepare memos, letters and papers prior to transmission to the NBI word processing system. The system assumes the user wants to work with documents. A document is defined as a text file with a .RNO type. The user, .RNO however, never should have to worry about this. All documents should be referenced by 1-9 character names ONLY. The sole ONLY exception to this is that when a document is formatted for tranmission to the NBI word processors, an additional temporary formatted text file is created with an extension .NBI. This .NBI document is created in a special subdirectory [.NBI] and is automatically deleted after successful transmission to the NBI. THE VAX DOCUMENT PREPARATION SYSTEM Page 5-2 5.3 New Concepts This version of the system introduces several new concepts. The user's current directory becomes the working desk. This desk can contain two types of documents: 1. ACTIVE. Active documents are currently out on top of the desk ACTIVE and are available to be worked on. 2. FILED. Filed documents are stored in a named file folder on FILED the desk. Also on the desk is an index of all documents known to the the VAX Document Preparation System. In addition to the document name, it keeps track of to whom it was sent, the document type, creation date, filed or active status, and the subject matter. This index can be rapidly searched by subject, document type, or file folder to locate documents. 5.4 Requirements For Using The Document Preparation System The Document Preparation system only runs on VT100 type terminals with the advanced video option. It is assumed that the user has enough disk space available for the system to use. Prior to editing any document it checks the current disk quota and does not allow editing to occur if the available disk space is too low. However, for performance reasons, it is not possible to monitor disk quota allocation continually. Users with small disk quotas should not attempt to store documents in file folders unless the file folders are periodically copied to tape and deleted from the user's account. It is assumed that accounts with small quotas exist solely to prepare documents to the NBI Word Processor and that, once the documents are transmitted, they can be deleted. 5.5 Available Training And Manuals For Using The System To use the Document Preparation System effectively, the user should understand how to use the DEC Standard Editor (EDT) in video mode. The user is urged to take the EDT Computer Aided Instruction (CAI) course offered on the VAX. The user also should learn basic document formatting commands (RUNOFF). A brief primer on using the document formatter (RUNOFF) is also available on the VAX as a mini-CAI course. Both courses may be accessed from the VAX Professional Workstation as follows: 1. Type VPW to start up the VAX Professional Workstation 2. Type I to enter the Instruction menu. THE VAX DOCUMENT PREPARATION SYSTEM Page 5-3 Manuals for both the editor (EDT) and document formatter (RUNOFF) may be ordered: 1. EDT manual from DEC Direct Sales Catalog AA-J726-TC 2. RUNOFF manual from DEC Direct Sales Catalog AA-J268B-TK 3. RUNOFF pocket guide from DEC Direct Sales Catalog AA-M548A-TE For the editor (EDT) course, a special keypad overlay exists and may be obtained from Jim Downward. 5.6 First Time Use Of The System The first time one uses the Document Preparation System, the user must establish certain default settings (which may be changed later). These default settings are used to minimize typing while using the system. Generally, once a document has been specified to work on, one or two keystrokes and a carriage return may be used to go from one word processing function to another in a rapid manner. The first time user is asked for a first and last name, for prefix codes for letters and memos, and for a default file folder name for storing documents. The prefix codes are used to assign names automatically for each letter or memo sent. The prefix codes must be different. A good choice is the users three initials plus M for memos and L for letters. A good choice for a file folder might be MEMOS, or LETTERS or your initials prefixing the word FOLDER. The system is supposed to be "Bomb Proof." If it isn't, you found a "BUG", so please report it. Getting out of the system can always be accomplished by typing a Control-Y. Exiting from a series of prompts without performing any action can generally be accomplished by typing Control-Z, which should return operations to the appropriate menu. THE VAX DOCUMENT PREPARATION SYSTEM Page 5-4 5.7 Using The VAX Document Preparation System. The VAX Document Preparation System provides an integrated word processing package which lets users create and file letters, memos, papers, and reports, check them for spelling errors, and either prepare them for transmission to the NBI word processor or print them on a VAX printer. When the Document Preparation system starts up, the following menu is displayed. VAX Document Preparation VAX Document Preparation Default document name: NOT set NOT You may choose: CLean Clean up your desk CL CReate Create a document CR Directory Directory of unfiled documents D EDit Edit an existing document ED Filer Use the Document Filer F Help Ask for HELP H Print Format and print document P Spell Check for spelling errors S View View a formatted document V Wastebasket Throw away a document W EXit Exit from this menu EX Choice: Below the title line information about the default document name is displayed. When the system is first started, no default name exists. The default name is set the first time you enter a choice and it prompts for a document name. Thereafter, it remembers that document name and will operate upon it by default if a carriage return is entered when it prompts for a document name. At the bottom of the menu, the system prompts you to select a "Choice:". The choice can be abreviated to one or two characters. The intensity highlighting on the VT100 shows which characters to input. The system will not let you input an invalid response. You may exit at almost any time, by typing EX at the "Choice:" prompt, or Control-Y at any time. Upon exit, the screen will be erased and the cursor will prompt for input at the upper left hand corner of the screen. 5.7.1 VPW Command Screen When the Document Preparation System is prompting for input from either its primary or secondary menu, the user may at any time interrupt work and use the VAX directly by pressing PF4 on the VT100 keypad. This will bring in the VPW Command Screen page, and the VAX Professional Workstation will prompt for input with VPW>. This command screen page looks like a full function VT100 terminal, so files can be edited using the video editor. However, once the screen is erased, and the scrolling region reset, the top line of THE VAX DOCUMENT PREPARATION SYSTEM Page 5-5 control information will be lost. To EXIT from the command page, type Control-Z, which will return you to the menu section last prompting you for input. 5.7.2 Special Command Mode While most command input can be abreviated to one or two characters, the Directory, Print, Spell, View and Wastebasket commands all take command lines as well as prompting for input if just the short commmand is entered. Document names entered this way do not change the current default document name and type. Complete document names are required (both name and type) as part of the command. This assumes the user has a working knowledge of using the VAX at DCL command level. Use of this mode is not supported and may be removed in a future release. 5.7.3 Default File Types The system keeps track of the current name and type of the document being worked on. At the start, a default type of .RNO is assumed. Each time the menu is displayed, the current values for the default document type and name are shown. The default document name is used to simplify the input process. Once defined, all that is generally needed when prompted for a name is a carriage return and the Document Preparation System will use the default document specification. Likewise, when the system prompts for a name it is never necessary to append a document type as the default type will be used. However, appending a document type is legal and will change the default type to the specified type. For example, if the default document type is .RNO, entering a JGD54 when a name is requested for editing will result in JGD54.RNO being edited. If, however, you entered JGD54.DOC, the document JGD54.DOC would be edited and the default document type would be changed to .DOC. Changing the default type from .RNO is not supported and is provided only as a convenience for a few more advanced users. If the default document type is changed, the menu status line will display a message indicating the Default Document Type. 5.7.4 The Phantom Directory In order to enable automatic deletion of documents following successful transmission to the NBI, a special phantom (and somewhat temporary) subdirectory is created which provides delete access for the world. Formatted output documents waiting transmission are placed in this subdirectory ([.NBI]). If all documents have been transfered from this directory, the VAX Document Preparation system may delete this directory, so do not place anything in it. Its use THE VAX DOCUMENT PREPARATION SYSTEM Page 5-6 is reserved solely for the VPW system. 5.8 Document Preparation System Options 5.8.1 The Clean Option Clean Every time a document is edited, a new version of the document is created. After each editing session, the Document Processing System purges your documents to keep the most recent four copies of work in progress. Even so, if numerous documents are being worked on, your "Desk" can become cluttered with previous drafts of documents. Since desk space is always at a premium (and so is disk space) the Clean option can be used to delete all documents waiting for transmission to the NBI (.NBI documents) but not sent, and to remove all documents (.RNO documents) except for the latest versions. The Clean option has no effect on any other files in your directory. Users comfortable with using DCL can drop out of the Document Processing System at any time and selectively purge work in progress. After the Clean option is entered, the system prints a warning message and asks if you want to continue. Any response other than one starting with an upper or lower case "Y" will immediately return you to the Document Preparation Menu. The way the Clean option works with NBI documents deserves some mention. The formatted documents waiting for transmission to the NBI reside in a special subdirectory ([.NBI]) on the user's account. Only the .NBI type documents within this "Phantom" directory are deleted. After deleting all the .NBI type documents, the subdirectory itself is deleted. Now, when a document is created for transmission to the NBI, an entry is also made in a special index of documents awaiting transmission to the NBI, SYS$SYSVPWFILES:DOCXFER.IDX. So that the VPW system will not think these documents are still awaiting transfer, these entries in this index are also deleted. If an error message occurs saying that SYS$SYSVPWFILES:DOCXFER.IDX is missing, contact the system manager since this index file is required for successful transmission of the documents to the NBI. 5.8.2 The Create Option Create Before editing, a document must be created and entered into the system. Four types of documents are allowed: Letters, Memos, Papers and Reports. The Create option will automatically insert the proper document formatting control commands (for use by RUNOFF) so that the document will be properly formatted. The Create option keeps track of the last Memo or Letter number that was created and assigns one higher number each time you create a new document. Documents are named based on the document THE VAX DOCUMENT PREPARATION SYSTEM Page 5-7 prefix you assign and a document number you input. The Document Preparation System keeps an index of all documents so that they can be retrieved easily. The document name, together with the topic of the document, the recepient, and the document type are filed in DOCINDEX.FIL, as appropriate. If you wish, you may enter in any document number when the system prompts for it. In the event that that document already exists, you are asked if you want to delete the old one and edit a new one with that number. If you don't want to delete the old document you are allowed to edit the old one and modify it. However, in this case no new entries are made in the document index. 5.8.3 The Directory Option Directory The Directory option displays all documents currently on your "Desk" and all documents waiting for transmission to the NBI (if any). Only the highest version number of a document is ever shown, so it is periodically necessary to use the Clean option to recover disk space. 5.8.4 The Edit Option Edit The first time a document is edited, the Create option should be used. Thereafter, use the Edit option. When the system prompts, enter the name of the document you want to edit. Since a default document type is always defined, you must enter only the document name. Entering a complete document specifier (name and document type) will result in the default document type being modified. The Edit option invokes the DEC standard editor (EDT) with a special initialization file so that text entry will start at the appropriate place and so that word wrapping is enabled. 5.8.4.1 Guarding Against Errors Errors If you are engaged in using the system and either run out of disk space or the system crashes, Do Not PANIC. Your work in Do Not PANIC progress probably can be saved if you report the problem at once. If an error occurs and you continue to use the system, you may eventually destroy all copies of the good versions of your documents leaving only the corrupted ones. If your disk allocation is so small that the editor will not let you exit, try issuing a QUIT/SAVE command. Whether the the command succeeds or fails, then get help. Do not Control-Y out of the editor. THE VAX DOCUMENT PREPARATION SYSTEM Page 5-8 5.8.5 The Exit Option Exit When done with processing a document, use the Exit option. It will return you to the previous menu or the VAX command level depending on how the menu was entered. A Control-Y also can be used for this purpose. 5.8.6 The Filer Option Filer The Filer option allows one to use the Document Filer. Documents may be thought of as being either ACTIVE (on your desk) ACTIVE or FILED away in a file folder. The Document Filer menu allows one FILED to: Create - Create new documents C DIsplay - Display an index of past documents DI DOcument - Use The Document Manager DO Folder - List active file folders F Index - Index contents of file folder I Modify - Modify default parameter settings M Store - Store a document in a file folder S Recall - Recall a document from a file folder R Exit - Return to the main WP menu E 5.8.6.1 The Document Filer Create Option Create When a document is created, it is active (on your desk), and an entry in the document index is made to indicate its name, subject, creation date, and to whom it is being sent. Depending on the type of document created (LETTER, MEMO, PAPER, or REPORT) appropriate RUNOFF formatting control commands are included in the prototype document when it is created. At any time during the document's life cycle, the Document option can be used to modify the contents of the document index. However, for simple tasks, the Document Filer Menu handles most tasks in a manner transparent to the user. 5.8.6.2 The Document Filer Display Option Display An index of all past documents is kept in DOCINDEX.FIL on your current VAX directory. The Display option can be used to display the documents in that index. You are prompted for a search string. A carriage return will result in all documents being displayed. A control-Z will return you to the main menu. If something is known about the document (document type, to whom, subject, etc) a search string (or multiple search strings separated with "|"s) can be entered to display only part of the index. THE VAX DOCUMENT PREPARATION SYSTEM Page 5-9 5.8.6.3 The Document Filer Document Option Document The Document option allows one to access the document index directly. Entries can be added, deleted or modified. The index can be searched for topics or keywords, and the results displayed either on your terminal or printed on the line printer. The document index represents a log of all documents processed by the Document Processing System. Where reasonable, the index tracks the status of the document. When a document is filed, the index is updated to show where the document is. However, some documents are just printed, filed in a regular file cabinet and thrown in the wastebasket. These documents will still appear in the index as a log of when they were written, to whom they were sent, and the topic. If it is desired to eradicate all traces of the document, the Document option must be used to delete the document. The Document option uses the VAX NoteBook utility to maintain the document index which is discussed in subsequent chapter. Perhaps the most useful feature of Document option is the ability to search the document index for selected topics. For example you could produce a list of all documents in a certain named file folder, or a list of all documents sent to a person relating to a given subject. 5.8.6.4 The Document Filer Index Option Index The Index option allows you to see the Index of a specific file folder so that you can tell what document names are stored in that folder. When invoked, it requests the name of a file folder. If you input a valid name, it displays the current contents of that folder in a formatted fashion. If the name is invalid, it warns you and prompts to see if you wish to see a list available file folders. When the Index option prompts for a name, a single "?" (followed by a carriage return) will also display a list of available file folders and again prompt for a name. 5.8.6.5 The Document Filer Modify Option Modify The Modify option is used if you wish to change any of the default parameter settings for use by the Document Filer. These settings include the default file folder name, the default prefix name for memos and letters, and the default name for the sender. The first time the Document Filer is used, these parameters are prompted for. Thereafter, the Modify option can be used to change these parameters. When modifying parameters, a return leaves the current entry alone. THE VAX DOCUMENT PREPARATION SYSTEM Page 5-10 5.8.6.6 The Document Filer Store Option Store When the document is no longer being actively used, it is useful to place the document in a file folder. Not only is your "Desk" less cluttered, but the one or two disk blocks are saved for each document placed in a folder. The file folders are VMS Text Libraries, but this should be transparent to users. The Folder option displays all currently active folders. You can store and retrieve documents only from currently active folders. When a document is filed away in a file folder, the document index is updated to reflect its new location. At any time, you can search your index (Display option) to see where a document is. The Store option prompts you for the name of a document to store, the name of a file folder to use, and whether or not to store the original or a copy of the document. If either the document or folder name is not known, a "?" may be entered to display a list of active documents or folders, respectively. If the document name does not exist, a display of current documents is produced. If the folder does not exist you are asked if a folder with the new name should be created. At the prompt for the folder name, you have the option of just hitting carriage return and using the default folder name (it will have to be created the first time you use it.) Great care has been taken to insure that important documents are not inadvertantly destroyed. You are not allowed to place a document in a folder if a document of the same name is already there. You must either not place the document in that folder or agree to overwrite the existing document. When placing a document in a file folder, you either place the original document or a copy there. If the original is placed there, the original ceases to exist on your desk. If a copy is placed there, the original document is still left active on your desk. 5.8.6.7 The Filer Recall Option Recall The Recall option lets you remove a document from a file folder and place it in active status. You may not retrieve a document from a file folder if an active document of the same name is on your desk. If the desired document is not on your desk, you may choose either to extract the orignial document or make a copy of it. If the original document is removed from the folder, the active document on your desk becomes the only copy of that document. If you request a copy of the document in the folder, the original copy of the document in the folder is retained. When the Recall option prompts for input (document name, file folder name), a "?" will produce either a listing of your ACTIVE documents or an index of the available folders. THE VAX DOCUMENT PREPARATION SYSTEM Page 5-11 5.8.7 The HELP Option HELP Use the Help option to ask help on using Document Preparation menu. Help is interactive, so you can roam around at will. When you are done, enter Z or carriage to return to the Topic: or Subtopic: prompts. 5.8.8 The Print Option Print The Create option automatically places format control commands in the document. The Print and View options will use these embedded control commands to format the document for output. Output may either either be displayed on your terminal, sent to the line printer, the letter quality printer or alternatively formatted for transmission to the NBI word processor. The document type for output formatted for sending to the NBI is .NBI. NBI formatted documents will be automatically deleted folowing transfer. All other output is automatically deleted after printing. Documents for transmission to the NBI are created on a special, "Phantom," subdirectory [.NBI] which has NO protection. . NO Any document in this subdirectory can be deleted by ANYONE. You ANYONE must not place documents in this subdirectory. It is used only by the VPW System. When documents are created for transmission, an entry is also made in SYS$SYSVPWFILES:DOCXFER.IDX specifying the file name for transfer, and the user's name (Logon name) requesting the file be transfered. This index file is used by the VAX Professional Workstation to simplify transmission of documents to the NBI. If you get an error message saying the file is missing, contact the system manager at once. Document transmission cannot take place until this index file exists and the document to be transfered is entered in it. One option the system gives you is to print only a range of pages. This option should be selected only if you do not need to format the entire document. This can happen if a minor correction was done on one page of the document which didn't change the pagination. In this event, it is faster to format only the modified page, print that page, and merge it with the previously printed pages. If, during the course of answering questions for the Print option an error is made and it is desired to give up and return to the main menu, type Control-Z. 5.8.9 The Spell Option Spell The Spell option will check the user's document for spelling errors using the VAX spelling checker utility. The spelling program is rather complex and has the ability to use a default word file of commonly used first names and technical words which would THE VAX DOCUMENT PREPARATION SYSTEM Page 5-12 be otherwise flagged as errors. If you are interested in creating your own default word file of special technical words, please contact the system manager. Any errors or suspicious words found will be displayed on the screen in a formatted manner. After each run of the spelling program, a document SPELLING.ERR is created listing all errors. It may be used to include into the file being checked a listing of all the errors. The Spell option is not perfect. It misses spelling errors. Be warned. Perhaps, be thankful -- people are still useful. 5.8.10 The View Option View The View option will display a formatted document at the user's terminal. It provides a simpler access to getting formatted output to the terminal than the Print option. If the document type is .RNO it formats and displays the document. Otherwise, it displays the document without formatting. 5.8.11 The Wastebasket Option Wastebasket The Wastebasket option is used for permanently destroying a document. When invoked, the Document Preparation System will display all unfiled documents and prompt for which files are to be deleted. All copies of a document selected for the wastebasket are destroyed. CHAPTER 6 THE VAX NOTEBOOK 6.1 Introduction The VAX NoteBook is designed to handle small, personal, user defined data bases. The VAX NoteBook assumes that one wishes to do a limited number of things with a private data base. These include; o Create the data base. o Add records to the data base. o Modify records in the data base. o Delete records in the data base. o Display selected records in the data base. o Use alternate data files o Provide extensive on-line help at each step. The VAX NoteBook's behavior is table driven: Menus, prompts, and display format are all controlled by external modules in a text library. To create a new data base all that is necessary is to give it a name, create the control tables and add them to the text library which either may be the system text library or a private one. This makes it exceptionally easy to change a database to add functionality or to add a new one. For the present time, only the system text library is supported but private databases can easily be designed on request. Eventually a user bombproof design tool for creating private data bases will be provided. Currently supported applications include: o The VAX Document Manager - Supported o The VAX Phonebook - Supported o The VAX Reference Library - Supported o The VAX SPR Manager - Supported o The VAX Security File Manager - Supported o The VAX Drawing File (to be supported) The VAX NoteBook is not intended to be a full fledged data base manager or even a DATATRIEVE. It is designed for those applications which do not need the sophistication of DATATRIEVE, do not need ISAM files, do not desire to store information in binary format, but which do need form-driven screen data entry and the THE VAX NOTEBOOK Page 6-2 ability to modify and delete records simply from the data base. Possible applications might include: o Slide and Graphic Arts drawing files. o Local departmental inventory lists inventory control easier. o Log of purchase orders sent, date expected, etc. o Data base for selected target shot results. o Project planning data base to keep track of tasks, target dates, completion dates, and drop dead dates. o Departmental or company document inventory. o KMS library list. What we have, who has what. o Daily logs of activities for inclusion in monthly reports. At present a NoteBook data file has the following limitations: o All data is stored as ASCII character data. o NoteBook data files are sequential. o NoteBook stores data as fixed length records whether or not all input fields are filled. o Search and delete operations require reading all records up to the desired record. For large files, ISAM files might be better. o Each record is limited to a maximum fo 512 bytes. o The record can contain up to 20 separate data input fields. o Output report formats are limited to formats which can be stored in a 132 character Fortran format array. o A maximum of 10 display formats may exist for any given program This memo will describe generically how to use NoteBook. For help with a given NoteBook program, type HELP Program_Name. Most of the HELP information is available interactively from within NoteBook. 6.2 Accessing NoteBook The command $NOTEBOOK:=="$SYS$SYSVPWFILES:NOTEBOOK" is defined automatically when the user logs on (in SYSLOGON.COM via SYS$SYSVPWFILES:SETVPWSYM.COM). To use it, type NOTEBOOK and it will prompt, "NoteBook Program: ". Enter an allowed program name (ie PhoneBook, Journals, Security, etc), and the requested program will start up. NoteBook allows its known programs to be more simply accessed however. You can define a specific NoteBook program as a command by $PROGRAM:=="$SYS$SYSVPWFILES:Notebook Program" NoteBook can be used non-interactively, ie to search a file for a string and print it out in a given display format, by defining the THE VAX NOTEBOOK Page 6-3 command $PROGRAM:=="$SYS$SYSVPWFILES:NoteBook Program Form_Number " where Form_Number is a number from 1-10, and is a recognized display format number for the NoteBook program. Each NoteBook program has a number of display formats which were defined when the NoteBook program was created. Now if you type $PROGRAM Search_String all records containing the Search_String in the database will be displayed using the output form Form_Number. NoteBook gets its control information from SYS$VPWFILES:VPW.TLB and its HELP information from SYS$VPWFILES:VPW.HLB. Hence if you wish a private data base which NoteBook can access, you can create private copies of VPW.TLB and VPW.HLB and assign SYS$VPWFILES to the directory on which they reside. $ASSIGN [directory_name] SYS$VPWFILES 6.3 Existing NoteBook Programs The following commands define the existing NoteBook programs. $ALIST: =="$SYS$SYSVPWFILES:NOTEBOOK PHONEBOOK 1 " $DOCUMENTS:=="$SYS$SYSVPWFILES:NOTEBOOK DOCUMENTS" $JOURNALS: =="$SYS$SYSVPWFILES:NOTEBOOK JOURNALS" $PHONEBOOK:=="$SYS$SYSVPWFILES:NOTEBOOK PHONEBOOK" $PLIST: =="$SYS$SYSVPWFILES:NOTEBOOK PHONEBOOK 2 " $SECURITY: =="$SYS$SYSVPWFILES:NOTEBOOK SECURITY" $SPR: =="$SYS$SYSVPWFILES:NOTEBOOK SPR" 6.4 Terminal Requirements NoteBook was designed to run on VT100 terminals with the advanced video option. However, an attempt was also made to insure that it would run, albeit not very nicely, on hard copy terminals or (shudder) NBI pseudo-terminals. The convenience of being able to use the keypad to drop into VPW> command mode, get help, backup to previous records, and dynamically view a record being modified, strongly suggest that it is best to find a VT100 terminal if one wishes to use its features interactively. THE VAX NOTEBOOK Page 6-4 6.5 The NoteBook Keypad Many features of NoteBook can be controlled from the keypad of a VT100 terminal. The keypad layout is: ------------------------- ----------------------------- ! ^ ! ! ! ! ! Key ! ! ! ! ! ! ! ! ! ! ! ! HELP ! ! VPW> ! !Back ! ! ! ! ! Pad ! ! ! ! ------------------------- ----------------------------- ! ! ! ! ! ! Quit ! ! ! Done ! ! ! ! ! ! ----------------------------- ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ----------------------------- ! ! ! ! ! ! ! ! ! E ! ! ! ! ! N ! ---------------------! T ! ! ! ! E ! ! Menu ! ! R ! ! ! ! ! ----------------------------- The KeyPad and the HELP and the VPW> keys, can normally be used to terminate any input not requiring a Yes/No answer. When the keypad key is pressed, NoteBook will display the above keypad layout in a scrolling region below the current input line. The terminal will drop into slow scroll mode so the keypad can be viewed. At the end of the display a message requesting you to "Press RETURN" will appear. When you press RETURN, the screen will clear, and NoteBook will continue where it left off. The HELP Key will display any help information which has been defined for the requested input. Each possible input and each NoteBook mode can have defined HELP information. If it exists, it is displayed in a scrolling region below the last input line using the VT100 slow scroll mode. If it does not, a blank area is shown. In any event, when the help text (or lack thereof) is complete, a message saying to "Press RETURN to continue" will appear. Do so and the HELP text will vanish and NoteBook will continue to prompt for input where you left off. The VPW> key will interrupt work in progress and drop you into VPW Command Screen mode. When VPW> is prompting, you may issue normal VAX commands to preform some other function with the restriction that the terminal will behave as a DUMB video terminal. This means that video editing and the PHONE utility can not work. When one no longer wishes to use the VPW> command mode, enter Control-Z, the Command Screen will erase, and NoteBook will THE VAX NOTEBOOK Page 6-5 continue to prompt for input where you left off. The DONE key is used to terminate input without having to process the entire input list. For example, if you are in Modify mode, and have just modified the desired entry, the DONE key tells NoteBook not to check to see if other entries are to be modified but just to proceed with the update verification check. The DONE key is only used in Add and Modify mode. The QUIT key operates the same way as the Control-Z terminator. Either inputs tell NoteBook to abort the current operation and return to the Menu. The Up-Arrow key, tells Notebook to backup to the previous entry on the screen. This is useful if you have entered data on a line, gone to the next line and then have observed that the input is faulty and you want to change it. The ENTER key behaves the same as the RETURN key. Either may be used to terminate data input. The MENU key is used to return to the VAX Professional Workstation menu. For answers requesting a Yes/No answer, a RETURN by itself is considered to be a No. At minimum, a "Y" or "y" is required if one wishes to indicate "Yes". Other inputs fall into two categories. Some inputs are required. The prompt must be answered with something. For these inputs, typing just a RETURN will produce an error message saying what is required. Most data inputs, however, are optional. For those inputs, a RETURN by itself is interpreted as, "Leave the current data value alone." However, deleting erroneous data from any input field is easy. Simply enter a single space to null out the previous data in it. 6.6 NoteBook's Basic Functions For each NoteBook program, the following functions MAY be defined. o Records may be added to a data base o Records may be modified in the data base o Records may be deleted from the data base o Reports may be generated from selected data fields. o Data bases other than the default may be selected. It is not necessary that each program allow for every possible function because allowed functions may be selected on a program by program basis. When the program's menu appears it is only necessary to enter the minimum number of characters required for a unique identification of function. On VT100 terminals with the advanced video option, the minimum number of characters required THE VAX NOTEBOOK Page 6-6 will appear in BOLD letters. A Control-Z or Control-Y to this prompt will force NoteBook to exit. Note there are no specific functions for either creating the database or sorting the resultant file. If the data base does not exist, it is created the first time one tries to add data to it. Sorting the data file also occurs automatically if sort fields for the data file have been defined. If sorting has been enabled, every time one exits from Add Mode the file is sorted if records have been added. If one exits from Modify Mode, the file is sorted if any of the sort fields have been modified. 6.6.1 Add Mode When the user enters Add mode, NoteBook starts prompting for input using the prompts stored from the PROMPT module in the text library. As data is entered, the record is displayed at the bottom of the screen if one has a VT100 terminal. If one is unsure what to do at any time, the HELP key provides help on the nature of the input being prompted for, Control-Z or the QUIT key will abort the input. If the user either presses the DONE key or enters data for the last prompt, the record in its entirety is displayed and the user is allowed to choose whether or not that record is added to the file. Prior to adding or modifying any record, NoteBook always prompts to see if it alright to do so. In Add mode, if the answer is Y (Yes), the record is added, the file being created if necessary, and the user is then prompted to enter data for the next record. If the answer is N (No) or just RETURN, one drops back into ADD mode prompting for each record again. However, the data as first entered becomes the default and a simple RETURN will leave it unaltered. Changing any entry will cause the displayed record to be updated if one is using a VT100 terminal. Eventually if one gets the record correct (or hits the DONE key), the user again gets the chance to accept the record for insertion into the data file. Once in ADD mode, it is simple to get out. Type Control-Z, press the QUIT key, or type RETURN to any required (match type 1) input to return to the menu. Generally, the first field of each record is required and a return is effected if a RETURN is hit. If one is unhappy with data entered for a previous prompt, one can back up a record at a time by pressing the Up-Arrow key. The current value for the record being created is displayed at the bottom of the screen on VT100 terminals. If the program has sorting enabled, the data file will be sorted each time Add Mode is exited, if data has been added to the file. Be sure to watch to see if any error messages appear in case you are tight on disk space. Please read the cautions on sorting problems at the end of this document prior to adding data to a file. THE VAX NOTEBOOK Page 6-7 6.6.2 Delete Mode In Delete mode NoteBook prompts for a string to "Search for: ". Either a single or a compound search string (separated with a vertical bar) may be used. Once found, a record is displayed, and the NoteBooK asks if the record may be deleted. Unless the answer is "Y" (Yes) the search continues for another match. The search proceeds until either another record is found or until the end of file, at which point a message saying that the search string was not found is produced, and again NoteBook prompts with "Search for: ". The delete process involves copying the input to the output file, stopping each time it encounters a record containing the search string to see if the record should be deleted. If the record is selected for deletion, it is not copied to the new file. Now, initially the old file is opened for keeping and the new file is opened for deletion on closing. This is to protect the original file in the event of an error or abort. However, if the process is successful, the new file is saved and the old file is deleted. 6.6.3 Display Mode Display mode displays a menu of possible display formats if more than one exists. Enter a number from the allowed list of selections, or Control-Z or RETURN to return to the menu. Next NoteBook prompts for a search string. Enter a simple or compound search string or a "" to indicate that all records are to be " included in the report. NoteBook returns to the menu if a RETURN with no input is input for the search string. The Up-Arrow key on a VT100 may be used at any time to go back and redo a previous question. The search string may be a simple string or a compound string separated by vertical bars. The strings may be words or entire phrases. If compound search strings are entered, one must be careful about requesting that the search be over selected fields. If one desires to search over selected fields, the entire compound search string must be contained in one of the specified fields. Next, NoteBook asks if the output should be printed or go to a scratch file (SCRATCH.FIL). If the answer is "P", the output is sent to the line printer and deleted following printing. If the answer is "S", it is written to the scratch file, SCRATCH.FIL. Only one version of SCRATCH.FIL is ever allowed to exist at a time. Each subsequent output to SCRATCH.FIL overwrites data previously written to it. The output appears on the user's terminal if any other response is entered. Next, NoteBook asks if the searching is to be done on selected fields. If the answer is not "Y", the search proceeds without further input from the user, either displaying the selected records on the terminal or the line printer using the selected format. THE VAX NOTEBOOK Page 6-8 When the search is complete, NoteBook prompts the user to "Press RETURN to continue" and then prompts for another string to search for. If the user elects to search only selected fields, NoteBook prompts for each possible input field to see if that field is to be searched. The process of selecting fields to search is terminated either when there are no more fields or when the DONE key is hit. In either case, the search then proceeds as above with the exception that only the selected parts of each record are checked for a match with the selected search string. At any time during the input process, the Up-Arrow key can be used to backup to the answer in the previous record and change it. This is useful for changing the form for display without returning to the menu. 6.6.4 Modify Mode Modify mode is similar to Add mode. When one enters Modify mode one is prompted with "Search for: ". Enter a unique string for identifying the record. This may be a simple string like a last name or a compound search string containing two or more strings separated with vertical bars. A match is declared if the simple search string is located within the record or if each of the multiple search strings is contained within the record. If a match is declared, the record is displayed, and the user is asked if this is the record to modify. If it is, answer Y (Yes), otherwise NoteBook will continue to search through the file for another match. If at any point it searches the file to the end and does not find a match, it will display a message that the search string was not found and again prompt with "Search for: ". If a RETURN is entered for this prompt, NoteBook returns to the menu and the file is sorted if any sort fields have been modified. If the record is accepted, the contents of the record are displayed and the user is prompted with each field input just as if it was Add Mode. A RETURN leaves each field unchanged, a control-Z or QUIT key aborts the process, returning to the menu, and a DONE key or completion of responding to all prompts will display the resultant record and NoteBook will ask if the modified record is correct. If the answer is "Y" (Yes), the data file record will be updated, and NoteBooK will prompt again for a record to "Search for: ". If the answer is not "Y" (Yes), the modification of tha record is aborted and NoteBook again prompts for a new record to "Search for: ". Modify mode does not change the size of your data file or use additional disk space unless sorting is done. Records are updated in place within the file. This means, however, that the modified record length must be identical with that of the initial record. THE VAX NOTEBOOK Page 6-9 6.6.5 Use Mode When NoteBook starts up, it assumes the user will be accessing the default data file for the NoteBook program being used. You may elect to USE a different data file. If the NoteBook Program supports the Use mode, typing U to the "Choice: " prompt will cause the current data base file name to be displayed, along with a prompt for a new file name. If a carriage return is hit, the existing data file name will be retained. One must be careful using this option as it is possible to select an existing data base created via a different NoteBook function, and try and access it via the current NoteBook function. If this happens, the record selection fields would be wrong and the existing data base could be damaged. In general, the following rule must be observed: if you wish to access an alternate data base for a NoteBook program, that data base must have been created using that NoteBook Program. 6.7 NoteBook Control Modules Each "Program" supported by NoteBook is controlled by four text modules contained in SYS$VPWFILES:VPW.TLB and the HELP text in VPW.HLB. If the VPW program name is PROGRAM then text modules exist in VPW.TLB with the following names. 1. PROGRAM. 2. PROGRAM_PROMPTS 3. PROGRAM_FORMS 4. PROGRAM_SORT It is not intended that these modules be created by hand. The information to be presented is for use by someone familiar with the internal workings of the NoteBook subroutines as an aid in remembering the structure which is to be supported. A command procedure, CRENOTBOK.COM, exists which can be used for designing prototype control modules and it should generally be used. If a control module does not have the correct format, NoteBook will not initialize correctly and will die with elaborate error messages. 6.7.1 The PROGRAM Module The PROGRAM module contains the menu for the NoteBook Program function and a list of allowed responses to the menu. The format of the module is You may choose: THE VAX NOTEBOOK Page 6-10 Choice 1 - Text Choice 2 - Text ... .... / Chs1 Chs2 Chs3 ... Chsn This text is created with an editor and the choices have embedded escape sequences to turn bolding on and off around the minimum number of letters to enter to select the choice. The menu is terminated with a "/" which is immediately followed by an allowed choice list, each item of which is separated by spaces. So that the menu can be used on terminals which do not recognize the BOLD/UNBOLD escape sequences, the menu display module converts these escape sequences to ASCII nulls prior to printing. 6.7.2 The PROGRAM_PROMPTS Module The PROGRAM_PROMPTS module contains the program title, the name of the data file to use, and information on each field of the data base. Up to twenty different fields may be defined within the record. This data includes: 1. The input field prompt. 2. The length (in bytes) of the data field. 3. The HELP information keywords used to access HELP from VPW.HLB for the data field. 4. The data match type (optional). 5. Data match type check fields (if data match type is defined). Each item of data is separated from the rest by a vertical bar. The order of items in the prompt list and each previous field length determines the location of the next data field within the record. For example: Last Name|15|PHONEBOOK NAME Social Security #|11|SECURITY SOC_SECURITY_NUMBER|4|___-__-____ Married [Y/N]|1|SECURITY STATUS!8!Y N In the first example, the prompt is "Last Name" and the length of the input field is 15 characters. The "Last Name" field begins at the first character in the record. If help is requested, it is looked for in VPW.HLB using the keywords PHONEBOOK NAME. In the second example, the user would be prompted for "Social Security #". This field begins after the "Last Name" field at position 16 within the record. The field length is 11 characters wide, and data may only be be entered where the underlines, "_", are present. If HELP is requested, it is requested with the keywords SECURITY SOC_SECURITY_NUMBER. In the third example, NoteBook prompts to see if the user is married. The allowed answers are only "Y" or "N". THE VAX NOTEBOOK Page 6-11 Match type is indicated by a number. The values represent powers of 2, i.e., 0,1,2,4,8,16,32, so that, where logical, match types can be added to require both conditions to be true. The following match types are defined. 1. 0 -> No data type checking required. 2. 1 -> Return to the menu on null input in Add mode. 3. 2 -> Required input. Data or Control-Z must be entered 4. 4 -> Protected field input. New data may be entered only in areas where an underline exists. All other areas must be entered as shown. The "4" is followed by a vertical bar and the input field as in the previous example for Social Security Number. 5. 8 -> Match one of list. The "8" is followed by a vertical bar and a list of items to match each separated by a single space as in the above example for marital status. Note that the matching is sensitive to the case of the input data. If the allowed list of input strings is in upper case, allowed answers must also be in upper case. 6. 16 -> Verify the input is in VAX date format (DD-MMM-YYYY). 7. 32 -> Check the input to see if it lies within the range of numbers from the low value to the high value. The "32" is followed by a vertical bar followed by two numbers separated by a "/". The first number is the low value, the second the high value. The numbers are treated as ASCII representations of single precision floating point numbers. Match types fall into two groups, the required input type 1 or 2 and the type of input represented by values 4,8,16 and 32. Types 1 and 2 can logically be added to the second group. Type 4, 8, 16, and 32 can not be logically added to each other. 6.7.3 The PROGRAM_FORMS Module The PROGRAM_FORMS module is composed of triads of entries. Up to ten report formats may be defined. The controlling format specifiers may be up to 132 characters long. The first item of each triad is a title for the report format which may be displayed in the Display Mode Menu. The title is only displayed if there is more than one output form present in the form module. Each NoteBook program must have at least one report form defined. The first triad in the list of formats is the default report format for the program. This is the format which is used to display the record during Add, Modify, and Delete mode verification. THE VAX NOTEBOOK Page 6-12 Following the title in each triad is the format statement. It must be an acceptable RUN time Fortran format statement, starting with a "(" and ending with a ")". The length of the format statement is limited to 132 characters. Each field to be displayed is character data, so Fortran "A" format must be used. The last item of each triad is a list of numbers separated by commas. The first number is the total number of fields to be output. It must be one or more. The other items represent a list of the order of the items to be displayed at that position. If PROGRAM_PROMPTS has defined five input fields, up to 5 items may be output, and these fields (numbered 1 to 5) may appear in any order. For example: My Private List (' ',A,T20,A,T32,A,T50,A,'/',' ',T50,A) 5,1,4,3,2,5 would create a form with the title "My Private List" which would be output on two lines per record in "A" format. The string "5,1,4,3,2,5" means that all five items would be printed, the first field is the first output, the fourth field the second output, the third field the third output, the second field the fourth output, and the fifth field the fifth output. 6.7.4 The PROGRAM_SORT Module The module PROGRAM_SORT defines if and how to sort the file. PROGRAM_SORT consists of a single line of numbers. The first number indicates how many sort fields exist and may be from 1 to 10. If it is zero, the file will not be sorted. The first number is followed by up to ten sets of numbers, 4 numbers/set. The sets of four numbers each consist of: 1,0/1,Field_position,Field_length The first number in each set must always be "1" to indicate that the data is character data. The second number is a "0" or a "1" to indicate that the data is to be sorted into ascending or descending order. The third number is the starting location in the record where the sort field begins, and the last number is the length (in bytes) of the field to sort). 6.8 Designing A Data Base To help in designing a data base, a procedure CRENOTBOK.COM exists which will create prototype control modules and help file. The prototype text modules are designed to be a start to the final format, but CRENOTBOK.COM does not create a final, polished NoteBook program which sorts nicely, has a customized menu, and has many useful report formats. THE VAX NOTEBOOK Page 6-13 For any reasonable output format for Display mode, the PROGRAM_FORMS module must be edited to tailor the basic format for readability and to add new formats. Some knowledge of Fortran Format statements is needed to do this. Likewise, the PROGRAM_SORT module must be tailored (and for now PROGRAM.SRT). The prototype menu, PROGRAM.TXT, should be edited to customize it and remove any unwanted features. Finally, the prototype HELP module must be edited to add the appropriate HELP text for the program. 6.8.1 Using CRENOTBOK.COM To Be Supplied at Some Later Date 6.9 Possible Problems The VAX runs with user disk quotas which are not large. It is possible, but not probable, if one is short on disk space to destroy one's data file if one is careless. For example, if the delete function or sorting fail (both require disk space to create new files) one could be left with a 0 length file (containing nothing) and an old file containing the information prior to the failure. Now the sort routine tries to handle this case correctly. If the sort fails for any reason, the new (and sorted) file is deleted, and the old (unsorted) file is kept, and an error message is produced telling you what happend and to check your disk quotas. However, after such a warning, it pays to be very cautious. If any VAX function is preformed (PURGE, etc) which would result in purging the data base files and if a corrupted file accidently exists, the old file with the data would get deleted and the new corrupted file would be retained. Every attempt has been made to prevent this from happening, and any time anything goes wrong an error message is displayed. If an error message is displayed, write it down BEFORE pressing return. Better yet, type Control-Z instead of return, and issue a $DIR/SIZE=ALL Data_File_Name If the most recently created data file is zero blocks long, you have problems and you should get assistance from someone who knows their way around the VAX. Another time to be careful is when you are deleting or sorting entries. Do not try exiting by typing Control-Y. You could wind up with a corrupted or null data base again and no error message would result. CHAPTER 7 THE VAX PHONEBOOK SYSTEM 7.1 Introduction The VAX PhoneBook System is implemented as a VAX NoteBook function. PhoneBook is accessed either as a foreign command (defined automatically by @SYS$SYSVPWFILES:SETVPWSYM.COM during the logon process), or via the VAX Professional Workstation. In addition the commands PLIST (for phone list) and ALIST (for address list) are also defined which can be used to in the following way: PLIST Enter interactive mode with PhoneBook. PLIST search_string Display all phone numbers belonging to entries with the specified name_string. ALIST search_string Display all phone numbers and addresses belonging to entries with the specified name_string. The following sections describe briefly how to use the various features of the VAX PhoneBook 7.2 Retrieving An Address If the symbol ALIST is defined as a foreign command, the command ALIST search-string will produce the output (if the search string is found) of the form Last_name,First_name Phone # Ext Comment Company Address City, State Zip The Search-String may either be a last name or part of one or any valid unique identifier. If more than one entry match the search input all such entries will be displayed. For example, ALIST Downward might display THE VAX PHONEBOOK SYSTEM Page 7-2 Downward, James (313)-769-8500 362 Resident DEC guru. KMS Fusion, Inc. 3941 Research Park Dr. Ann Arbor, Mi 48106 7.3 Retrieving A Phone Number If the symbol PLIST is defined as a foreign command the command PLIST search-string will produce the output (if the search string is found) of the form Last_name,First_name Phone # Extension Comment The Search-String may either be a last name or part of one or any valid unique identifier. If more than one entry match the search input all such entries will be displayed. For example, the command PLIST DOWNWARD might produce the output Downward, James (313)-769-8500 362 Resident DEC guru. Note that the search string could also have been DEC or James and this record (with possibly others would have been displayed). 7.4 Interactive Use In its interactive mode, PhoneBook displays a menu giving the user the option to: 1. Add new phone numbers to the list. 2. Display phone numbers/addresses 3. Delete phone number entries. 4. Modify an existing phone number 5. Use a different PhoneBook 6. Exit. Because the VAX PhoneBook system is implemented using the VAX NoteBook, the previous chapter on the VAX NoteBook should be read. Interactive mode of the VAX PhoneBook is very easy and friendly to use. At each point that it it requesting input, you can use the keypad keys to get help. The PF1 key will display the keypad layout, and the PF2 key will display help information appropriate to the input being requested. The other keypad keys are described in FE-2628. THE VAX PHONEBOOK SYSTEM Page 7-3 7.4.1 Adding An Entry To The PhoneBook When you enter ADD mode PhoneBook prompts for the following information: Last name 15 characters max First name 10 characters max Phone number (xxx)-nnn-mmmm 14 characters max Extension (xxxx) 4 characters max Company name 20 characters max Address 30 characters max City 15 characters max State 2 characters max ZIP 5 characters max Comment 40 characters max If the length of an input exceeds the maximum allowed length, PhoneBook will print a warning message and reprompt for input. If a RETURN is entered in response to the last name entry request, PhoneBook returns to the menu page. When an entry is completed, PhoneBook will display the entry in its entirety and ask if it is correct. If a Y[es] is answered, it will be entered in to the data file. A N[o] returns you to the 'Last Name:' input prompt. The Comment entry allows up to 40 characters of any additional information to be entered for each user. 7.4.2 Deleting A PhoneBook Entry In Delete mode, you are prompted for the last name of an entry to delete. Each entry which matches the entered last name will be displayed together with a prompt asking if that entry should be deleted. If a Y[es] is answered the entry will be deleted. A Y during the delete process will wipe out all deletions made. All deletions become permanent if a RETURN is entered in response to the 'Last Name:' prompt. Deletion is much slower than adding or displaying entries since the entire file must be searched and re-written. 7.4.3 Displaying Phone Numbers Or Addresses In Display mode, the you enter a last name to display and choose whether or not to display the addresses also. Three display modes are possible: Phone list format, address list format, and mailing list format. The name string entered can be just the desired last name, part of the last name, a unique search string (ie a company name) or some combination of search strings, each separated by a vertical bar ("|") from the other search strings. Finally, you have the option of either displaying the information on your terminal, sending it for printing on the line printer, or saving it to a scratch file (SCRATCH.FIL) for inclusion in a document. THE VAX PHONEBOOK SYSTEM Page 7-4 7.4.4 Modifying A PhoneBook Entry In Modify mode, first you enter the last name to search for the correct record. The record is displayed and you are allowed to select that record or reject it. If you reject it, another record is searched for and the process is repeated until no more records are found matching the search string. If the record you want is found and selected, you are allowed to change each field by entering new data, or leave the field alone by typing carriage return. As the record is modified, the changes are displayed on the bottom of the screen. When the modifications are done, you are prompted to confirm that the modifications are correct. If you accept them, the record is updated and sorted if you changed the last for first name. 7.4.5 Use A Different PhoneBook Normally PhoneBook accesses SYS$LOGIN:PLIST.FIL. If you have a specialized list of phone numbers or addresses in an alternate PhoneBook file, it can be accessed with the Use option. Be careful that any file entered with the Use option is a correct PhoneBook file and not one created for use with some other NoteBook function. 7.4.6 Exiting From PhoneBook If numbers have been added to the phone book, PhoneBook will sort the phone book list upon exiting. This takes a while. Be patient. Otherwise it will just close any open files and exit. 7.5 Use Of Search Strings When used to display phone numbers or addresses, PhoneBook either accepts a search string as part of the command line or prompts for a last name. At this point, either a simple last name (or part of one) or a complex search string may be entered. A complex search string consists of multiple search strings separated by vertical bars ("|"). For example if you know your phone book contains entries for several people named Smith and that the SMITH of interest works for KMS you might enter SMITH|KMS as the search string. Only the data for the entry with the last name Smith, and with the company KMS would be found. Likewise to list all people working for the same company (you forgot the person's name), enter the company name as the search string. THE VAX PHONEBOOK SYSTEM Page 7-5 7.6 The PhoneBook Data File The data for PhoneBook is kept in SYS$LOGIN:PLIST.FIL. SYS$LOGIN is the VMS symbol representing the home directory assigned to each user when they log on to the system. Alternate PhoneBook data files may be accessed via the Use option. CHAPTER 8 THE VAX REMINDER SYSTEM 8.1 Introduction The VAX Reminder system can be accessed in a number of ways. It is available as an integral part of the VPW system as part of the Electronic Desk menu. REMINDER is also a predefined, foreign command which is established each time a user logs on with the command file SYS$SYSVPWFILES:SETVPWSYM.COM. The REMINDER command requires that the REMINDER image be installed with SYSPRV. Once the command REMINDER is typed, the REMINDER screen is displayed, and REMINDER Prompts for a user to send a reminder to. 8.2 On-Line HELP If you need help using REMINDER, press the PF2 key at any point REMINDER is prompting for input. REMINDER will then display help information pertaining to the information it is requesting. The PF2 key is the standard VPW help key. It is the only operational VPW keypad key at this time. 8.3 Correcting Errors If you make an error in an entered quantity and notice it only after you have gone on to the next question, you can either back up to the previous question by typing the Up Arror key, or enter Control-Y or Control-Z to abort the operation. 8.4 Using REMINDER Very often it is necessary to remind yourself or someone else that there is a date to be met or something which must be done. Before there were computers the canonical way of remembering to do something was to tie a string around one's finger. Later improvements in information storage technology allowed people to write themselves paper messages to leave pasted on their doors, THE VAX REMINDER SYSTEM Page 8-2 desks, walls, etc. The problem with this method is that one had to leave the reminder where the person was sure to look and hope that the message looked sufficiently attractive or urgent that it would be read. For users who have office VAX terminals, the VAX Reminder System offers a paper free alternative. The limitations of the method are that the user will not get the reminder if he/she is not logged on to the VAX. After issuing the REMINDER command, REMINDER will prompt for someone to remind. If you type carriage return, it defaults to reminding the person logged on the the terminal on which it is running. It will check to see if the VAX knows the person you requested to remind. If it doesn't it will warn you and allow you a chance to remind someone else. If you are unsure of the allowed names of users on the system, it will display a list of all name which it can send reminders to. Assuming it knows the "Remindee," it will prompt for the date and time to remind the user and then allow you to input up to 80 characters of text to use as the reminder message. Finally it asks if you want to send off another reminder to the same person. This allows you to be a nag, and send off reminders scattered throughout some time period. If you do want to send the same person another reminder, it checks to see if you want to send it on the same day. If yes, it then prompts for the time to remind and reminder text. If no, it firsts prompts for a reminder date. When the appointed time comes due, REMINDER will start up, grab the message and fire it off to each and every terminal the 'Remindee' is logged on to. If you are not logged on to a VAX terminal when the it attempts to deliver the message, it MAILS the message to you. Hence, as soon as you log on the VAX, VMS MAIL will tell you that you have new mail waiting to be read, and if you read your mail, you will get the reminder (so you will know what you missed). 8.5 Required Files For the Reminder System to work, the following files must exist. SYS$SYSVPWFILES:BROADCAST.EXE Install with OPER, WORLD privilege SYS$SYSVPWFILES:REMINDER.EXE Install with SYSPRV privilege SYS$SYSVPWFILES:REMINDUSR.COM For dequeuing the reminder messages