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

ACRFPAH.m

Go to the documentation of this file.
  1. ACRFPAH ;IHS/OIRM/DSD/AEF - DISPLAY PATCH APPLICATION HISTORY [ 12/13/2006 2:49 PM ]
  1. ;;2.1;ADMINISTRATIVE RESOURCE MGMT SYSTEM;**22**;NOV 05, 2001
  1. ;
  1. ;
  1. DESC ;----- ROUTINE DESCRIPTION
  1. ;;
  1. ;; This option produces a listing of all patches that have
  1. ;; been installed for the selected package and version.
  1. ;;
  1. ;;$$END
  1. ;
  1. EN ;EP -- MAIN ENTRY POINT
  1. ;
  1. D TXT
  1. D SELECT
  1. Q
  1. CURRENT ;EP -- DISPLAY PATCH APPLICATION HISTORY FOR CURRENT VERSION OF ARMS
  1. ;
  1. D CUR("ADMIN RESOURCE MGT SYSTEM")
  1. Q
  1. SELECT ;EP -- SELECT WHICH PACKAGE AND VERSION FOR PAH DISPLAY
  1. ;
  1. N ACRPIEN,ACRVIEN,ZTSAVE
  1. ;
  1. D HOME^%ZIS
  1. D ^XBKVAR
  1. ;
  1. D PKG(.ACRPIEN)
  1. Q:ACRPIEN'>0
  1. ;
  1. D VER(ACRPIEN,.ACRVIEN)
  1. Q:ACRVIEN'>0
  1. ;
  1. S ZTSAVE("ACRPIEN")=""
  1. S ZTSAVE("ACRVIEN")=""
  1. D QUE^ACRFUTL("DQ^ACRFPAH",.ZTSAVE,"PATCH APPLICATION HISTORY")
  1. Q
  1. CUR(X) ;----- DISPLAY PATCH APPLICATION HISTORY FOR CURRENT VERSION
  1. ;
  1. ; X = PACKAGE NAME
  1. ;
  1. N ACRCVER,ACRPIEN,ACRPKG,ACRVIEN,ZTSAVE
  1. ;
  1. D HOME^%ZIS
  1. D ^XBKVAR
  1. ;
  1. S ACRPIEN=$$PIEN^ACRFPAH(X)
  1. ;
  1. S ACRCVER=$$CVER^ACRFPAH(ACRPIEN)
  1. ;
  1. S ACRVIEN=$$VIEN^ACRFPAH(ACRCVER,ACRPIEN)
  1. ;
  1. ;BEGIN NEW CODE ACR*2.1*22.10 IM23060
  1. I $D(ACRLPAT) D Q
  1. . D LSTPAT
  1. . S ACRZ="VERSION "_ACRCVER_" PATCH "_ACRPCH
  1. ;END NEW CODE ACR*2.1*22.10 IM223060
  1. ;
  1. S ZTSAVE("PIEN")=""
  1. S ZTSAVE("VIEN")=""
  1. ;
  1. D QUE^ACRFUTL("DQ^ACRFPAH",.ZTSAVE,"PATCH APPLICATION HISTORY")
  1. ;
  1. Q
  1. PKG(ACRPIEN) ;
  1. ;----- ASKS PACKAGE AND RETURNS PACKAGE IEN
  1. ;
  1. N DIC,X,Y
  1. S DIC="^DIC(9.4,"
  1. S DIC(0)="AEQ"
  1. D ^DIC
  1. I $D(DTOUT)!($D(DUOUT)) S Y=-1
  1. S ACRPIEN=+Y
  1. Q
  1. VER(ACRPIEN,ACRVIEN) ;
  1. ;----- ASKS VERSION AND RETURNS VERSION IEN
  1. ;
  1. N DIC,X,Y
  1. S DA(1)=ACRPIEN
  1. S DIC="^DIC(9.4,"_DA(1)_",22,"
  1. S DIC(0)="AEQ"
  1. D ^DIC
  1. I $D(DTOUT)!($D(DUOUT)) S Y=-1
  1. S ACRVIEN=+Y
  1. Q
  1. DQ ;EP -- QUEUED JOB STARTS HERE
  1. ;
  1. ; INCOMING VARIABLES:
  1. ; ACRPIEN = PACKAGE IEN
  1. ; ACRVIEN = VERSION IEN
  1. ;
  1. D PRT(ACRPIEN,ACRVIEN)
  1. D PAUSE^ACRFWARN
  1. Q
  1. PRT(ACRPIEN,ACRVIEN) ;
  1. ;----- PRINT THE REPORT
  1. N ACRBY,ACRDATA,ACRDATE,ACRNAME,ACROUT,ACRPAGE,ACRPCH,ACRVER,X
  1. ;
  1. S ACRVER=$P($G(^DIC(9.4,ACRPIEN,22,ACRVIEN,0)),U)
  1. S ACRNAME=$P($G(^DIC(9.4,ACRPIEN,0)),U)
  1. S ACRPAGE=0
  1. S ACROUT=0
  1. ;
  1. D HDR(ACRNAME,ACRVER,.ACRPAGE,.ACROUT)
  1. Q:$G(ACROUT)
  1. ;
  1. S ACROUT=0
  1. S X=0
  1. F S X=$O(^DIC(9.4,ACRPIEN,22,ACRVIEN,"PAH",X)) Q:'X D Q:$G(ACROUT)
  1. . S ACRDATA=$G(^DIC(9.4,ACRPIEN,22,ACRVIEN,"PAH",X,0))
  1. . S ACRPCH=$P(ACRDATA,U)
  1. . S ACRDATE=$P(ACRDATA,U,2)
  1. . I ACRDATE]"" S ACRDATE=$$SLDATE^ACRFUTL(ACRDATE)
  1. . S ACRBY=$P(ACRDATA,U,3)
  1. . I ACRBY S ACRBY=$P($G(^VA(200,ACRBY,0)),U)
  1. . I $Y>(IOSL-5) D HDR(ACRNAME,ACRVER,.ACRPAGE,.ACROUT)
  1. . Q:$G(ACROUT)
  1. . W !,ACRPCH
  1. . W ?15,ACRDATE
  1. . W ?30,ACRBY
  1. D ^%ZISC
  1. Q
  1. LSTPAT ;ONLY GET LAST PATCH # ;NEW CODE ACR*2.1*22.10 IM23060
  1. S X=0
  1. F S X=$O(^DIC(9.4,ACRPIEN,22,ACRVIEN,"PAH",X)) Q:'X D Q:$G(ACROUT)
  1. . S ACRDATA=$G(^DIC(9.4,ACRPIEN,22,ACRVIEN,"PAH",X,0))
  1. . S ACRPCH=$P(ACRDATA,U)
  1. Q
  1. HDR(ACRNAME,ACRVER,ACRPAGE,ACROUT) ;
  1. ;----- PRINT HEADER
  1. ;
  1. N DIR,X,Y
  1. ;
  1. I $E(IOST)="C",$G(ACRPAGE) S DIR(0)="E" D ^DIR K DIR I 'Y S ACROUT=1 Q
  1. ;
  1. S ACRPAGE=$G(ACRPAGE)+1
  1. W @IOF
  1. W !,ACRNAME," VERSION ",ACRVER," PATCH APPLICATION HISTORY"
  1. W !?49,$$NOW^ACRFUTL
  1. W " PAGE ",ACRPAGE
  1. W !,"PATCH"
  1. W ?15,"DATE APPLIED"
  1. W ?30,"APPLIED BY"
  1. W !
  1. F I=1:1:IOM W "-"
  1. Q
  1. PIEN(X) ;----- GET PACKAGE IEN
  1. ;
  1. ; X = PACKAGE NAME
  1. ;
  1. N DIC,Y
  1. S DIC="^DIC(9.4,"
  1. S DIC(0)=""
  1. D ^DIC
  1. Q +Y
  1. CVER(X) ;----- GET CURRENT VERSION
  1. ;
  1. ; X = PACKAGE IEN
  1. ;
  1. N Y
  1. S Y=""
  1. I X S Y=$P($G(^DIC(9.4,X,"VERSION")),U)
  1. Q Y
  1. VIEN(X,ACRPKG) ;
  1. ;----- GET VERSION IEN
  1. ;
  1. ; ACRPKG = PACKAGE IEN
  1. ; X = VERSION NUMBER
  1. ;
  1. N Y
  1. S DIC="^DIC(9.4,"_ACRPKG_",22,"
  1. S DIC(0)=""
  1. D ^DIC
  1. Q +Y
  1. TXT ;----- PRINT OPTION DESCRIPTION
  1. ;
  1. N I,X
  1. F I=1:1 S X=$P($T(DESC+I),";",3) Q:X["$$END" W !,X
  1. Q