cANEM1(CODE,PRG,PRGNM,TXT,VARPRG,FLT) ;Alert-boodschappen ;%ANEM1 [ 12/28/00 8:27 AM ] ; ; D ^cANEM1(code,prg,prgnm,.txt,.varprg,flt) ; |-> met .x kan je een tabel doorgeven ; Code = code van Alert-boodschap ; Prg = programma ; Prg = programma-naam ; VARPRG = tabel met variabelen uit prog ; TXT = tabel met vaste lijnen vaste lijnen (gedefin. in applicatie) ; FLT = filter op E-mail adressen (X FLT) ; 1 S $ZT="TRAP^cAN000" N UCI,UI1,BA,K,UQC,USC,IREF,DTXT,UI1A,I,J,BE,AAN,CC,IND,VAR,OK,FROM ; indien niet in TST : switchen naar TST (definities) S UCI=$ZU($ZV'["MSM"*5) I $ZV["MSM",$P(UCI,",")'="TST" D IN^cQMSMSW("TST") S (UI1,UI1A)=$$UI1^cAFA1("ALERT",110,CODE) I '$L(UI1) G YZ S BA(1)=$$SIGN^cAFA1("ALERT",UI1,0) I $P(BA(1),D,30) G YZ ; alert buiten gebruik ; 2 ; samenstellen SYS-gegevens D ^cA105,^cA106 K ^HULP(boot,$J+.555),^($J+.556),^($J+.550),^($J+.557) S ^HULP(boot,$J+.555,0,2)=$P(BA(1),D,10)_" - "_$P(BA(1),D)_" - "_$$NS^cQ14_" - "_UCI_" "_$G(^cLOG(boot,"DESCRIPTION",0,0))_" - "_DT_" - "_TD S ^HULP(boot,$j+.555,0,3)=$G(QU) I $D(QU(2)) S ^(3)=^(3)_" - "_$G(QU(2)) S ^HULP(boot,$j+.555,0,3)=^HULP(boot,$j+.555,0,3)_" - "_$G(Q)_" - "_$G(@("^"_Q_"BA(99,1)")) S ^HULP(boot,$J+.555,0,4)=$G(PRG)_" "_$G(PRGNM) I $D(%ZM) S ^HULP(boot,$J+.555,0,5)=%ZM_" = "_$P($G(@("^|UCI|"_$P(%ZM,"^",2,99))),D)_"/"_$P($G(@$ZR),D,11) S $P(^HULP(boot,$J+.555,0,6),"-",50)="-" S ^HULP(boot,$J+.555,0,7)="" ; vaste tekst bij systeem-info S I="" F J=12:1 S I=$O(TXT(I)) Q:I="" S ^(J)=TXT(I) ; ophalen gedef. variabelen I '$D(VAR) D VAR(.VAR) M VAR=VARPRG ; indien var. spec. gedef. in progr. ; 3 ; ophalen tekst D DMS^cAN000("UQC","USC","ALERT.TXT",1) S DTXT="" I $L(UQC)&$L(USC) S DTXT=$G(^DMC(UQC,USC,"DATA","TXT")) D DTXT(UI1A) ; ophalen standaard tekst ; specifieke Xecute S OK=0 I $L($P(BA(1),D,4)) X $P(BA(1),D,4) I OK G 5:OK=1,YZ:OK=2 ; 4 ; E-mail adressen S I=$$ADRESA(UI1A,"") S CC=$P(I,D,2),AAN=$P(I,D) S FROM=$$SIG^cAFA1("PAR","MAIL",105) ; 5 ; versturen E-mail I $D(^HULP(boot,$J+.556)) D MAIL^cA350(FROM,AAN,CC,$$CONV($P(BA(1),D,2)),"^HULP(boot,$J+.556,TO)",Q) I '$D(^HULP(boot,$J+.557)) G YZ ; ingeval Memo-data N S1,S2,TO S I="",J=0 S TO="" F S TO=$O(^HULP(boot,$J+.557,TO)) Q:TO="" D . F S I=$O(^HULP(boot,$J+.557,TO,I)) Q:I="" D .. S S2=^(I) .. N I .. I J>7 D ... D MEMO^cA5002(.S1,TO) ... S J=0 K S1 .. S J=J+1 .. S S1(J)=S2 . I $L($O(S1(""))) D MEMO^cA5002(.S1,TO) ; YZ K ^HULP(boot,$J+.555),^($J+.556),^($J+.550),^($J+.557) I $ZV["MSM",$D(UCI),$P(UCI,",")'="TST" D IN^cQMSMSW($P(UCI,",")) Q ; ADRES(UI1,SYN) ; samenstellen adressen S BE(1)=$$SIGN^cAFA1("ALERT_USR",UI1,0) I $P(BE(1),D,30) Q N IND S IND=.556 ; indien gebruiker : E-mail van bij de gebruiker I $P(BE(1),D,2) D G ADRES1 . S $P(BE(1),D,3)=$$SIG^cAFA1("USR",$P(BE(1),D,2),221) . I '$L($P(BE(1),D,3))!'$G(SWEM) S $P(BE(1),D,3)=$P(^(0),D),IND=.557 I $P(BE(1),D,3) S $P(BE(1),D,3)=$S($G(SWEM):$$SIG^cAFA1("MAIL.ADDR",$P(BE(1),D,3),103),1:"") ADRES1 I '$L($P(BE(1),D,3)) Q ; geen E-mail adres ; indien Q-waarde ingevuld is, .... I '$G(SYN),$L($P(BE(1),D,11)),$G(Q)'=$$SIG^cAFA1("Q",$P(BE(1),D,11),101) Q ; conditie om te versturen I '$G(SYN),$L($G(FLT)) X FLT I '$T Q I IND'=.556 G ADRES2 I $P(BE(1),D,4) S CC=CC_$S($L(CC):U,1:"")_$P(BE(1),D,3) ; CC E S AAN=AAN_$S($L(AAN):U,1:"")_$P(BE(1),D,3) ; AAN ADRES2 I $G(SYN) G ADRESZ ; S TXT=$S($P(BE(1),D,5):$P(BE(1),D,5),1:$P(BA(1),D,3)) ; S ^HULP(boot,$J+IND)="" S TXT=UI1A D DTXT(TXT) ; tekst ; indien SYS-info I $P(BE(1),D,6) M ^HULP(boot,$J+IND,$P(BE(1),D,3))=^HULP(boot,$J+.555,0) S J=$O(^HULP(boot,$J+IND,$P(BE(1),D,3),""),-1)+2 ; opbouw tekst per E-mail adres S I="" I $L(TXT) F S I=$O(^HULP(boot,$J+.555,TXT,I)) Q:I="" S ^HULP(boot,$J+IND,$P(BE(1),D,3),J)=^(I),J=J+1 ADRESZ Q ; ADRESA(UI1A,SYN) ; ophalen 'aan' en 'Cc' voor tonen in synoniemen ; SYN=1 indien voor synoniemen N UQC,USC,IREF,IND,BE,AAN,CC S SWEM='$$DMS("MAIL") D DMS^cAN000("UQC","USC","ALERT_USR") S AAN="",CC="" I '$L(UQC)!'$L(USC) G ADRESAZ S IREF=$G(^DMC(UQC,USC,"DATA","INDEX")) I '$L(IREF) G ADRESAZ S IND=UI1A_" " F S IND=$O(@IREF@(101,IND)) Q:$P(IND," ")'=UI1A D ADRES(^(IND),$G(SYN)) ADRESAZ Q AAN_$S($L(AAN):D,1:"")_CC ; CONV(A) ; %xxx% uit K vertalen naar data in %xxx% variabele N I,K I A'["%" G CONVZ S I="" F S I=$O(VAR(I)) Q:I="" F Q:A'[("%"_I_"%") S A=$P(A,"%"_I_"%")_VAR(I)_$P(A,"%"_I_"%",2,99) CONVZ Q A ; DMS(Q1) ; N R S R="" I $L(Q),$L(Q1) S R=$G(^DMS(Q,Q1,0)) I '$L(R),$L(Q1) S R=$G(^DMS(0,Q1,0)) S R=$P(R,D,30) Q R ; DTXT(UI1) ; ophalen tekst I '$L($G(DTXT)) G DTXTZ N ITXT I '$L(UI1) G DTXTZ ; indien reeds opgehaald en geconverteerd I $D(^HULP(boot,$J+.555,UI1)) G DTXTZ I '$D(@DTXT@(UI1)) Q M ^HULP(boot,$J+.555,UI1)=@DTXT@(UI1) S ITXT="" F S ITXT=$O(^HULP(boot,$J+.555,UI1,ITXT)) Q:ITXT="" S ^HULP(boot,$J+.555,UI1,ITXT)=$$CONV(^(ITXT)) DTXTZ Q ; UI1(DMS,BI,X) ; test uniek gegeven N i F i=1:1:$L(X) q:$E(X,i)?1N S X=$E(X,1,i-1) Q $$UI1^cAFA1(DMS,BI,X) ; VAR(VAR) ; ophalen variabelen N UQC,USC,UI1,UREF,K,B K VAR D DMS^cAN000("UQC","USC","ALERT.VAR") I '$L(UQC)!'$L(USC) G VARZ S UREF=$G(^DMC(UQC,USC,"DATA","REF")) I '$L(UREF) G VARZ S UI1="" F S UI1=$O(@UREF) Q:UI1="" D . I $P(@UREF@(0),D,30) Q . S B=^(0) . X "S K="_$P(B,D,3) . S VAR($P(B,D))=K VARZ Q ; ; opzetten vaste variabelen applicatie-gebonden in TABEL VARPRG(TABEL,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15) K TABEL N i F i=1:1:15 I $D(@("B"_i)) S TABEL("B"_i)=@("B"_i) Q ; ZZ ; 05.02.01 - 16 u 23 * V7.84