cQINST ;Install database customer ;cQINST;
G USAGE
;
date ;date
N %H,%J,%R S %H=1+$H,%J=%H\1461,%R=%H#1461,DJ=%J*4+1841+(%R\365),DD=%R#365,DM=1 I %R=1460 S DD=365,DJ=DJ-1
F %J=31,(%R>1154)+28,31,30,31,30,31,31,30,31,30 Q:%J'
1 S K=$E(K,$L(K))
. S SYSD=$ZCONVERT(K,"U")
. W !,"Drive op dat systeem: [] = ",SYSD," : " R K S:K="" K=SYSD
RPN W !,"Roepnaam? :" R K I K="-" G SYS
S K=$ZCONVERT(K,"U") I '$L(K) G RPN
I $L(K)>6!(K'?.A.1"-".AN) W !,"Maximaal 6 karakters, bvb TEST, ABC1, ABC-1",! G RPN
S RPN=K
FIRM W !,"Aantal firma's? : " R K I K="-" G RPN
I K<1!(K>99) W !,"Geef een getal tussen 0 en 100 (1 t.e.m. 99)",! G FIRM
S ANTL=K
OK W !!,"OK om verder te gaan? (J/N) : " R K I K="-" G FIRM
S K=$ZCONVERT(K,"U") I '(K="J"!(K="N")) G OK
I K="N" G SYS
S VER=$S(($P($P($ZV,")",2),"(",1)[" 3."):3,($P($P($ZV,")",2),"(",1)[" 4."):4,($P($P($ZV,")",2),"(",1)[" 5."):5,($P($P($ZV,")",2),"(",1)[" 2008"):8,($P($P($ZV,")",2),"(",1)[" 2010"):10,1:8)
;
S DDIR=SYS_"\DataM\Database\"_RPN
; Copy databases
W !!,"Copy databases",!
K S S S("R0")=DB(NS(SNMSP,"routines"))_"Cache.dat"
S K=DB(NS(SNMSP,"globals")),S("G1")=K_"Cache.dat",S("G0")=$P(K,"\",1,$L(K,"\")-2)_"\0\Cache.dat"
S T("R0")=DDIR_"\R\0\Cache.Dat"
F I=0:1:ANTL S T("G"_I)=DDIR_"\G\"_I_"\Cache.dat" I '$D(S("G"_I)) S S("G"_I)=S("G1")
S I="" F S I=$O(T(I)) Q:I="" I '$$TST^cQFILE(T(I)) K S(I),T(I)
I '$D(S) D ERROR("Niets te kopiëren.","De databases bestaan al!") S ER=0
I $D(S("R0")) S ER=$$CP^cQFILE(S("R0"),T("R0")) I ER D ERROR(S("R0"),T("R0")) G INTERNZ
F I=0:1:ANTL S J="G"_I I $D(S(J)) S ER=$$CP^cQFILE(S(J),T(J)) Q:ER
I ER D ERROR(S(J),T(J)) G INTERNZ
;
; Modify cache.cpf
W !!,"Modify cache.cpf",!
S CF=$$CF(SYS),I="" K LOC
F S I=$O(T(I)) Q:I="" D
. S K=T(I) I $E(K,1,2)="\\" S K=SYSD_":\"_$P(K,"\",5,$L(K,"\"))
. S LOC(I)=$P(K,"\",1,$L(K,"\")-1)_"\"
D INITD^cQCPF I ER D ERROR("Modification of Cache.cpf failed!")
I 'ER D
. D AC^cQSYS
. W !!,"De configuratie is ge-activeerd. Namespace",$S(ANTL>1:"s",1:"")," "
. F I=1:1:ANTL I $D(NMSP(I)) W NMSP(I),$S(I=ANTL:" ",ANTL>1:", ",1:" ")
. W $S(ANTL>1:"zijn",1:"is")," nu bruikbaar",!
INTERNZ Q
;
EXTERN ; Copieer database naar zijn toestel
W !!,$P($T(+1),";",2),"OP DEFINITIEF TOESTEL"
S (CS,MCS)=$ZU(5) D NSPC^cQ21(.SYS,1),NS^cQ21(.NS),DB^cQ21(.DB)
I $O(SYS(CS))="",$O(SYS(CS),-1)="" G YZ
DBN W !,"Kopiëer welke namespace? : " R K G YZ:K="-" I K="?" D NMSP G DBN
S K=$ZCONVERT(K,"U") S:K="" K=" " I '$D(SYS(K)) D NMSP G DBN
S SNMSP=K
RPNN S RPN=SNMSP I SNMSP?1.U1.2N S RPN=$TR(SNMSP,"1234567890")
W !,"Roepnaam : ",RPN
FIRMN W !,"Aantal firma's? : " R K I K="-" G RPNN
S ANTL=K
SYSN W !,"Naar welk systeem?",!,"(\\system\drive, bvb \\DAM-CACHE\D): " R K I K="-" G DBN
S SYS=K S:$E(SYS,$L(SYS))="\" SYS=$E(SYS,1,$L(SYS)-1)
I $L(K)<2 G SYSN
I $E(K,1,2)="\\" D S SYSD=$ZCONVERT(K,"U") I K="-" G SYSN
. S K=$P(K,"\",4) I $L(K)>1 S K=$E(K,$L(K))
. S SYSD=$ZCONVERT(K,"U")
. W !,"Drive op dat systeem: [] = ",SYSD," : " R K S:K="" K=SYSD
STN W !,"Kopiëer eerst de 'standaard' Cache.cpf (J/N)? : " R K I K="-" G SYSN
S K=$ZCONVERT(K,"U") I '(K="J"!(K="N")) G STN
S STN=K="J"
VER W !,"Welke Caché versie [3, 4, 5, 8(=2008) of 10(=2010) ]? : " R K I K="-" G SYSN
I '("345810"[K&$L(K)&(K'=0)&(K'=1)) G VER
S VER=K
I VER=5,'($P($P($ZV,")",2),"(",1)[" 5.") W !!,"Je kan niet kopiëren naar Caché v5 vanaf deze versie.",!,$ZV,!! G VER
USR W !,"Username : " R K I K="-" G SYSN
S USER=K
W !,"Password : " R K I K="-" G USR
S PW=K
OKN W !!,"OK om verder te gaan? (J/N) : " R K I K="-" G USR
S K=$ZCONVERT(K,"U") I '(K="J"!(K="N")) G OKN
I K="N" G SYSN
;
S NU=""
I $E(SYS,1,2)="\\" D I ER D ERROR(NU,ER) G EXTERNZ
. S ER=$$JW^cQFILE("net use M: /delete")
. S NU="net use M: "_SYS_" """_PW_""" /user:"_$P(SYS,"\",3)_"\"_USER
. S ER=$$JW^cQFILE(NU)
;
S DDIR=SYS_"\DataM\Database\"_RPN
; Copy databases
W !!,"Copy databases",!
K S,T S S("R0")=DB(NS(SNMSP,"routines"))_"Cache.dat"
S K=DB(NS(SNMSP,"globals")),S("G0")=$P(K,"\",1,$L(K,"\")-2)_"\0\Cache.dat"
F I=1:1:ANTL S S("G"_I)=DB(NS($ZCONVERT(RPN,"U")_I,"globals"))_"Cache.dat"
S T("R0")=DDIR_"\R\0\Cache.Dat"
F I=0:1:ANTL S T("G"_I)=DDIR_"\G\"_I_"\Cache.dat"
S ER=$$CP^cQFILE(S("R0"),T("R0")) I ER D ERROR(S("R0"),T("R0")) G EXTERNZ
F I=0:1:ANTL S J="G"_I,ER=$$CP^cQFILE(S(J),T(J)) Q:ER
I ER D ERROR(S(J),T(J)) G EXTERNZ
;
; Copy Standard Cache.cpf
I STN D
. W !,"Copy 'standard' cache.cpf",!
. S CF=$$CF(SYS) D ST^cQCPF
. ;Copy cache.wij for Cache 2008 & 2010
. I (VER=8)!(VER=10) S ER=$$CP^cQFILE(SYS_"\Datam\InterSystems\Cache\Mgr\cache.wij",SYS_"\DataM\Journal\Wij\cache.wij")
; Modify cache.cpf
W !!,"Modify cache.cpf",!
S CF=$$CF(SYS),I="" K LOC
F S I=$O(T(I)) Q:I="" D
. S K=T(I) I $E(K,1,2)="\\" S K=SYSD_":\"_$P(K,"\",5,$L(K,"\"))
. S LOC(I)=$P(K,"\",1,$L(K,"\")-1)_"\"
D INITD^cQCPF I ER D ERROR("Modify Cache.cpf failed!")
I 'ER D
. W !!,"Je moet deze configuratie activeren om namespace",$S(ANTL>1:"s",1:"")," "
. F I=1:1:ANTL I $D(NMSP(I)) W NMSP(I),$S(I=ANTL:" ",ANTL>1:", ",1:" ")
. W "te kunnen gebruiken",!
; Move Cache.WIJ file
D MCWIJ(SYS)
I $L($G(NU)) S ER=$$JW^cQFILE("net use M: /delete")
EXTERNZ Q
;
CPF ; Instellen 'standaard' Cache.cpf
W !!,$P($T(+1),";",2),"INSTELLEN 'STANDAARD' CPF"
S (CS,MCS)=$ZU(5) D NSPC^cQ21(.SYS,1) I $O(SYS(""))="" G YZ
CDBN W !,"Default Namespace? : " R K G YZ:K="-" I K="?" D NMSP G CDBN
S K=$ZCONVERT(K,"U") S:K="" K=" " I '$D(SYS(K)) D NMSP G CDBN
S SNMSP=K,SYSD=$E($ZU(86)),SYS=SYSD_":",STN=1,ANTL=0
S RPN=SNMSP I SNMSP?1.U1.2N S RPN=$TR(SNMSP,"1234567890")
CVER S VER=$S(($P($P($ZV,")",2),"(",1)[" 3."):3,($P($P($ZV,")",2),"(",1)[" 4."):4,($P($P($ZV,")",2),"(",1)[" 5."):5,($P($P($ZV,")",2),"(",1)[" 2008"):8,($P($P($ZV,")",2),"(",1)[" 2010"):10,1:10)
;
COKN W !!,"OK om verder te gaan? (J/N) : " R K I K="-" G CVER
S K=$ZCONVERT(K,"U") I '(K="J"!(K="N")) G COKN
I K="N" G CVER
;
; Copy Standard Cache.cpf
I STN D
. W !,"Copy 'standard' cache.cpf",!
. S CF=$$CF(SYS) D ST^cQCPF
D INITD^cQCPF I ER D ERROR("Creation of Standard Cache.cpf failed!") G CPFZ
;
; Move Cache.WIJ file
D MCWIJ(SYS)
CPFZ Q
;
GLOMAP ; Insert Global Mapping
W !!,$P($T(+1),";",2),"INSTELLEN GLOBAL MAPPING"
S (CS,MCS)=$ZU(5) D NSPC^cQ21(.SYS,1),NS^cQ21(.NS),DB^cQ21(.DB)
I $O(SYS(CS))="",$O(SYS(CS),-1)="" G YZ
S I="" F S I=$O(SYS(I)) Q:I="" I I'?1.U1.2N K SYS(I)
GDBN W !,"Namespace? : " R K G YZ:K="-" I K="?" D NMSP G GDBN
S K=$ZCONVERT(K,"U") S:K="" K=" " I '$D(SYS(K)) D NMSP G GDBN
S SNMSP=K,SYSD=$E($ZU(86)),SYS=SYSD_":",ANTL=0
GCRPNN S RPN=SNMSP I SNMSP?1.U1.2N S RPN=$TR(SNMSP,"1234567890")
S T=SNMSP F Q:$E(T)?1N S T=$E(T,2,$L(T))
S T=+T I T S NMSP(T)=SNMSP,GLOM(T)=SNMSP
GVER S VER=$S(($P($P($ZV,")",2),"(",1)[" 3."):3,($P($P($ZV,")",2),"(",1)[" 4."):4,($P($P($ZV,")",2),"(",1)[" 5."):5,($P($P($ZV,")",2),"(",1)[" 2008"):8,($P($P($ZV,")",2),"(",1)[" 2010"):10,1:10)
;
S DDIR=SYS_"\DataM\Database\"_RPN
K T S T("R0")=DB(NS(SNMSP,"routines"))_"Cache.dat"
S K=DB(NS(SNMSP,"globals")),T("G0")=$P(K,"\",1,$L(K,"\")-2)_"\0\Cache.dat"
S I=$P(SNMSP,RPN,2) I I S T("G"_I)=DB(NS(SNMSP,"globals"))_"Cache.dat"
S T("R0")=DDIR_"\R\0\Cache.Dat"
;
GOKN W !!,"OK om verder te gaan? (J/N) : " R K I K="-" G GLOMAP
S K=$ZCONVERT(K,"U") I '(K="J"!(K="N")) G GOKN
I K="N" G GLOMAP
;
W !!,"Modify cache.cpf",!
S CF=$$CF(SYS),I="" K LOC
F S I=$O(T(I)) Q:I="" D
. S K=T(I) I $E(K,1,2)="\\" S K=SYSD_":\"_$P(K,"\",5,$L(K,"\"))
. S LOC(I)=$P(K,"\",1,$L(K,"\")-1)_"\"
D INITD^cQCPF I ER D ERROR("Modification of Cache.cpf failed!") G EXTERNZ
GLOMAPZ Q
;
YZ Q
;
CF(X) N K S K=$P($ZU(86),"\",1,(($P($P($ZV,")",2),"(",1)[" 2008")!($P($P($ZV,")",2),"(",1)[" 2010"))+3)_"\Cache.cpf",K=X_$E(K,3,$L(K))
CFZ Q K
;
MCWIJ(X) N ER,K
I $$TST^cQFILE(SYS_"\DataM\Journal\Wij\Cache.WIJ") D
. S K=$P($ZU(86),"\",1,(($P($P($ZV,")",2),"(",1)[" 2008")!($P($P($ZV,")",2),"(",1)[" 2010"))+3)_"\Mgr\Cache.WIJ",K=X_$E(K,3,$L(K))
. S ER=$$CP^cQFILE(K,SYS_"\DataM\Journal\Wij\Cache.WIJ")
. I 'ER S ER=$$DEL^cQFILE(K) ;delete file
MCWIJZ Q
;
ERROR(X,Y) U 0 W !,"Er is een fout opgetreden! Actie gestopt!",!
S X=$G(X) I $L(X) W !,X
S Y=$G(Y) I $L(X) W !,Y
ERRORZ Q
;
NMSP ; show avalaible namespaces
N I W ! S I="" F S I=$O(SYS(I)) Q:I="" W $J(I,10)
NMSPZ Q
;
ZZ ; 17.01.2012 - 15:58 * Cache-r6.4.9