1 | IMRACESS ;ISC-SF/JLI,HCIOFO/FT-HANDLE LISTING AND DELETION OF ACCESS VIOLATIONS ;10/17/97 9:59
|
---|
2 | ;;2.1;IMMUNOLOGY CASE REGISTRY;;Feb 09, 1998
|
---|
3 | ;[IMR ACCESS LOG] - Access Violation Log
|
---|
4 | I '$D(^XUSEC("IMRA",DUZ)) S IMRLOC="IMRACESS" D ACESSERR^IMRERR,H^XUS K IMRLOC
|
---|
5 | ;
|
---|
6 | ASK W !!,"Do you want to:",!?5,"1. List Access Violations",!?5,"2. Delete Entries from the file",!!,"Select your choice: " R X:DTIME G:'$T!(X[U)!(X="") EXIT S X=$E(X) S X=$S("Ll"[X:X=1,"Dd"[X:X=2,1:+X) I X<1!(X>2) W $C(7)," ??",! G ASK
|
---|
7 | S IMRX=X
|
---|
8 | I X=2 S X1=DT,X2=-31 D C^%DTC F IMRJ=0:0 S IMRJ=$O(^IMR(158.8,IMRJ)) Q:IMRJ'>0!(IMRJ'<X) S IMRK=$P(^(IMRJ,0),"^",1) I IMRK K ^IMR(158.8,IMRJ),^IMR(158.8,"B",IMRK,IMRJ)
|
---|
9 | I IMRX=2 S X=0 F IMRJ=0:0 S IMRJ=$O(^IMR(158.8,IMRJ)) Q:IMRJ'>0 S X=X+1
|
---|
10 | I IMRX=2 S:X>0 $P(^IMR(158.8,0),U,4)=X S:X'>0 ^(0)=$P(^IMR(158.8,0),U,1,2) W !!,"All entries over 30 days old have been removed",!! G EXIT
|
---|
11 | K IOP,%ZIS S %ZIS="QM" D ^%ZIS G:POP EXIT I $D(IO("Q")) K IO("Q") S ZTRTN="DQ^IMRACESS",ZTDESC="List IMR Access Violations",ZTIO=ION,ZTREQ="@",ZTSAVE("ZTREQ")="" D ^%ZTLOAD K ZTRTN,ZTDESC,ZTIO,ZTSAVE,ZTSK G EXIT
|
---|
12 | DQ ; List Access Violations
|
---|
13 | U IO S IMRPG=0 D GETNOW,HEDR S IMRUT=0
|
---|
14 | F IMRI=0:0 S IMRI=$O(^IMR(158.8,IMRI)) Q:IMRI'>0 I $D(^(IMRI,0)) D:$Y>(IOSL-4) HDR Q:IMRUT S X=IMRI W !," " D PDATE W " " S X=^(0),Y=+$P(X,U,2),Y=$S('$D(^VA(200,+Y,0)):"DUZ = "_Y,1:$P(^(0),U)) W $E(Y,1,30),?55,$P(X,U,3,6)
|
---|
15 | I 'IMRUT D
|
---|
16 | .Q:$E(IOST)'="C"
|
---|
17 | .Q:$D(IO("S"))
|
---|
18 | .K DIR S DIR(0)="E" D ^DIR
|
---|
19 | .Q
|
---|
20 | D ^%ZISC
|
---|
21 | EXIT K %,%H,%T,%ZIS,IMRDTE,IMRX,IMRI,IMRJ,IMRK,IMRPG,IMRUT,IOP,POP,X,X1,X2,Y,D,DISYS,DIR,DIROUT,DIRUT,DTOUT,DUOUT
|
---|
22 | Q
|
---|
23 | PDATE W $E(X,4,5),"/",$E(X,6,7),"/",$E(X,2,3)," " S X=$P(X,".",2)_"000000" W $E(X,1,2),":",$E(X,3,4),":",$E(X,5,6)
|
---|
24 | Q
|
---|
25 | GETNOW ; Get External Printed Date/time
|
---|
26 | D NOW^%DTC S IMRDTE=% K %,%H,%I,X
|
---|
27 | S Y=IMRDTE D DD^%DT S:Y'="" IMRDTE=Y K Y
|
---|
28 | Q
|
---|
29 | HDR I ($E(IOST,1,2)="C-"&IMRPG) W ! S DIR(0)="E" D ^DIR K DIR I 'Y S IMRUT=1 Q
|
---|
30 | HEDR ; Header For Listing Access Violation
|
---|
31 | W:'($E(IOST,1,2)'="C-"&'IMRPG) @IOF,!! S IMRPG=IMRPG+1
|
---|
32 | W !,IMRDTE,?72,"Page ",IMRPG,!!
|
---|
33 | W !,"For each entry on this list there should be a complete listing of the current",!,"local variables in the system error log, which may provide more information",!,"on these access attempts.",!!
|
---|
34 | W !?5,"DATE",?15,"TIME",?25,"USER ID",?55,"LOCATION OF VIOLATION",!
|
---|
35 | Q
|
---|