cQERROR(E,R) ;COLLECT ERRORS ;cQERROR; ;Collect errors of type E into file R ; 1 S E=$G(E),R=$G(R) I '$L(E)!'$L(R) D G YZ . W !,"Usage:" . W !,"D ^cQERROR(errormessage,filename)" . W !!,"Example: D ^cQERROR("""",""disconnect"")" . W !," will report all errors in d:\datam\temp\disconnect.txt" K A,B S VNR=0,D="\" F S VNR=$O(^ERROR(VNR)) Q:VNR="" D . Q:'$D(^ERROR(VNR,0)) S K=^(0) . Q:K'[E . Q:'$D(^(.997)) S L=^(.997),PRT=$P($P(L,":"),"|",3),H=$$H($P(K,D),$P(K,D,2)) . I '$L(PRT) S PRT=0 . S A(PRT,H)=$P(K,D,1,5),A(PRT)=$G(A(PRT))+1 ; 2 S PRT="" F S PRT=$O(A(PRT)) Q:PRT="" S H="" D . S OM=$G(^cQSYS(0,"FIXED","IP",PRT)) . I '$L(OM) S OM=$G(^cQSYS(0,"FIXED","NBN",$P(PRT,"."))) . I '$L(OM) S OM="?" . M B(OM,PRT)=A(PRT) ; 3 S FILE=$P($ZU(86),"\",1,2)_"\temp\"_R_".txt" S ER=$$OW^cQFILE(FILE) I ER G YZ S TAB=$C(9),OM="" F S OM=$O(B(OM)) Q:OM="" S ER=$$WF^cQFILE(FILE,OM),PRT="" D . F S PRT=$O(B(OM,PRT)) Q:PRT="" S ER=$$WF^cQFILE(FILE,TAB_PRT),(H,K)="" Q:ER D .. F S H=$O(B(OM,PRT,H)) Q:H="" S B=B(OM,PRT,H) D S ER=$$WF^cQFILE(FILE,K_$C(13,10)),K=TAB Q:ER ... F I=1:1:5 S K=K_TAB_$P(B,D,I) S ER=$$CF^cQFILE(FILE) ; YZ Q ; H(RD,RT) N R0,R1,R2,R3,R4,R5 S RD=$G(RD),RT=$TR(RT,"uh ","::") HZ Q $$DH^cAFD1(RD)_","_($P(RT,":",1)*3600+($P(RT,":",2)*60)+$P(RT,":",3)) ; ZZ ; 17.01.2012 - 15:58 * Cache-r6.4.9