cANU210 ;Printen listings ;%ANU21 ; [ 15/10/2001 - 16:02:00 - 58727,57720 ] G 1 ; T0 ;Printen listings ; T1 ;S.; TOTAAL; ; T0F ;Impression des listings ; T1F ;S.; TOTAL; ; T0E ;Printen listings ; T1E ;S.; TOTAAL; ; ; 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(Q1),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(1)=$G(U2("LINK",SWA,1)) . F I=4,8,13,16:1:18 S U2(I)=$G(U2("LINK",SWA,I)) S1Z Q ; ; Correctie Merge S2 F I=1,4,8,13,16:1:18 S U2(I)=$G(U2(I)) S2Z Q ; ; Initialisatie ivm %A334 1 S HD(1)=D,HD(2)=D_HFD_" ;C",HD(3)=D 11 S (ATL,TAB)=0 F UZA=1:1 Q:'$D(@UREF@(UZA)) D . S ATL=ATL+1,TAB(ATL)="",TIT(ATL)="" . F UZB=1:1 Q:'$D(@UREF@(UZA,UZB)) D .. S I=$$S2^cANU202(UZB) .. I $L(TAB(ATL)) S TAB(ATL)=TAB(ATL)_D .. S TAB(ATL)=TAB(ATL)_($P(TAB(ATL),D,$L(TAB(ATL),D)-1)+$L(I)+3) .. S TIT(ATL)=TIT(ATL)_" "_I_D .. S I=$P(TAB(ATL),D,$L(TAB(ATL),D)) I I>TAB S TAB=I 13 F UZA=1:1:ATL S $P(TAB(UZA),D,$L(TAB(UZA),D))=TAB 15 I TAB>99!PTS S HD(2)=HD(2)_";F82" 17 I TAB>131 S DEF="F81" 19 S LISREF=$NA(@UREF,$L(UREF,",")),LISUI1=UI1 D KILL I ATL>1 S LAY="" ; ; Initialisatie ivm hoofdbestand 2 D DMS^cAN000("UQC","USC",Q1) G YZ:UQC=""!(USC=""),YZ:'$D(^DMC(UQC,USC)) 21 S UDD(Q1)=^(USC,"DATA"),UREF(Q1)=^("DATA","REF") 23 S UXX="" I '$D(^DMS(Q,Q1,0)),'$D(^DMS(0,Q1,0)) G YZ ; VJ 15.10.01 S UQA=$P(^(0),D,3) I UQA="" S UQA=0 S USA=$P(^(0),D,4) I USA="" S USA=Q1 S UXX=$G(^DMA(UQA,USA,0,6)) ; beveiliging v/h raadplegen ; ; Gekoppelde bestanden 3 S UZA=0 31 S UZA=UZA+1,UZB=0 I '$D(@LISREF@(UZA)) G 39 32 S UZB=UZB+1 I '$D(@LISREF@(UZA,UZB)) G 31 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 data volgens gemaakte selectie 4 S IX="",USL=D,UFU="U" 41 S $ZT="TRAP^cAN000" 43 D ^cAN004("IX",Q1) I IX="" G 8 45 S UI1=IX D R(Q1) M A=B I $P(B(1),D,30)=2 G 43 I $L($P(UXX,D,3)) S OK=0 X $P(UXX,D,3) I 'OK G 43 ; VJ 15.10.01 47 I $G(LN),$G(LNMAX),LN+ATL>LNMAX S END=4 D ^cA334 ; ; Lijn per lijn 5 S UZA=0,SUBTOT=0 51 S UZA=UZA+1,UZB=0 I '$D(@LISREF@(UZA)) G 43 53 S UZB=UZB+1 I '$D(@LISREF@(UZA,UZB)) S TAB=TAB(UZA) G 7 55 K U2 S U2(1)=$G(^(UZB,1)) F I=4,8,13,16:1:18 S U2(I)=$G(^(I)) 57 I $D(^("LINK")) F SWA=1:1 Q:'$D(@LISREF@(UZA,UZB,"LINK",SWA)) D . S U2("LINK",SWA,1)=$G(^(SWA,1)) . F I=4,8,13,16:1:18 S U2("LINK",SWA,I)=$G(^(I)) 59 S U2("TOT")=$G(@LISREF@(UZA,UZB,"TOT")),U2("SUB")=$G(^("SUB")) D S1 ; ; Opzetten kolom 6 S TXT(UZB)=K_"\\1\1" I U2(4)=1 S TXT(UZB)=K_"\1\\"_'$L(U2(8)) 61 S U3(UZB)=K I $L(U2(8)) D . K REFRESH S U3=K X U2(8) S U3(UZB)=U3 . S $P(TXT(UZB),D,7)="U3("_UZB_")" 63 I $G(U2("TOT")),LAY="" S $P(TXT(UZB),D,8)=UZA 65 I U2(4)'=1,$L(U2(17))!U2(16) S $P(TXT(UZB),D,10)='HERH 67 I U2("SUB") S SUBTOT(UZB)=0 D . I $D(KOPIE(UZA,UZB)),KOPIE(UZA,UZB)'=TXT(UZB) S SUBTOT(UZB)=1 I 'SUBTOT S SUBTOT=UZB 69 G 53 ; ; Printen lijn per lijn 7 I SUBTOT D SUBTOT:LAY<2 71 D ^cA334:LAY'=1,TZT:LAY=1,TOT K TXT 79 G 51 ; ; Eindtotaal 8 I LAY="" G 9 81 S SUBTOT=0 D SUBTOT:LAY<2 83 K TXT,TZT S I=$O(SUBTOT(0)) I $L(I) S TXT(I)=$P($T(@("T1"_QT)),U,3) 85 S UZA="" F S UZA=$O(TOTAAL(UZA)) Q:UZA="" D . S UZB="" F S UZB=$O(TOTAAL(UZA,UZB)) Q:UZB="" D .. S TXT(UZB)=TOTAAL(UZA,UZB) d TXT . D ^cA334 K TXT ; ; Einde listing 9 S END=1 D ^cA334 S UREF=LISREF 91 N EXTWIJZ S EXTWIJZ=1 D W^cAN220("LIS",0,LISUI1,125,DT) ; YZ D KILL Q ; KILL K KOPIE,LISTOT,SUBTOT,TOTAAL,TZT KILLZ K ^HULP(boot,$J,"SUBTOT") Q ; ; outputbepaling & (sub-)totalen per lijn TOT F UZB=1:1:$L(TAB,D) Q:'$D(@LISREF@(UZA,UZB)) I $G(^(UZB,"TOT")) D . K U2 S U2(8)=$G(^(8)),U2(13)=$G(^(13)) . I $D(^("LINK")) F SWA=1:1 Q:'$D(@LISREF@(UZA,UZB,"LINK",SWA)) D .. S U2(8)=$G(^(SWA,8)),U2(13)=$G(^(13)) . I LAY="" D .. S (K,U3)=$P(AFS(UZA,UZB),D) K REFRESH X U2(8) S LISTOT(UZA,UZB)=U3 .. S $P(AFS(UZA,UZB),D,7)="LISTOT("_UZA_","_UZB_")" . I $L(LAY),LAY<2 D .. S I="" F S I=$O(SUBTOT(I)) Q:I="" D ... I $D(TXT(I)) S KOPIE(UZA,I)=TXT(I) ... S J=$G(^HULP(boot,$J,"SUBTOT",I,TZT(I)_" ",UZA,UZB)) ... S ^(UZB)=J+$P(TXT(UZB),D)_D_$P(TXT(UZB),D,2,6) ... S (K,U3)=$P(^(UZB),D) K REFRESH D .... N I,UZA,UZB X U2(8) ... S $P(^HULP(boot,$J,"SUBTOT",I,TZT(I)_" ",UZA,UZB),D,7)=U3 . I $L(LAY) D .. S J=$G(TOTAAL(UZA,UZB)) .. S TOTAAL(UZA,UZB)=J+$P(TXT(UZB),D)_D_$P(TXT(UZB),D,2,6) .. S (K,U3)=$P(TOTAAL(UZA,UZB),D) K REFRESH X U2(8) S $P(TOTAAL(UZA,UZB),D,7)=U3 TOTZ Q ; ; correctie TXT TXT s $p(TXT(UZB),D)=$p(TXT(UZB),D,7),$p(TXT(UZB),D,7)="" TXTZ q ; ; onthouden vorige lijn TZT S RR="" F S RR=$O(TXT(RR)) Q:RR="" S RR1=TXT(RR) D . S K=$P(RR1,D) I '$P(RR1,D,5),$L($P(RR1,D,7)) X "S K="_$P(RR1,D,7) . S TZT(RR)=K TZTZ K RR,RR1 Q ; ; printen subtotalen SUBTOT N TXT,MEM M MEM=TZT s $ZT="TRAP^cAN000" SUBTOTA S I="" F S I=$O(SUBTOT(I),-1) Q:I="" D I I=SUBTOT Q . K TXT S TXT(I)=$P($T(@("T1"_QT)),U,2)_$G(MEM(I)) . S UZB=I F S UZB=$O(^HULP(boot,$J,"SUBTOT",I,$G(MEM(I))_" ",1,UZB)) Q:UZB="" S TXT(UZB)=^(UZB) K ^(UZB) d TXT . I LAY=1 F J=1:1:$L(TAB,D) I '$D(TXT(J)),'$D(SUBTOT(J)) S TXT(J)=$G(MEM(J))_"\\1\1" . D ^cA334 SUBTOTZ K TZT M TZT=MEM Q ; ZZ ; 05.02.01 - 16 u 23 * V7.84