Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ACGSUTIL

ACGSUTIL.m

Go to the documentation of this file.
  1. ACGSUTIL ;IHS/OIRM/DSD/THL,AEF - UTILITY PROGRAMS TO CHECK DATABASE INTEGRITY; [ 03/27/2000 2:22 PM ]
  1. ;;2.0t1;CONTRACT INFORMATION SYSTEM;;FEB 16, 2000
  1. ;;UTILITY PROGRAMS TO CHECK DATABASE INTEGRITY
  1. Q
  1. RQD ;EP;CHECKS ALL CIS ENTRIES FOR DATA IN REQUIRED FIELDS
  1. S ACGRDA=0 F S ACGRDA=$O(^ACGS(ACGRDA)) Q:'ACGRDA S ACGCNO=$P(^ACGS(ACGRDA,0),U,3) I ACGRDA'=ACGCNO S ACG1=$P(^ACGTPA($P(^("DT"),U),0),U) D @ACG1^ACGSRQD
  1. K ACGRDA,ACG1
  1. Q
  1. PP ;EP;CHECKS THE PLACE OF PERFORMANCE FOR CONSISTENCY WITH RQD FORMAT
  1. N ACGRDA,ACG,ACG28DA
  1. S ACGRDA=0
  1. F S ACGRDA=$O(^ACGS(ACGRDA)) Q:'ACGRDA D
  1. .S ACG=$P(^ACGS(ACGRDA,"DT1"),U,7)
  1. .I ACG'="" D
  1. ..I $E(ACG)?1N S ACG=$P(ACG,+ACG,2)
  1. ..I ACG'="" D
  1. ...S ACG28DA=$O(^AUTTGL("B",ACG,""))
  1. ...I 'ACG28DA D SET
  1. ...I ACG28DA,ACG28DA'=$P(^ACGS(ACGRDA,10),U,2) S $P(^(10),U,2)=ACG28DA
  1. S DIK="^ACGS("
  1. F DIK(1)="1028^1","1005" D ENALL^DIK
  1. K DIK
  1. Q
  1. VENDOR ;EP;UPDATES THE VENDOR/CONTRACTOR GEOGRAPHICAL LOCATION XREF'S
  1. S DIK="^AUTTVNDR(",DIK(1)="1125"
  1. D ENALL^DIK
  1. K DIK
  1. Q
  1. SET ;CREATES NEW GEOGRAPHICAL LOCATION IF NO MATCH EXISTS
  1. S X=ACG,DIC="^AUTTGL(",DIC(0)="L"
  1. D FILE^ACGSDIC
  1. K DIC
  1. S (ACG28DA,$P(^ACGS(ACGRDA,10),U,2))=+Y
  1. Q
  1. CLEAN ;EP;CLEANS DANGLING XREF'S
  1. N ACG,ACG1,ACG2,X
  1. ;F X=66:1:82 S ACG=$C(X),ACG1="" W:IOST["C-" "." F S ACG1=$O(^ACGS(ACG,ACG1)) Q:ACG1="" S ACG2=0 F S ACG2=$O(^ACGS(ACG,ACG1,ACG2)) Q:'ACG2 I '$D(^ACGS(ACG2,0)) K ^ACGS(ACG,ACG1,ACG2),^ACGS(ACG2)
  1. F ACG=66:1:82 S ACGX=$C(ACG) W:IOST["C-" !,ACGX," Cross Reference being checked." K ^ACGS(ACGX)
  1. F ACG=1,2,4,5,10,11,15,16,19,24,30,103,121,1099 W !,"Re-indexing field ",ACG S DIK="^ACGS(",DIK(1)=ACG_"^1" S:ACG=19 DIK(1)="19^2" D ENALL^DIK
  1. Q
  1. XREF ;EP;RE-INDEX SELECTED XREF'S
  1. N ACG,ACG1,ACG2,X
  1. F X=66:1:82 S ACG=$C(X),ACG1="" W:IOST["C-" "." K ^ACGS(ACG)
  1. S DIK="^ACGS(",DIK(1)=""
  1. D IX1^DIK
  1. Q
  1. ORIG ;EP;SETS MISSING REQUIRED DATA IN MODIFICATIONS FROM ORIGINAL ACTION
  1. S X=0,U="^"
  1. F S X=$O(^ACGS("C",X)) Q:'X D
  1. .F ACG=12:1:20 S @("ACG"_ACG)=$P(^ACGS(X,"DT"),U,ACG)
  1. .F ACG=22,27,28 S @("ACG"_ACG)=$P(^ACGS(X,"DT1"),U,(ACG-21))
  1. .S ACG53=$P(^ACGS(X,"DT2"),U,18)
  1. .S Y=0 F S Y=$O(^ACGS("C",X,Y)) Q:'Y D:X'=Y
  1. ..F ACG=12:1:20 S:$P(^ACGS(Y,"DT"),U,ACG)=""&(@("ACG"_ACG)'="") $P(^("DT"),U,ACG)=@("ACG"_ACG)
  1. ..F ACG=22,27,28 S:$P(^ACGS(Y,"DT1"),U,(ACG-21))=""&(@("ACG"_ACG)'="") $P(^("DT1"),U,(ACG-21))=@("ACG"_ACG)
  1. ..S:$P(^ACGS(Y,"DT2"),U,18)=""&(ACG53'="") $P(^("DT2"),U,18)=ACG53
  1. Q
  1. ;