XMXLIST2 ;ISC-SF/GMB-List message: multiple conditions (cont.) ;08/30/2000 11:01 ;;8.0;MailMan;;Jun 28, 2002 ; Look in just one of the user's baskets. NEW1(XMDUZ,XMK,XMKN,XMTYPE,XMORDER,XMFLDS,XMAMT,XMSTART,XMF,XMTROOT) ; New messages in 1 basket N XMCNT,XMZ S XMKN=$P(^XMB(3.7,XMDUZ,2,XMK,0),U,1) S XMCNT=0 S XMZ=$G(XMSTART("XMZ")) F S XMZ=$O(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ),XMORDER) Q:'XMZ D Q:XMCNT=XMAMT . I '$D(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)) D ADDITN^XMUT4A(XMDUZ,XMTYPE,XMK,XMZ) . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q . I $D(XMF) Q:'$$GOODMSG^XMJMFB(XMDUZ,XMK,XMZ,.XMF) . S XMCNT=XMCNT+1 . S @(XMTROOT_XMCNT_")")=XMZ . Q:'$D(XMFLDS) . D FIELDS^XMXLIST1(XMDUZ,XMK,XMKN,XMZ,.XMFLDS,XMTROOT,XMCNT) . I XMFLDS["SEQN" D KSEQN^XMXLIST1(XMDUZ,XMK,XMZ,.XMFLDS,XMTROOT,XMCNT) S XMSTART("XMZ")=XMZ S @(XMTROOT_"0)")=XMCNT_U_XMAMT ; Any more? I 'XMZ S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^0" Q I '$O(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ),XMORDER) S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^0" Q I '$D(XMF) S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^1" Q N XMORE S XMORE=0 F S XMZ=$O(^XMB(3.7,XMDUZ,XMTYPE,XMK,XMZ),XMORDER) Q:'XMZ D Q:XMORE . I '$D(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)) D ADDITN^XMUT4A(XMDUZ,XMTYPE,XMK,XMZ) . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q . I $$GOODMSG^XMJMFB(XMDUZ,XMK,XMZ,.XMF) S XMORE=1 S @(XMTROOT_"0)")=@(XMTROOT_"0)")_U_XMORE Q REG1C(XMDUZ,XMK,XMKN,XMORDER,XMFLDS,XMAMT,XMSTART,XMF,XMTROOT) ; Messages (by C-xref) in one basket N XMCNT,XMKZ,XMZ S XMCNT=0 S XMKZ=$G(XMSTART("XMKZ")) F S XMKZ=$O(^XMB(3.7,XMDUZ,2,XMK,1,"C",XMKZ),XMORDER) Q:'XMKZ S XMZ=$O(^(XMKZ,"")) D Q:XMCNT=XMAMT . I '$D(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)) D ADDITC^XMUT4A(XMDUZ,XMK,XMZ,XMKZ) . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q . I $D(XMF) Q:'$$GOODMSG^XMJMFB(XMDUZ,XMK,XMZ,.XMF) . S XMCNT=XMCNT+1 . S @(XMTROOT_XMCNT_")")=XMZ . Q:'$D(XMFLDS) . D FIELDS^XMXLIST1(XMDUZ,XMK,XMKN,XMZ,.XMFLDS,XMTROOT,XMCNT) . I FIELDS["SEQN" D SEQN^XMXLIST1(XMDUZ,XMKZ,.XMFLDS,XMTROOT,XMCNT) S XMSTART("XMKZ")=XMKZ S @(XMTROOT_"0)")=XMCNT_U_XMAMT ; Any more? I 'XMKZ S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^0" Q I '$O(^XMB(3.7,XMDUZ,2,XMK,1,"C",XMKZ),XMORDER) S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^0" Q I '$D(XMF) S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^1" Q N XMORE S XMORE=0 F S XMKZ=$O(^XMB(3.7,XMDUZ,2,XMK,1,"C",XMKZ),XMORDER) Q:'XMKZ S XMZ=$O(^(XMKZ,"")) D Q:XMORE . I '$D(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)) D ADDITC^XMUT4A(XMDUZ,XMK,XMZ,XMKZ) . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q . I $$GOODMSG^XMJMFB(XMDUZ,XMK,XMZ,.XMF) S XMORE=1 S @(XMTROOT_"0)")=@(XMTROOT_"0)")_U_XMORE Q REG1Z(XMDUZ,XMK,XMKN,XMORDER,XMFLDS,XMAMT,XMSTART,XMF,XMTROOT) ; Messages (by IEN) in one basket N XMCNT,XMZ S XMCNT=0 S XMZ=$G(XMSTART("XMZ")) I +XMZ=0 S XMZ=0 I XMORDER=-1 S XMZ=":" F S XMZ=$O(^XMB(3.7,XMDUZ,2,XMK,1,XMZ),XMORDER) Q:'XMZ D Q:XMCNT=XMAMT . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q . I $D(XMF) Q:'$$GOODMSG^XMJMFB(XMDUZ,XMK,XMZ,.XMF) . S XMCNT=XMCNT+1 . S @(XMTROOT_XMCNT_")")=XMZ . Q:'$D(XMFLDS) . D FIELDS^XMXLIST1(XMDUZ,XMK,XMKN,XMZ,.XMFLDS,XMTROOT,XMCNT) . I XMFLDS["SEQN" D KSEQN^XMXLIST1(XMDUZ,XMK,XMZ,.XMFLDS,XMTROOT,XMCNT) S XMSTART("XMZ")=XMZ S @(XMTROOT_"0)")=XMCNT_U_XMAMT ; Any more? I 'XMZ S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^0" Q I '$O(^XMB(3.7,XMDUZ,2,XMK,1,XMZ),XMORDER) S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^0" Q I '$D(XMF) S @(XMTROOT_"0)")=@(XMTROOT_"0)")_"^1" Q N XMORE S XMORE=0 F S XMZ=$O(^XMB(3.7,XMDUZ,2,XMK,1,XMZ),XMORDER) Q:'XMZ D Q:XMORE . I '$D(^XMB(3.9,XMZ,0)) D ZAPIT^XMXMSGS2(XMDUZ,XMK,XMZ) Q . I $$GOODMSG^XMJMFB(XMDUZ,XMK,XMZ,.XMF) S XMORE=1 S @(XMTROOT_"0)")=@(XMTROOT_"0)")_U_XMORE Q