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

BDGP15PS.m

Go to the documentation of this file.
  1. BDGP15PS ;ihs/cmi/maw - PIMS Patch 1015 post init
  1. ;;5.3;PIMS;**1015**;MAY 28, 2004;Build 21
  1. ;
  1. ENV ;-- environment check
  1. I '$$INSTALLD("PIMS*5.3*1014") D SORRY(2)
  1. I '$$INSTALLD("BJPC*2.0*9") D SORRY(2)
  1. Q
  1. ;
  1. POST ;--patch 1015 post init
  1. D RCIT("SDAMXOE","SD ENCOUNTER ENTRY",15000)
  1. D RCIT("SDAMXLG","SD ENCOUNTER LOG",15000)
  1. D PAH
  1. Q
  1. ;
  1. RCIT(X,IT,DMAX) ;-- recompile an input template
  1. S Y=$O(^DIE("B",IT,0))
  1. Q:'Y
  1. D EN^DIEZ
  1. Q
  1. ;
  1. PAH ;-- update the Patch Application History
  1. N BDA,BDGDATA,BDGDG,BDGDGS,BDGSD,BDGSDS,BDG,BDG53,BSD,BSD53
  1. S BDG=$O(^DIC(9.4,"C","DG",0))
  1. Q:'BDG
  1. S BDG53=$O(^DIC(9.4,BDG,22,"B",5.3,0))
  1. Q:'BDG53
  1. S BSD=$O(^DIC(9.4,"C","SD",0))
  1. Q:'BSD
  1. S BSD53=$O(^DIC(9.4,BSD,22,"B",5.3,0))
  1. Q:'BSD53
  1. D NOW^%DTC
  1. S BDGNOW=$S(%:%,1:DT)
  1. W !,"Updating DG and SD Package file entries for Patch Application History"
  1. S BDA=0 F S BDA=$O(^BDGPAH(BDA)) Q:'BDA D
  1. . S BDGDATA=$G(^BDGPAH(BDA,0))
  1. . S BDGDGS=$P(BDGDATA,U)
  1. . S BDGDG=$P(BDGDATA,U,2)
  1. . W "."
  1. . D DGUP(BDG,BDG53,BDGDG,BDGDGS)
  1. . S BDGSDS=$P(BDGDATA,U,3)
  1. . S BDGSD=$P(BDGDATA,U,4)
  1. . Q:'BDGSD
  1. . W "."
  1. . D SDUP(BSD,BSD53,BDGSD,BDGSDS)
  1. K BDGNOW
  1. Q
  1. ;
  1. DGUP(DG,DG53,DGDG,DGDGS) ;--update DG PAH node
  1. N CDA,MATCH,STR
  1. S MATCH=0
  1. S CDA=0 F S CDA=$O(^DIC(9,4,DG,22,DG53,"PAH",CDA)) Q:'CDA D
  1. . I $P(CDA," ")=DGDG S MATCH=1
  1. Q:$G(MATCH)
  1. N DDA,DIENS,DERR
  1. S DIENS(2)=DG
  1. S DIENS(1)=DG53
  1. S DIENS="+3,"_DG53_","_DG_","
  1. S STR=DGDG_" SEQ #"_DGDGS
  1. S DDA(9.4901,DIENS,.01)=STR
  1. S DDA(9.4901,DIENS,.02)=BDGNOW
  1. S DDA(9.4901,DIENS,.03)=DUZ
  1. D UPDATE^DIE("","DDA","DIENS","DERR(1)")
  1. Q
  1. ;
  1. SDUP(SD,SD53,SDSD,SDSDS) ;update SD PAH node
  1. N CDA,MATCH,STR
  1. S MATCH=0
  1. S CDA=0 F S CDA=$O(^DIC(9,4,SD,22,SD53,"PAH",CDA)) Q:'CDA D
  1. . I $P(CDA," ")=SDSD S MATCH=1
  1. Q:$G(MATCH)
  1. N DDA,DIENS,DERR
  1. S DIENS(2)=SD
  1. S DIENS(1)=SD53
  1. S DIENS="+3,"_SD53_","_SD_","
  1. S STR=SDSD_" SEQ #"_SDSDS
  1. S DDA(9.4901,DIENS,.01)=STR
  1. S DDA(9.4901,DIENS,.02)=BDGNOW
  1. S DDA(9.4901,DIENS,.03)=DUZ
  1. D UPDATE^DIE("","DDA","DIENS","DERR(1)")
  1. Q
  1. ;
  1. INSTALLD(BDGSTAL) ;EP - Determine if patch BDGSTAL was installed, where
  1. ; BDGSTAL is the name of the INSTALL. E.g "AG*6.0*11".
  1. ;
  1. NEW BDGY,DIC,X,Y
  1. S X=$P(BDGSTAL,"*",1)
  1. S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
  1. D IX^DIC
  1. I Y<1 D IMES Q 0
  1. S DIC=DIC_+Y_",22,",X=$P(BDGSTAL,"*",2)
  1. D ^DIC
  1. I Y<1 D IMES Q 0
  1. S DIC=DIC_+Y_",""PAH"",",X=$P(BDGSTAL,"*",3)
  1. D ^DIC
  1. S BDGY=Y
  1. D IMES
  1. Q $S(BDGY<1:0,1:1)
  1. IMES ;
  1. D MES^XPDUTL($$CJ^XLFSTR("Patch """_BDGSTAL_""" is"_$S(Y<1:" *NOT*",1:"")_" Present.",IOM))
  1. Q
  1. SORRY(X) ;
  1. KILL DIFQ
  1. I X=3 S XPDQUIT=2 Q
  1. S XPDQUIT=X
  1. W *7,!,$$CJ^XLFSTR("Sorry....FIX IT!",IOM)
  1. Q
  1. ;