1 | DIPR89 ;SFISC/SO-PRE INSTALL ROUTINE FOR PATCH DI*22.0*89 ;5:23 AM 2 Feb 2002
|
---|
2 | ;;22.0;VA FileMan;**89**;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;Utility to follow up patch DI*22*83
|
---|
5 | ;Check for field whose type are Pointer and Set Of Codes
|
---|
6 | ;whose $P#3 was has been corrupted and report them out for maual
|
---|
7 | ;correction.
|
---|
8 | ;Reference NOIS: BRX-1001-12770, Note #7 for replication and 'how
|
---|
9 | ;to' manually correct.
|
---|
10 | S X="Check for corrupted 3rd piece, Type: Pointer or Set Of Codes."
|
---|
11 | D MES^XPDUTL(X)
|
---|
12 | S X="Checking..."
|
---|
13 | D MES^XPDUTL(X)
|
---|
14 | ;
|
---|
15 | S ; Start testing
|
---|
16 | N DDFILE,NOERR
|
---|
17 | S NOERR=0
|
---|
18 | S DDFILE=1.99999
|
---|
19 | F S DDFILE=$O(^DD(DDFILE)) Q:'DDFILE D
|
---|
20 | . N DDFIELD
|
---|
21 | . S DDFIELD=0
|
---|
22 | . F S DDFIELD=$O(^DD(DDFILE,DDFIELD)) Q:'DDFIELD D
|
---|
23 | . . N NODE
|
---|
24 | . . S NODE=$G(^DD(DDFILE,DDFIELD,0))
|
---|
25 | . . I $P(NODE,U,3)]"" Q ;No corruption here
|
---|
26 | . . I $P(NODE,U,2)'["P",$P(NODE,U,2)'["S" Q ;Something other than a Pointer or Set Of Codes Field
|
---|
27 | . . ;Piece #3 of the DD node is Null & the field type is a Pointer or Set Of Codes
|
---|
28 | . . I +$P(NODE,U,2) Q ;We are looking at a Multiple
|
---|
29 | . . S NOERR=1
|
---|
30 | . . N X
|
---|
31 | . . S X=">>File/Subfile: "_DDFILE
|
---|
32 | . . D MES^XPDUTL(X)
|
---|
33 | . . S X=" Field: #"_DDFIELD_"("_$P(NODE,U)_") Type: "_$S($P(NODE,U,2)["P":"Pointer",$P(NODE,U,2)["S":"Set",1:"")
|
---|
34 | . . D MES^XPDUTL(X)
|
---|
35 | . . S X=" Node="_NODE
|
---|
36 | . . D MES^XPDUTL(X)
|
---|
37 | I 'NOERR S X="No problems found" D MES^XPDUTL(X)
|
---|
38 | Q
|
---|