1 | XMCX ;ISC-SF/GMB-Play a Script / Queue Transmit Task ;12/04/2002 13:45
|
---|
2 | ;;8.0;MailMan;**6,10**;Jun 28, 2002
|
---|
3 | ; Was (WASH ISC)/THM
|
---|
4 | ;
|
---|
5 | ; Entry points used by MailMan options (not covered by DBIA):
|
---|
6 | ; PLAY XMSCRIPTPLAY (was GO^XMC11)
|
---|
7 | ; Q1 XMSTARTQUE (was Q^XMC2)
|
---|
8 | ; QALL XMSTARTQUE-ALL (was REQUE^XMS5)
|
---|
9 | Q
|
---|
10 | PLAY ; Play a script
|
---|
11 | N XM,XMB,XMC,XMINST,XMSITE,XMIO,XMHOST,XMABORT
|
---|
12 | K XMTLER
|
---|
13 | S XM="D",XMABORT=0
|
---|
14 | D ASKINST^XMCXU(.XMINST,.XMSITE,.XMABORT) Q:XMABORT
|
---|
15 | D CHKTSK^XMCXU(XMINST,2,.XMABORT) Q:XMABORT
|
---|
16 | D ASKSCR^XMCXU(XMINST,XMSITE,.XMB,.XMABORT) Q:XMABORT
|
---|
17 | S XMIO=$P(XMB("SCR REC"),U,5)
|
---|
18 | AGAIN ;
|
---|
19 | D ENT^XMC1
|
---|
20 | I ER=25!($G(XMHOST)="NO-IP") D G:'XMABORT AGAIN
|
---|
21 | . N XMTEXT,XMIPSAVE
|
---|
22 | . I '$$USEDNS^XMKPR1 D Q
|
---|
23 | . . S XMABORT=1
|
---|
24 | . . ;DNS is not activated at this site, so you'll have to figure
|
---|
25 | . . ;out the correct IP address yourself.
|
---|
26 | . . D BLD^DIALOG(42263,"","","XMTEXT","F")
|
---|
27 | . . D MSG^DIALOG("WM","","","","XMTEXT")
|
---|
28 | . ;Let's see what we can do...
|
---|
29 | . ;We've tried these: |1|
|
---|
30 | . D BLD^DIALOG(42264,XMB("IP TRIED"),"","XMTEXT","F")
|
---|
31 | . D MSG^DIALOG("WM","","","","XMTEXT")
|
---|
32 | . S XMB("TRIES")=XMB("TRIES")+1
|
---|
33 | . S XMIPSAVE=XMB("IP TRIED"),XMC("PLAY")=1
|
---|
34 | . D NEXTIP^XMKPR1(XMSITE,.XMB) K XMC("PLAY")
|
---|
35 | . I XMIPSAVE=XMB("IP TRIED") D Q
|
---|
36 | . . S XMABORT=1
|
---|
37 | . . ;The DNS did not return any other addresses to try. Sorry!
|
---|
38 | . . D BLD^DIALOG(42265,"","","XMTEXT","F")
|
---|
39 | . . D MSG^DIALOG("WM","","","","XMTEXT")
|
---|
40 | . W !,$$EZBLD^DIALOG(42266,$P(XMB("SCR REC"),U,6)) ;Now, let's try: |1|
|
---|
41 | . K ER,XMER
|
---|
42 | I 'XMABORT,'ER S XMC("PLAY")=1 D CHKSETIP^XMTDR(XMINST,XMSITE,.XMB)
|
---|
43 | D KL^XMC
|
---|
44 | Q
|
---|
45 | Q1 ; Trigger a queue for transmission
|
---|
46 | N XMB,XMINST,XMSITE,XMTSK,XMABORT
|
---|
47 | S XMABORT=0 ; pick a queue w/msgs
|
---|
48 | D ASKINST^XMCXU(.XMINST,.XMSITE,.XMABORT,"M") Q:XMABORT
|
---|
49 | D CHKTSK^XMCXU(XMINST,1,.XMABORT) Q:XMABORT
|
---|
50 | D ASKSCR^XMCXU(XMINST,XMSITE,.XMB,.XMABORT) Q:XMABORT
|
---|
51 | D QUEUE(XMINST,XMSITE,.XMB)
|
---|
52 | Q
|
---|
53 | TASK ;
|
---|
54 | QALL ;
|
---|
55 | N XMDUZ,XMK,XMIEN,XMSITE
|
---|
56 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
57 | D RESEQ^XMCQA
|
---|
58 | K ^TMP("XM",$J)
|
---|
59 | S XMK=1000
|
---|
60 | F S XMK=$O(^XMB(3.7,.5,2,XMK)) Q:'XMK Q:XMK>9999 D
|
---|
61 | . Q:'$$BMSGCT^XMXUTIL(.5,XMK)
|
---|
62 | . W:'$D(ZTQUEUED) "."
|
---|
63 | . S XMIEN=XMK-1000
|
---|
64 | . S:'$$TSKEXIST^XMKPR(XMIEN) ^TMP("XM",$J,$P(^DIC(4.2,XMIEN,0),U))=XMIEN
|
---|
65 | I '$D(^TMP("XM",$J)) D Q
|
---|
66 | . W:'$D(ZTQUEUED) !!,$$EZBLD^DIALOG(42125) ;All queues with messages have tasks.
|
---|
67 | I '$D(ZTQUEUED) D Q:'$D(^TMP("XM",$J))
|
---|
68 | . W:$E($G(IOST),1,2)="C-" @IOF
|
---|
69 | . W !,$$EZBLD^DIALOG(42126),! ;These queues with messages have no tasks:
|
---|
70 | . S XMSITE=""
|
---|
71 | . F S XMSITE=$O(^TMP("XM",$J,XMSITE)) Q:XMSITE="" D
|
---|
72 | . . I $Y+3>IOSL D
|
---|
73 | . . . D WAIT^XMXUTIL
|
---|
74 | . . . W @IOF
|
---|
75 | . . S XMIEN=^TMP("XM",$J,XMSITE)
|
---|
76 | . . W !,$E(XMSITE,1,37)
|
---|
77 | . . Q:$P(^DIC(4.2,XMIEN,0),U,2)["S"
|
---|
78 | . . W ?40,$$EZBLD^DIALOG(42127) ;No Send Flag - Will not task
|
---|
79 | . . K ^TMP("XM",$J,XMSITE)
|
---|
80 | . Q:'$D(^TMP("XM",$J))
|
---|
81 | . N DIR
|
---|
82 | . S DIR(0)="YO"
|
---|
83 | . S DIR("A")=$$EZBLD^DIALOG(42128) ;Requeue the missing tasks
|
---|
84 | . S DIR("B")=$$EZBLD^DIALOG(39053) ;No
|
---|
85 | . D BLD^DIALOG(42129,"","","DIR(""?"")") ;Answer YES to create tasks to transmit these queues.
|
---|
86 | . D ^DIR Q:Y
|
---|
87 | . W !!,$$EZBLD^DIALOG(42130) ;Tasks not requeued.
|
---|
88 | . K ^TMP("XM",$J)
|
---|
89 | S XMSITE=""
|
---|
90 | F S XMSITE=$O(^TMP("XM",$J,XMSITE)) Q:XMSITE="" D
|
---|
91 | . S XMIEN=^TMP("XM",$J,XMSITE)
|
---|
92 | . I $$UP^XLFSTR($P(^DIC(4.2,XMIEN,0),U,2))'["S" D Q
|
---|
93 | . . W:'$D(ZTQUEUED) !,$E(XMSITE,1,37),?40,$$EZBLD^DIALOG(42127) ;No Send Flag - Will not task
|
---|
94 | . D QUEUE(XMIEN,XMSITE)
|
---|
95 | W:'$D(ZTQUEUED) !,$$EZBLD^DIALOG(42132) ;Finished.
|
---|
96 | K ^TMP("XM",$J)
|
---|
97 | Q
|
---|
98 | QUEUE(XMINST,XMSITE,XMB,XMWHEN,XMTSK) ;
|
---|
99 | D QUEUE^XMKPR(XMINST,XMSITE,.XMB,.XMWHEN,.XMTSK) Q:$D(ZTQUEUED)
|
---|
100 | W !,$E(XMSITE,1,37),?40,$$EZBLD^DIALOG($S($D(XMTSK):42131,1:39311),$G(XMTSK)) ;Task |1| queued / Task creation failed
|
---|
101 | Q
|
---|