cICMPSG ;CONTROLE VERGELIJKING BESTANDEN ;%ICMPSG; [ 02/22/00 9:35 AM ] G 1 ; S(SCHEMA,VIACHKS) ; indien voor één bepaald schema ; SCHEMA = naam schema ; VIACHKS = 1 : via checksum controle ; T0 ;CONTROLE VERGELIJKING BESTANDEN ; T1 ;De voorbereiding voor uci ; is nog niet ten einde.; werd niet gestart.; T3 ;Controle uitgevoerd:;Huidig bestand: ; T4 ;Command: ; T5 ;De systemen staan exact gelijk.; T6 ;CONTROLE OP BESTANDEN OPSTARTEN\".[] = ja -[] = nee P[] = drukken"; T7 ;GELIEVE EERST ^cLOG(";","COMPARE","G") OP TE ZETTEN; T8 ;Uci |;| werd niet gevonden.; T9 ;Schema ; T10 ; [] = vervolg: ; T11 ;HUIDIG SYSTEEM:; ; T0F ;CONTROLE EGALITE DES FICHIERS ; T1F ;La préparation pour uci ; n'a pas encore terminée.; n'a pas été démarrée.; T3F ;Contrôle effectué:;Fichier actuel: ; T4F ;Command: ; T5F ;Les systèmes sont des copies identiques.; T6F ;DEMARRER LE CONTROLE DES FICHIERS\".[] = oui -[] = non P[] = imprimer"; T7F ;VEUILLEZ D'ABORD INITIALISER ^cLOG(";","COMPARE","G"); T8F ;Uci |;| n'a pas été trouvé.; T9F ;Schema ; T10F ; [] = suite: ; T11F ;SYSTEME ACTUEL:; ; 1 D . N SCHEMA,VIACHKS . D INI^cQ6,MASTER^cQ5 S SCHEMA=$G(SCHEMA) S K=$P($T(@("T0"_QT)),";",2)_QN_" ",FP=203+$L(K) W @F61,@F11,@F1,@F,@F5 S FP=202 W @F,@F4,K,@F5 S FP=257 W @F,@F92,$P($T(@("T11"_QT)),U,2)," ",cs,@F93 S LOG="^|home|ZZLOG(""COMPARE"",""G"")",%LOG="^cLOG(cs,""COMPARE"",""G"")" I '$L(SCHEMA),'$D(@%LOG) S R=$P($T(@("T7"_QT)),U,2)_cs_$P($T(@("T7"_QT)),U,3) D MS G YZ S S="" ; I $G(VIACHKS) D G YZ . S S=SCHEMA . S home=$G(@LOG@(S,0,0,"HOME")),UCIL=$G(@LOG@(S,0,0,"UCI")),G=$G(@LOG@(S,0,0,"GLOBALS"),"*") . S FP=301 W @F,@F1," ",$P($T(@("T9"_QT)),U,2),S," -> ",$TR(G,D," ") . D UCHECK(home) I SW Q . K UCS S IU=0 F I=1:1:$L(UCIL,D) S K=$P(UCIL,D,I) I $L(K) S IU=IU+1,UCS(IU)=K . I IU D LOCK,ASK:SW2,SHOW:'SW1,UNLOCK,ASK:'SW1 ; I $L(SCHEMA) S S=$O(@%LOG@(SCHEMA),-1) F S S=$O(@%LOG@(S)) Q:S]SCHEMA&$L(SCHEMA)!'$L(S) D . S home=$G(@%LOG@(S,"HOME")),UCIL=$G(@%LOG@(S,"UCI")),G=$G(@%LOG@(S,"GLOBALS"),"*") . S FP=301 W @F,@F1," ",$P($T(@("T9"_QT)),U,2),S," -> ",$TR(G,D," ") . D UCHECK(home) I SW Q . K UCS S IU=0 F I=1:1:$L(UCIL,D) S K=$P(UCIL,D,I) I $L(K) S IU=IU+1,UCS(IU)=K . I IU D LOCK,ASK:SW2,SHOW:'SW1,UNLOCK,ASK:'SW1 S FP=2201 W @F,! S FP=124 W @FS S FP=2301 W @F G YZ ; LOCK S (SW1,SW2)=0 F I=1:1:IU D . L +@LOG@(S,0,UCS(I)):0 E W !?2,$P($T(@("T1"_QT)),U,2)_UCS(I)_$P($T(@("T1"_QT)),U,3) S SW1=1 Q . I '$D(@LOG@(S,0,UCS(I))) W !?2,$P($T(@("T1"_QT)),U,2)_UCS(I)_$P($T(@("T1"_QT)),U,4) S SW2=1 I SW1 S R="K\24\2\[] = ok\\1\" D R0 LOCKZ Q ; ASK D UNLOCK S SW1=1 S R="K\22\3\"_$P($T(@("T6"_QT)),U,2)_"\1\\"".-P""[K&$L(K)\\\1" D R0 Q:K="-" I K="P" D ^cICMPSGP(S) Q D START(S) Q ; START(S,VIACHK,home,UCIL,G) ; ; S = schema ; VIACHK=1 : opstarten via CHECKSUM N LOG,%LOG,IU,UCS,UCI,%UCI,C S %UCI=$ZU(5),D="\" K C D UCILIB^cQMSMSW,MASTER^cQ5,^cQDDPCIR(.C) S LOG="^|home|ZZLOG(""COMPARE"",""G"")",%LOG="^cLOG(cs,""COMPARE"",""G"")" I '$G(VIACHK) S home=$G(@%LOG@(S,"HOME")),UCIL=$G(@%LOG@(S,"UCI")),G=$G(@%LOG@(S,"GLOBALS"),"*") K UCS,@LOG@(S,0) I $G(VIACHK) S @LOG@(S,0,0,"HOME")=home,@LOG@(S,0,0,"UCI")=UCIL,@LOG@(S,0,0,"GLOBALS")=G S IU=0 F I=1:1:$L(UCIL,D) S K=$P(UCIL,D,I) I $L(K) S IU=IU+1,UCS(IU)=K S UCS=$P(UCS(1),",")_","_$P($ZU(5),",",2) F I=1:1:IU D . L +@LOG@(S,0,UCS(I)):2 E Q . S C="",UCI=UCS(I) F S C=$O(C(C)) Q:C="" I (","_$P(C(C),D,5)_",")[(","_$P(UCI,",",2)_",") S UCI=UCI_","_C . S $ZT="STARTERR^"_$T(+0) . J ^cICMPGLO(home,$S(UCS(I)=UCS:UCIL,1:UCS_D_UCS(I)),G,S,cs)[UCI]::2 S X=$ZB . L -@LOG@(S,0,UCS(I)) D IN^cQMSMSW(%UCI) STARTZ Q ; STARTERR ;trap start errors D ^cA105,^cA106 S @LOG@(S,0,UCS(I))=$ZE_D_D_DT_D_TD_D_DT_D_TD L -@LOG@(S,0,UCS(I)) Q ; SHOW S FP=422 W @FS S FP=380 W @F,@F1,! S $Y=4 S ANS="",B=79 K ERROR F I=1:1:IU I $P($G(@LOG@(S,0,UCS(I))),D)'?1.N S ERROR=1 ; F II=1:1:IU D Q:ANS="-" . S N=0 . F S N=$O(@LOG@(S,0,UCS(II),"start",N)) Q:N="" D Q:ANS="-" D NL Q:ANS="-" .. W $P($T(@("T3"_QT)),U,2) S X=$X .. W ?X,$J(N,2),". " S Y=$X W "Job ",$J($P(^(N),D,4),3)," ",$P(^(N),D,2)," ",$P(^(N),D,3)," -> " .. I $D(@LOG@(S,0,UCS(II),"stop",N)) W $P(^(N),D,2)," ",$P(^(N),D,3)," ",$J($P(^(N),D,4),3) .. I $D(@LOG@(S,0,UCS(II),"start",N,"cmnd")) S K=^("cmnd") D ... D NL I ANS="-" Q ... W ?Y,$P($T(@("T4"_QT)),U,2) S Z=$X ... F W ?Z,$E(K,1,B-Z) S K=$E(K,B-Z+1,$L(K)) Q:'$L(K) D NL I ANS="-" Q .. I ANS="-" Q .. I $D(@LOG@(S,0,UCS(II),"error",N)) D NL Q:ANS="-" W ?Y,"Error: ",$P(^(N),D) .. ; .. I ANS="-" Q .. D NL I ANS="-" Q .. W UCS(II)," -> ",$P($T(@("T3"_QT)),U,3),$G(@LOG@(S,0,UCS(II),"current"))," ",$G(@LOG@(S,0,UCS(II),"current","at")) . S N=" node",G=0 . D NL I ANS="-" Q . F S G=$O(@LOG@(S,UCS(II),G)) Q:G="" S VNR=0 D I ANS="-" Q .. F S VNR=$O(@LOG@(S,UCS(II),G,VNR)) Q:VNR="" S X="" K L D Q:ANS="-" D NL I ANS="-" Q ... F S X=$O(@LOG@(S,UCS(II),G,VNR,N,X)) Q:X="" D I ANS="-" Q .... D NL I ANS="-" Q .... W $J(VNR,5),".",@LOG@(S,UCS(II),G,VNR,N,X) .... S L=$G(@LOG@(S,UCS(II),G,VNR,X)) I $L(L) D LINE ... I ANS="-" Q ... S X=N F S X=$O(@LOG@(S,UCS(II),G,VNR,X)) Q:X="" I '$D(L(X)) S L=^(X) D LINE I ANS="-" Q S FP=124 W @FS I SW1 S R="K\24\2\[] = ok\\1\" D R0 SHOWZ Q ; YZ Q ; NL W ! I $Y>21 W ?1,$P($T(@("T10"_QT)),U,2),@F2 R ANS S $Y=4 W $C(13) S $X=0 W @F1 Q ; LINE D NL I ANS="-" Q W ?9,X," = " S E=$X,L(X)="" F S K=$E(L,1,B-E),L=$E(L,B-E+1,$L(L)) Q:'$L(K) W K I $L(L) D NL Q:ANS="-" W ?E Q ; MS S FP=2403 W @F,@F2,@F4,R," [] = ok ",@F5,@F0 R K MSZ Q ; R0 S R0=$P(R,D,5) I $L(R0),R0'["""" S $P(R,D,5)=R0_"^"_$T(+0) R0A S R0=$P(R,D,7) I $L(R0),R0'="DCTR" S $P(R,D,7)="",R1=$P(R,D,8),R0=$P($T(@R0),U,2,99) S:$L(R1) R0=R0_"&("_R1_")" S $P(R,D,8)=R0 R0Z S $P(R,D,12)=$T(+0) K R0,R1 D ^cA100 Q ; v11 30.05.94 ; ; UCHECK(K) S SW=0 I '$L($ZU($P(K,","),$P(K,",",2))) S $ZT="UERR^"_$T(+0),J=$O(^|K|%) UCHECKZ Q ; UERR I $ZE[""!($ZE["NOSYS") S R=$P($T(@("T8"_QT)),U,2)_K_$P($T(@("T8"_QT)),U,3) UERRZ S SW=1 D MS G UCHECKZ ; UNLOCK S IU=$G(IU) F I=1:1:IU L -@LOG@(S,0,UCS(I)) UNLOCKZ Q ; ZZ ; 13.03.00 - 17 u 31 * V7.3