Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XMXLIST2

XMXLIST2.m

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