****Format Control Options**** ALPHA Takes the first character in selection text for prompt. BLANK Has no selection prompt. CHAR_UNFORMAT Like REPEAT, but no formatting. char_unformat Like above, but all cursor postion must explicit. DOUBLE_CHAR Takes the first two character in selection text for prompt. NUMBER Generates a numeric selection for prompt. REPEAT Repeats the first character as selection prompt. TWO_CHAR_UNF Like DOUBLE, but no formatting. two_char_unf Like above, but all cursor postion must explicit. UNFOR_NUMERIC Like NUMBER, but no formatting. unfor_numeric Like above, but all cursor postion must explicit. 2formatted_opt Double column of option. ****Script Command Summary**** AGAIN/NAGAIN Ask to repeat selection, do it if yes (N timeout=yes). ALLOW Permit action items to execute on a return in initial. AND n 'AND' privelge mask and n. APPEND filespec Open 'filespec' for appending (create if nonexistent). ASK (insert) text Ask 'text' and if "yes", then use 'insert'. ASKL text Ask 'text' and on "yes", set; "no", clear logic flag. ASKS (insert) text Ask 'text' and use 'insert' as a default. ASKS text Ask 'text' and use reply for substitution; must answer. ASK? text Help for "ask" commands, must immediately follow the "ask" command. Use 'text' as input to system-wide help. ASK? (filespec) Like above, except, types 'filespec'. ASK? "text" Like above, except, outputs 'text'. ASSIGN dev/filespec Set filespec as sys$output for next action. BATCH Sets the no-wait flag for action item execution. BOTTOM Sets flag to force cursor to bottom of screen if no clear flag is set for output (use with split screen). BLOCK Outputs 'Type ' to continue message and waits. CALL/SUB filespec Calls menu script 'filespec'. CHAIN command Forces script to exit and chain to 'command'. CHOICE Causes execute string to be outputted at top of screen with scrolling regions set to perserve it. CLEAR Sets flag to clear screen on next terminal output. CLI cliname An RSX command to switch CLI; a NOP in VMS CLOCK Outputs current time and date as text to the terminal. CLOSE Closes log file. CONTINUE Sets the continue flag for action item execution. DATE Places the time and date on the menu, updates 1/min. DEBUG Sets the debug flag. DELAY seconds Causes the script to wait 'seconds'. DISALLOW Stops action items in init field on "Return's". DLOGICAL logical A control item that deletes 'logical'. DSYMBOL symbol A control item that deletes 'symbol'. END Stops the execution of a selection. ERASE_SCREEN Clears a split screen, the whole screen if not split. ERROR Sets hold on error flag for action item execution. EVENT_FLAG (opt) data Controls event flag (attach,detach,set,clear,wait) EXIT Exits the script program. FILENAME Causes present script filename in the symbol "SCR$FILE". FREE Enables control_Y/control_C. GOTO filespec Exits present menu and goes to 'filespec' script. GRAPHIC command Causes 'command' to be executed at each menu output. HARDCOPY_PROMPT "prmpt" Use 'prompt' in place of 'SCR>' on hardcopy returns. HOLD Sets the hold flag for action item execution. IF item Tests 'item' and executes the next command if true; items are: logical, privilege, CRT, and action (error). IFNOT item Tests 'item' and executes the next command if false. INQUIRY Asks user if the wish to continue selection. ISOLATE Causes action items to be spawned without tables. KILL_LAST Cancels the Last command. LAST command Causes 'command' to be executed when program exits. LIST_BEGIN @file/symbol Begins a list processing block. LIST_END Ends a list processing block. LOCK Sets lock flag, which disables user initiated. exits (PF4, ^Z, etc.) and commands ($,@ commands). LOG string Writes the time/date, then 'string' to the output file. LOGICAL (name) string Sets logical 'name' to string. LOOP Causes selection to restart from the beginning. MAILBOX (opt) string Controls mailbox open/close, read/write, etc.. MAINTAIN_FLAGS Causes flags to be maintained between scripts. NO CLEAR Causes clear flag to be reset. OFF Sets the log-off flag. OPEN filespec Opens 'filespec' for logging (see Write command). ON Resets the log-off flag. OR mask Causes mask to be or'ed with the privilege mask. OVERRIDE_FLAGS Cancel Maintain Flags command. OUTPUT filesname Types 'filename', pausing every 22 lines. PASSWORD name/"passwd" Request password from user, if incorrect, the selection or the menu is cancelled. PRINTER option Controls escape sequences for enabling and disabling the printer port on terminal. PRIVILEGE Checks OPER/ SYS privilege and cancels selection if not. PROCEED_ON_ERR Causes the Stop_On_Err flag to be reset. PROMPT Causes no cursor control; selections are prompted. PROTECT Checks OPER or SYS privilege and cancels meun if failed. QUERY Sets the query flag for action item execution. RECALULATE Re-compile the present menu. RESET_SCREEN Clears screen, resets scrolling, and homes the cursor. RETURN 'Returns' form a called menu. SAVE_CONTEXT Saves the menu stack and present menu name in a symbol. SET n/log/not_log Sets privilege mask to n, or sets/resets logical flag. SHOW_FILENAME Outputs present script name. SILENT Sets the silent operation flag. SLAVE Disables control_Y/control_C. SPLIT Enables split screen scrolling regions. STOP_ON_ERR Sets the Stop_On_Error Flag. STRING (text) Cause 'text' to be used as a substitution string. SYMBOL (symbol) string Writes global symbol 'symbol' with 'string'. TEXT text/"text" Outputs 'text'. TIMEOUT n Sets reply timeout to 'n' seconds. TITLE text Clears screen, outputs 'text' and sets scrolling. TOP Clears screen and sets scrolling. UNFORMATTED_SCREEN Keeps screen from being cleared btween selections. UNLOCK Clears lock flag. VERBOSE Clears the silent operation flag. WAIT Sets the wait flag for action item execution. WHOLE Disables split screen scrolling regions. WIDTH n Set the terminal width to n. WRITE string Writes'string' to the output file. XSTATUS n Exits with status 'n'. ZERO Returns to initial script with nesting level at 1. ?/HELP text If help requested, call to system help for 'text'. ?/HELP (filespec) If help requested, type 'filespec'. ?/HELP "text" If help requested, output 'text' ****Item Masking Rules and Syntax**** 1. The syntax for mask option line is: "~comment_text offset_number" 2. The mask option line must proceed the prompt text of a selection. 3. The selection must follow the normal rules of syntax. 4. The mask option uses the value contained in symbol SCR$MASK as user's mask. 5. The number in mask option is a bit offset between 1 and 32. (0 = OPER/SYS) ****Screen Control Codes**** !nn,nn !Bold !Flash !Underline !Reverse !Normal !Wide !Tall/!tall !High/!high !Ascii !Graphic !Special !Zero !Line !Clear_line !Delete_rest !Erase_scrren !< !> !up !down !backspace !cr !linefeed !escape !save_cursor !restore_cursor !Mann (multi a) !mnn,nn !O/!origin_mode !X/!xbackgrnd ****Command Line Syntax**** SCRIPT/switch/switch "substitution string" "sub strg" script_filespec /SCREEN_ONLY Does screen format only, exits on first selection after setting symbols SCR$COMMAND AND SCR$HELP. /HARDCOPY Overrides system information, treat terminal as hardcopy device. /DEBUG Set the debug flag. /CONTEXT Get file, flags and nesting info from SCR$CONTEXT and SCR$FILE. /LOCK Sets lock and slave flags. /BUILD Causes script to be "compiled" and written back to a new file. /NO_EXECUTE Prevents execution of "$" action items. /MAILBOX Starts sub-process SCRIPT.MAIL_BOX and connects to it. /BACKGROUND Connects to mailbox 'MAILBOX'. (See SCRIPT.BACKGROUND) ****User Inputs**** At Cursor: Return Selects option. Question Mark Requests help for option. Arrow Keys Moves cursor up or down. ,,<0> Moves cursor down. Backspace Moves cursor up. At the Cursor or the Prompt: Request selection . Request the top selection. Request help for selection . HELP/help Request help on Script input. $ Execute as a command.* ! Exit with in symbol SCR$COMMAND.* @ Change menu script to .* PF1 Repaint screen. PF2 Same as , requests help for selection. PF3 Request return to first menu script.* PF4 Exit Script process.* <^C>,<^Y>,<^Z> Exit Script process.* Executes a RETURN function.* <^W> Repaint screen. <^T> Display filename of current menu script. * Subject to the "Lock" flag, if not allowed, treated as a <^W>. ****Symbols and Logicals**** Logicals are used by Script: SYS$SCRIPT: Replaces "$" on script filespecs. SCR$PASSWORD: Logical filespec for location of password data file. Symbols used as inputs by Script: SCR$MASK Mask to be used in Item Masking (see above). PRV$RESULT Privilege mask used by PRIVILEGE command. SCR$FILE Output of FILENAME command, current script filespec. SCR$CONTEXT1/4 Output of SAVE_CONTEXT command, flags and script nesting info. Symbols are outputted by Script: SCR$RETURN The number of the selection chosen in DCL mode. SCR$HELP "YES"/"NO" flag in help was chosen in DCL mode. SCR$COMMAND Holds special escape "!" command line. SCR$FILE Output of FILENAME command, current script filespec. SCR$CONTEXT1/4 Output of SAVE_CONTEXT command, flags and script nesting info. ****List Processing Rules and Syntax**** "%LIST_BEGIN @filename or symbol_name". This command starts the block of script commands that are to be repeated. If a file, each record is one element of the list. If a symbol each element seperated by a comma ','. "%LIST_END". This command ends the block of script commands. The substitution token is "\\*". Each time the block of script commands are repeated, the next element in the list is used until the list is completed. Example: Symbol 'VALID_QUE' contains "TAPEQ,PRINTER,BATCH1" % LIST_START VALID_QUE Show Queue \\* $ sho que \\* % LIST_END The option would be repeated 3 times with \\*s' replaced by "TAPEQ", "PRINTER", and "BATCH1" on each successive repetiton. ****Substitutions**** Substitions made when the Script is read and 'compiled': ^symbol/logical^ Any word surrounded by '^' will be translated and substituted. \\0 First 4 characters of terminal name will be substituted. \\1-6 Command line substitutes, in order on command line. \\* List processing substitution token. Substitutions made during Script execution: ##1-4 'ASK' reply strings, in order of inquiry. ##0 Time and date (dd-mmm-yyyy hh:mm). ##T/t Time, (T = hh:mm; t = hhmm). ##D/d Date, (D = dd-mmm-yyyy; d = dd_mmm_yyyy) ##M Mailbox record