XMJMBULL ;ISC-SF/GMB-Manual Bulletin ;08/08/2000 14:11
;;8.0;MailMan;;Jun 28, 2002
; Replaces BULL^XMB (ISC-WASH/THM/RWF/CAP)
; Entry points used by MailMan options (not covered by DBIA):
; BULLETIN XMPOST
BULLETIN ; Manually post a bulletin
N XMBIEN,XMBNAME,XMPARM,XMINSTR,XMABORT
S XMABORT=0
D WHICH(.XMBIEN,.XMBNAME,.XMABORT) Q:XMABORT
D GETPARMS(XMBIEN,.XMPARM,.XMINSTR,.XMABORT) Q:XMABORT
D BULLETIN^XMKPO($G(XMDUZ,DUZ),XMBNAME,XMBIEN,.XMPARM,"","",.XMINSTR)
Q
WHICH(XMBIEN,XMBNAME,XMABORT) ;
N DIC
S DIC(0)="AEQM",DIC="^XMB(3.6,"
D ^DIC I Y=-1 S XMABORT=1 Q
S XMBIEN=+Y
S XMBNAME=$P(Y,U,2)
Q
GETPARMS(XMBIEN,XMPARM,XMINSTR,XMABORT) ;
N I,XMREC,XMI,DIR,Y,X,DIRUT,XMNOW
S I=0
F S I=$O(^XMB(3.6,XMBIEN,1,I)) Q:'I D Q:XMABORT
. S XMREC=^XMB(3.6,XMBIEN,1,I,0)
. W !,XMREC
. F Q:XMREC'?.E1"|".N1"|".E D Q:XMABORT
. . S XMI=+$P(XMREC,"|",2)
. . S XMREC=$P(XMREC,"|",1)_$P(XMREC,"|",3,999)
. . I XMI<0!(XMI>100) D Q
. . . S XMABORT=1
. . . W !,$$EZBLD^DIALOG(34661,XMI) ; '|1|' is not a valid parameter. Aborting!
. . Q:$D(XMPARM(XMI))
. . S DIR("A")=$$EZBLD^DIALOG(34660,XMI) ; Enter parameter |1|
. . S DIR(0)="F^1:30"
. . S DIR("??")="^D HELP^XMJMBULL"
. . D ^DIR I $D(DIRUT) S XMABORT=1 Q
. . S XMPARM(XMI)=Y
Q:XMABORT
S DIR("A")=$$EZBLD^DIALOG(34662) ; When do you want to send the bulletin?"
S XMNOW=$$EZBLD^DIALOG(37007) ; NOW
S DIR("B")=XMNOW
S DIR(0)="DA^NOW::EFTX"
D ^DIR I $D(DIRUT) S XMABORT=1 Q
S:X'=XMNOW XMINSTR("LATER")=Y
Q
HELP ;
I '$D(^XMB(3.6,XMBIEN,4,XMI,1,1,0)) Q
N I
S I=0
F S I=$O(^XMB(3.6,XMBIEN,4,XMI,1,I)) Q:'I W !,^(I,0)
Q
XMJMBULL ;ISC-SF/GMB-Manual Bulletin ;08/08/2000 14:11
+1 ;;8.0;MailMan;;Jun 28, 2002
+2 ; Replaces BULL^XMB (ISC-WASH/THM/RWF/CAP)
+3 ; Entry points used by MailMan options (not covered by DBIA):
+4 ; BULLETIN XMPOST
BULLETIN ; Manually post a bulletin
+1 NEW XMBIEN,XMBNAME,XMPARM,XMINSTR,XMABORT
+2 SET XMABORT=0
+3 DO WHICH(.XMBIEN,.XMBNAME,.XMABORT)
IF XMABORT
QUIT
+4 DO GETPARMS(XMBIEN,.XMPARM,.XMINSTR,.XMABORT)
IF XMABORT
QUIT
+5 DO BULLETIN^XMKPO($GET(XMDUZ,DUZ),XMBNAME,XMBIEN,.XMPARM,"","",.XMINSTR)
+6 QUIT
WHICH(XMBIEN,XMBNAME,XMABORT) ;
+1 NEW DIC
+2 SET DIC(0)="AEQM"
SET DIC="^XMB(3.6,"
+3 DO ^DIC
IF Y=-1
SET XMABORT=1
QUIT
+4 SET XMBIEN=+Y
+5 SET XMBNAME=$PIECE(Y,U,2)
+6 QUIT
GETPARMS(XMBIEN,XMPARM,XMINSTR,XMABORT) ;
+1 NEW I,XMREC,XMI,DIR,Y,X,DIRUT,XMNOW
+2 SET I=0
+3 FOR
SET I=$ORDER(^XMB(3.6,XMBIEN,1,I))
IF 'I
QUIT
Begin DoDot:1
+4 SET XMREC=^XMB(3.6,XMBIEN,1,I,0)
+5 WRITE !,XMREC
+6 FOR
IF XMREC'?.E1"|".N1"|".E
QUIT
Begin DoDot:2
+7 SET XMI=+$PIECE(XMREC,"|",2)
+8 SET XMREC=$PIECE(XMREC,"|",1)_$PIECE(XMREC,"|",3,999)
+9 IF XMI<0!(XMI>100)
Begin DoDot:3
+10 SET XMABORT=1
+11 ; '|1|' is not a valid parameter. Aborting!
WRITE !,$$EZBLD^DIALOG(34661,XMI)
End DoDot:3
QUIT
+12 IF $DATA(XMPARM(XMI))
QUIT
+13 ; Enter parameter |1|
SET DIR("A")=$$EZBLD^DIALOG(34660,XMI)
+14 SET DIR(0)="F^1:30"
+15 SET DIR("??")="^D HELP^XMJMBULL"
+16 DO ^DIR
IF $DATA(DIRUT)
SET XMABORT=1
QUIT
+17 SET XMPARM(XMI)=Y
End DoDot:2
IF XMABORT
QUIT
End DoDot:1
IF XMABORT
QUIT
+18 IF XMABORT
QUIT
+19 ; When do you want to send the bulletin?"
SET DIR("A")=$$EZBLD^DIALOG(34662)
+20 ; NOW
SET XMNOW=$$EZBLD^DIALOG(37007)
+21 SET DIR("B")=XMNOW
+22 SET DIR(0)="DA^NOW::EFTX"
+23 DO ^DIR
IF $DATA(DIRUT)
SET XMABORT=1
QUIT
+24 IF X'=XMNOW
SET XMINSTR("LATER")=Y
+25 QUIT
HELP ;
+1 IF '$DATA(^XMB(3.6,XMBIEN,4,XMI,1,1,0))
QUIT
+2 NEW I
+3 SET I=0
+4 FOR
SET I=$ORDER(^XMB(3.6,XMBIEN,4,XMI,1,I))
IF 'I
QUIT
WRITE !,^(I,0)
+5 QUIT