| 1 | OREOR0 ; slc/dcm - Check things ;7/23/97  12:49 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;;Dec 17, 1997 | 
|---|
| 3 | EN ;Check for mutliple keys | 
|---|
| 4 | W !,"This utility identifies users that have more than one OR key assigned." | 
|---|
| 5 | W !,"Users with more than one key can encounter problems when adding orders." | 
|---|
| 6 | W !,"Any users listed will need to have their Keys edited and correctly assigned.",! | 
|---|
| 7 | W !,"Ok to continue" S %=1 D YN^DICN G:%=0 EN Q:%'=1 | 
|---|
| 8 | N IFN,X,KEY1,KEY2,KEY3,USER | 
|---|
| 9 | S IFN=0 F  S IFN=$O(^VA(200,IFN)) Q:IFN<.1  S USER=$P(^(IFN,0),"^"),(KEY1,KEY2,KEY3)=0 D | 
|---|
| 10 | . I $D(^XUSEC("ORES",IFN)) S KEY1=1 | 
|---|
| 11 | . I $D(^XUSEC("ORELSE",IFN)) S KEY2=1 | 
|---|
| 12 | . I $D(^XUSEC("OREMAS",IFN)) S KEY3=1 | 
|---|
| 13 | . S X=KEY1+KEY2+KEY3 I X>1 W !,USER_" ("_IFN_") has more than 1 OR key: ",?60 W:KEY1 "ORES " W:KEY2 "ORELSE " W:KEY3 "OREMAS" | 
|---|
| 14 | Q | 
|---|
| 15 | ER ;Error check utility | 
|---|
| 16 | N VAR,VAL,ERDT,ERTXT,IFN,VI,FIRST,EVAL,LISTVAR | 
|---|
| 17 | W !!,"This utility will look for errors that happened with a certain variable set." | 
|---|
| 18 | W !,"You can even specify a specific value to look for.",! | 
|---|
| 19 | W !,"Variable: " R X:DTIME Q:'$L(X)  S VAR=X | 
|---|
| 20 | W !,"Value (optional- enter 'NULL' to look for """"): " R X:DTIME I $L(X) S:X="NULL" X="" S VAL=X | 
|---|
| 21 | W !,"List variables: " S %=2 D YN^DICN S LISTVAR=$S(%=1:1,1:0) | 
|---|
| 22 | DATE ; | 
|---|
| 23 | W ! S %DT="AEX",%DT("A")="ERROR DATE: " D ^%DT Q:$D(DTOUT)  Q:X["^"  G:Y<1 ER | 
|---|
| 24 | S X=Y D H^%DTC S ERDT=%H | 
|---|
| 25 | I '$D(^%ZTER(1,+ERDT)) W !,"No errors on that date",! G DATE | 
|---|
| 26 | S IFN=0 F  S IFN=$O(^%ZTER(1,+ERDT,1,IFN)) Q:IFN<1  S ERTXT=$E($G(^(IFN,"ZE")),1,70),FIRST=1 D | 
|---|
| 27 | . S VI=0 F  S VI=$O(^%ZTER(1,+ERDT,1,IFN,"ZV",VI)) Q:VI<1  S X=^(VI,0),EVAL=$G(^("D")) I $E(X,1,$L(VAR))[VAR D | 
|---|
| 28 | .. I $G(VAL) Q:VAL'=$P(EVAL,"^") | 
|---|
| 29 | .. I FIRST S FIRST=0 W !!,IFN_". "_ERTXT | 
|---|
| 30 | .. I LISTVAR W !?3,X,?15,EVAL | 
|---|
| 31 | G DATE | 
|---|
| 32 | Q | 
|---|
| 33 | ORYX ;Find things in the OE/RR Error file | 
|---|
| 34 | N OREND | 
|---|
| 35 | W !!?10,"ORYX('ORERR' file search" | 
|---|
| 36 | I '$O(^ORYX("ORERR",0)) W !!,"No errors in the file." Q | 
|---|
| 37 | F  D YX Q:OREND | 
|---|
| 38 | Q | 
|---|
| 39 | YX ; | 
|---|
| 40 | N ORSSTRT,ORSSTOP,I,X,Y,Z,GOT,YES | 
|---|
| 41 | D RANGE^ORPRS01() | 
|---|
| 42 | Q:OREND | 
|---|
| 43 | W !!,"Enter text to search for (case sensitive & optional): " | 
|---|
| 44 | R X:DTIME Q:'$T | 
|---|
| 45 | S GOT=0,YES=0,%=1 | 
|---|
| 46 | I X'="" W !,"Show details" D YN^DICN Q:%=-1  S:%'=2 YES=1 | 
|---|
| 47 | S I=0 W "  searching..." | 
|---|
| 48 | F  S I=$O(^ORYX("ORERR",I)) Q:I<1  S Y=^(I,0),GOT=0 D | 
|---|
| 49 | . I +Y<ORSSTRT!(+Y>ORSSTOP) Q | 
|---|
| 50 | . I X="" W !,I_"=>"_Y Q | 
|---|
| 51 | . I Y[X S GOT=1 | 
|---|
| 52 | . I 'GOT S J=0 F  S J=$O(^ORYX("ORERR",I,1,J)) Q:J<1  S Z=^(J,0) I Z[X S GOT=1 Q | 
|---|
| 53 | . I GOT D VIEW(I,YES) ;W !,I_"=>"_Y Q:'YES  S J=0 F  S J=$O(^ORYX("ORERR",I,1,J)) Q:J<1  W !?12,^(J,0) | 
|---|
| 54 | V1 I 'YES W !!,"View #: " R X:DTIME I X,$D(^ORYX("ORERR",X)) D VIEW(X,1) G V1 | 
|---|
| 55 | Q | 
|---|
| 56 | VIEW(I,DETAIL) ;View log | 
|---|
| 57 | N J,Y | 
|---|
| 58 | Q:'$D(^ORYX("ORERR",+$G(I),0))  S Y=^(0) | 
|---|
| 59 | W !,I_"=>"_Y Q:'$G(DETAIL)  S J=0 F  S J=$O(^ORYX("ORERR",I,1,J)) Q:J<1  W !?12,^(J,0) | 
|---|
| 60 | Q | 
|---|