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

XUP285R.m

Go to the documentation of this file.
  1. XUP285R ;IHS/OIT/FBD - REPAIR MISSING RECORD FOR PATCH XU*8.0*285; May 20, 2011
  1. ;;8.0;KERNEL;**1017**;May 20, 2011;Build 3
  1. ;
  1. N PKG,VERSION,PATCH,RTN,INSTDATE
  1. D INIT
  1. D MAIN
  1. D CLEANUP
  1. Q
  1. ;
  1. INIT ;PRIMARY MODULE INITIALIZATION
  1. S U="^"
  1. S PKG="XU" ;PACKAGE NAMESPACE
  1. S VERSION="8.0" ;PACKAGE VERSION
  1. S PATCH="285" ;SPECIFIC PATCH NUMBER
  1. S RTN="XQALFWD" ;ROUTINE TO TEST FOR PATCH PRESENCE
  1. S INSTDATE=$O(^XPD(9.7,"B","XOBS 1.5",0)),INSTDATE=$P(^XPD(9.7,INSTDATE,0),U,3) ;INSTALL DATE OF XOBS 1.5 PATCH WILL BE USED FOR THIS PATCH RECORD
  1. Q
  1. ;
  1. MAIN ;PRIMARY MODULE EXECUTION
  1. ;
  1. ;CHECK IF PATCH IS ALREADY RECORDED IN PATCH APPLICATON HISTORY
  1. ;
  1. I '+$O(^DIC(9.4,"C",PKG,0)) D MES^XPDUTL(PKG_" not found in PACKAGE file; aborting.") Q
  1. S PKG=$O(^DIC(9.4,"C",PKG,0))
  1. I '+$O(^DIC(9.4,PKG,22,"B",VERSION,0)) D MES^XPDUTL("Version "_VERSION_" not found in PACKAGE file entry for "_PKG_"; aborting.") Q
  1. S VERSION=$O(^DIC(9.4,PKG,22,"B",VERSION,0))
  1. I +$O(^DIC(9.4,PKG,22,VERSION,"PAH","B",PATCH,0)) D MES^XPDUTL("Patch "_PATCH_" already recorded in PACKAGE file entry for "_PKG_" v."_VERSION_" .") Q
  1. ;
  1. ;OK, THE PATCH IS VERIFIED AS NOT LOGGED - SO LOG IT IF IT IS PRESENT
  1. ;
  1. I $$PPRESENT(RTN,PATCH) D LOGPATCH
  1. Q
  1. ;
  1. PPRESENT(RTN,PATCH) ;DETERMINE IF A PATCH IS DOCUMENTED IN A SPECIFIC ROUTINE
  1. N PRESENT,PPDL,SPDL
  1. N PTR ;POINTER FOR INCREMENTAL PATCH SCAN
  1. S PPDL="**" ;PRIMARY PATCH DELIMITER
  1. S SPDL="," ;SECONDARY PATCH DELIMITER
  1. S PRESENT=0 ;PATCH PRESENCE FLAG
  1. ;
  1. S %="S %=$T(+2^"_RTN_")" X % ;PULL THE VERSION LINE FROM THE ROUTINE
  1. S %=$P(%,PPDL,2) ;AND EXTRACT THE PATCH LIST
  1. I $L(%,SPDL)>1 D ;IF MORE THAN ONE,
  1. .F PTR=1:1:$L(%,SPDL) D
  1. ..S:$P(%,SPDL,PTR)=PATCH PRESENT=1
  1. .E S:%=PATCH PRESENT=1
  1. Q PRESENT
  1. ;
  1. LOGPATCH ;CREATE AN ENTRY IN THE PACKAGE FILE (#9.4) FOR A GIVEN VERSION/PATCH
  1. N DIC,DA
  1. N D0 ;JUST MAKING SURE THIS VARIABLE DOESN'T EXIST
  1. S DA(1)=VERSION,DA(2)=PKG
  1. S DIC="^DIC(9.4,"_DA(2)_",22,"_DA(1)_",""PAH"","
  1. S DIC(0)="LZ"
  1. S X=PATCH
  1. S DIC("DR")=".02///"_INSTDATE_";.03///`"_DUZ
  1. D FILE^DICN
  1. I +Y>1 D MES^XPDUTL("Patch #"_PATCH_" entry added - multiple IEN "_+Y_".")
  1. Q
  1. ;
  1. CLEANUP ;PRIMARY MODULE CLOSEOUT
  1. Q