| 1 | XMPH ;(WASH ISC)/THM/CAP-PackMan Load Routines/Print Msg ;12/04/2002  13:48 | 
|---|
| 2 | ;;8.0;MailMan;**10**;Jun 28, 2002 | 
|---|
| 3 | ; Entry points used by MailMan options (not covered by DBIA): | 
|---|
| 4 | ; LOAD   XMPROU - Load routines | 
|---|
| 5 | ;USER ENTRY LIST OF ROUTINES | 
|---|
| 6 | Q | 
|---|
| 7 | DEV ;GET OUTPUT DEVICE / QUEUE PACKMAN PRINT | 
|---|
| 8 | N I,ZTSAVE | 
|---|
| 9 | F I="DIE","XMZ","XMDUZ","XMV(","XMP2","XMR","XCF" S ZTSAVE(I)="" | 
|---|
| 10 | D EN^XUTMDEVQ("ZTSK^XMPH","MailMan: PackMan Print",.ZTSAVE) | 
|---|
| 11 | Q | 
|---|
| 12 | ZTSK ;QUEUED PRINT COMES HERE | 
|---|
| 13 | N XMSUBJ,XMZSTR | 
|---|
| 14 | I XCF=3 D | 
|---|
| 15 | . D TOP^XMPC | 
|---|
| 16 | E  I $E($G(IOST),1,2)'="C-" D | 
|---|
| 17 | . N XMPARM,XMZREC | 
|---|
| 18 | . S XMZREC=$G(^XMB(3.9,XMZ,0)) | 
|---|
| 19 | . W $$EZBLD^DIALOG($S($P(XMZREC,U,7)["K":34076,1:34077)) ; KIDS Build / PackMan message | 
|---|
| 20 | . W $S(XMP2="T":" text print for ",1:" print for "),XMV("NAME") | 
|---|
| 21 | . S XMPARM(1)=^XMB("NETNAME"),XMPARM(2)=$$MMDT^XMXUTIL1($$NOW^XLFDT) | 
|---|
| 22 | . W !,$$EZBLD^DIALOG(34503,.XMPARM) ; Printed at |1| |2| | 
|---|
| 23 | . Q:XMP2="S" | 
|---|
| 24 | . S XMSUBJ=$$EZBLD^DIALOG(34536,$$SUBJ^XMXUTIL2(XMZREC)) ; Subj: |1| | 
|---|
| 25 | . S XMZSTR=$$EZBLD^DIALOG(34537,XMZ) ; [#|1|] | 
|---|
| 26 | . W !,XMSUBJ | 
|---|
| 27 | . D W^XMJMP1("  ",XMZSTR) | 
|---|
| 28 | . D W^XMJMP1(" ",$$DATE^XMXUTIL2(XMZREC)) | 
|---|
| 29 | . D WL^XMJMP1($$EZBLD^DIALOG(34538,$$NAME^XMXUTIL($P(XMZREC,U,2),1))) ; From: | 
|---|
| 30 | . D W^XMJMP1(" ",$$EZBLD^DIALOG(34541)) ; Page 1 | 
|---|
| 31 | . D LINE^XMJMP1 | 
|---|
| 32 | . W ! | 
|---|
| 33 | D S^XMP2 | 
|---|
| 34 | I $D(ZTQUEUED) S ZTREQ="@" | 
|---|
| 35 | Q | 
|---|
| 36 | LOAD ;LOAD ROUTINE FROM <X> INTO GLOBAL <DIF>_I_",0)" | 
|---|
| 37 | ; | 
|---|
| 38 | ;DIFROM NEEDS A MESSAGE NUMBER | 
|---|
| 39 | ; | 
|---|
| 40 | S (DIE,DIF)="^XMB(3.9,XMZ,2," | 
|---|
| 41 | I $D(DIFROM) W !!,"Please enter the names of the routines you wish to load into this message.",!!,"Only routines will be loaded." | 
|---|
| 42 | I  W !!,"INITs, will be sent automatically.",!! | 
|---|
| 43 | ;K ^UTILITY($J#256) | 
|---|
| 44 | X ^%ZOSF("RSEL") Q:$O(^UTILITY($J,0))="" | 
|---|
| 45 | S X=0 S:'$D(XCNP) XCNP=0 | 
|---|
| 46 | F  S X=$O(^UTILITY($J,X)) Q:X=""  D LL | 
|---|
| 47 | K ^UTILITY($J) | 
|---|
| 48 | Q | 
|---|
| 49 | LL N XMHOLD S XMHOLD=XCNP | 
|---|
| 50 | W !,"Loading ",X S DIF=DIE,XCNP=XCNP+1,@(DIF_XCNP_",0)")="$ROU "_X | 
|---|
| 51 | X ^%ZOSF("LOAD") S $P(@(DIF_"0)"),U,3,4)=XCNP_U_XCNP | 
|---|
| 52 | S @(DIF_XCNP_",0)")="$END ROU "_X | 
|---|
| 53 | ; | 
|---|
| 54 | ;Check for control characters in text | 
|---|
| 55 | F XMHOLD=XMHOLD:1:XCNP I $G(@(DIF_XMHOLD_",0)"))?.E1C.E D  S XQCH="HALT" G H^XUS | 
|---|
| 56 | . W !!,$C(7),"Errored out loading routine ",X," - control character in text." | 
|---|
| 57 | . W !,"Use ^XINDEX to identify it, then remove from routine and try again.",!! | 
|---|
| 58 | . D KILLMSG^XMXUTIL(XMZ) | 
|---|
| 59 | Q | 
|---|
| 60 | ; | 
|---|
| 61 | PACK ;LOAD ENTIRE PACKAGE (ROUTINES ONLY) | 
|---|
| 62 | ; | 
|---|
| 63 | S:'$D(XCNP) XCNP=0 | 
|---|
| 64 | I '$D(DIFROM) S DIC="^DIC(9.4,",DIC(0)="AEQM" D ^DIC Q:Y<0  S DA=+Y | 
|---|
| 65 | S XMROU="^DIC(9.4,"_DA_",2,""B""," | 
|---|
| 66 | P S (XMA0,XMB0)="",(DIE,DIF)="^XMB(3.9,"_XMZ_",2," | 
|---|
| 67 | G P9:'$D(^%ZOSF("TEST")) S XMB=^("TEST") | 
|---|
| 68 | P1 S XMA0=$O(@(XMROU_"XMA0)")) I $L(XMA0) D TST G P1 | 
|---|
| 69 | G ER:XMB0 | 
|---|
| 70 | P9 S XMA0=$O(@(XMROU_"XMA0)")) G Q:XMA0="" S X=XMA0 D LL G P9 | 
|---|
| 71 | ; | 
|---|
| 72 | XMROU ;LOAD ROUTINES (FROM XMD) | 
|---|
| 73 | ; | 
|---|
| 74 | S XCNP=XCNP+1,$P(^XMB(3.9,XMZ,2,0),U,3,4)=XCNP_U_XCNP,^(XCNP,0)="$END TXT" | 
|---|
| 75 | S XMROU="XMROU(" G P | 
|---|
| 76 | ; | 
|---|
| 77 | TST S X=XMA0 X XMB Q:$T  S XMB0=1 W !,"Program ",X," does not exist." Q | 
|---|
| 78 | ER W !!,"<< Correct the errors listed above.",!,"Then you may try again.",! | 
|---|
| 79 | Q K XMA0,XMB0,XMB,XMROU,DIE,DIF Q | 
|---|