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

AUBPI.m

Go to the documentation of this file.
  1. AUBPI ;EDE/OHPD/TUCSON BUILD PACKAGE PRE-INIT ROUTINE [ 03/15/89 3:15 PM ]
  1. ;
  1. W !!,"This routine will build a pre-init routine for the specified package."
  1. W !,"The pre-init routine will call %AUKD to delete the FileMan dictionaries"
  1. W !,"being created by the package. Data globals and templates will be saved.",!!
  1. F AUBPLOOP=0:0 D PACKAGE Q:Y<0 D BUILD
  1. K %,AUBPLOOP
  1. Q
  1. ;
  1. PACKAGE ;
  1. S DIC="^DIC(9.4,",DIC(0)="AEMQ" D ^DIC K DIC
  1. Q
  1. ;
  1. BUILD ;
  1. S AUBPDFN=+Y
  1. S AUBPPRFX=$P(^DIC(9.4,AUBPDFN,0),U,2)
  1. S AUBPVER=^DIC(9.4,AUBPDFN,"VERSION") ;IHS/MFD ADDED VERSION SET
  1. S AUBPPGM=AUBPPRFX_"PREI"
  1. D CHECKRTN
  1. I AUBPFLG D EOJ3 W !!,"Bye",! Q
  1. K ^UTILITY("AUBPI",$J),^UTILITY("AUBPPGM",$J),^UTILITY("AUBPI EXEC",$J)
  1. W "."
  1. S (AUBPX,AUBPFLE)=0 F AUBPL=0:0 S AUBPFLE=$O(^DIC(9.4,AUBPDFN,4,"B",AUBPFLE)) Q:AUBPFLE'=+AUBPFLE S ^UTILITY("AUBPI",$J,AUBPFLE)=""
  1. W "."
  1. S AUBPFLG=0,AUBPFLE="" F AUBPL=0:0 S AUBPFLE=$O(^UTILITY("AUBPI",$J,AUBPFLE)) Q:AUBPFLE'=+AUBPFLE I '$D(^DIC(AUBPFLE)) S AUBPFLG=1 W !,AUBPFLE," does not exist in ^DIC!"
  1. I AUBPFLG W !!,"All files in package must exist. Fix and rerun.",!! D EOJ Q
  1. W "."
  1. S AUBPFLE="" F AUBPL=0:0 S AUBPFLE=$O(^UTILITY("AUBPI",$J,AUBPFLE)) Q:AUBPFLE'=+AUBPFLE S ^(AUBPFLE)="^UTILITY(""AUDSET"",$J,"_AUBPFLE_")=S^S"
  1. W "."
  1. S %DT="",X="T" D ^%DT X ^DD("DD")
  1. S ^UTILITY("AUBPPGM",$J,1)=AUBPPGM_" ;CREATED BY AUBPI ON "_Y
  1. S ^UTILITY("AUBPPGM",$J,2)=" ;"_AUBPVER ;IHS/MFD ADDED LINE
  1. F AUBPI=1:1:3 S ^UTILITY("AUBPPGM",$J,AUBPI+2)=$P($T(DTA+AUBPI),";;",2,99)
  1. S AUBPFLE=0 F AUBPI=6:1 S AUBPFLE=$O(^UTILITY("AUBPI",$J,AUBPFLE)) Q:AUBPFLE'=+AUBPFLE S AUBPY=^(AUBPFLE),^UTILITY("AUBPPGM",$J,AUBPI)=" ;;"_AUBPY
  1. S ^UTILITY("AUBPI EXEC",$J)="S AUBPP="""_AUBPPGM_""",AUBPY=0 ZR X ""F AUBPL=0:0 S AUBPY=$O(^UTILITY(""""AUBPPGM"""",$J,AUBPY)) Q:AUBPY'=+AUBPY ZI ^(AUBPY)"" ZS @AUBPP"
  1. X ^UTILITY("AUBPI EXEC",$J)
  1. D EOJ
  1. Q
  1. ;
  1. CHECKRTN ;
  1. S AUBPFLG=0
  1. Q:'$D(^DD("OS"))#2
  1. Q:'$D(^DD("OS",^DD("OS"),18))#2
  1. S X=AUBPPGM X ^(18)
  1. E Q
  1. CR2 W !!,AUBPPGM," already exists. Want to recreate it (Y/N) Y//" D YN^DICN
  1. S:$E(%Y)="N" AUBPFLG=1
  1. Q
  1. ;
  1. EOJ ;
  1. W !!,"Routine ",AUBPPGM," has been filed.",!!
  1. I '$D(^DIC(9.4,AUBPDFN,"PRE")) D EOJ2
  1. I $D(^DIC(9.4,AUBPDFN,"PRE")),^("PRE")="" D EOJ2
  1. E I $D(^DIC(9.4,AUBPDFN,"PRE")),^("PRE")'=AUBPPGM W !!,"Package ",AUBPPRFX," has a pre-initialization routine entry but it is ",^("PRE"),"!"
  1. D EOJ3
  1. Q
  1. EOJ2 ;
  1. W !,"Package ",AUBPPRFX," has no pre-initialization routine entry!",!
  1. Q
  1. EOJ3 ;
  1. K ^UTILITY("AUBPI",$J),^UTILITY("AUBPPGM",$J),^UTILITY("AUBPI EXEC",$J)
  1. K %,%DT
  1. K AUBPDFN,AUBPFLE,AUBPFLG,AUBPI,AUBPL,AUBPP,AUBPPGM,AUBPPRFX,AUBPX,AUBPY
  1. Q
  1. ;
  1. DTA ;
  1. ;; K ^UTILITY("AUDSET",$J) F AUBPI=1:1 S AUBPIX=$P($T(Q+AUBPI),";;",2) Q:AUBPIX="" S AUBPIY=$P(AUBPIX,"=",2,99),AUBPIX=$P(AUBPIX,"=",1) S @AUBPIX=AUBPIY
  1. ;; K AUBPI,AUBPIX,AUBPIY D EN2^%AUKD
  1. ;;Q Q