XMXADDR2 ;ISC-SF/GMB-XMXADDR (cont.) ;04/17/2002 13:42
;;8.0;MailMan;;Jun 28, 2002
BRODCAST(XMDUZ,XMADDR,XMSTRIKE,XMPREFIX,XMLATER,XMFULL) ;
I $D(XMRESTR("NET RECEIVE")) D SETERR^XMXADDR4(0,"",39035) Q ;Broadcast messages are not accepted from remote sites.
I DUZ'=.5,'$D(^XUSEC("XMSTAR",DUZ)),'$D(^XUSEC("XMSTAR LIMITED",DUZ)) D Q
. ;Only the Postmaster or XMSTAR key holders may broadcast messages.
. D SETERR^XMXADDR4($G(XMIA),"!",39036)
I $D(XMRESTR("NOBCAST")) D SETERR^XMXADDR4($G(XMIA),"P",39036.5) Q ; Messages with replies may not be broadcast.
N XMCAST
I DUZ=.5!$D(^XUSEC("XMSTAR",DUZ)) D Q:$D(XMERROR)
. I '$G(XMIA) S XMCAST=$S(XMADDR="*":"F",1:"L") Q
. I XMADDR'="*" S XMCAST="L" Q
. D TYPECAST(.XMCAST)
E S XMCAST="L"
I XMCAST="F" D FULLCAST(XMSTRIKE,XMPREFIX,XMLATER,.XMFULL) Q
; Doing a limited broadcast...
N XMLTD
I XMADDR'="*" D
. D CHECKIT(XMADDR,.XMLTD)
E D
. D TYPELTD(.XMLTD) Q:$D(XMERROR)
. D PARMLTD(.XMLTD) Q:$D(XMERROR)
Q:$D(XMERROR)
;S XMFULL="* (Limited Broadcast)"
S XMFULL="*;"_XMLTD("TYPE")_";"_XMLTD("PARM")
I $G(XMINSTR("ADDR FLAGS"))["X" Q
I XMSTRIKE Q:$D(^TMP("XMY0",$J,XMFULL,"L")) W:$G(XMIA) $$EZBLD^DIALOG(39037) ;Deleting limited broadcast recipients
I $G(XMIA),'XMSTRIKE,XMLATER="?" D QLATER^XMXADDR(XMFULL,.XMLATER) Q:$D(XMERROR)
I XMLATER,'$G(XMIA) Q
I 'XMSTRIKE,$G(XMIA) W !,$$EZBLD^DIALOG(39038),! ;Limited broadcast recipients:
N XMSCREEN
; User must have access code, verify code, primary menu, and mailbox
S XMSCREEN="I $L($P(^(0),U,3)),$L($P($G(^(.1)),U,2)),$L($P($G(^(201)),U,1)),$D(^XMB(3.7,+Y,2))"
D FIND^DIC(200,"","@","QX",XMLTD("PARM IEN"),"",XMLTD("XREF"),XMSCREEN)
I '$D(^TMP("DILIST",$J)) D Q
. D SETERR^XMXADDR4($G(XMIA),"",39039) ;No matches. No recipients.
D SHOWLTD(XMDUZ,XMSTRIKE,XMPREFIX,XMLATER,$G(XMIA))
Q
TYPECAST(XMCAST) ;
N DIR,XMALL
S XMALL=$$EZBLD^DIALOG(39040) ;Broadcast to all local users
S DIR(0)="S^"_XMALL_";"_$$EZBLD^DIALOG(39041) ;Limited broadcast to local users
D BLD^DIALOG(39042,"","","DIR(""A"")") ;Broadcast type
S DIR("B")=$P(XMALL,":",2,9)
;Enter B to broadcast to all local users.
;Enter L to broadcast to a subset of local users. Limited broadcasts
;are to local users who have something in common, such as belonging
;to the same DIVISION, or holding the same PRIMARY MENU.
;The LIMITED BROADCASTs from which you may choose are defined by
;your IRM in the MAILMAN SITE PARAMETERS file.
D BLD^DIALOG(39043,"","","DIR(""?"")")
D ^DIR I $D(DIRUT) D SETERR^XMXADDR4(0,"",37002) Q ;up-arrow or time out.
S XMCAST=$S(Y=$P(XMALL,":",1):"F",1:"L")
Q
FULLCAST(XMSTRIKE,XMPREFIX,XMLATER,XMFULL) ;
S XMFULL=$$EZBLD^DIALOG(39006) ;* (Broadcast to all local users)
W:$G(XMIA) $E(XMFULL,2,99)
D SETEXP^XMXADDR(XMFULL,"",XMSTRIKE,XMPREFIX,XMLATER)
Q
TYPELTD(XMLTD) ;
N DIC,DA,X,Y,DIR,XMDEF
S DA(1)=1
S DIC="^XMB(1,1,5,"
S XMDEF=$P(^XMB(1,1,0),U,20) I XMDEF S XMDEF=$P($G(^XMB(1,1,5,XMDEF,0)),U,1) I XMDEF'="" S DIC("B")=XMDEF
S DIC(0)="AEQZ"
D ^DIC I Y=-1!$D(DTOUT)!$D(DUOUT) D SETERR^XMXADDR4(0,"",37002) Q ;up-arrow or time out.
S XMLTD("TYPE IEN")=+Y
S XMLTD("TYPE")=$P(Y(0),U,1)
S XMLTD("FILE")=$P(Y(0),U,2)
S XMLTD("XREF")=$P(Y(0),U,3)
D CHKFILE(.XMLTD) Q:$D(XMERROR)
D CHKXREF(.XMLTD) Q:$D(XMERROR)
Q
CHKFILE(XMLTD) ;
I XMLTD("FILE")="" D Q
. ;Limited Broadcast entry |1|, field |2| is null.
. D SETERR^XMXADDR4($G(XMIA),"!",39044,XMLTD("TYPE IEN"),1)
I '$$VFILE^DILFD(XMLTD("FILE")) D Q
. ;Limited Broadcast entry |1|, field |2|: '|3|' does not exist.
. D SETERR^XMXADDR4($G(XMIA),"!",39045,XMLTD("TYPE IEN"),1,XMLTD("FILE"))
Q
CHKXREF(XMLTD) ;
I XMLTD("XREF")="" D Q
. ;Limited Broadcast entry |1|, field |2| is null.
. D SETERR^XMXADDR4($G(XMIA),"!",39044,XMLTD("TYPE IEN"),2)
I '$D(^VA(200,XMLTD("XREF"))) D Q
. ;Limited Broadcast entry |1|, field |2|: '|3|' does not exist.
. D SETERR^XMXADDR4($G(XMIA),"!",39045,XMLTD("TYPE IEN"),2,XMLTD("XREF"))
Q
PARMLTD(XMLTD) ;
N DIC,DIR,X,Y
S DIC=$$ROOT^DILFD(XMLTD("FILE"))
S DIC(0)="AEQZ"
S DIC("S")="I $D(^VA(200,"""_XMLTD("XREF")_""",+Y))"
S DIC("A")=$$EZBLD^DIALOG(39046,XMLTD("TYPE")) ;Select Limited Broadcast |1|:
D ^DIC I Y=-1!$D(DTOUT)!$D(DUOUT) D SETERR^XMXADDR4(0,"",37002) Q ;up-arrow or time out.
S XMLTD("PARM IEN")=+Y
S XMLTD("PARM")=Y(0,0)
Q
CHECKIT(XMADDR,XMLTD) ;
S XMLTD("TYPE")=$P(XMADDR,";",2) I XMLTD("TYPE")="" D SETERR^XMXADDR4($G(XMIA),"!",39047) Q ;Limited Broadcast selection is null.
S XMLTD("PARM")=$P(XMADDR,";",3) I XMLTD("PARM")="" D SETERR^XMXADDR4($G(XMIA),"!",39047.5) Q ;Limited Broadcast selection value is null.
S XMLTD("TYPE IEN")=$$FIND1^DIC(4.32,",1,","OQ",XMLTD("TYPE"))
I 'XMLTD("TYPE IEN") D SETERR^XMXADDR4($G(XMIA),"!",$S(XMLTD("TYPE IEN")=0:39048,1:39049),XMLTD("TYPE")) Q ;Limited Broadcast selection not found: |1| / Limited Broadcast selection ambiguous: |1|
N XMREC
S XMREC=$G(^XMB(1,1,5,XMLTD("TYPE IEN"),0))
S XMLTD("TYPE")=$P(XMREC,U,1)
S XMLTD("FILE")=$P(XMREC,U,2)
S XMLTD("XREF")=$P(XMREC,U,3)
D CHKFILE(.XMLTD) Q:$D(XMERROR)
D CHKXREF(.XMLTD) Q:$D(XMERROR)
S XMLTD("PARM IEN")=$$FIND1^DIC(XMLTD("FILE"),"","OQ",XMLTD("PARM"))
I XMLTD("PARM IEN") S XMLTD("PARM")=$$GET1^DIQ(XMLTD("FILE"),XMLTD("PARM IEN")_",",.01) Q
N XMPARM S XMPARM(1)=XMLTD("PARM"),XMPARM(2)=XMLTD("FILE")
D SETERR^XMXADDR4($G(XMIA),"!",$S(XMLTD("PARM IEN")=0:39050,1:39051),.XMPARM) ;Limited Broadcast value '|1|' not found / Limited Broadcast value '|1|' ambiguous
Q
SHOWLTD(XMDUZ,XMSTRIKE,XMPREFIX,XMLATER,XMIA) ;
N XMI,XMGM,XMCNT
S (XMI,XMCNT)=0
F S XMI=$O(^TMP("DILIST",$J,2,XMI)) Q:'XMI S XMGM=^(XMI) D
. N XMERROR,XMFWDADD
. I 'XMLATER D INDIV^XMXADDR(XMDUZ,XMGM,XMSTRIKE,XMPREFIX,XMLATER)
. Q:'XMIA
. I XMCNT,XMCNT#16=0 D Q:'XMIA
. . N DIR,Y ;Do you want to see more Limited Broadcast recipients
. . S DIR("A")=$$EZBLD^DIALOG(39052)
. . S DIR(0)="Y",DIR("B")=$$EZBLD^DIALOG(39053) ;No
. . D ^DIR
. . S XMIA=+Y ; The '+' takes care of $D(DIRUT)
. S XMCNT=XMCNT+1
. W:XMCNT#4-1=0 !
. W ?XMCNT-1#4*20,$E($S(XMPREFIX="":"",1:XMPREFIX_":")_$$NAME^XMXUTIL(XMGM),1,19)
K ^TMP("DILIST",$J)
Q
INXFORM(X) ; Input transform for file 4.3, field 51 LIMITED BROADCAST DEFAULT
N DIC,DA,Y,DIR,XMERROR,XMLTD,XMIA
I '$D(ZTQUEUED) S XMIA=1
S DA(1)=1
S DIC="^XMB(1,1,5,"
S DIC(0)="EQZ"
D ^DIC I Y=-1!$D(DTOUT)!$D(DUOUT) K X Q
S XMLTD("TYPE IEN")=+Y
S XMLTD("TYPE")=$P(Y(0),U,1)
S XMLTD("FILE")=$P(Y(0),U,2)
S XMLTD("XREF")=$P(Y(0),U,3)
D CHKFILE(.XMLTD) I $D(XMERROR) K X Q
D CHKXREF(.XMLTD) I $D(XMERROR) K X Q
S X=XMLTD("TYPE IEN")
Q
EXHELP ; Executable help for file 4.3, field 51 LIMITED BROADCAST DEFAULT
N I
D EN^DDIOL($$EZBLD^DIALOG(38056)) ; Choose from:
S I=0
F S I=$O(^XMB(1,1,5,I)) Q:'I D EN^DDIOL($P(^(I,0),U,1))
Q
XMXADDR2 ;ISC-SF/GMB-XMXADDR (cont.) ;04/17/2002 13:42
+1 ;;8.0;MailMan;;Jun 28, 2002
BRODCAST(XMDUZ,XMADDR,XMSTRIKE,XMPREFIX,XMLATER,XMFULL) ;
+1 ;Broadcast messages are not accepted from remote sites.
IF $DATA(XMRESTR("NET RECEIVE"))
DO SETERR^XMXADDR4(0,"",39035)
QUIT
+2 IF DUZ'=.5
IF '$DATA(^XUSEC("XMSTAR",DUZ))
IF '$DATA(^XUSEC("XMSTAR LIMITED",DUZ))
Begin DoDot:1
+3 ;Only the Postmaster or XMSTAR key holders may broadcast messages.
+4 DO SETERR^XMXADDR4($GET(XMIA),"!",39036)
End DoDot:1
QUIT
+5 ; Messages with replies may not be broadcast.
IF $DATA(XMRESTR("NOBCAST"))
DO SETERR^XMXADDR4($GET(XMIA),"P",39036.5)
QUIT
+6 NEW XMCAST
+7 IF DUZ=.5!$DATA(^XUSEC("XMSTAR",DUZ))
Begin DoDot:1
+8 IF '$GET(XMIA)
SET XMCAST=$SELECT(XMADDR="*":"F",1:"L")
QUIT
+9 IF XMADDR'="*"
SET XMCAST="L"
QUIT
+10 DO TYPECAST(.XMCAST)
End DoDot:1
IF $DATA(XMERROR)
QUIT
+11 IF '$TEST
SET XMCAST="L"
+12 IF XMCAST="F"
DO FULLCAST(XMSTRIKE,XMPREFIX,XMLATER,.XMFULL)
QUIT
+13 ; Doing a limited broadcast...
+14 NEW XMLTD
+15 IF XMADDR'="*"
Begin DoDot:1
+16 DO CHECKIT(XMADDR,.XMLTD)
End DoDot:1
+17 IF '$TEST
Begin DoDot:1
+18 DO TYPELTD(.XMLTD)
IF $DATA(XMERROR)
QUIT
+19 DO PARMLTD(.XMLTD)
IF $DATA(XMERROR)
QUIT
End DoDot:1
+20 IF $DATA(XMERROR)
QUIT
+21 ;S XMFULL="* (Limited Broadcast)"
+22 SET XMFULL="*;"_XMLTD("TYPE")_";"_XMLTD("PARM")
+23 IF $GET(XMINSTR("ADDR FLAGS"))["X"
QUIT
+24 ;Deleting limited broadcast recipients
IF XMSTRIKE
IF $DATA(^TMP("XMY0",$JOB,XMFULL,"L"))
QUIT
IF $GET(XMIA)
WRITE $$EZBLD^DIALOG(39037)
+25 IF $GET(XMIA)
IF 'XMSTRIKE
IF XMLATER="?"
DO QLATER^XMXADDR(XMFULL,.XMLATER)
IF $DATA(XMERROR)
QUIT
+26 IF XMLATER
IF '$GET(XMIA)
QUIT
+27 ;Limited broadcast recipients:
IF 'XMSTRIKE
IF $GET(XMIA)
WRITE !,$$EZBLD^DIALOG(39038),!
+28 NEW XMSCREEN
+29 ; User must have access code, verify code, primary menu, and mailbox
+30 SET XMSCREEN="I $L($P(^(0),U,3)),$L($P($G(^(.1)),U,2)),$L($P($G(^(201)),U,1)),$D(^XMB(3.7,+Y,2))"
+31 DO FIND^DIC(200,"","@","QX",XMLTD("PARM IEN"),"",XMLTD("XREF"),XMSCREEN)
+32 IF '$DATA(^TMP("DILIST",$JOB))
Begin DoDot:1
+33 ;No matches. No recipients.
DO SETERR^XMXADDR4($GET(XMIA),"",39039)
End DoDot:1
QUIT
+34 DO SHOWLTD(XMDUZ,XMSTRIKE,XMPREFIX,XMLATER,$GET(XMIA))
+35 QUIT
TYPECAST(XMCAST) ;
+1 NEW DIR,XMALL
+2 ;Broadcast to all local users
SET XMALL=$$EZBLD^DIALOG(39040)
+3 ;Limited broadcast to local users
SET DIR(0)="S^"_XMALL_";"_$$EZBLD^DIALOG(39041)
+4 ;Broadcast type
DO BLD^DIALOG(39042,"","","DIR(""A"")")
+5 SET DIR("B")=$PIECE(XMALL,":",2,9)
+6 ;Enter B to broadcast to all local users.
+7 ;Enter L to broadcast to a subset of local users. Limited broadcasts
+8 ;are to local users who have something in common, such as belonging
+9 ;to the same DIVISION, or holding the same PRIMARY MENU.
+10 ;The LIMITED BROADCASTs from which you may choose are defined by
+11 ;your IRM in the MAILMAN SITE PARAMETERS file.
+12 DO BLD^DIALOG(39043,"","","DIR(""?"")")
+13 ;up-arrow or time out.
DO ^DIR
IF $DATA(DIRUT)
DO SETERR^XMXADDR4(0,"",37002)
QUIT
+14 SET XMCAST=$SELECT(Y=$PIECE(XMALL,":",1):"F",1:"L")
+15 QUIT
FULLCAST(XMSTRIKE,XMPREFIX,XMLATER,XMFULL) ;
+1 ;* (Broadcast to all local users)
SET XMFULL=$$EZBLD^DIALOG(39006)
+2 IF $GET(XMIA)
WRITE $EXTRACT(XMFULL,2,99)
+3 DO SETEXP^XMXADDR(XMFULL,"",XMSTRIKE,XMPREFIX,XMLATER)
+4 QUIT
TYPELTD(XMLTD) ;
+1 NEW DIC,DA,X,Y,DIR,XMDEF
+2 SET DA(1)=1
+3 SET DIC="^XMB(1,1,5,"
+4 SET XMDEF=$PIECE(^XMB(1,1,0),U,20)
IF XMDEF
SET XMDEF=$PIECE($GET(^XMB(1,1,5,XMDEF,0)),U,1)
IF XMDEF'=""
SET DIC("B")=XMDEF
+5 SET DIC(0)="AEQZ"
+6 ;up-arrow or time out.
DO ^DIC
IF Y=-1!$DATA(DTOUT)!$DATA(DUOUT)
DO SETERR^XMXADDR4(0,"",37002)
QUIT
+7 SET XMLTD("TYPE IEN")=+Y
+8 SET XMLTD("TYPE")=$PIECE(Y(0),U,1)
+9 SET XMLTD("FILE")=$PIECE(Y(0),U,2)
+10 SET XMLTD("XREF")=$PIECE(Y(0),U,3)
+11 DO CHKFILE(.XMLTD)
IF $DATA(XMERROR)
QUIT
+12 DO CHKXREF(.XMLTD)
IF $DATA(XMERROR)
QUIT
+13 QUIT
CHKFILE(XMLTD) ;
+1 IF XMLTD("FILE")=""
Begin DoDot:1
+2 ;Limited Broadcast entry |1|, field |2| is null.
+3 DO SETERR^XMXADDR4($GET(XMIA),"!",39044,XMLTD("TYPE IEN"),1)
End DoDot:1
QUIT
+4 IF '$$VFILE^DILFD(XMLTD("FILE"))
Begin DoDot:1
+5 ;Limited Broadcast entry |1|, field |2|: '|3|' does not exist.
+6 DO SETERR^XMXADDR4($GET(XMIA),"!",39045,XMLTD("TYPE IEN"),1,XMLTD("FILE"))
End DoDot:1
QUIT
+7 QUIT
CHKXREF(XMLTD) ;
+1 IF XMLTD("XREF")=""
Begin DoDot:1
+2 ;Limited Broadcast entry |1|, field |2| is null.
+3 DO SETERR^XMXADDR4($GET(XMIA),"!",39044,XMLTD("TYPE IEN"),2)
End DoDot:1
QUIT
+4 IF '$DATA(^VA(200,XMLTD("XREF")))
Begin DoDot:1
+5 ;Limited Broadcast entry |1|, field |2|: '|3|' does not exist.
+6 DO SETERR^XMXADDR4($GET(XMIA),"!",39045,XMLTD("TYPE IEN"),2,XMLTD("XREF"))
End DoDot:1
QUIT
+7 QUIT
PARMLTD(XMLTD) ;
+1 NEW DIC,DIR,X,Y
+2 SET DIC=$$ROOT^DILFD(XMLTD("FILE"))
+3 SET DIC(0)="AEQZ"
+4 SET DIC("S")="I $D(^VA(200,"""_XMLTD("XREF")_""",+Y))"
+5 ;Select Limited Broadcast |1|:
SET DIC("A")=$$EZBLD^DIALOG(39046,XMLTD("TYPE"))
+6 ;up-arrow or time out.
DO ^DIC
IF Y=-1!$DATA(DTOUT)!$DATA(DUOUT)
DO SETERR^XMXADDR4(0,"",37002)
QUIT
+7 SET XMLTD("PARM IEN")=+Y
+8 SET XMLTD("PARM")=Y(0,0)
+9 QUIT
CHECKIT(XMADDR,XMLTD) ;
+1 ;Limited Broadcast selection is null.
SET XMLTD("TYPE")=$PIECE(XMADDR,";",2)
IF XMLTD("TYPE")=""
DO SETERR^XMXADDR4($GET(XMIA),"!",39047)
QUIT
+2 ;Limited Broadcast selection value is null.
SET XMLTD("PARM")=$PIECE(XMADDR,";",3)
IF XMLTD("PARM")=""
DO SETERR^XMXADDR4($GET(XMIA),"!",39047.5)
QUIT
+3 SET XMLTD("TYPE IEN")=$$FIND1^DIC(4.32,",1,","OQ",XMLTD("TYPE"))
+4 ;Limited Broadcast selection not found: |1| / Limited Broadcast selection ambiguous: |1|
IF 'XMLTD("TYPE IEN")
DO SETERR^XMXADDR4($GET(XMIA),"!",$SELECT(XMLTD("TYPE IEN")=0:39048,1:39049),XMLTD("TYPE"))
QUIT
+5 NEW XMREC
+6 SET XMREC=$GET(^XMB(1,1,5,XMLTD("TYPE IEN"),0))
+7 SET XMLTD("TYPE")=$PIECE(XMREC,U,1)
+8 SET XMLTD("FILE")=$PIECE(XMREC,U,2)
+9 SET XMLTD("XREF")=$PIECE(XMREC,U,3)
+10 DO CHKFILE(.XMLTD)
IF $DATA(XMERROR)
QUIT
+11 DO CHKXREF(.XMLTD)
IF $DATA(XMERROR)
QUIT
+12 SET XMLTD("PARM IEN")=$$FIND1^DIC(XMLTD("FILE"),"","OQ",XMLTD("PARM"))
+13 IF XMLTD("PARM IEN")
SET XMLTD("PARM")=$$GET1^DIQ(XMLTD("FILE"),XMLTD("PARM IEN")_",",.01)
QUIT
+14 NEW XMPARM
SET XMPARM(1)=XMLTD("PARM")
SET XMPARM(2)=XMLTD("FILE")
+15 ;Limited Broadcast value '|1|' not found / Limited Broadcast value '|1|' ambiguous
DO SETERR^XMXADDR4($GET(XMIA),"!",$SELECT(XMLTD("PARM IEN")=0:39050,1:39051),.XMPARM)
+16 QUIT
SHOWLTD(XMDUZ,XMSTRIKE,XMPREFIX,XMLATER,XMIA) ;
+1 NEW XMI,XMGM,XMCNT
+2 SET (XMI,XMCNT)=0
+3 FOR
SET XMI=$ORDER(^TMP("DILIST",$JOB,2,XMI))
IF 'XMI
QUIT
SET XMGM=^(XMI)
Begin DoDot:1
+4 NEW XMERROR,XMFWDADD
+5 IF 'XMLATER
DO INDIV^XMXADDR(XMDUZ,XMGM,XMSTRIKE,XMPREFIX,XMLATER)
+6 IF 'XMIA
QUIT
+7 IF XMCNT
IF XMCNT#16=0
Begin DoDot:2
+8 ;Do you want to see more Limited Broadcast recipients
NEW DIR,Y
+9 SET DIR("A")=$$EZBLD^DIALOG(39052)
+10 ;No
SET DIR(0)="Y"
SET DIR("B")=$$EZBLD^DIALOG(39053)
+11 DO ^DIR
+12 ; The '+' takes care of $D(DIRUT)
SET XMIA=+Y
End DoDot:2
IF 'XMIA
QUIT
+13 SET XMCNT=XMCNT+1
+14 IF XMCNT#4-1=0
WRITE !
+15 WRITE ?XMCNT-1#4*20,$EXTRACT($SELECT(XMPREFIX="":"",1:XMPREFIX_":")_$$NAME^XMXUTIL(XMGM),1,19)
End DoDot:1
+16 KILL ^TMP("DILIST",$JOB)
+17 QUIT
INXFORM(X) ; Input transform for file 4.3, field 51 LIMITED BROADCAST DEFAULT
+1 NEW DIC,DA,Y,DIR,XMERROR,XMLTD,XMIA
+2 IF '$DATA(ZTQUEUED)
SET XMIA=1
+3 SET DA(1)=1
+4 SET DIC="^XMB(1,1,5,"
+5 SET DIC(0)="EQZ"
+6 DO ^DIC
IF Y=-1!$DATA(DTOUT)!$DATA(DUOUT)
KILL X
QUIT
+7 SET XMLTD("TYPE IEN")=+Y
+8 SET XMLTD("TYPE")=$PIECE(Y(0),U,1)
+9 SET XMLTD("FILE")=$PIECE(Y(0),U,2)
+10 SET XMLTD("XREF")=$PIECE(Y(0),U,3)
+11 DO CHKFILE(.XMLTD)
IF $DATA(XMERROR)
KILL X
QUIT
+12 DO CHKXREF(.XMLTD)
IF $DATA(XMERROR)
KILL X
QUIT
+13 SET X=XMLTD("TYPE IEN")
+14 QUIT
EXHELP ; Executable help for file 4.3, field 51 LIMITED BROADCAST DEFAULT
+1 NEW I
+2 ; Choose from:
DO EN^DDIOL($$EZBLD^DIALOG(38056))
+3 SET I=0
+4 FOR
SET I=$ORDER(^XMB(1,1,5,I))
IF 'I
QUIT
DO EN^DDIOL($PIECE(^(I,0),U,1))
+5 QUIT