$ Verify_at_Start='F$VERIFY(0)' $ ON CONTROL_Y THEN GOTO THE_END $ TYP:="MEM" $ $DEFIL:="" $ ! $ ! Memo Generator and Filing $ ! $ PAGE $ ! $ ! $ TYPE SYS$INPUT Memo Creation and Filing (Type ^Y to exit at any point) $ ANSFIL:= "'TYP'DFLT.COM" $ TESTFILE 'ANSFIL' $ IF $STATUS .EQ. 1 THEN GOTO INDFIL $ TYPE SYS$INPUT Your default answers do not yet exist. Lets enter them now so that they can be used in the future. $ ! Get answers to create the default answer file $ ! $ OPEN/WRITE TMP 'TYP'DFLT.COM $ INQUIRE/NOPUNCTUATION FIRST_NAME - "What is your first name: " $ WRITE TMP "FIRST_NAME:==""""""",FIRST_NAME,""""" $ INQUIRE/NOPUNCTUATION LAST_NAME - "What is your last name: " $ WRITE TMP "LAST_NAME:==""""""",LAST_NAME,""""" $ INQUIRE/NOPUNCTUATION LOCAL - "What should be the default prefix code for memos: " $ WRITE TMP "LOCAL:==",LOCAL $ CLOSE TMP $ ! $ GOTO SKIP $INDFIL:@'ANSFIL' $SKIP: $ MEMO_NUMBER== 0 $ TESTFILE LAST'TYP'.COM;1 $ IF $STATUS .NE. 1 THEN GOTO NO_NUMBER $ @LAST'TYP'.COM;1 $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT - " The last memo # entered is "'MEMO_NUMBER' $ WRITE SYS$OUTPUT " " $ MEMO_NUMBER=MEMO_NUMBER+1 $NO_NUMBER: $ INQUIRE MEMNBR 'FIRST_NAME', "What is the memo # (->"'MEMO_NUMBER') $ IF MEMNBR .EQS. "" THEN MEMNBR:='MEMO_NUMBER' $ INQUIRE LOCL - 'FIRST_NAME', "What is the memo prefix code (->"'LOCAL') $ IF LOCL .EQS. "" THEN LOCL:='LOCAL' $ TESTFILE 'LOCL''MEMNBR'.RNO $ IF $STATUS .NE. 1 THEN GOTO NEWFIL $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT- "Warning - The memo file "'LOCL''MEMNBR'".RNO already exists" $ WRITE SYS$OUTPUT " " $ INQUIRE ANS - 'FIRST_NAME', "Do you want to delete "'LOCL''MEMNBR'".RNO [Y/N]" $ IF ANS THEN DELETE 'LOCL''MEMNBR'.RNO;* $ IF.NOT.ANS THEN GOTO REFCOD $NEWFIL: $ ! The file keeping track of the last memo must be created $ DELETE LAST'TYP'.COM;* $ OPEN/WRITE TMP LAST'TYP'.COM;1 $ WRITE TMP "MEMO_NUMBER== ",MEMNBR $ CLOSE TMP $ ! $GETHDR: $ INQUIRE/NOPUNCTUATION TOWHO "To whom: " $ LENGTH='F$LENGTH(TOWHO)' $ IF LENGTH .GT. 18 THEN GOTO TOLONG $ INQUIRE/NOPUNCTUATION FROM "From whom: " $ LENGTH='F$LENGTH(FROM)' $ IF LENGTH .GT. 18 THEN GOTO TOLONG $ INQUIRE/NOPUNCTUATION SUBJCT "Subject: " $ LENGTH='F$LENGTH(SUBJCT)' $ IF LENGTH .GT. 69 THEN GOTO TOLONG $ DATE[0,11]:='F$TIME()' $ OPEN/WRITE TMP 'LOCL''MEMNBR'.RNO $ WRITE TMP ".RM72" $ WRITE TMP ".LM5" $ WRITE TMP ".LIT" $ WRITE TMP - " ",LOCL,"-",MEMNBR $ WRITE TMP "MEMO:" ! $ WRITE TMP - "TO: ",TOWHO $ WRITE TMP - "FROM: ",FROM $ WRITE TMP - "SUBJECT: ",SUBJCT $ WRITE TMP - "DATE: ",DATE $ WRITE TMP ".END LITERAL" $ WRITE TMP ".AP" $ CLOSE TMP $ ! Create strings to fill log file with $ STRING[0,80]:=" " ! Fill with blanks $ TEMP:= 'LOCL'-'MEMNBR' $ STRING:='TEMP' $ END=9 $ LENGTH='F$LENGTH(DATE)' ! $ IF LENGTH .EQ. 11 THEN END=10 ! Adjust for length of day $ STRING['END','LENGTH']:='DATE' ! $ END=22 ! $ LENGTH='F$LENGTH(TOWHO)' ! $ STRING['END','LENGTH']:="''TOWHO'" ! $ END=44 ! $ LENGTH='F$LENGTH(SUBJCT)' ! $ STRING['END','LENGTH']:="''SUBJCT'" ! $ ! $ ! See if the log file for memos exists $ TESTFILE 'TYP'LST.FIL ! $ IF $STATUS .EQ. 1 THEN GOTO OLDFIL ! Go append to old file $ OPEN/WRITE TMP 'TYP'LST.FIL ! Open the file $ WRITE TMP - "Memo # Date To Subject" $ WRITE TMP STRING ! $ CLOSE TMP ! Close file $ ASSIGN/USER NL: SYS$OUTPUT ! Fix up carriage control $ ASSIGN/USER NL: EDTINI ! $ EDT 'TYP'LST.FIL ! EXIT $ PURGE 'TYP'LST.FIL ! $ GOTO EDIT ! Edit the template file $OLDFIL:OPEN/WRITE TMP MEMOTMP.TMP ! Create a temporary file $ WRITE TMP STRING ! $ CLOSE TMP ! $ ASSIGN/USER NL: EDTINI ! $ ASSIGN/USER NL: SYS$OUTPUT ! $ EDT MEMOTMP.TMP ! EXIT $ APPEND MEMOTMP.TMP 'TYP'LST.FIL ! $ DELETE MEMOTMP.TMP;* ! Delete the tmp file $EDIT: $ SET NOCONTROL_Y ! So KED won't get killed $ ASSIGN/USER TT: SYS$INPUT ! So KED can talk to TT: $ KED 'LOCL''MEMNBR'.RNO ! $ SET CONTROL_Y ! $ DEFIL:== 'LOCL''MEMNBR' $ SET MESSAGE/NOFACILITY/NOIDENTIFICATION/NOSEVERITY/NOTEXT $ PURGE 'LOCL''MEMNBR'.RNO ! $ SET MESSAGE/FACILITY/IDENTIFICATION/SEVERITY/TEXT $ GOTO THE_END ! $ ! $ ! $TOLONG: $ TYPE SYS$INPUT MEMO -- Error. The FROM/TO name lengths must be < 19 characters long $ GOTO GETHDR $THE_END: $ SET NOCONTROL_Y $ SET MESSAGE/NOFACILITY/NOIDENTIFICATION/NOSEVERITY/NOTEXT $ CLOSE TMP $ DELETE MEMOTMP.TMP;* $ DELETE/SYMBOL/GLOBAL MEMO_NUMBER $ DELETE/SYMBOL/GLOBAL FIRST_NAME $ DELETE/SYMBOL/GLOBAL LAST_NAME $ DELETE/SYMBOL/GLOBAL LOCAL $ SET MESSAGE/FACILITY/IDENTIFICATION/SEVERITY/TEXT $ SET CONTROL_Y $ IF Verify_at_Start THEN SET VERIFY $ EXIT