cAN000 ;Standaardfuncties ;%AN000 ; [ 09/13/01 2:17 PM ] ; T0 ;Standaardfuncties ; T1 ;Pag. ; T2 ;U heeft geen licentie voor dit bestand : ; T3 ;Verwijderd~Annulé~Annuliert~Deleted; T4 ;Opening~Création~Kreation~Creation; ; T0F ;Fonctions standardisés ; T1F ;Page ; T2F ;Vous n'avez pas de license pour ce fichier : ; T3F ;Verwijderd~Annulé~Annuliert~Deleted; T4F ;Opening~Création~Kreation~Creation; ; T0E ;Standard functions ; T1E ;Page ; T2E ;You have no license for this file : ; T3E ;Verwijderd~Annulé~Annuliert~Removed; T4E ;Opening~Création~Kreation~Creation; ; ;----------------------------------------------------------------------------- ; set B() B(U7,K) S $ZT="TRAP^cAN000" I U7>100,U7<(SW3+1*100) S $P(B(U7\100),D,U7#100)=K D . do:$data(KlantObjectDataM)&&$IsObject(KlantObjectDataM) KlantObjectDataM.ZetWaardeViaBIndex(U7,K) . S $P(B(1),D,28)=$H,$P(B(1),D,29)=$G(QU) ; std. log . I UFU="W" S $P(ULOG(U7),D)=$TR(U2(1),D,"~"),ULOG(128)="" ; uitgebr. BZ Q ; ;----------------------------------------------------------------------------- ; set B() vanuit andere rubriek met correcte Logging (zelfde pagina) BL(U7,K) S $ZT="TRAP^cAN000" I UFU="W",$G(U2(16))'=U7 N U1,U2 D . S U1="" F S U1=$O(C(U1)) Q:U1="" D M(U1) I U2(16)=U7 Q I $G(U2(16))=U7!(UFU="O") D B(U7,K),S3^cAN2201(K):UFU="W" BLZ Q ; ;----------------------------------------------------------------------------- ; conversie Data voor Indexbestand DI(R,NR) S $ZT="TRAP^cAN000" I R?2N1"."2N1"."2N S R=$$DC^cAFA1(R) DIA I R'?.N S R=$$UC^cAFA1(R) DIB I R?.E1P.E S R=$$DP^cAFA1(R) DIZ Q R_" "_NR ; ;----------------------------------------------------------------------------- ; Merge rubriek M(R) S $ZT="TRAP^cAN000" N S1 MA K U2 S U2(1)=^DMA(UQA,USA,SW2,C(R),1) F S1=2:1:26 S U2(S1)=$G(^(S1)) MZ Q ; ;----------------------------------------------------------------------------- ; opladen pagina S1(R) S $ZT="TRAP^cAN000" N S1,S2 S1A W /WSCROFF,/CUP($P(UTIT,D,2)+1,1),/WCMD S1B I SW4>1 W /CUP(1,$P(QW(QW),D,4)-11),$P($T(@("T1"_QT)),U,2),R,"/",SW4,/WCML S1C S S1=0 F S2=1:1 S S1=$O(^DMA(UQA,USA,R,S1)) Q:S1="" S C(S2)=S1 S1Z Q ; ;----------------------------------------------------------------------------- ; tonen nummer + omschrijving rubriek S2(R) S $ZT="TRAP^cAN000" D M(R) S2A I SW5,U2(22) W /CUP(U2(2),U2(3)),$J(R,2) S2B I SW5,U2(23) W /CUP(U2(2),U2(3)+3),/SGR(4),$P(U2(1),D,QTU),/SGR(0),/CUP(U2(2),U2(6)-2),":" S2C W /CUP(U2(2),U2(6)),$J("",U2(13)) S2Z Q ; ;----------------------------------------------------------------------------- ; tonen output S3(U3) S $ZT="TRAP^cAN000" I $L(U2(8)) X U2(8) S3A W /CUP(U2(2),U2(6)),$E(U3_$J("",U2(13)),1,U2(13)) S3B I $G(U7),$D(ULOG(U7)) S $P(ULOG(U7),D,3)=$E(U3,1,U2(13)) D . S $ZT="TRAP^cAN000" . N K,U3 S (K,U3)=$P(A(U7\100),D,U7#100) I $L(U2(8)) X U2(8) . S $P(ULOG(U7),D,2)=$E(U3,1,U2(13)) S3Z Q ; ;----------------------------------------------------------------------------- ; licentie/synoniemen DMS(UQ,US,Q1,NOM) S $ZT="TRAP^cAN000" N R DMSA S R="" I $L(Q),$L(Q1) S R=$G(^DMS(Q,Q1)) I $L(R),$P($G(^(Q1,0)),D,30) S R=D I '$L(R),$L(Q1) S R=$G(^DMS(0,Q1)) I $L(R),$P($G(^(Q1,0)),D,30) S R=D DMSB S @UQ=$P(R,D),@US=$P(R,D,2) DMSC I @UQ=""!(@US=""),'$G(NOM) D ER($P($T(@("T2"_QT)),U,2)_Q1) DMSZ Q ; ;----------------------------------------------------------------------------- ; opbouw Logger met Data LD(R,REF,DATA) S $ZT="TRAP^cAN000" I $G(NOLOGTAB) Q LDA S LOG($$LOG)=R_" "_REF I R="S" D . I DATA["""" S DATA=$$DBLQ^cAFA1(DATA) . S LOG(LOG)=LOG(LOG)_"="""_DATA_"""" LDZ Q ; ;----------------------------------------------------------------------------- ; volgnummer logger LOG() S LOG=$O(LOG(""),-1)+1 LOGZ Q LOG ; ;----------------------------------------------------------------------------- ; Nieuw nummeR + index1 NR() S $ZT="TRAP^cAN000" N LOGTAB,Q2,S1,S2,UI1,UREF,X,Y NRA S LOGTAB=$G(^DMC(UQC,USC,"LOGTAB")) I $L(LOGTAB) S LOGTAB=$NA(@LOGTAB) NRB S S1=^DMC(UQC,USC,"DATA"),S2=^("DIN"),UREF=^("DATA","REF"),(X,Y)="" NRC I S1=1 D . S Q2=^("OUD"),UI1=$P(B(1),D) I $L(UI1),$D(@Q2@(UI1)) S UI1="" . I UI1="" F D Q:'$D(@Q2@(UI1)) .. L +@S2 S UI1=$G(@S2,1000),@S2=UI1+1,X=$ZR,Y=UI1+1 L -@S2 . S $P(B(1),D)=UI1,UI1=$$DI($P(B(1),D,2),UI1) NRD I S1=2 D . S UI1=$P(B(1),D)_" " NRE I S1=3!(S1=4) D . F D Q:'$D(@UREF) .. L +@S2 S UI1=$G(@S2,1000),@S2=UI1+1,X=$ZR,Y=UI1+1 L -@S2 NRF I S1=5 X S2 NRG I $L(X),$L(LOGTAB) D LD("S",X,Y) NRZ Q UI1 ; ;----------------------------------------------------------------------------- ; Indexen bijwerken ; R="C" : controle integriteit ; R="K" : kill ; R="S" : set I(R) S $ZT="TRAP^cAN000" S S4=0 F S S4=$O(^DMC(UQC,USC,"INDEX",S4)) Q:S4="" D . S S0=^(S4),S2=$P(S0,D),S0=$P(S0,D,2) . I $P(UFU,D)="I"!($P(UFU,D)="C"),$P(UFU,D,2),S2'=$P(UFU,D,2) Q . I R="K" S S3=$P(A(S2\100),D,S2#100) D .. D I2 .. I $L(S3) K @IREF@(S2,$$DI(S3,S5)) I $L(LOGTAB) D LD("K",$ZR) . I R="S" S S3=$P(B(S2\100),D,S2#100) D .. D I2 .. I $L(S3) S @IREF@(S2,$$DI(S3,S5))=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) . I R="C" S S3=$P(B(S2\100),D,S2#100) D .. D I2 .. I $L(S3) S S9=$$DI(S3,S5) I $G(@IREF@(S2,S9))'=UI1 S @LOG@(UI1,S2)=S9_D_$G(@IREF@(S2,S9)) ; VJ-17.08.00 S S4=0 F S S4=$O(^DMC(UQC,USC,"INDEX2",S4)) Q:S4="" D . S S0=^(S4),S2=$P(S0,D),S0=$P(S0,D,2) . I $P(UFU,D)="I"!($P(UFU,D)="C"),$P(UFU,D,2),S2'=$P(UFU,D,2) Q . I R="K" S S3=$P(A(S2\100),D,S2#100) D .. D I2 I $L(S3) S S3=$P($$DI(S3,S5)," ") D I2 .. I $L(S3) K @IREF2@(S2,S3,S5) I $L(LOGTAB) D LD("K",$ZR) . I R="S" S S3=$P(B(S2\100),D,S2#100) D .. D I2 I $L(S3) S S3=$P($$DI(S3,S5)," ") D I2 .. I $L(S3) S @IREF2@(S2,S3,S5)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) . I R="C" S S3=$P(B(S2\100),D,S2#100) D .. D I2 I $L(S3) S S3=$P($$DI(S3,S5)," ") D I2 .. I $L(S3) I $G(@IREF2@(S2,S3,S5))'=UI1 S @LOG@(UI1,S2_"/2")=S3_D_$G(@IREF2@(S2,S3,S5)) ; indien barcodes D IBAR(R) IZ Q ; ;----------------------------------------------------------------------------- ; lege string omzetten naar "0" of " " I2 I S0,S3="" S S3=$TR(S0,"12","0 ") Q ; ;----------------------------------------------------------------------------- I3 I S0,S6="" S S6=$TR(S0,"12","0 ") Q ; ;----------------------------------------------------------------------------- IBAR(R) ; opzetten indexen barcodes I '$L($G(^DMC(UQC,USC,"DATA","BAR"))) G IBARZ S S4=^DMC(UQC,USC,"DATA","BAR"),S8="BAR" F S7=1:1:$L(S4,D) S S2=$P(S4,D,S7) I $L(S2) D . I $P(UFU,D)="I"!($P(UFU,D)="C"),$P(UFU,D,2),S2'=$P(UFU,D,2) Q . I R="K" S S3=$P(A(S2\100),D,S2#100) I $L(S3) D .. K @IREF@(S8,$$DI(S3,S5)) I $L(LOGTAB) D LD("K",$ZR) .. I $L(IREF2) S S3=$P(S3," ") I $L(S3) K @IREF2@(S8,S3,S5) I $L(LOGTAB) D LD("K",$ZR) . I R="S" S S3=$P(B(S2\100),D,S2#100) I $L(S3) D .. S @IREF@(S8,$$DI(S3,S5))=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) .. I $L(IREF2) S S3=$P(S3," ") I $L(S3) S @IREF2@(S8,S3,S5)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) . I R="C" S S3=$P(B(S2\100),D,S2#100) I $L(S3) D .. S S9=$$DI(S3,S5) I $G(@IREF@(S8,S9))'=UI1 S @LOG@(UI1,S8)=S9_D_$G(@IREF@(S8,S9)) .. I $L(IREF2) S S9=$P(S9," ") I $L(S9) I $G(@IREF2@(S8,S9,S5))'=UI1 S @LOG@(UI1,S8_"/2")=S9_D_$G(@IREF2@(S8,S9,S5)) IBARZ Q ; ;----------------------------------------------------------------------------- ; Multiples bijwerken ; R="C" : controle integriteit ; R="K" : kill ; R="S" : set ; R="" : kill + set (enkel bij wijzigen) IM(R) S $ZT="TRAP^cAN000" N I,M,M4,MAX,MM4,MI,MREF,MW,S0,S2,S3 S M4=0 F S M4=$O(^DMC(UQC,USC,"MULTI",M4)) Q:M4="" D . K MM4 S (MAX,S4)=0 F S S4=$O(^DMC(UQC,USC,"MULTI",M4,S4)) Q:S4="" S MAX=MAX+1,MM4(MAX)=^(S4) . S MW=0 . I "K"[R D ; kill .. I UFU="W" S MW=1 F I=1:1:MAX S S2=$P(MM4(I),D) I $D(ULOG(S2)) S MW=0 .. I MW Q ; geen nodeloze kill .. K MI S M=1 F I=1:1:MAX D I MI(I)="" S M=0 Q ... S S0=$P(MM4(I),D,2),S2=$P(MM4(I),D),S3=$P(A(S2\100),D,S2#100),S3=$P($$DI(S3,"")," ") D I2 S MI(I)=S3 .. I M D ... S MI(MAX)=MI(MAX)_" "_UI1,MREF=$NA(@IREF@(M4)) F I=1:1:MAX S MREF=$NA(@MREF@(MI(I))) ... K @MREF I $L(LOGTAB) D LD("K",$ZR) . I "SC"[R D ; set/controle .. I MW Q ; geen nodeloze set .. I $P(UFU,D)="I"!($P(UFU,D)="C"),$P(UFU,D,2) S M=1 D I M Q ... F I=1:1:MAX S S2=$P(MM4(I),D) I S2=$P(UFU,D,2) S M=0 .. K MI S M=1 F I=1:1:MAX D I MI(I)="" S M=0 Q ... S S0=$P(MM4(I),D,2),S2=$P(MM4(I),D),S3=$P(B(S2\100),D,S2#100),S3=$P($$DI(S3,"")," ") D I2 S MI(I)=S3 .. I M D ... S MI(MAX)=MI(MAX)_" "_UI1,MREF=$NA(@IREF@(M4)) F I=1:1:MAX S MREF=$NA(@MREF@(MI(I))) ... I "S"[R S @MREF=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) Q ... I R="C",$G(@MREF)'=UI1 S @LOG@(UI1,M4)=$P($P(MREF,","""_M4_""",",2,99),")")_D_$G(@MREF) ; VJ 31.05.02 S M4=0 F S M4=$O(^DMC(UQC,USC,"MULTI2",M4)) Q:M4="" D . K MM4 S (MAX,S4)=0 F S S4=$O(^DMC(UQC,USC,"MULTI2",M4,S4)) Q:S4="" S MAX=MAX+1,MM4(MAX)=^(S4) . S MW=0 . I "K"[R D ; kill .. I UFU="W" S MW=1 F I=1:1:MAX S S2=$P(MM4(I),D) I $D(ULOG(S2)) S MW=0 .. I MW Q ; geen nodeloze kill .. K MI S M=1 F I=1:1:MAX D I MI(I)="" S M=0 Q ... S S0=$P(MM4(I),D,2),S2=$P(MM4(I),D),S3=$P(A(S2\100),D,S2#100),S3=$P($$DI(S3,"")," ") D I2 S MI(I)=S3 .. I M D ... S MREF=$NA(@IREF2@(M4)) F I=1:1:MAX S MREF=$NA(@MREF@(MI(I))) ... S MREF=$NA(@MREF@(UI1)) ... K @MREF I $L(LOGTAB) D LD("K",$ZR) . I "SC"[R D ; set/controle .. I MW Q ; geen nodeloze set .. I $P(UFU,D)="I"!($P(UFU,D)="C"),$P(UFU,D,2) S M=1 D I M Q ... F I=1:1:MAX S S2=$P(MM4(I),D) I S2=$P(UFU,D,2) S M=0 .. K MI S M=1 F I=1:1:MAX D I MI(I)="" S M=0 Q ... S S0=$P(MM4(I),D,2),S2=$P(MM4(I),D),S3=$P(B(S2\100),D,S2#100),S3=$P($$DI(S3,"")," ") D I2 S MI(I)=S3 .. I M D ... S MREF=$NA(@IREF2@(M4)) F I=1:1:MAX S MREF=$NA(@MREF@(MI(I))) ... S MREF=$NA(@MREF@(UI1)) ... I "S"[R S @MREF=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) Q ... I R="C",$G(@MREF)'=UI1 S @LOG@(UI1,M4_"/2")=$P($P(MREF,","""_M4_""",",2,99),")")_D_$G(@MREF) IMZ Q ; ;----------------------------------------------------------------------------- ; Update data op schijf U S $ZT="TRAP^cAN000" N IREF,IREF2,UREF,LOGREF,LOGTAB,Q2,S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,%OQ1 ; KU : 10.01.03 : in OQ1 eerst de huidige status wegschrijven UA I $P(UFU,D)'="C" S:$D(@%Q1) %OQ1=@%Q1 S @%Q1=0 S LOGREF=$G(^DMC(UQC,USC,"LOGGING")),LOGTAB=$G(^("LOGTAB")) I $L(LOGTAB) S LOGTAB=$NA(@LOGTAB) UB S S1=^DMC(UQC,USC,"DATA"),IREF=^("DATA","INDEX"),IREF2=$G(^("INDEX2")) S UREF=^("REF"),Q2=$G(^("OUD")),S5=$S(S1<3:$P(B(1),D),1:UI1) I $P(UFU,D)="C" D ; contr.integriteit . I $P(B(1),D,30)=2 Q . I S1<5 D I("C"),IM("C") . I S1=1,$G(@Q2@(S5))'=UI1 S @LOG@(UI1,$TR($P(Q2,"_Q_",2),""")"))=S5_D_$G(@Q2@(S5)) . I S1=2 S S3=$P(B(1),D,2) I $L(S3) S S9=$$DI(S3,UI1) I $G(@Q2@(S9))'=S3 S @LOG@(UI1,$TR($P(Q2,"_Q_",2),""")"))=S9_D_$G(@Q2@(S9)) UC I $P(UFU,D)="I" D ; controle indexen . I $P(B(1),D,30)=2 Q . I S1<5 D I("S"),IM("S") . I S1=1,'$D(@Q2@(S5)) S @Q2@(S5)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) . I S1=2 S S3=$P(B(1),D,2) I $L(S3) S @Q2@($$DI(S3,UI1))=S3 I $L(LOGTAB) D LD("S",$ZR,S3) I $P(UFU,D)'="C" D ^cA106,^cA105 UD I UFU="O" D ; openen (SW2=pagina) . I S1<5 F S4=1:1:SW3 S @UREF@(S4-1)=B(S4) I $L(LOGTAB) D LD("S",$ZR,B(S4)) . I S1=5 S @UREF=B(1) I $L(LOGTAB) D LD("S",$ZR,B(1)) . I S1<5 D I("K"):$D(A(SW3)),I("S"),IM("K"):$D(A(SW3)),IM("S") I S1<3,SW2=1 D .. I S1=1 S @Q2@(S5)=UI1,S4=UI1 .. I S1=2 S S3=$P(B(1),D,2) I $L(S3) S @Q2@($$DI(S3,UI1))=S3,S4=S3 .. I $L(LOGTAB) D LD("S",$ZR,S4) . I SW2=1,$L(LOGREF) S ULOG(1)=$P($T(@("T4"_QT)),U,2) D ULOG(UFU,1,"","") UE I UFU="W" D ; wijzigen via ULOG() . I S1<5 D .. S S2=0 F S S2=$O(ULOG(S2)) Q:S2="" D ... I $P(A(S2\100),D,S2#100)=$P(B(S2\100),D,S2#100) K ULOG(S2) .. I $O(ULOG(0))=128,$O(ULOG(128))="" K ULOG(128) .. S S2=0 F S S2=$O(ULOG(S2\100+1*100)) Q:S2="" D ... S @UREF@(S2\100-1)=B(S2\100) I $L(LOGTAB) D LD("S",$ZR,B(S2\100)) .. I S1=1,$D(ULOG(102)) S S3=$$DI($P(B(1),D,2),S5) I S3'=UI1 D ... S S2=$NA(@UREF,1) D M @S4=@S2 K @S2 .... N UI1 S UI1=S3 S S4=$NA(@UREF,1) ... I $L(LOGTAB) S LOG($$LOG)="M "_S4_"="_S2_" K "_S2 ... D IM("K") ... S UI1=S3 D I("S") S @Q2@(S5)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) .. I S1=2,$D(ULOG(102)),$L(Q2) D ... S S3=$P(A(1),D,2) K @Q2@($$DI(S3,UI1)) ... S S3=$P(B(1),D,2) S @Q2@($$DI(S3,UI1))=S3 .. S S4=0 F S S4=$O(^DMC(UQC,USC,"INDEX",S4)) Q:S4="" D ; indexen ... S S0=^(S4),S2=$P(S0,D),S0=$P(S0,D,2) I '$D(ULOG(S2)) Q ... S S3=$P(A(S2\100),D,S2#100) D I2 I $L(S3) S S3=$$DI(S3,S5) ... S S6=$P(B(S2\100),D,S2#100) D I3 I $L(S6) S S6=$$DI(S6,S5) ... I S3=S6 Q ... I $L(S3) K @IREF@(S2,S3) I $L(LOGTAB) D LD("K",$ZR) ... I $L(S6) S @IREF@(S2,S6)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) .. S S4=0 F S S4=$O(^DMC(UQC,USC,"INDEX2",S4)) Q:S4="" D ; 17.08.00 ... S S0=^(S4),S2=$P(S0,D),S0=$P(S0,D,2) I '$D(ULOG(S2)) Q ... S S3=$P(A(S2\100),D,S2#100) D I2 S S3=$P($$DI(S3,S5)," ") D I2 ... S S6=$P(B(S2\100),D,S2#100) D I3 S S6=$P($$DI(S6,S5)," ") D I3 ... I S3=S6 Q ... I $L(S3) K @IREF2@(S2,S3,S5) I $L(LOGTAB) D LD("K",$ZR) ... I $L(S6) S @IREF2@(S2,S6,S5)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) .. S S4=$G(^DMC(UQC,USC,"DATA","BAR")) I $L(S4) D ; barcodes ... F S7=1:1:$L(S4,D) S S2=$P(S4,D,S7) I $L(S2),$D(ULOG(S2)) D .... S S3=$P(A(S2\100),D,S2#100) I $L(S3) S S3=$$DI(S3,S5) .... S S6=$P(B(S2\100),D,S2#100) I $L(S6) S S6=$$DI(S6,S5) .... I S3=S6 Q .... I $L(S3) K @IREF@("BAR",S3) I $L(LOGTAB) D LD("K",$ZR) .... I $L(S6) S @IREF@("BAR",S6)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) .... I $L(IREF2) S S3=$P(S3," ") I $L(S3) K @IREF2@("BAR",S3,S5) I $L(LOGTAB) D LD("K",$ZR) .... I $L(IREF2) S S6=$P(S6," ") I $L(S6) S @IREF2@("BAR",S6,S5)=UI1 I $L(LOGTAB) D LD("S",$ZR,UI1) .. D IM("") . I S1=5 S @UREF=B(1) I $L(LOGTAB) D LD("S",$ZR,B(1)) . I $L(LOGREF) S S2=0 F S S2=$O(ULOG(S2)) Q:S2="" I S2'=128 D .. S S3=$P(A(S2\100),D,S2#100),S4=$P(B(S2\100),D,S2#100) .. D ULOG(UFU,S2,S3,S4) UF I UFU="V" D ; verwijderen (niv.2) . I S1<5 S @UREF@(0)=B(1) I $L(LOGTAB) D LD("S",$ZR,B(1)) . I S1=5 S @UREF=B(1) I $L(LOGTAB) D LD("S",$ZR,B(1)) . I S1<5 D I("K"),IM("K") . I S1=2 S S3=$P(B(1),D,2) I $L(S3) K @Q2@($$DI(S3,UI1)) I $L(LOGTAB) D LD("K",$ZR) . I $L(LOGREF) D .. S ULOG(130)=$P($T(@("T3"_QT)),U,2) .. D ULOG(UFU,130,$P(A(1),D,30),$P(B(1),D,30)) ; KU : 10.01.03 : oude status restoren in %Q1 UG I $P(UFU,D)'="C" S @%Q1=1 S:$D(%OQ1) @%Q1=%OQ1 I $L(LOGTAB) D OPB^cANLOG(LOGTAB) UZ S OK=1 K ULOG Q ; NOLOG(UQC,USC,BI) ; opzetten gegevens om B-indexen niet te loggen : KU 15.12.05 ; Uitgang : ; OK = "" of 0 : logging opzetten ; OK = 1 : logging opzetten maar aanduiden om niet te tonen ; OK = 2 : logging wordt niet opgezet N OK,X S $ZT="TRAP^cAN000" S OK="" I '$L($G(UQC)) G NOLOGZ I '$L($G(USC)) G NOLOGZ I '$L($G(BI)) G NOLOGZ I '$D(^DMC(UQC,USC,"LOGGING","NOT")) G NOLOGZ ; er is niets opgezet S X=$G(^("NOT")) I $D(^("NOT",BI)) S OK=$G(^(BI)) G NOLOGZ ; bestaat er iets voor de B-index ? I $L(X) X X ; execute om OK te beïnvloeden NOLOGZ Q OK ;----------------------------------------------------------------------------- ; Uitgebreide Logging ULOG(UFU,BI,OW,NW) ULOGA S $ZT="TRAP^cAN000" N NOLOG S NOLOG="" I UFU="W" S NOLOG=$$NOLOG($G(UQC),$G(USC),BI) ; KU : 15.12.05 I BI=128!(BI=129)!(NOLOG=2) G ULOGZ ; KU : 15.12.05 : logging niet opzetten N R,R0 S R0=DJ_DM_DD,R=$O(@LOGREF@(S5,R0+1),-1)+.0001 I R\1'=R0!(UFU="O") S R=R0+.0001 ULOGB S @LOGREF@(S5,R)=UFU_D_BI_D_$E(OW,1,80)_D_$E(NW,1,80)_D_DT_D_$$HT^cAFA1($H)_D_$G(QU)_D_$G(ULOG(BI)) ULOGC S $P(@LOGREF@(S5,R),D,11,13)=boot_D_cs_D_$H I NOLOG S $P(^(R),D,14)=NOLOG ; logging niet tonen : KU : 15.12.05 I $L(LOGTAB) D LD("S",$ZR,^(R)) ULOGZ Q ; ;----------------------------------------------------------------------------- ; data lezen van schijf R S $ZT="TRAP^cAN000" N S1,S2,UREF RA S S1=^DMC(UQC,USC,"DATA"),UREF=^("DATA","REF") if UREF["KL(" { new KlantID set KlantID = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantPartijID($piece(UI1," ",2)) set KlantObjectDataM = ##class(DOM.DomeinContext).Instance().GeefVerkoopAPI().GeefKlant(KlantID) } RB I S1<5 D . S B(1)=@UREF@(0) F S2=2:1:SW3 S B(S2)=$G(^(S2-1),$G(USL,D)) RC I S1=5 D . S B(1)=@UREF RZ Q ; ;----------------------------------------------------------------------------- ; Kill data K S $ZT="TRAP^cAN000" N UREF,LOGREF,LOGTAB,Q2,S1,S5,%OQ1,NODEL KA S LOGREF=$G(^DMC(UQC,USC,"LOGGING")),NODEL=$G(^("LOGGING","NODEL")),LOGTAB=$G(^DMC(UQC,USC,"LOGTAB")) I $L(LOGTAB) S LOGTAB=$NA(@LOGTAB) KB S S1=^DMC(UQC,USC,"DATA"),UREF=^("DATA","REF"),Q2=$G(^("OUD")),S5=$S(S1<3:$P(B(1),D),1:UI1) ; KU : 10.01.03 : in OQ1 eerst de huidige status wegschrijven KC S:$D(@%Q1) %OQ1=@%Q1 S @%Q1=0 K @UREF I $L(LOGTAB) D LD("K",$ZR) KD I $L(LOGREF),'$G(NODEL) K @LOGREF@(S5) I $L(LOGTAB) D LD("K",$ZR) KE I S1=1 K @Q2@(S5) I $L(LOGTAB) D LD("K",$ZR) KF I $L(LOGTAB) D OPB^cANLOG(LOGTAB) ; KU : 10.01.03 : oude status restoren in %Q1 KZ S @%Q1=1,OK=1 S:$D(%OQ1) @%Q1=%OQ1 Q ; ;----------------------------------------------------------------------------- ; tonen foutboodschap ER(M) S $ZT="TRAP^cAN000" S K=$P(M,"[] = ok")_$P(M,"[] = ok",2) D TXT^cAFA1(250) ERZ Q ; ;----------------------------------------------------------------------------- ; error Trap TRAP S %=$ZE,%ZR=$ZR,%UCI=$ZU(5) I $ZV'["MSM" S %ZTRAP="TRAP^"_$T(+0) TRAPA I $ZV["MSM",%'["",%'["",%'["",%'["",%'["" D ^cA400 TRAPB I $ZV'["MSM",%'["",%'["",%'["",%'["",%'["" D ^cA400 TRAPX I $ZV["MSM" ZQ TRAPY I $ZV'["MSM" ZQ 1 I $ZT'="" G @$ZT TRAPZ Q ; ZZ ; 25.04.06 - 15 u 44 * V8.07