$ DEFALT:="F" $ CREATE:="F" $ SPACES[0,80]:=" " $ REPORT_TYPE:="SPR" $ SKIP:="F" $! $! MACHINE PRODUCABLE 'REPORT_TYPE' ADDENDUM GENERATOR $! $ @SYS$SYSDISK:[SYSMGR.CMDFIL]PAGE $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT - " ''REPORT_TYPE'.COM" $ WRITE SYS$OUTPUT - " This file creates an editable ''REPORT_TYPE' report for submittal." $ WRITE SYS$OUTPUT - "The report file has an extension .''REPORT_TYPE' and the file name" $ TYPE SYS$INPUT is coded with the local site reference code number. $ IF P1 .NES. "" THEN GOTO Set_Up ! Type select made $Get_Type: $ INQUIRE P2 "SPR type [RSX/VAX]" ! Select one $ IF P2 .EQS. "RSX" THEN P1:="RSX" ! Type must either be $ IF P2 .EQS. "VAX" THEN P1:="VAX" ! RSX or VAX or else $ IF P1 .EQS. "" THEN GOTO Get_Type ! reprompt for type $Set_Up: $ IF P1 .NES. "VAX" .AND. P1 .NES. "RSX" THEN GOTO Get_Type $ Current_Directory:='F$DIRECTORY()' ! Get current loc $ Current_UIC:='F$USER()' ! of user $ SET UIC [1,4] $ IF P1 .EQS. "VAX" THEN SET DEFAULT SYS$SYSDISK:[SYSMGR.VAXSPR] $ IF P1 .EQS. "RSX" THEN SET DEFAULT SYS$SYSDISK:[SYSMGR.RSXSPR] $! $! The user may create a default answer file which contains $! relatively constant data such as name, address, city, state, zip code, $! phone number and the like. Any global variable, in this file can be $! included in the default answer file. The default answer file is only $! used if it exists. otherwise every question is prompted for. $! $ ANSFIL:='REPORT_TYPE'"DEFALT.COM" $ TESTFILE 'ANSFIL' $ IF $STATUS .EQ. 1 THEN GOTO HAVE_FILE $ WRITE SYS$OUTPUT - "You could save yourself a great deal of work by creating" $ WRITE SYS$OUTPUT - "the file ''ANSFIL' to contain your default answers." $ WRITE SYS$OUTPUT " " $ INQUIRE TEMP - "Create a default answer file (=> Yes) [Y/N]" $ CREATE[0,1]:='TEMP' $ IF (CREATE.NES."Y").AND.(CREATE.NES."") THEN CREATE:="N" $ IF (CREATE.EQS."").OR.(CREATE.EQS."Y") THEN CREATE:="Y" $ GOTO REFCOD $HAVE_FILE: $ INQUIRE TEMP "Use the default answers (=> Yes) [Y/N]" $ USE_DFLT[0,1]:='TEMP' $ IF USE_DFLT.EQS."" THEN USE_DFLT:="Y" $ IF USE_DFLT.NES."Y" THEN USE_DFLT:="N" $ IF USE_DFLT THEN @'ANSFIL' $REFCOD: $ DELETE/SYMBOL TEMP $ $QARNM== 0 $ TESTFILE LAST'REPORT_TYPE'.COM $ IF $STATUS .NE. 1 THEN GOTO NONMBR $ @LAST'REPORT_TYPE'.COM $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT "The last reference code # entered is ''$QARNM'" $ WRITE SYS$OUTPUT " " $ TEMP==$QARNM+1 $ $QARNM==TEMP $NONMBR: $ INQUIRE LOC_REF - "What is the local site reference code # (->''$QARNM')" $SET NOVERIFY $ IF LOC_REF .EQS. "" THEN LOCREF='$QARNM' $ IF LOC_REF .NES. "" THEN LOCREF='LOC_REF' $ PPN:="" $NONMBR_1: $ TMP:='$LOCL' $ IF TMP .EQS. "" THEN - INQUIRE $LOCL "What is the local site prefix code" $ LENGTH='F$LENGTH($LOCL)' $ IF (LENGTH.GT.4) .OR. (LENGTH.LT.1) THEN GOTO NONMBR_1 $ IF REPORT_TYPE .EQS. "SPR" THEN INQUIRE TMP "What is the DEC SPR form pre-printed form #" $ IF REPORT_TYPE .EQS. "SPR" THEN PPN:="PPN: "'TMP' $ TESTFILE '$LOCL''LOCREF'.'REPORT_TYPE' $ IF $STATUS .NE. 1 THEN GOTO NEWFIL $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT - " Warning - ''$LOCL'''LOCREF'.''REPORT_TYPE' already exists" $ INQUIRE TEMP - "Do you want to delete ''$LOCL'''LOCREF'.''REPORT_TYPE' [Y/N]" $ ANS[0,1]:='TEMP' $ IF ANS .NES. "Y" THEN GOT REFCOD $ DELETE '$LOCL''LOCREF'.'REPORT_TYPE';* $NEWFIL: $ SET NOCONTROL_Y $ DELETE LAST'REPORT_TYPE'.COM;* $ OPEN/WRITE SCRATCH LAST'REPORT_TYPE'.COM $ WRITE SCRATCH "$$QARNM==''LOCREF'" $ CLOSE SCRATCH $ SET CONTROL_Y $ENTER_SUMMARY: $ INQUIRE ABSTRC "Enter a one line summary" $ LENGTH='F$LENGTH(ABSTRC)' $ IF LENGTH .GT.75 THEN GOTO ENTER_SUMMARY $ IF CREATE THEN OPEN/WRITE SCRATCH 'REPORT_TYPE'DEFALT.COM $ IF CREATE THEN WRITE SCRATCH "$$LOCL:==''$LOCL'" $ CUST_NUMBER:='$CUSTN' $ IF CUST_NUMBER .EQS. "" THEN - $ INQUIRE $CUSTN "What is your customer service number" $ IF CREATE THEN WRITE SCRATCH "$$CUSTN:==''$CUSTN'" $ CPU:='$CPU' $ENTER_CPU: $ IF CPU .EQS. "" THEN - INQUIRE $CPU "What is your CPU type (11/45,11/750, etc)" $ LENGTH='F$LENGTH($CPU)' $ IF (LENGTH .EQ.5).OR.(LENGTH.EQ.6) THEN GOTO GOT_CPU $ CPU:="" $ GOTO ENTER_CPU $GOT_CPU: $ IF CREATE THEN WRITE SCRATCH "$$CPU:==''$CPU'" $ SERIAL_NUMBER:='$SERIAL_NUMBER' $ IF SERIAL_NUMBER .EQS. "" THEN - INQUIRE $SERIAL_NUMBER "What is your CPU serial number" $ IF CREATE THEN WRITE SCRATCH "$$SERIAL_NUMBER:==''$SERIAL_NUMBER'" $ SYS:='$SYS' $ IF SYS .EQS. "" THEN INQUIRE $SYS "What is your system device" $ IF CREATE THEN WRITE SCRATCH "$$SYS:==''$SYS'" $ SIZ:='$SIZ' $ IF SIZ .EQS. "" THEN - INQUIRE $SIZ "What is your memory size in K words" $ IF CREATE THEN WRITE SCRATCH "$$SIZ:==''$SIZ'" $ DIST:='$DIST' $ IF DIST .EQS. "" THEN INQUIRE $DIST "What is your distribution media" $ IF CREATE THEN WRITE SCRATCH "$$DIST:==''$DIST'" $ DECOF:='$DECOF' $ IF DECOF .EQS. "" THEN INQUIRE $DECOF "What is your local DEC office" $ IF CREATE THEN WRITE SCRATCH "$$DECOF:==''$DECOF'" $ OPSYS:='$OPSYS' $ IF OPSYS .EQS. "" THEN INQUIRE $OPSYS "What is your operating system" $ IF CREATE THEN WRITE SCRATCH "$$OPSYS:==''$OPSYS'" $ OVRSN:='$OVRSN' $ IF OVRSN .EQS. "" THEN INQUIRE $OVRSN "What is its version number" $ IF CREATE THEN WRITE SCRATCH "$$OVRSN:==''$OVRSN'" $ XEDIT:='$XEDIT' $ WRITE SYS$OUTPUT " " $ IF XEDIT .EQS. "" THEN WRITE SYS$OUTPUT - "Editors currently available for use are EDI, EDT and KED" $ENTER_EDIT: $ IF XEDIT .EQS. "" THEN - INQUIRE $XEDIT "What is your default editor 3 character name" $ IF $XEDIT .EQS. "EDI" THEN GOTO GOT_EDIT $ IF $XEDIT .EQS. "EDT" THEN GOTO GOT_EDIT $ IF $XEDIT .EQS. "KED" THEN GOTO GOT_EDIT $ XEDIT:="" $ GOTO ENTER_EDIT $GOT_EDIT: $ IF CREATE THEN WRITE SCRATCH "$$XEDIT:==''$XEDIT'" $ INQUIRE PROGRM "What is the problem program name" $ INQUIRE PVERSN "What is the version of the program/document" $ TMP:='PVERSN' $ IF PVERSN .NES. "" THEN TMP:="("'PVERSN'")" $ PVERSN:='TMP' $ INQUIRE TEMP "Do you have the sources [Y/N]" $ SRCS[0,1]:='TEMP' $ IF SRCS .EQS. "Y" THEN SRCANS:="YES" $ IF SRCS .NES. "Y" THEN SRCANS:="NO" $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT - "''REPORT_TYPE's may report 1. PROBLEMS/ERRORS" $ TYPE SYS$INPUT 2. SUGGESTED ENHANCEMENT 3. OTHER-FYI(for your information) 4. OTHER-INQUIRY $ENTER_TYPE: $ INQUIRE REP "What type of ''REPORT_TYPE' report is this" $ IF (REP.NES."1").AND.(REP.NES."2").AND. - (REP.NES."3").AND.(REP.NES."4") THEN GOTO ENTER_TYPE $ IF REP .EQS. "1" THEN TYP:= "1. PROBLEM/ERROR" $ IF REP .EQS. "2" THEN TYP:= "2. SUGGESTED ENHANCEMENT" $ IF REP .EQS. "3" THEN TYP:= "3. OTHER-FYI" $ IF REP .EQS. "4" THEN TYP:= "4. OTHER-INQUIRY" $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT - "Priority for this ''REPORT_TYPE' 1. HEAVY SYSTEM IMPACT" $ TYPE SYS$INPUT 2. MODERATE SYSTEM IMPACT 3. MINOR SYSTEM IMPACT 4. NO SIGNIFICANT SYSTEM IMPACT 5. DOCUMENTATION/SUGGESTION $ENTER_IMPACT: $ INQUIRE IMPCT "What is the system impact code" $ IF (IMPCT.NES."1").AND.(IMPCT.NES."2").AND.- (IMPCT.NES."3").AND.(IMPCT.NES."4").AND.- (IMPCT.NES."5") THEN GOTO ENTER_IMPACT $ IF IMPCT .EQS. "1" THEN IMPCT:= "1. HEAVY SYSTEM IMPACT" $ IF IMPCT .EQS. "2" THEN IMPCT:= "2. MODERATE SYSTEM IMPACT" $ IF IMPCT .EQS. "3" THEN IMPCT:= "3. MINOR SYSTEM IMPACT" $ IF IMPCT .EQS. "4" THEN IMPCT:= "4. NO SIGNIFICANT IMPACT" $ IF IMPCT .EQS. "5" THEN IMPCT:= "5. DOCUMENTATION/SUGGESTION" $ IF REPORT_TYPE .EQS. "SPR" THEN - INQUIRE PUBLSH "May this SPR be published ( => Yes) [Y/N]" $ TEMP[0,1]:='PUBLSH' $ IF TEMP .NES."N" THEN PUBLSH:="Y" $ INQUIRE TEMP "Is the problem produced at will [Y/N]" $ ATWILL[0,1]:='TEMP' $ IF ATWILL .NES. "N" THEN ATWILL:="YES" $ IF ATWILL .EQS. "N" THEN ATWILL:= "NO" $ INQUIRE TEMP - "Could this ''REPORT_TYPE' have been prevented by better documentation [Y/N]" $ ANS[0,1]:='TEMP' $ IF ANS .EQS. "Y" THEN DOC:="YES" $ IF ANS .NES. "Y" THEN DOC:="NO" $ INQUIRE TEMP "Are there any attachments [Y/N]" $ ANY[0,1]:='TEMP' $ IF ANY .NES. "Y" THEN ATTCH:="NONE" $ IF ANY .EQS. "Y" THEN INQUIRE ATTCH "What is attached" $ TEMP:='$NAME' $ IF TEMP .EQS. "" THEN INQUIRE $NAME "What is your name" $ IF CREATE THEN WRITE SCRATCH "$$NAME:==''$NAME'" $ TEMP:='$CMPNY' $ IF TEMP .EQS. "" THEN INQUIRE $CMPNY "What is your company name" $ IF CREATE THEN WRITE SCRATCH "$$CMPNY:==''$CMPNY'" $ TEMP:='$STRET' $ IF TEMP .EQS. "" THEN INQUIRE $STRET "What is your street address" $ IF CREATE THEN WRITE SCRATCH "$$STRET:==''$STRET'" $ TEMP:='$CITY' $ IF TEMP .EQS. "" THEN INQUIRE $CITY "What is your city" $ IF CREATE THEN WRITE SCRATCH "$$CITY:==''$CITY'" $ TEMP:='$STATE' $ IF TEMP .EQS. "" THEN INQUIRE $STATE "What is your state" $ IF CREATE THEN WRITE SCRATCH "$$STATE:==''$STATE'" $ TEMP:='$ZIP' $ IF TEMP .EQS."" THEN INQUIRE $ZIP "What is your ZIP code: $ IF CREATE THEN WRITE SCRATCH "$$ZIP:==''$ZIP'" $ TEMP:='$PHONE' $ IF TEMP .EQS. "" THEN INQUIRE $PHONE "What is your phone number" $ IF CREATE THEN WRITE SCRATCH "$$PHONE:==''$PHONE'" $ IF CREATE THEN CLOSE SCRATCH $ DATE[0,11]:='F$TIME()' $ SPACE:= "" $ SET NOCONTROL_Y $ OPEN/WRITE SPRFILE '$LOCL''LOCREF'.'REPORT_TYPE' $ WRITE SPRFILE - " ''REPORT_TYPE' REPORT" $ WRITE SPRFILE "" $ WRITE SPRFILE - "LOCAL REF: ''$LOCL'''LOCREF' ''REPORT_TYPE' NUMBER: 11- ''PPN' $ WRITE SPRFILE - "-----------------------------------------------------------------------------" $ WRITE SPRFILE - "''$OPSYS' ''$OVRSN' ''PROGRM' ''PVERSN' ''DATE'" $ WRITE SPRFILE - "-----------------------------------------------------------------------------" $ WRITE SPRFILE - " ! Dec Ofc. ''$DECOF' ! Have sources? ''SRCANS'" $ WRITE SPRFILE - "NAME: !-------------------------------------------" $ WRITE SPRFILE - " ! Report type: ''TYP'" $ SPACE:="" $ LENGTH=28-'F$LENGTH($NAME)' $ SPACE[0,'LENGTH']:=" " $ WRITE SPRFILE - " ''$NAME'''SPACE'! Priority: ''IMPCT'" $ LENGTH=28-'F$LENGTH($CMPNY)' $ SPACE:="" $ SPACE[0,'LENGTH']:=" " $ WRITE SPRFILE - " ''$CMPNY'''SPACE'! Problem produced at will? ''ATWILL'" $ LENGTH=28-'F$LENGTH($STRET)' $ SPACE:="" $ SPACE[0,'LENGTH']:=" " $ WRITE SPRFILE - " ''$STRET'''SPACE'! " $ TEMP:='$CITY'","'$STATE'" "'$ZIP' $ LENGTH=28-'F$LENGTH(TEMP)' $ SPACE:="" $ SPACE[0,'LENGTH']:=" " $ WRITE SPRFILE - " ''$CITY',''$STATE' ''$ZIP'''SPACE'!" $ WRITE SPRFILE - " !" $ TEMP:= "CUST. #: "'$CUSTN' $ LENGTH=28-'F$LENGTH(TEMP)' $ SPACE:="" $ SPACE[0,'LENGTH']:=" " $ WRITE SPRFILE - " ''TEMP'''SPACE'!" $ WRITE SPRFILE - "-----------------------------------------------------------------------------" $ TEMP:="! Phone: "'$PHONE' $ LENGTH=33-'F$LENGTH(TEMP)' $ SPACE:="" $ SPACE[0,'LENGTH']:=" " $ WRITE SPRFILE - "! Phone: ''$PHONE'''SPACE'! Prob. prev. by better doc.? ''DOC'" $WRITE SPRFILE - "-----------------------------------------------------------------------------" $ TEMP:="! System Serial #: "'SERIAL_NUMBER' $ LENGTH=33-'F$LENGTH(TEMP)' $ SPACE="" $ SPACE[0,'LENGTH']:=" " $ WRITE SPRFILE - "! System Serial #: ''SERIAL_NUMBER'''SPACE'! List of attachments: ''ATTCH'" $ WRITE SPRFILE - "-----------------------------------------------------------------------------" $ WRITE SPRFILE - "! ''$CPU' ! ''$SIZ' K words ! Sys. Dev.: ''$SYS' ! Dist. Med.: ''$DIST'" $WRITE SPRFILE - "-----------------------------------------------------------------------------" $ WRITE SPRFILE " " $ IF PUBLSH THEN GOTO TITL $ WRITE SPRFILE - " ****************************" $ WRITE SPRFILE - " * >>>> DO NOT PUBLISH <<<< *" $ WRITE SPRFILE - " ****************************" $TITL: SPC = 80-'F$LENGTH(ABSTRC)' $ SPC = SPC/2 $ SPACE[0,'SPC']:=" " $ WRITE SPRFILE " " $ WRITE SPRFILE - "''SPACE'''ABSTRC'" $ WRITE SPRFILE "Description:" $ WRITE SPRFILE " " $ CLOSE SPRFILE $ SET CONTROL_Y $ FILL:= "__-___-__" $ IF REPORT_TYPE .EQS. "QAR" THEN FILL2:=" " $ IF REPORT_TYPE .EQS. "SPR" THEN FILL2:="11- " $ TESTFILE 'REPORT_TYPE'LST.FIL $ IF $STATUS .EQ. 1 THEN GOTO OLDFIL $ SET NOCONTROL_Y $ OPEN/WRITE SCRATCH 'REPORT_TYPE'LST.FIL $ IF REPORT_TYPE .EQS."SPR" THEN WRITE SCRATCH - "REF # SENT RECV ANSWER ''REPORT_TYPE' # ABSTRACT" $ IF REPORT_TYPE .EQS. "QAR" THEN WRITE SCRATCH - "REF # SENT ANSWER ''REPORT_TYPE'' # ABSTRACT" $ IF REPORT_TYPE .EQS."SPR" THEN WRITE SCRATCH - "''$LOCL'''LOCREF' ''DATE' ''FILL' ''FILL' ''FILL2' ''ABSTRC'" $ IF REPORT_TYPE .EQS. "QAR" THEN WRITE SCRATCH - "''$LOCL'''LOCREF' ''DATE' ''FILL' ''FILL2' ''ABSTRC'" $ CLOSE SCRATCH $ ASSIGN/USER NL: EDTINI $ ASSIGN/USER NL: SYS$OUTPUT $ EDT 'REPORT_TYPE'LST.FIL EXIT $ PURGE 'REPORT_TYPE'LST.FIL $ SET NOCONTROL_Y $ GOTO UPDATE $OLDFIL: $ SET CONTROL_Y $ OPEN/WRITE SCRATCH 'REPORT_TYPE'LST.XXX $ IF REPORT_TYPE .EQS."SPR" THEN WRITE SCRATCH - "''$LOCL'''LOCREF' ''DATE' ''FILL' ''FILL' ''FILL2' ''ABSTRC'" $ IF REPORT_TYPE .EQS. "QAR" THEN WRITE SCRATCH - "''$LOCL'''LOCREF' ''DATE' ''FILL' ''FILL2' ''ABSTRC'" $ CLOSE SCRATCH $ ASSIGN/USER NL: EDTINI $ ASSIGN/USER NL: SYS$OUTPUT $ EDT 'REPORT_TYPE'LST.XXX EXIT $ APPEND 'REPORT_TYPE'LST.XXX 'REPORT_TYPE'LST.FIL $ DELETE 'REPORT_TYPE'LST.XXX;* $ SET NOCONTROL_Y $UPDATE: $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT - "''$LOCL'''LOCREF'.''REPORT_TYPE' has now been created, edit in your ''REPORT_TYPE'" $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT "The default editor is ''$EDIT'" $ SET CONTROL_Y $ INQUIRE EDITOR - "What editor do you wish to use (EDI, EDT, KED, =>''$XEDIT')" $ IF EDITOR .EQS. "" THEN EDITOR:='$XEDIT' $ ASSIGN/USER SYS$COMMAND SYS$INPUT $ SET NOCONTROL_Y $ 'EDITOR' '$LOCL''LOCREF'.'REPORT_TYPE' $ SET CONTROL_Y $ PURGE '$LOCL''LOCREF'.'REPORT_TYPE' $ LQ '$LOCL''LOCREF'.'REPORT_TYPE' $THE_END: $ SET CONTROL_Y $ SET UIC 'Current_UIC' $ SET DEFAULT 'Current_Directory' $ DELETE/SYMBOL/GLOBAL $CPU $ DELETE/SYMBOL/GLOBAL $SERIAL_NUMBER $ DELETE/SYMBOL/GLOBAL $NAME $ DELETE/SYMBOL/GLOBAL $CMPNY $ DELETE/SYMBOL/GLOBAL $STRET $ DELETE/SYMBOL/GLOBAL $CITY $ DELETE/SYMBOL/GLOBAL $STATE $ DELETE/SYMBOL/GLOBAL $ZIP $ DELETE/SYMBOL/GLOBAL $LOCL $ DELETE/SYMBOL/GLOBAL $QARNM $ DELETE/SYMBOL/GLOBAL $OVRSN $ DELETE/SYMBOL/GLOBAL $DECOF $ DELETE/SYMBOL/GLOBAL $PHONE $ DELETE/SYMBOL/GLOBAL $CUSTN $ DELETE/SYMBOL/GLOBAL $XEDIT $ DELETE/SYMBOL/GLOBAL $OPSYS $ DELETE/SYMBOL/GLOBAL $DIST $ DELETE/SYMBOL/GLOBAL $SIZ $ DELETE/SYMBOL/GLOBAL $SYS $ DELETE/SYMBOL/GLOBAL TEMP