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

TIUPS79.m

Go to the documentation of this file.
  1. TIUPS79 ; SLC/JM - Post-install for TIU*1*79 ;04:18 PM 20 Jan 2000
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**79**;Jun 20, 1997
  1. INSTALL ; Main entry point for install
  1. N DOCOUNT,XPDIDTOT S DOCOUNT=1
  1. D MAIN
  1. D BUILDAES ; Build new AES cross-reference
  1. Q
  1. MAIN ; Main entry point for manual call
  1. N IDX,USER,CNT
  1. ; First reorder the ASAVE XRef in ^TMP
  1. K ^TMP("TIU79",$J)
  1. S USER=0
  1. F S USER=$O(^TIU(8925,"ASAVE",USER)) Q:'USER D
  1. .S IDX=0
  1. .F S IDX=$O(^TIU(8925,"ASAVE",USER,IDX)) Q:'IDX D
  1. ..S ^TMP("TIU79",$J,IDX,USER)=""
  1. S CNT=0
  1. I $D(DOCOUNT) D
  1. .D COUNT(.CNT,-2),COUNT(.CNT,"-0;")
  1. .S XPDIDTOT=CNT,CNT=0
  1. D FIX(.CNT,-2),FIX(.CNT,"-0;")
  1. K ^TMP("TIU79",$J)
  1. Q
  1. ;
  1. COUNT(CNT,FRSTBASE) ;Count all the -1 entries in "G" XRef
  1. N BASE,IDX
  1. S BASE=FRSTBASE
  1. F S BASE=$O(^TIU(8925,"G",BASE)) Q:$$BADBASE() D
  1. .S IDX=0
  1. .F S IDX=$O(^TIU(8925,"G",BASE,IDX)) Q:'IDX S CNT=CNT+1
  1. Q
  1. ;
  1. FIX(CNT,FRSTBASE) ;Fix 1405 fields by searching the "G" XRef for -1
  1. N BASE,IDX,USER
  1. S BASE=FRSTBASE
  1. F S BASE=$O(^TIU(8925,"G",BASE)) Q:$$BADBASE() D
  1. .S IDX=0
  1. .F S IDX=$O(^TIU(8925,"G",BASE,IDX)) Q:'IDX D
  1. ..S USER=0
  1. ..F S USER=$O(^TMP("TIU79",$J,IDX,USER)) Q:'USER D
  1. ...K ^TIU(8925,"ASAVE",USER,IDX)
  1. ..N DIE,DA,DR
  1. ..S DIE=8925
  1. ..S DA=IDX
  1. ..S DR="1405///@"
  1. ..D ^DIE
  1. ..I $D(DOCOUNT) D
  1. ...S CNT=CNT+1
  1. ...D UPDATE^XPDID(CNT)
  1. Q
  1. BADBASE() ; Returns TRUE if at the end of this part of the "G" XRef
  1. N BAD
  1. S BAD=0
  1. I FRSTBASE=-2 D I 1
  1. .I BASE'=-1,BASE'=0 S BAD=1
  1. E I (+BASE)'=-1 S BAD=1
  1. Q BAD
  1. BUILDAES ; Build "AES" index on Multi-signature file
  1. N DA,DIK,CNT,XPDIDTOT
  1. ; If the index exists, don't rebuild it
  1. Q:+$O(^TIU(8925.7,"AES",0))
  1. S DIK="^TIU(8925.7,",DIK(1)=".01^AES",(CNT,DA)=0
  1. D BMES^XPDUTL(" BUILDING NEW ""AES"" CROSS-REFERENCE ON FILE 8925.7")
  1. S XPDIDTOT=$P(^TIU(8925.1,0),U,4)
  1. D UPDATE^XPDID(0)
  1. F S DA=$O(^TIU(8925.7,DA)) Q:+DA'>0 D
  1. . D EN1^DIK
  1. . S CNT=CNT+1
  1. . D:'(CNT#10) UPDATE^XPDID(CNT)
  1. Q