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

XMCXU.m

Go to the documentation of this file.
  1. XMCXU ;ISC-SF/GMB- Select Domains/Scripts ;04/17/2002 08:43
  1. ;;8.0;MailMan;;Jun 28, 2002
  1. ASK(XMINST,XMSITE,XMB,XMABORT,XMSCREEN,XMOKTYPE) ;
  1. D ASKINST(.XMINST,.XMSITE,.XMABORT,.XMSCREEN) Q:XMABORT
  1. D ASKSCR(XMINST,XMSITE,.XMB,.XMABORT,.XMOKTYPE)
  1. Q
  1. ASKINST(XMINST,XMSITE,XMABORT,XMSCREEN) ; Lookup domain, perhaps using screen
  1. N DIC,X,Y,D,XMCX,XMCXC,XMCXM
  1. S XMCXM=$$EZBLD^DIALOG(34007.2) ; msgs
  1. S XMCXC=$$EZBLD^DIALOG(42281) ;* Closed *
  1. S DIC=4.2,DIC(0)="AEQM",D="B^C"
  1. S DIC("W")="S XMCX=($P(^(0),U,2)[""C"") W ?50,$J($$BMSGCT^XMXUTIL(.5,Y+1000),6),XMCXM W:XMCX ?65,XMCXC"
  1. I $G(XMSCREEN)'="" D
  1. . I $L(XMSCREEN)>1 S DIC("S")=XMSCREEN
  1. . I XMSCREEN="M" D
  1. . . N XMTEXT
  1. . . W !
  1. . . ;This option lets you select only those queues which have messages.
  1. . . ;If you can't select a queue, it either doesn't exist or it has no messages.
  1. . . D BLD^DIALOG(42282,"","","XMTEXT","F")
  1. . . D MSG^DIALOG("WM","","","","XMTEXT")
  1. . . W !
  1. . . S DIC("S")="I $O(^XMB(3.7,.5,2,Y+1000,1,0))"
  1. . . ;Select queue. Only queues with messages are shown.
  1. . . D BLD^DIALOG(42283,"","","DIC(""?"")")
  1. D MIX^DIC1 I Y=-1 S XMABORT=1 Q
  1. S XMINST=+Y
  1. S XMSITE=$P(Y,U,2)
  1. Q
  1. ASKSCR(XMINST,XMSITE,XMB,XMABORT,XMOKTYPE) ;
  1. D SCRIPT^XMKPR1(XMINST,XMSITE,.XMB,.XMOKTYPE)
  1. I 'XMB("SCR IEN") W !,$$EZBLD^DIALOG(42284) S XMABORT=1 Q ;No valid script for this domain!
  1. D SCRIPT(XMINST,XMSITE,.XMB,.XMABORT) Q:XMABORT
  1. Q
  1. SCRIPT(XMINST,XMSITE,XMB,XMABORT) ; Ask user to select the script.
  1. ; List valid entries.
  1. N I,XMREC,XMTEXT
  1. W !
  1. ; # Script Name Type Priority
  1. ; -- ----------- ---- --------
  1. D BLD^DIALOG(42285,"","","XMTEXT","F")
  1. D MSG^DIALOG("WM","","","","XMTEXT")
  1. S I=0
  1. F S I=$O(^DIC(4.2,XMINST,1,I)) Q:'I S XMREC=^(I,0) W !,$J(I,3),?5,$P(XMREC,U),?30,$P(XMREC,U,4),?40,$J($P(XMREC,U,2),2) I $P(XMREC,U,7) W ?50,$$EZBLD^DIALOG(42286) ;* Out of Service *
  1. W !
  1. I $O(^DIC(4.2,XMINST,1,0))=XMB("SCR IEN"),+$O(^(XMB("SCR IEN")))=0 Q
  1. N DIC,X,Y
  1. S DIC="^DIC(4.2,XMINST,1,"
  1. S DIC(0)="AEQMNZ"
  1. S DIC("A")=$$EZBLD^DIALOG(42287) ;Select Script:
  1. S DIC("B")=XMB("SCR IEN")
  1. S DIC("W")="W ?30,$P(^(0),U,4),?40,$J($P(^(0),U,2),2) W:$P(^(0),U,7) ?60,$$EZBLD^DIALOG(42286)" ;* Out of Service *
  1. D ^DIC I Y=-1 S XMABORT=1 Q
  1. Q:+Y=XMB("SCR IEN")
  1. S (XMB("SCR IEN"),XMB("FIRST SCRIPT"))=+Y
  1. D INITSCR^XMKPR1(XMINST,XMSITE,.XMB)
  1. Q
  1. CHKTSK(XMINST,XMCHOOSE,XMABORT) ;
  1. N XMTSK,XMTEXT,XMPARM
  1. S XMTSK=$$TSKEXIST^XMKPR(XMINST) Q:'XMTSK
  1. I +XMTSK=XMTSK D Q
  1. . W !,$C(7) ;Task |1| is transmitting this domain's messages now.
  1. . D BLD^DIALOG(42288,XMTSK,"","XMTEXT","F")
  1. . D MSG^DIALOG("WM","","","","XMTEXT")
  1. . S XMABORT=1
  1. W !,$C(7) ;Task |1| is scheduled to transmit this domain's messages
  1. ;on |2|.
  1. S XMPARM(1)=+XMTSK,XMPARM(2)=$$HTE^XLFDT($P(XMTSK,U,2),5)
  1. D BLD^DIALOG(42288.1,.XMPARM,"","XMTEXT","F")
  1. D MSG^DIALOG("WM","","","","XMTEXT")
  1. S XMTSK=+XMTSK
  1. N DIR,X,Y
  1. S DIR(0)="Y",DIR("B")=$$EZBLD^DIALOG(39053) ;NO
  1. D BLD^DIALOG($S(XMCHOOSE=1:42289,1:42289.1),XMTSK,"","DIR(""A"")")
  1. ;1: Do you want to kill task |1| and queue up a new one
  1. ;2: Do you want to kill task |1| before we play the script
  1. D ^DIR I $D(DIRUT) S XMABORT=1 Q
  1. I 'Y S:XMCHOOSE=1 XMABORT=1 Q
  1. D KILLTSK^XMKPR(XMINST,XMTSK)
  1. Q