| 1 | XMJML ;ISC-SF/GMB-List messages in basket (can't read) ;04/17/2002  10:03 | 
|---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002 | 
|---|
| 3 | ; Replaces 1^XMAL0 (ISC-WASH/THM/CAP) | 
|---|
| 4 | LIST(XMDUZ,XMK,XMKN,XMKZ,XMDETAIL) ; List messages in one basket | 
|---|
| 5 | ; (This routine does NOT let the user read the messages.) | 
|---|
| 6 | ; XMDETAIL 0=Summary; 1=Detailed | 
|---|
| 7 | N XMLEN,XMORDER,XMHDLINE,XMABORT | 
|---|
| 8 | I XMDUZ=.5,XMK>999 S XMORDER=XMV("ORDER"),XMV("ORDER")=1 | 
|---|
| 9 | S XMABORT=0 | 
|---|
| 10 | D INIT(XMDUZ,XMK,XMKN,XMDETAIL,.XMLEN,1) | 
|---|
| 11 | S XMHDLINE=$$HEADLINE(XMDUZ,XMK,XMKN) | 
|---|
| 12 | D HEADER(XMDETAIL,.XMLEN,XMHDLINE) | 
|---|
| 13 | S:XMKZ'="" XMKZ=XMKZ-XMV("ORDER") | 
|---|
| 14 | F  S XMKZ=$O(^XMB(3.7,XMDUZ,2,XMK,1,"C",XMKZ),XMV("ORDER")) Q:XMKZ=""  D  Q:XMABORT | 
|---|
| 15 | . S XMZ=$O(^XMB(3.7,XMDUZ,2,XMK,1,"C",XMKZ,"")) | 
|---|
| 16 | . I '$D(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)) D ADDITC^XMUT4A(XMDUZ,XMK,XMZ,XMKZ) | 
|---|
| 17 | . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q | 
|---|
| 18 | . I $Y+4>IOSL D PAGE^XMXUTIL(.XMABORT) Q:XMABORT  D | 
|---|
| 19 | . . D HEADER(XMDETAIL,.XMLEN,XMHDLINE) | 
|---|
| 20 | . D LISTMSG(XMK,XMKN,XMKZ,XMZ,XMDETAIL,.XMLEN) | 
|---|
| 21 | I $D(XMORDER) S XMV("ORDER")=XMORDER | 
|---|
| 22 | Q | 
|---|
| 23 | LISTNEW(XMDUZ,XMK,XMKN) ; List new messages in one basket | 
|---|
| 24 | ; (This routine does NOT let the user read the messages.) | 
|---|
| 25 | ; XMDETAIL 0=Summary; 1=Detailed | 
|---|
| 26 | I '$O(^XMB(3.7,XMDUZ,"N0",XMK,0)) D  Q | 
|---|
| 27 | . I $P(^XMB(3.7,XMDUZ,2,XMK,0),U,2) S $P(^(0),U,2)=0 | 
|---|
| 28 | . W !!,$C(7),$$EZBLD^DIALOG(34013),! ;No NEW messages | 
|---|
| 29 | N XMKZ,XMZ,XMLEN,XMDETAIL,XMTYPE,XMHDLINE,XMABORT | 
|---|
| 30 | S XMDETAIL=1,XMTYPE="N0",XMABORT=0 | 
|---|
| 31 | D INIT(XMDUZ,XMK,XMKN,XMDETAIL,.XMLEN,1) | 
|---|
| 32 | S XMHDLINE=$$HEADLINE^XMJMLN(XMDUZ,0,XMK,XMKN,XMTYPE) | 
|---|
| 33 | D HEADER(XMDETAIL,.XMLEN,XMHDLINE) | 
|---|
| 34 | S XMZ="" | 
|---|
| 35 | F  S XMZ=$O(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ),XMV("ORDER")) Q:XMZ=""  D  Q:XMABORT | 
|---|
| 36 | . S XMKZ=$P($G(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)),U,2) | 
|---|
| 37 | . I 'XMKZ D | 
|---|
| 38 | . . D ADDITN^XMUT4A(XMDUZ,XMTYPE,XMK,XMZ) | 
|---|
| 39 | . . S XMKZ=$P($G(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)),U,2) | 
|---|
| 40 | . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q | 
|---|
| 41 | . I $Y+4>IOSL D PAGE^XMXUTIL(.XMABORT) Q:XMABORT  D | 
|---|
| 42 | . . D HEADER(XMDETAIL,.XMLEN,XMHDLINE) | 
|---|
| 43 | . D LISTMSG(XMK,XMKN,XMKZ,XMZ,XMDETAIL,.XMLEN) | 
|---|
| 44 | Q | 
|---|
| 45 | LISTPRI(XMDUZ) ; List priority messages in all baskets (Replaces PRIO^XMAL0) | 
|---|
| 46 | ; (This routine does NOT let the user read the messages.) | 
|---|
| 47 | ; XMDETAIL 0=Summary; 1=Detailed | 
|---|
| 48 | N XMK,XMKN,XMKZ,XMZ,XMLEN,XMDETAIL,XMTYPE,XMHDLINE,XMABORT | 
|---|
| 49 | S XMDETAIL=1,XMTYPE="N",XMABORT=0 | 
|---|
| 50 | D INIT^XMJMLN(XMDUZ,XMTYPE,XMDETAIL,1,.XMLEN) | 
|---|
| 51 | S XMHDLINE=$$HEADLINE^XMJMLN(XMDUZ,1,"","",XMTYPE) | 
|---|
| 52 | D HEADER(XMDETAIL,.XMLEN,XMHDLINE) | 
|---|
| 53 | S XMK="" | 
|---|
| 54 | F  S XMK=$O(^XMB(3.7,XMDUZ,XMTYPE,XMK)) Q:XMK=""  D  Q:XMABORT | 
|---|
| 55 | . S XMZ="",XMKN=$P(^XMB(3.7,XMDUZ,2,XMK,0),U,1) | 
|---|
| 56 | . F  S XMZ=$O(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ),XMV("ORDER")) Q:XMZ=""  D  Q:XMABORT | 
|---|
| 57 | . . S XMKZ=$P($G(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)),U,2) | 
|---|
| 58 | . . I 'XMKZ D | 
|---|
| 59 | . . . D ADDITN^XMUT4A(XMDUZ,XMTYPE,XMK,XMZ) | 
|---|
| 60 | . . . S XMKZ=$P($G(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)),U,2) | 
|---|
| 61 | . . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q | 
|---|
| 62 | . . I $Y+4>IOSL D PAGE^XMXUTIL(.XMABORT) Q:XMABORT  D | 
|---|
| 63 | . . . D HEADER(XMDETAIL,.XMLEN,XMHDLINE) | 
|---|
| 64 | . . D LISTMSG(XMK,XMKN,XMKZ,XMZ,XMDETAIL,.XMLEN) | 
|---|
| 65 | Q | 
|---|
| 66 | INIT(XMDUZ,XMK,XMKN,XMDETAIL,XMLEN,XMONE) ; | 
|---|
| 67 | N XMLEFT | 
|---|
| 68 | S XMLEFT=79 | 
|---|
| 69 | I XMDETAIL D | 
|---|
| 70 | . S XMLEN("XMZ")=$L($O(^XMB(3.9,":"),-1))+2 | 
|---|
| 71 | . ;S XMLEN("XMZ")=$L($O(^XMB(3.7,XMDUZ,2,XMK,1,":"),-1))+2 | 
|---|
| 72 | . S XMLEN("LINE")=5 | 
|---|
| 73 | . I '$G(XMONE),'$D(XMLEN("BSKT")) S XMLEN("BSKT")=$$MIN^XLFMTH($L(XMKN),10) | 
|---|
| 74 | . S XMLEN("RESP")=9 | 
|---|
| 75 | . S XMLEN("DATE")=$L($$MMDT^XMXUTIL1(DT)) | 
|---|
| 76 | . S XMLEFT=XMLEFT-XMLEN("XMZ")-XMLEN("LINE")-$G(XMLEN("BSKT"))-XMLEN("RESP")-XMLEN("DATE")-3+$S($G(XMLEN("BSKT")):0,1:1) | 
|---|
| 77 | S:'$D(XMLEN("XMKZ")) XMLEN("XMKZ")=$L($O(^XMB(3.7,XMDUZ,2,XMK,1,"C",""),-1)) | 
|---|
| 78 | S XMLEFT=XMLEFT-XMLEN("XMKZ")-5 | 
|---|
| 79 | S XMLEN("SUBJ")=XMLEFT*2\3 | 
|---|
| 80 | S XMLEN("FROM")=XMLEFT-XMLEN("SUBJ") | 
|---|
| 81 | Q | 
|---|
| 82 | LISTMSG(XMK,XMKN,XMKZ,XMZ,XMDETAIL,XMLEN) ; | 
|---|
| 83 | N XMZREC | 
|---|
| 84 | S XMZREC=$G(^XMB(3.9,XMZ,0)) | 
|---|
| 85 | I XMDUZ=.5,XMK>999 D | 
|---|
| 86 | . N XMTPRI ; Transmit priority | 
|---|
| 87 | . S XMTPRI=$P($G(^XMB(3.7,.5,2,XMK,1,XMZ,0)),U,6) | 
|---|
| 88 | . W !,$S($D(^TMP("XM",$J,".",XMKZ)):">",1:" "),$S('XMTPRI:" ",XMTPRI=1:"^",1:"v"),$J(XMKZ,XMLEN("XMKZ")),". " | 
|---|
| 89 | E  W !,$S($D(^TMP("XM",$J,".",XMKZ)):">",1:" "),$S('$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)):" ",$P(XMZREC,U,7)["P":"!",1:"*"),$J(XMKZ,XMLEN("XMKZ")),". " | 
|---|
| 90 | I XMDETAIL D | 
|---|
| 91 | . W:$D(XMLEN("BSKT")) $$LJ^XLFSTR($E(XMKN,1,XMLEN("BSKT")),XMLEN("BSKT"))," " | 
|---|
| 92 | . W $J("["_XMZ_"]",XMLEN("XMZ"))," ",$$DATE^XMXUTIL2(XMZREC,0) | 
|---|
| 93 | . W " ",$$MELD^XMXUTIL1($$SUBJ^XMXUTIL2(XMZREC),$$LINES(XMZ),XMLEN("SUBJ")+XMLEN("LINE")) | 
|---|
| 94 | . W " ",$$MELD^XMXUTIL1($$NAME^XMXUTIL($P(XMZREC,U,2)),$$RESPONSE(XMDUZ,XMK,XMZ),XMLEN("FROM")+9) | 
|---|
| 95 | E  D | 
|---|
| 96 | . W $$LJ^XLFSTR($E($$SUBJ^XMXUTIL2(XMZREC),1,XMLEN("SUBJ")),XMLEN("SUBJ"))," ",$E($$NAME^XMXUTIL($P(XMZREC,U,2)),1,XMLEN("FROM")) | 
|---|
| 97 | Q | 
|---|
| 98 | HEADLINE(XMDUZ,XMK,XMKN) ; | 
|---|
| 99 | N XMNEWCNT,XMCNT | 
|---|
| 100 | S XMNEWCNT=$P(^XMB(3.7,XMDUZ,2,XMK,0),U,2) | 
|---|
| 101 | S XMCNT=$P(^XMB(3.7,XMDUZ,2,XMK,1,0),U,4) | 
|---|
| 102 | ;Basket / messages / message / new | 
|---|
| 103 | Q XMKN_" "_$$EZBLD^DIALOG(34011)_", "_XMCNT_$S(XMCNT>1:$$EZBLD^DIALOG(34007.1)_" ("_$O(^XMB(3.7,XMDUZ,2,XMK,1,"C",0))_"-"_$O(^(""),-1)_")",1:$$EZBLD^DIALOG(34007))_$S(XMNEWCNT:", "_XMNEWCNT_$$EZBLD^DIALOG(34008),1:"") | 
|---|
| 104 | HEADER(XMDETAIL,XMLEN,XMHDLINE) ; | 
|---|
| 105 | I $D(XMHDLINE) W @IOF,XMHDLINE,! | 
|---|
| 106 | E  W @IOF | 
|---|
| 107 | I XMDETAIL D | 
|---|
| 108 | . W $$LJ^XLFSTR($$EZBLD^DIALOG(34001),XMLEN("XMZ")+$G(XMLEN("BSKT"),-1)+XMLEN("XMKZ")+XMLEN("DATE")+7,".") ;*=New/!=Priority | 
|---|
| 109 | . W $$COMBO($$EZBLD^DIALOG(34002),$$EZBLD^DIALOG(34003.1),XMLEN("SUBJ")+XMLEN("LINE")) ;Subject / Lines | 
|---|
| 110 | . W "." | 
|---|
| 111 | . W $$COMBO($$EZBLD^DIALOG(34006),$$EZBLD^DIALOG(34004),XMLEN("FROM")+XMLEN("RESP")) ;From / Read/Rcvd | 
|---|
| 112 | E  D | 
|---|
| 113 | . W $$LJ^XLFSTR($$EZBLD^DIALOG(34005),79-XMLEN("FROM"),"."),$$LJ^XLFSTR($$EZBLD^DIALOG(34006),XMLEN("FROM"),".") ;*=New/!=Priority.......Subject / From | 
|---|
| 114 | Q | 
|---|
| 115 | COMBO(XMSTR1,XMSTR2,XMLEN) ; | 
|---|
| 116 | Q $$LJ^XLFSTR($E(XMSTR1,1,XMLEN-$L(XMSTR2)-1),XMLEN-$L(XMSTR2),".")_XMSTR2 | 
|---|
| 117 | LINES(XMZ) ; | 
|---|
| 118 | Q +$P($G(^XMB(3.9,XMZ,2,0)),U,4) | 
|---|
| 119 | RESPONSE(XMDUZ,XMK,XMZ) ; | 
|---|
| 120 | I XMDUZ=.5,XMK>999 Q "" | 
|---|
| 121 | N XMPTR,XMRESP,XMRESPS | 
|---|
| 122 | S XMRESPS=+$P($G(^XMB(3.9,XMZ,3,0)),U,4) | 
|---|
| 123 | I XMRESPS=0 Q "" | 
|---|
| 124 | ;S XMPTR=$O(^XMB(3.9,XMZ,1,"C",$S(XMDUZ=.6:DUZ,1:XMDUZ),0)) | 
|---|
| 125 | S XMPTR=+$O(^XMB(3.9,XMZ,1,"C",XMDUZ,0)) | 
|---|
| 126 | S XMRESP=+$P($G(^XMB(3.9,XMZ,1,XMPTR,0)),U,2) | 
|---|
| 127 | Q XMRESP_"/"_XMRESPS | 
|---|
| 128 | LISTTMP ; List messages in ^TMP global | 
|---|
| 129 | ; (This routine does NOT let the user read the messages.) | 
|---|
| 130 | ; The following variables are expected to exist: | 
|---|
| 131 | ; XMDETAIL 0=Summary; 1=Detailed | 
|---|
| 132 | ; XMLEN | 
|---|
| 133 | N XMK,XMKN,XMKZ,XMZ,XMABORT,XMREC | 
|---|
| 134 | S XMABORT=0 | 
|---|
| 135 | D HEADER(XMDETAIL,.XMLEN) | 
|---|
| 136 | S XMKZ=0 | 
|---|
| 137 | F  S XMKZ=$O(^TMP("XM",$J,"MSG",XMKZ)) Q:XMKZ=""  D  Q:XMABORT | 
|---|
| 138 | . I $Y+4>IOSL D PAGE^XMXUTIL(.XMABORT) Q:XMABORT  D | 
|---|
| 139 | . . D HEADER(XMDETAIL,.XMLEN) | 
|---|
| 140 | . S XMREC=^TMP("XM",$J,"MSG",XMKZ) | 
|---|
| 141 | . S XMK=$P(XMREC,U,1),XMKN=$P(XMREC,U,2),XMZ=$P(XMREC,U,3) | 
|---|
| 142 | . D LISTMSG(XMK,XMKN,XMKZ,XMZ,XMDETAIL,.XMLEN) | 
|---|
| 143 | Q | 
|---|