cANU110 ;Uitvoeren selecties ;%ANU11 ; [ 01/03/01 12:24 PM ] G 1 ; T0 ;Uitvoeren selecties ; T1 ;Start\Début\Anfang\Start; ; T0F ;Exécution des sélections ; T1F ;Start\Début\Anfang\Start; ; T0E ;Uitvoeren selecties ; T1E ;Start\Début\Anfang\Start; ; ; data lezen van schijf R(R) K B RA S S1=UDD(R),UREF=UREF(R) RB I S1<5 D . S B(1)=@UREF@(0) F S2=2:1:SW3(R) S B(S2)=$G(^(S2-1),USL) RC I S1=5 D . S B(1)=@UREF RZ K S1,S2 Q ; ; Bepalen K adhv U2 S1 S UI1=IX,UREF=UREF(DMS),SWA=0,K="" K B M B=A S1A S U7=U2(16) I U7>100 S K=$P($G(B(U7\100)),D,U7#100) S1B I $L(U2(17)) X U2(17) S1C I $L(U2(18)),$L(K) S OK=0 D I OK G S1A . S UDD=UDD(U2(18)),UI1=K,K="",UREF=UREF(U2(18)) I UDD<3 D .. I UDD=1 S UI1=$G(@Q2(U2(18))@(UI1)) .. I UDD=2 S UI1=$P(UI1," ")_" " . I $L(UI1),$D(@UREF) D R(U2(18)) S OK=1 . S SWA=SWA+1,U2(4)=$G(U2("LINK",SWA,4)) . F I=16:1:18 S U2(I)=$G(U2("LINK",SWA,I)) S1D I U2(4)=1 S K=+K S1Z Q ; ; Correctie Merge S2 F I=4,16:1:18 S U2(I)=$G(U2(I)) S2Z Q ; ; Verwijderen vorige selectie 1 K ^UTILI(Q,"SEL",UI1) 11 N A,B,I,SW3,U2,UFU,USL 13 S SW3=1,U2(1)=$P($T(@("T1"_QT)),U,2),UFU="W",USL=D D R^cAN000 M A=B 15 D B^cAN000(104,$H) S $P(B(1),D,5)="",$P(B(1),D,6)="",$P(B(1),D,7)="" 17 D U^cAN000 19 N SEL,SELREF S SEL=UI1,SELREF=$NA(@UREF) ; ; Initialisatie ivm hoofdbestand 2 N BI,DMS,Q2,UDD,UQC,USC,UREF,IREF 21 S BI=$P(B(1),D,3),DMS=$P(B(1),D,2) 23 D DMS^cAN000("UQC","USC",DMS) G YZ:UQC=""!(USC=""),YZ:'$D(^DMC(UQC,USC)) 25 S UDD(DMS)=^(USC,"DATA"),UREF(DMS)=^("DATA","REF"),IREF=^("INDEX") 27 S BI=$P(^DMC(UQC,USC,"INDEX",BI),D) 29 I UDD(DMS)<5 S IREF=$NA(@IREF@(BI)) ; ; Gekoppelde bestanden 3 N OK,SWA,U7,UQA,USA,UZA,UZB,X,Y S UZA=0 31 S UZA=UZA+1,UZB=0 I '$D(@SELREF@(UZA)) S UZA="SORT" 32 S UZB=UZB+1 I '$D(@SELREF@(UZA,UZB)) G 31:UZA,39 33 K U2 M U2=^(UZB) S SWA=0 35 D S2 I $L(U2(18)) S X=U2(18),OK=0 D G 35:OK,YZ . S I=$G(^DMS(Q,X),$G(^DMS(0,X))),UQC=$P(I,D),USC=$P(I,D,2) . Q:UQC=""!(USC="") Q:'$D(^DMC(UQC,USC)) . S UDD(X)=^(USC,"DATA"),UREF(X)=^("DATA","REF") . I UDD(X)=1 S Q2(X)=^("OUD") . S SWA=SWA+1 K I M I=U2("LINK",SWA),U2=I S OK=1 37 G 32 ; Aantal nodes per bestand 39 S X="" F S X=$O(UDD(X)) Q:X="" S SW3(X)=1 D . S I=$G(^DMS(Q,X,0),$G(^DMS(0,X,0))),UQA=$P(I,D,3),USA=$P(I,D,4) . I $L(UQA),$L(USA) F I=1:1 Q:'$D(^DMA(UQA,USA,I)) D .. S J="" F S J=$O(^DMA(UQA,USA,I,J)) Q:J="" D ... S U7=$G(^(J,16)) I U7\100>SW3(X) S SW3(X)=U7\100 ; ; Aflopen indexbestand 4 K A,B,U2 N HREF,IX,EN,OF,TEL,TOT 40 S $ZT="TRAP^cAN000" 41 S IXX="",TOT=0,UFU="U" K ^HULP(boot,$J+.99) 43 S IXX=$O(@IREF@(IXX)) I IXX="" G ^cANU111 45 S (IX,UI1)=$S(UDD(DMS)<5:^(IXX),1:IXX) D R(DMS) M A=B I $P(B(1),D,30)=2 G 43 47 S TOT=TOT+1 I QP,TOT#10=1 W /CUP(17,3),$S(UDD(DMS)<5:$P(B(BI\100),D,BI#100),1:UI1),@F1 ; ; Selectiecriteria 5 S (EN,OF)=0,UZA=0 51 S UZA=UZA+1,UZB=0,OF=OF!EN,EN=1 G 8:OF I '$D(@SELREF@(UZA)) G 43:UZA>1,8 53 S UZB=UZB+1 I '$D(@SELREF@(UZA,UZB)) G 51 55 K U2 S U2(4)=$G(^(UZB,4)) F I=16:1:18 S U2(I)=$G(^(I)) 57 I $D(^("LINK")) F SWA=1:1 Q:'$D(@SELREF@(UZA,UZB,"LINK",SWA)) D . S U2("LINK",SWA,4)=$G(^(SWA,4)) . F I=16:1:18 S U2("LINK",SWA,I)=$G(^(I)) 59 S X=+@SELREF@(UZA,UZB,"SEL",1),Y=^(2) D S1 ; ; Test K tov Y vlgs X 6 I X=3!(X=6) S OK=K=Y S:X=6 OK='OK G 79 61 I X#10=7 S OK=$E(K,1,$L(Y))=Y S:X=17 OK='OK G 79 63 I X#10=8 S OK=K[Y S:X=18 OK='OK G 79 65 I X#10=9 S OK=$E(K,$L(K)-$L(Y)+1,$L(K))=Y S:X=19 OK='OK G 79 ; 7 I K=+K,Y=+Y S U2(4)=1 71 I U2(4)=2 S K=$$DC^cAFA1(K),Y=$$DC^cAFA1(Y) 73 I U2(4) D . I X=1!(X=5) S OK=K>Y I X=5 S OK='OK . I X=4!(X=2) S OK=K