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
|
---|