| 1 | XMJMQ ;ISC-SF/GMB-Q,QD,QN Query recipients ;12/04/2002  11:21
 | 
|---|
| 2 |  ;;8.0;MailMan;**10**;Jun 28, 2002
 | 
|---|
| 3 |  ; Replaces ^XMA5,^XMA5A (ISC-WASH/THM/CAP)
 | 
|---|
| 4 | Q(XMDUZ,XMK,XMKN,XMZ) ; Query
 | 
|---|
| 5 |  N XMRESPM,XMABORT
 | 
|---|
| 6 |  D QINIT^XMJMQ1(XMDUZ,XMK,XMKN,XMZ,.XMRESPM,.XMABORT)
 | 
|---|
| 7 |  D SUMMARY^XMJMQ1(XMZ,0,"","","",.XMABORT)
 | 
|---|
| 8 |  Q
 | 
|---|
| 9 | QD(XMDUZ,XMK,XMKN,XMZ) ; Query Detail
 | 
|---|
| 10 |  N XMRESPM,XMABORT
 | 
|---|
| 11 |  D QINIT^XMJMQ1(XMDUZ,XMK,XMKN,XMZ,.XMRESPM,.XMABORT)
 | 
|---|
| 12 |  D DETAIL(XMZ,0,"","","",.XMABORT)
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 | QN(XMDUZ,XMK,XMKN,XMZ) ; Query Network
 | 
|---|
| 15 |  N XMRESPM,XMABORT
 | 
|---|
| 16 |  D QINIT^XMJMQ1(XMDUZ,XMK,XMKN,XMZ,.XMRESPM,.XMABORT)
 | 
|---|
| 17 |  D NETWORK^XMJMQ1(XMZ,.XMABORT) Q:XMABORT
 | 
|---|
| 18 |  D DETAIL(XMZ,0,"","","",.XMABORT)
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 | QX(XMDUZ,XMK,XMKN,XMZ,XMWHAT) ; Query Special
 | 
|---|
| 21 |  ; XMWHAT = "QC"  - show local users who are current
 | 
|---|
| 22 |  ;          "QNC" - show local users who are not current
 | 
|---|
| 23 |  ;          "QT"  - show local users who have terminated
 | 
|---|
| 24 |  N XMRESPM,XMABORT,XMTO,XMIEN,XMTYPE,XMRESPS,XMCNT,XMTOTAL,XMPHDR
 | 
|---|
| 25 |  D QINIT^XMJMQ1(XMDUZ,XMK,XMKN,XMZ,.XMRESPM,.XMABORT)
 | 
|---|
| 26 |  I $Y+3>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 27 |  S XMRESPS=+$P($G(^XMB(3.9,XMZ,3,0)),U,4)
 | 
|---|
| 28 |  W !
 | 
|---|
| 29 |  S (XMPHDR,XMCNT,XMTOTAL,XMTO)=0
 | 
|---|
| 30 |  F  S XMTO=$O(^XMB(3.9,XMZ,1,"C",XMTO)) Q:+XMTO'=XMTO  D  Q:XMABORT
 | 
|---|
| 31 |  . S XMTOTAL=XMTOTAL+1
 | 
|---|
| 32 |  . S XMIEN=$O(^XMB(3.9,XMZ,1,"C",XMTO,""))
 | 
|---|
| 33 |  . I XMWHAT="QC",$P(^XMB(3.9,XMZ,1,XMIEN,0),U,2)'=XMRESPS Q  ; not current
 | 
|---|
| 34 |  . I XMWHAT="QNC",$P(^XMB(3.9,XMZ,1,XMIEN,0),U,2)=XMRESPS Q  ; current
 | 
|---|
| 35 |  . I XMWHAT="QT",'$G(^XMB(3.9,XMZ,1,XMIEN,"D")) Q  ; not terminated
 | 
|---|
| 36 |  . S XMCNT=XMCNT+1
 | 
|---|
| 37 |  . D WNAME(XMZ,$$NAME^XMXUTIL(XMTO),XMIEN,XMRESPM,.XMTYPE,.XMABORT)
 | 
|---|
| 38 |  Q:XMABORT
 | 
|---|
| 39 |  I $Y+3+(XMCNT>0)>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 40 |  N XMTEXT,XMPARM
 | 
|---|
| 41 |  I XMCNT W !
 | 
|---|
| 42 |  S XMPARM(1)=XMCNT,XMPARM(2)=XMTOTAL
 | 
|---|
| 43 |  D BLD^DIALOG($S(XMWHAT="QC":37431.9,XMWHAT="QNC":37432.9,1:37433.9),.XMPARM,"","XMTEXT","F")
 | 
|---|
| 44 |  D MSG^DIALOG("WM","",IOM,"","XMTEXT")
 | 
|---|
| 45 |  ; Local recipients who are (not) current: |1| of |2|
 | 
|---|
| 46 |  ; Local recipients who have terminated: |1| of |2|
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 | QNAME(XMDUZ,XMK,XMKN,XMZ) ; Query someone's name
 | 
|---|
| 49 |  N XMRESPM,XMABORT,DIR,Y,DIRUT,XMNAME
 | 
|---|
| 50 |  F  D  Q:$D(DIRUT)
 | 
|---|
| 51 |  . S DIR(0)="FO^1:30^K:"", ""[$E(X) X"
 | 
|---|
| 52 |  . S DIR("A")=$$EZBLD^DIALOG(34555) ; Enter the person's name or partial name
 | 
|---|
| 53 |  . D BLD^DIALOG(34556,"","","DIR(""?"")")
 | 
|---|
| 54 |  . ;Name must be from 1 to 30 characters,
 | 
|---|
| 55 |  . ;and must not contain ^, or begin with comma or space.
 | 
|---|
| 56 |  . D ^DIR Q:$D(DIRUT)
 | 
|---|
| 57 |  . S XMNAME=Y
 | 
|---|
| 58 |  . D QINIT^XMJMQ1(XMDUZ,XMK,XMKN,XMZ,.XMRESPM,.XMABORT)
 | 
|---|
| 59 |  . D SEARCH^XMJMQ1(XMZ,XMNAME,XMRESPM)
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 | QNAMEX(XMDUZ,XMK,XMKN,XMZ,XMNAME) ; Query someone's name (name is supplied)
 | 
|---|
| 62 |  N XMRESPM,XMABORT
 | 
|---|
| 63 |  I ($L(XMNAME)<1)!($L(XMNAME)>30)!(XMNAME[U)!(", "[$E(XMNAME,1)) D  Q
 | 
|---|
| 64 |  . N XMTEXT
 | 
|---|
| 65 |  . W $C(7)
 | 
|---|
| 66 |  . D BLD^DIALOG(34556,"","","XMTEXT","F")
 | 
|---|
| 67 |  . D MSG^DIALOG("WH","","","","XMTEXT")
 | 
|---|
| 68 |  . ;Name must be from 1 to 30 characters,
 | 
|---|
| 69 |  . ;and must not contain ^, or begin with comma or space.
 | 
|---|
| 70 |  D QINIT^XMJMQ1(XMDUZ,XMK,XMKN,XMZ,.XMRESPM,.XMABORT)
 | 
|---|
| 71 |  D SEARCH^XMJMQ1(XMZ,XMNAME,XMRESPM)
 | 
|---|
| 72 |  Q
 | 
|---|
| 73 | DETAIL(XMZ,XMPHDR,XMSUBJ,XMZSTR,XMPAGE,XMABORT) ;
 | 
|---|
| 74 |  ; XMRESPM  Last part msg: of Number of responses in msg
 | 
|---|
| 75 |  N XMTO,XMRESPM,XMNAME,XMIEN,XMTYPE
 | 
|---|
| 76 |  I $Y+3>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 77 |  W !
 | 
|---|
| 78 |  S XMRESPM=+$P($G(^XMB(3.9,XMZ,3,0)),U,4)
 | 
|---|
| 79 |  S XMRESPM=$$EZBLD^DIALOG($S(XMRESPM=1:34557.1,1:34557),XMRESPM) ; XMRESPM_ response / responses
 | 
|---|
| 80 |  S XMTO="*" ; Show broadcast first.
 | 
|---|
| 81 |  F  S XMTO=$O(^XMB(3.9,XMZ,1,"C",XMTO)) Q:$E(XMTO,1,1)'="*"  D  Q:XMABORT
 | 
|---|
| 82 |  . S XMIEN=$O(^XMB(3.9,XMZ,1,"C",XMTO,""))
 | 
|---|
| 83 |  . S XMNAME=$P(^XMB(3.9,XMZ,1,XMIEN,0),U,1)
 | 
|---|
| 84 |  . D WNAME(XMZ,XMNAME,XMIEN,XMRESPM,.XMTYPE,.XMABORT)
 | 
|---|
| 85 |  Q:XMABORT
 | 
|---|
| 86 |  S XMTO=""
 | 
|---|
| 87 |  F  S XMTO=$O(^XMB(3.9,XMZ,1,"C",XMTO)) Q:XMTO=""  D  Q:XMABORT
 | 
|---|
| 88 |  . S XMIEN=$O(^XMB(3.9,XMZ,1,"C",XMTO,""))
 | 
|---|
| 89 |  . I XMTO=+XMTO D
 | 
|---|
| 90 |  . . S XMNAME=$$NAME^XMXUTIL(XMTO)
 | 
|---|
| 91 |  . E  D  Q:$E(XMTO,1,1)="*"
 | 
|---|
| 92 |  . . I $L(XMTO)>29 S XMNAME=$P(^XMB(3.9,XMZ,1,XMIEN,0),U,1) Q
 | 
|---|
| 93 |  . . S XMNAME=XMTO
 | 
|---|
| 94 |  . D WNAME(XMZ,XMNAME,XMIEN,XMRESPM,.XMTYPE,.XMABORT)
 | 
|---|
| 95 |  Q
 | 
|---|
| 96 | WNAME(XMZ,XMNAME,XMIEN,XMRESPM,XMTYPE,XMABORT) ;
 | 
|---|
| 97 |  N XMREC
 | 
|---|
| 98 |  S XMREC=^XMB(3.9,XMZ,1,XMIEN,0)
 | 
|---|
| 99 |  I $Y+3>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 100 |  W !
 | 
|---|
| 101 |  I $D(^XMB(3.9,XMZ,1,XMIEN,"T")) D  ; CC: Info: Thru:
 | 
|---|
| 102 |  . S XMTYPE=$P(^XMB(3.9,XMZ,1,XMIEN,"T"),U,1)
 | 
|---|
| 103 |  . Q:XMTYPE=""
 | 
|---|
| 104 |  . S:'$D(XMTYPE(XMTYPE)) XMTYPE(XMTYPE)=$$EXTERNAL^DILFD(3.91,6.5,"",XMTYPE)
 | 
|---|
| 105 |  . W XMTYPE(XMTYPE),": "
 | 
|---|
| 106 |  W XMNAME
 | 
|---|
| 107 |  W:$X<18 ?18
 | 
|---|
| 108 |  I +$P(XMREC,U,1)=$P(XMREC,U,1) D  Q  ; local user
 | 
|---|
| 109 |  . I $P(XMREC,U,3)="" D
 | 
|---|
| 110 |  . . W $$EZBLD^DIALOG(34574) ; " Not read."
 | 
|---|
| 111 |  . E  D  Q:XMABORT
 | 
|---|
| 112 |  . . D W3(34575,$$MMDT^XMXUTIL1($P(XMREC,U,3)),.XMABORT) Q:XMABORT  ; Last read:
 | 
|---|
| 113 |  . . I $P(XMREC,U,2) D  Q:XMABORT
 | 
|---|
| 114 |  . . . N XMPARM
 | 
|---|
| 115 |  . . . S XMPARM(1)=$P(XMREC,U,2),XMPARM(2)=XMRESPM
 | 
|---|
| 116 |  . . . D W3(34576,.XMPARM,.XMABORT) ; (x of y responses)
 | 
|---|
| 117 |  . . I $P(XMREC,U,10)'="" D W3(34577,$$MMDT^XMXUTIL1($P(XMREC,U,10)),.XMABORT) Q:XMABORT  ; [First read: x]
 | 
|---|
| 118 |  . . I $D(^XMB(3.9,XMZ,1,XMIEN,"C")) D W3(34578,$$MMDT^XMXUTIL1(^("C")),.XMABORT) Q:XMABORT  ; Copied:
 | 
|---|
| 119 |  . . I $D(^XMB(3.9,XMZ,1,XMIEN,"S")) D W3(34580,^("S"),.XMABORT) Q:XMABORT  ; Surrogate:
 | 
|---|
| 120 |  . . I $D(^XMB(3.9,XMZ,1,XMIEN,"D")),^("D") D W3(34581,$$MMDT^XMXUTIL1(^("D")),.XMABORT) Q:XMABORT  ; Terminated:
 | 
|---|
| 121 |  . I $D(^XMB(3.9,XMZ,1,XMIEN,"F")) D FWD(XMZ,XMIEN,.XMABORT) Q:XMABORT
 | 
|---|
| 122 |  I $E(XMNAME,1,2)="F.",$P(XMREC,U,12)'=""!$P(XMREC,U,11) D  Q
 | 
|---|
| 123 |  . I $P(XMREC,U,5)'="" D W3(34582,$$MMDT^XMXUTIL1($P(XMREC,U,5)),.XMABORT) Q:XMABORT  ; Sent to fax:
 | 
|---|
| 124 |  . I $P(XMREC,U,6)'="" D W3(34583,$P(XMREC,U,6),.XMABORT) Q:XMABORT  ; Status:
 | 
|---|
| 125 |  . I $P(XMREC,U,12)'="" D W3(34584,$P(XMREC,U,12),.XMABORT) Q:XMABORT  ; Fax ID:
 | 
|---|
| 126 |  . I $D(^XMB(3.9,XMZ,1,XMIEN,"F")) D FWD(XMZ,XMIEN,.XMABORT) Q:XMABORT
 | 
|---|
| 127 |  I XMNAME["@" D  Q
 | 
|---|
| 128 |  . I $P(XMREC,U,5)'="" D W3(34585,$$MMDT^XMXUTIL1($P(XMREC,U,5)),.XMABORT) Q:XMABORT  ; Sent:
 | 
|---|
| 129 |  . I $P(XMREC,U,8)'="" D W3($S($P(XMREC,U,8)=1:34586,1:34587),$P(XMREC,U,8),.XMABORT) Q:XMABORT  ; Time: x seconds
 | 
|---|
| 130 |  . I $P(XMREC,U,7)'="",$D(^DIC(4.2,$P(XMREC,U,7),0)) D W3(34588,$P(^(0),U),.XMABORT) Q:XMABORT  ; Path:
 | 
|---|
| 131 |  . I $P(XMREC,U,4)'="" D W3(34590,$P(XMREC,U,4),.XMABORT) Q:XMABORT  ; Message ID:
 | 
|---|
| 132 |  . I $P(XMREC,U,6)'="" D W3(34583,$P(XMREC,U,6),.XMABORT) Q:XMABORT  ; Status:
 | 
|---|
| 133 |  . I $D(^XMB(3.9,XMZ,1,XMIEN,"F")) D FWD(XMZ,XMIEN,.XMABORT) Q:XMABORT
 | 
|---|
| 134 |  I $E(XMNAME,1,3)="* (" D  Q  ; Broadcast
 | 
|---|
| 135 |  . I $D(^XMB(3.9,XMZ,1,XMIEN,"F")) D FWD(XMZ,XMIEN,.XMABORT)
 | 
|---|
| 136 |  I ".D.H.S."[("."_$E(XMNAME,1,2)) D  Q
 | 
|---|
| 137 |  . I $P(XMREC,U,3)'="" D W3(34591,$$MMDT^XMXUTIL1($P(XMREC,U,3)),.XMABORT) Q:XMABORT  ; Date:
 | 
|---|
| 138 |  . I $P(XMREC,U,6)'="" D W3(34583,$P(XMREC,U,6),.XMABORT) Q:XMABORT  ; Status:
 | 
|---|
| 139 |  . I $D(^XMB(3.9,XMZ,1,XMIEN,"F")) D FWD(XMZ,XMIEN,.XMABORT) Q:XMABORT
 | 
|---|
| 140 |  Q
 | 
|---|
| 141 | FWD(XMZ,XMIEN,XMABORT) ;
 | 
|---|
| 142 |  N XMFWDREC,XMFWDBY,XMFWDTYP
 | 
|---|
| 143 |  S XMFWDREC=^XMB(3.9,XMZ,1,XMIEN,"F")
 | 
|---|
| 144 |  S XMFWDBY=$P(XMFWDREC,U)
 | 
|---|
| 145 |  I $E(XMFWDBY,1)=" " D W3(34592,XMFWDBY,.XMABORT) Q  ; Forwarded on:
 | 
|---|
| 146 |  I $E(XMFWDBY,1)?1N!($E(XMFWDBY,1)=".") D W3(34593,$$NAME^XMXUTIL(+XMFWDBY)_" "_$P(XMFWDBY," ",2,99),.XMABORT) Q  ; Forwarded by:
 | 
|---|
| 147 |  S XMFWDTYP=$P(XMFWDREC,U,3)
 | 
|---|
| 148 |  D W3($S(XMFWDTYP="A":34593.1,XMFWDTYP="F":34593.2,1:34593),XMFWDBY,.XMABORT) ; Auto-Forwarded / Filter-Forwarded / Forwarded by:
 | 
|---|
| 149 |  Q:$P(XMFWDREC,U,4)=""
 | 
|---|
| 150 |  N XMPARM
 | 
|---|
| 151 |  S XMPARM(1)=$$NAME^XMXUTIL($P(XMFWDREC,U,2))
 | 
|---|
| 152 |  S XMPARM(2)=$P(XMFWDREC,U,4)
 | 
|---|
| 153 |  S XMFWDTYP=$P(XMFWDREC,U,5)
 | 
|---|
| 154 |  ; Filter-Forwarded / Forwarded to |1| by: |2|
 | 
|---|
| 155 |  D W3($S(XMFWDTYP="F":34594.1,1:34594),.XMPARM,.XMABORT)
 | 
|---|
| 156 |  Q
 | 
|---|
| 157 | W3(XMPIECE,XMPARM,XMABORT) ;
 | 
|---|
| 158 |  S XMPIECE=$$EZBLD^DIALOG(XMPIECE,.XMPARM)
 | 
|---|
| 159 |  I 1+$L(XMPIECE)+$X>IOM D  Q:XMABORT
 | 
|---|
| 160 |  . I $Y+3+($L(XMPIECE)-1\60)>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 161 |  . W !,?18
 | 
|---|
| 162 |  . Q:$L(XMPIECE)<61
 | 
|---|
| 163 |  . F  D  Q:$L(XMPIECE)<61
 | 
|---|
| 164 |  . . W " ",$E(XMPIECE,1,60),!,?18
 | 
|---|
| 165 |  . . S XMPIECE=$E(XMPIECE,61,999)
 | 
|---|
| 166 |  W " ",XMPIECE
 | 
|---|
| 167 |  Q
 | 
|---|
| 168 |  ;PAGE(XMPHDR,XMSUBJ,XMZSTR,XMPAGE,XMABORT);
 | 
|---|
| 169 | PAGE(XMABORT) ;
 | 
|---|
| 170 |  I $E($G(IOST),1,2)="C-" D PAGE^XMXUTIL(.XMABORT) Q:XMABORT
 | 
|---|
| 171 |  W @IOF
 | 
|---|
| 172 |  Q:'XMPHDR
 | 
|---|
| 173 |  D PAGE2HDR^XMJMP1(XMSUBJ,XMZSTR,.XMPAGE)
 | 
|---|
| 174 |  Q
 | 
|---|