PRDIFF ;KORTTEKST VERSCHILLEN [ 11/20/2002 11:28 AM ] ;Lijsten van verschillen tussen oude korttekst en huidige korttekst D:'$D(Q) ^cA604,INIT^vhTERMINA Kill ^HULP($J) Write @F11,@F1,@FMTI," Lijsten van verschillen in korttekst - ",QN,@FMTi Do ^KPSELQ Q:K="-" Set FP=160 Write @F,@FMTK,"**** I'm thinking ***",@FMTk S (OldKSS,KHS,KGS,KSS,KT)="",Cnt=0 F S KHS=$O(^KPH(KHS)) Quit:KHS="" Do .Quit:KHS'=HG&(KHS']HG) Quit:KHS'=HGX&(KHS]HGX) .F S KGS=$O(^KPH(KHS,KGS)) Quit:KGS="" Do ..Quit:KGS'=GR&(KGS']GR) Quit:KGS'=GRX&(KGS]GRX) ..F S KSS=$O(^KPH(KHS,KGS,KSS)) Quit:KSS="" Do ...Quit:KSS'=SG&(KSS']SG) Quit:KSS'=SGX&(KSS]SGX) ...Set NewKSS=KSS ...F S KT=$O(^KPH(KHS,KGS,KSS," ",KT)) Quit:KT="" Do ....S PRNr=+^(KT) ....Set Kort=$P(^KPR(PRNr,0),D,20) ....Set KortO=$P(^KPR(PRNr,0),D,1) ....Q:'$L(Kort)!($E(Kort)="+") ;!(Kort=KortO) ....If $L(NewKSS) Do .....Set:Cnt Cnt=Cnt+1,^HULP($J,KSS_" "_Cnt)=$TR($J("",25)," ","-")_D_$TR($J("",25)," ","-")_D_$TR($J("",25)," ","-")_D .....Set Cnt=Cnt+1,^HULP($J,KSS_" "_Cnt)=$$DISPLS^KLASS(KSS,1) .....Set NewKSS="" ....If Kort=KortO Set KortO="" ....Set Cnt=Cnt+1,^HULP($J,KSS_$$COMPR(PRNr,"S")_Cnt)=KortO_D_Kort_D_$P(^KPR(PRNr,2),D,25)_D_$P(^KPR(PRNr,1),D,20) Set FP=160 Write @F,@F2 If Cnt=0 Do TXT^vhINP("Geen verschillen gevonden in korttekst") Quit Do INIT^PROC("PRDIFF"),RL^PROC1 Set PRDIFF(11)="Nieuwe versus oude kortteksten" Do ^OUTPUT("SMPT","-.","S") Quit BLDIND3 ;Opbouw van index bestand KPR3 met de oude kortteksten. Do:'$D(Q) ^cA604,INIT^vhTERMINA Set PRNr="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do .Set Kort=$P(^KPR(PRNr,0),D,20) .Set KortO=$P(^KPR(PRNr,0),D,1) .Quit:'$L(Kort)!(Kort=KortO)!($E(Kort)="+") .Set CKortO=$$COMPR^PRODUKT(PRNr) .If $D(^KPR1(CKortO)),PRNr'=+^KPR1(CKortO) Do TXT^vhINP("Nieuw te kreeren korttekst "_Kort_" bestaat reeds","voor produkt ",$P(^KPR1(CKortO),D,2)) Quit .Do DELIND^PRODUKT2(PRNr) .Set $P(^KPR(PRNr,0),D,1)=Kort .Set $P(^KPR(PRNr,0),D,20)="+"_KortO .Do BLDIND^PRODUKT2(PRNr) Quit COMPRES(KortTxt,Sectie,Stock) New I,Out Set Stock=$G(Stock) COMPR2 Set Out="" For I=1:1:$L(KortTxt) Set:I=11&($E(KortTxt,I)=" ") Out=Out_" " Set:I=22&'Stock Out=Out_$C(126) Set:$E(KortTxt,I)'?1P Out=Out_$E(KortTxt,I) Set:$D(Sectie) Out=$E(Out,1,3)_$S($L(Sectie):Sectie,1:" ")_$E(Out,4,99) Quit Out_" " COMPR(PRNr,NoSa) New I,Out,Sectie,Stock,KortTxt Set NoSa=$G(NoSa) Set Sectie="",I=$O(^KPR(PRNr,"I")) Set:$E(I)="I" Sectie=$P(^KPR(PRNr,I),D,5) Set Stock=$P(^KPR(PRNr,1),D,20),KortTxt=$P(^(0),D,1) Set:$G(NoSa)="S" KortTxt=$P(^(0),D,20),Sectie=$P(^(0),D,21) Goto COMPR2 ;