$ SAVERIFY = 'F$VERIFY(0)' $!----------------------------------------------------------------------------+ $! PMP.COM - Phone Message Pad: Send telephone call message to VMS user | $!----------------------------------------------------------------------------+ $! $ ON CONTROL_Y THEN GOTO ABORTED $ ON ERROR THEN GOTO ABORTED $ SAY = "WRITE SYS$OUTPUT" $ PUT = "WRITE TMPFIL" $ TEMPFILE = "SYS$SCRATCH:PMP" + F$GETJPI(0,"PID") + ".TMP" $ TYPE/PAGE NL: $ SAY "PHONE MESSAGE PAD" $ SAY "" $ SAY "Call was for:" $ IF P1 .EQS. "" $ THEN READ/PROMPT=" User: " SYS$COMMAND USER $ IF USER .EQS. "" THEN GOTO ABORTED $ ELSE USER = P1 $ SAY " User: " + USER $ ENDIF $ SAY "" $ CUR_TIME = F$CVTIME("","ABSOLUTE") $ USER = F$EDIT(USER,"UPCASE,TRIM") $ CREATE 'TEMPFILE' $ OPEN/READ/WRITE TMPFIL 'TEMPFILE' $ PUT F$FAO("!80*-") $ MSG_DATE = F$CVTIME(CUR_TIME,,"WEEKDAY") + ", " +- F$CVTIME(CUR_TIME,"ABSOLUTE","DATE") + " " +- F$ELEMENT(0,".",F$CVTIME(CUR_TIME,"ABSOLUTE","TIME")) $ SAY MSG_DATE $ PUT MSG_DATE $ SAY "" $ PUT "" $ SAY "Who called: $ READ/PROMPT=" Name: " SYS$COMMAND NAME $ PUT "Name: " + NAME $ READ/PROMPT=" Of: " SYS$COMMAND LINE $ PUT "Of: " + LINE $ READ/PROMPT=" Phone: " SYS$COMMAND LINE $ PUT "Phone: " + LINE $ MESSAGES = "/Telephoned/Returned Your Call/Came To See You" +- "/Please Call/Will Call Again/Wants To See You" $ CUR_MESSAGE = " " $ TYPE/NOPAGE SYS$INPUT 1 - Telephoned 4 - Please Call 2 - Returned Your Call 5 - Will Call again 3 - Came To See You 6 - Wants To See You $ GET_GIST: $ READ/PROMPT=" Input number [none]: "/END=GET_MESSAGE SYS$COMMAND NUMBER $ NUMBER = F$INTEGER("0''NUMBER'") $ IF NUMBER .EQ. 0 THEN GOTO GET_MESSAGE $ IF (NUMBER .LT. 1) .OR. (NUMBER .GT. 6) $ THEN SAY "%PMP-W-INVNUMBER, invalid number - try again" $ GOTO GET_GIST $ ENDIF $ CUR_MESSAGE = CUR_MESSAGE + " *" + F$ELEMENT(NUMBER,"/",MESSAGES) + "*" $ GOTO GET_GIST $ GET_MESSAGE: $ PUT "" $ PUT CUR_MESSAGE $ SAY "" $ SAY "Message:" $ PUT "" $ PUT "Message:" $ GET_MSG_LINE: $ READ/PROMPT=" "/END=SEND_MSG SYS$COMMAND LINE $ IF LINE .EQS. "" THEN GOTO SEND_MSG $ PUT " " + LINE $ GOTO GET_MSG_LINE $ SEND_MSG: $ PUT F$FAO("!80*-") $ CLOSE TMPFIL $ SUBJ = "Phone message" $ PERS = "" $ IF NAME .NES. "" $ THEN SUBJ = SUBJ + ": ''NAME' called" $ PERS = "/PERS=""''NAME' called""" $ ENDIF $ TYPE/PAGE NL: $ SAY "%PMP-I-SENDING, sending message to user ''USER'" $ ON WARNING THEN GOTO BAD_MAIL $ MAIL_IT: $ MAIL/SUBJ="''SUBJ'"'PERS'/NOSELF 'TEMPFILE' 'USER' $ DELETE/NOLOG/NOCONFIRM 'TEMPFILE';* $ GOTO FINISHED $ BAD_MAIL: $! We have a heterogenous cluster, and use this to try the "other side" $! IF $STATUS .NES. "%X107E802A" THEN GOTO ABORTED $! IF F$LOCATE("::",USER) .NE. F$LENGTH(USER) THEN GOTO ABORTED $! ON WARNING THEN GOTO ABORTED $! MYSIDE = F$EXTRACT(0,5,F$GETSYI("NODENAME")) $! IF MYSIDE .EQS. "ADMIN" THEN TRYNODE = "MSUVX2" $! IF MYSIDE .EQS. "MSUVX" THEN TRYNODE = "ADMIN2" $! SAY "%PMP-E-BADUSER, mail failed, trying username on ''TRYNODE'" $! USER = TRYNODE + "::" + USER $! GOTO MAIL_IT $ ABORTED: $ SET NOON $ CLOSE/NOLOG TMPFIL $ IF F$SEARCH(TEMPFILE) .NES. "" THEN DELETE/NOLOG/NOCONFIRM 'TEMPFILE';* $ SAY "%PMP-F-ABORT, message aborted" $ FINISHED: $ EXIT 1 + 0*F$VERIFY(SAVERIFY)