| 1 | XMRPCTS1 ;(KC-VAMC)/XXX-Simple PCTS front end to MailMan ;02/06/99  10:32 | 
|---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002 | 
|---|
| 3 | N XMUS,XMFM,XMSTR,XMRI,XMTO,XMABORT | 
|---|
| 4 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | 
|---|
| 5 | ;All should be sent to XXX@VHA.DMIA the local PCTS Domain | 
|---|
| 6 | ;Edit these for your site. | 
|---|
| 7 | S XMUS="XXXX" ;Local routing indicator | 
|---|
| 8 | S XMFM="YYYY" ;from line | 
|---|
| 9 | I XMUS="XXXX"!(XMFM="YYYY") S %="FIX Routing codes !!!"_XMPCTS0("ERR") | 
|---|
| 10 | ;------------------------------------------------------------- | 
|---|
| 11 | S XMABORT=0 | 
|---|
| 12 | D INIT(.XMDUZ,XMUS,.XMSTR,.XMRI,.XMTO,.XMABORT) Q:XMABORT | 
|---|
| 13 | D CRE8XMZ^XMXSEND("Local PCTS Transmission.",.XMZ,1) I XMZ<1 S XMABORT=1 Q | 
|---|
| 14 | D EDITON^XMJMS(XMDUZ,XMZ) | 
|---|
| 15 | D PROCESS(XMDUZ,XMSTR,XMFM,XMRI,XMTO,.XMZ,.XMABORT) | 
|---|
| 16 | D EDITOFF^XMJMS(XMDUZ) | 
|---|
| 17 | Q:'XMABORT | 
|---|
| 18 | W !!,"TWIX Send aborted !",$C(7) | 
|---|
| 19 | H 2 | 
|---|
| 20 | D KILLMSG^XMXUTIL(XMZ) | 
|---|
| 21 | Q | 
|---|
| 22 | INIT(XMDUZ,XMUS,XMSTR,XMRI,XMTO,XMABORT) ; | 
|---|
| 23 | N XMSEQ | 
|---|
| 24 | I '$D(DUZ)#2 D  Q | 
|---|
| 25 | . W !!,"DUZ not defined..." | 
|---|
| 26 | . S XMABORT=1 | 
|---|
| 27 | D EN^XM | 
|---|
| 28 | W !!,"Create PCTS/AMS message.",! | 
|---|
| 29 | ;Making this the pseudo-sequence number - meaningless. | 
|---|
| 30 | S XMSEQ=$P(^XMB(3.9,0),U,3),XMSEQ=$$RJ^XLFSTR($E(XMSEQ,$L(XMSEQ)-3,99),4,"0") | 
|---|
| 31 | ;Build the Header | 
|---|
| 32 | S XMSTR="PAAUIJAZ "_XMUS_XMSEQ_" "_$$JD^XMRPCTS0_"-UUUU--" | 
|---|
| 33 | D RI(.XMRI,.XMABORT) Q:XMABORT | 
|---|
| 34 | D TO(.XMTO,.XMABORT) | 
|---|
| 35 | Q | 
|---|
| 36 | RI(XMRI,XMABORT) ; | 
|---|
| 37 | N DIR,DIRUT,Y,X,DTOUT,DUOUT | 
|---|
| 38 | S DIR(0)="FO^3:30^K X'?1UP.UP X" | 
|---|
| 39 | S DIR("A")="Destination RI" | 
|---|
| 40 | S DIR("?")="Enter the Destination Routing Indicator, like RUCHJBO." | 
|---|
| 41 | D ^DIR I $D(DTOUT)!$D(DUOUT) S XMABORT=1 Q | 
|---|
| 42 | I Y="" S Y="<RI>" W "<blank>" | 
|---|
| 43 | S XMRI=Y | 
|---|
| 44 | S:$E(XMRI,$L(XMRI))'="." XMRI=XMRI_"." | 
|---|
| 45 | Q | 
|---|
| 46 | TO(XMTO,XMABORT) ; | 
|---|
| 47 | N DIR,DIRUT,Y,X,DTOUT,DUOUT | 
|---|
| 48 | S DIR(0)="F^3:60" | 
|---|
| 49 | S DIR("A")="Destination TO line" | 
|---|
| 50 | S DIR("?")="Enter the content of the TO line of the message." | 
|---|
| 51 | D ^DIR I $D(DTOUT)!$D(DUOUT) S XMABORT=1 Q | 
|---|
| 52 | S XMTO=Y | 
|---|
| 53 | Q | 
|---|
| 54 | PROCESS(XMDUZ,XMSTR,XMFM,XMRI,XMTO,XMZ,XMABORT) ; | 
|---|
| 55 | N I,%,XMTEXT,XMINSTR,XMRESTR | 
|---|
| 56 | S %="ZNR UUUUU" | 
|---|
| 57 | F I="RUCH","RUEV","RUWL","RUGS" I XMRI[I S %="VADM" | 
|---|
| 58 | S I=0 | 
|---|
| 59 | S I=I+1,XMTEXT(I)=XMSTR_XMRI ;header line | 
|---|
| 60 | S I=I+1,XMTEXT(I)=% | 
|---|
| 61 | S I=I+1,XMTEXT(I)="FM "_XMFM ;from line | 
|---|
| 62 | S I=I+1,XMTEXT(I)="TO "_XMTO ;to line | 
|---|
| 63 | S I=I+1,XMTEXT(I)="BT" | 
|---|
| 64 | S I=I+1,XMTEXT(I)="" | 
|---|
| 65 | S I=I+1,XMTEXT(I)="<text>" | 
|---|
| 66 | S I=I+1,XMTEXT(I)="" | 
|---|
| 67 | S I=I+1,XMTEXT(I)="BT" | 
|---|
| 68 | S I=I+1,XMTEXT(I)="" | 
|---|
| 69 | S I=I+1,XMTEXT(I)="NNNN" | 
|---|
| 70 | D MOVEBODY^XMXSEND(XMZ,"XMTEXT") | 
|---|
| 71 | D E Q:XMABORT | 
|---|
| 72 | D INIT^XMXADDR | 
|---|
| 73 | D READY(XMDUZ,.XMINSTR,.XMRESTR,.XMABORT) Q:XMABORT | 
|---|
| 74 | W !,"You may add recipients to this message." | 
|---|
| 75 | D TOWHOM^XMJMT(XMDUZ,"Send",.XMINSTR,.XMRESTR,.XMABORT) | 
|---|
| 76 | D:'XMABORT XMIT(XMDUZ,XMZ,.XMINSTR,.XMABORT) | 
|---|
| 77 | D CLEANUP^XMXADDR | 
|---|
| 78 | Q | 
|---|
| 79 | XMIT(XMDUZ,XMZ,XMINSTR,XMABORT) ; | 
|---|
| 80 | N DIR,Y,X,DIRUT,XMFINISH | 
|---|
| 81 | S XMFINISH=0 | 
|---|
| 82 | F  D  Q:XMFINISH!XMABORT | 
|---|
| 83 | . S DIR(0)="SAM^E:Edit Text;T:Transmit now" | 
|---|
| 84 | . S DIR("A")="Select Message option:  " | 
|---|
| 85 | . S DIR("B")="Transmit now" | 
|---|
| 86 | . S DIR("??")="^D Q^XMRPCTS1" | 
|---|
| 87 | . D ^DIR I $D(DIRUT) S XMABORT=1 Q | 
|---|
| 88 | . D @Y | 
|---|
| 89 | Q | 
|---|
| 90 | E ; Edit Text | 
|---|
| 91 | F  D BODY^XMJMS(XMDUZ,XMZ,.XMRESTR,.XMABORT) Q:XMABORT!$$NCHECK(XMZ) | 
|---|
| 92 | Q | 
|---|
| 93 | NCHECK(XMZ) ; If "NNNN" found in text, issue error | 
|---|
| 94 | N NCNT,I | 
|---|
| 95 | S (NCNT,I)=0 | 
|---|
| 96 | F  S I=$O(^XMB(3.9,XMZ,2,I)) Q:'I  I ^XMB(3.9,XMZ,2,I,0)["NNNN" S NCNT=NCNT+1 | 
|---|
| 97 | Q:NCNT'>1 1 | 
|---|
| 98 | W !!,"<< 4 CONSECUTIVE N's ARE NOT ALLOWED IN THE MSG TEXT !!! >>",!!,$C(7) | 
|---|
| 99 | H 5 | 
|---|
| 100 | Q 0 | 
|---|
| 101 | T ; Transmit | 
|---|
| 102 | S XMFINISH=1 | 
|---|
| 103 | D BLDNSND^XMXSEND(XMDUZ,XMZ,.XMINSTR) | 
|---|
| 104 | Q | 
|---|
| 105 | Q W !,"Answer: ",! | 
|---|
| 106 | W !,"T  (or just return) to PERMANENTLY transmit the message." | 
|---|
| 107 | W !,"E                   to Edit the text of the message." | 
|---|
| 108 | W !,"'^'  to cancel the message." | 
|---|
| 109 | Q | 
|---|
| 110 | READY(XMDUZ,XMINSTR,XMRESTR,XMABORT) ; | 
|---|
| 111 | N DIR,DIRUT,Y | 
|---|
| 112 | S DIR(0)="Y" | 
|---|
| 113 | S DIR("A")="Ready to send to the Austin AMS System" | 
|---|
| 114 | S DIR("?",1)="'YES' will place the message in the queue for transmission through the AMS System." | 
|---|
| 115 | S DIR("?")="'NO' will place the message only in your IN basket." | 
|---|
| 116 | D ^DIR I $D(DIRUT) S XMABORT=1 Q | 
|---|
| 117 | Q:'Y | 
|---|
| 118 | W !,"Send to:  XXX@VHA.DMIA" | 
|---|
| 119 | D ADDR^XMXADDR(XMDUZ,"XXX@VHA.DMIA",.XMINSTR,.XMRESTR) | 
|---|
| 120 | Q | 
|---|
| 121 | EXIT ; | 
|---|
| 122 | K I,XMTO,XMFM,XMSTR,XMUS,XMTM,XMRI,DIC,XCNP,XMXUSEC,ZTPAR,XMSEQ,XMOUT,DTOUT | 
|---|
| 123 | K ^TMP("XMY",$J),^TMP("XMY0",$J) | 
|---|
| 124 | Q | 
|---|