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

BUSRUPD.m

Go to the documentation of this file.
  1. BUSRUPD ;IHS/MSC/MGH - Authorization/Subscription Service ;22-Mar-2010 15:11;DU
  1. ;;1.0;AUTHORIZATION/SUBSCRIPTION;**1002**;APR 24, 1997;Build 5
  1. ;=================================================================
  1. ;
  1. ;
  1. ENV ;Environment checker for USR updates
  1. Q
  1. PATCH(X) ;return 1 if patch X was installed, X=aaaa*nn.nn*nnnn
  1. ;copy of code from XPDUTL but modified to handle 4 digit IHS patch numbers
  1. Q:X'?1.4UN1"*"1.2N1"."1.2N.1(1"V",1"T").2N1"*"1.4N 0
  1. NEW NUM,I,J
  1. S I=$O(^DIC(9.4,"C",$P(X,"*"),0)) Q:'I 0
  1. S J=$O(^DIC(9.4,I,22,"B",$P(X,"*",2),0)),X=$P(X,"*",3) Q:'J 0
  1. ;check if patch is just a number
  1. Q:$O(^DIC(9.4,I,22,J,"PAH","B",X,0)) 1
  1. S NUM=$O(^DIC(9.4,I,22,J,"PAH","B",X_" SEQ"))
  1. Q (X=+NUM)
  1. PRE ;
  1. N DLM,DDLM,QUIT,I,TEXT,DATA,PKGNM,VERSION,PATCH,PKGIEN,TAG,VSB,XREFREV
  1. S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0 ; Suppress the Disable options and Move routine prompts
  1. S DDLM=";;",DLM="|",QUIT=0
  1. S TAG="USR"
  1. S QUIT=0
  1. F I=1:1 D Q:QUIT
  1. .S TEXT=$T(@TAG+I) I TEXT="Q" S QUIT=1 Q
  1. .S DATA=$P(TEXT,DDLM,2) I DATA="" S QUIT=1 Q
  1. .S PKGNM=$P(DATA,DLM),VERSION=$P(DATA,DLM,2),PATCH=$P(DATA,DLM,3)
  1. .I '$D(^DIC(9.4,"B",PKGNM)) Q
  1. .S PKGIEN=$O(^DIC(9.4,"B",PKGNM,0)) Q:PKGIEN=""
  1. .I '$D(^DIC(9.4,PKGIEN,22,"B",VERSION)) D
  1. ..K FDA
  1. ..S FDA(9.49,"+1,"_PKGIEN_",",.01)=VERSION
  1. ..D UPDATE^DIE(,"FDA")
  1. ..S FDA(9.49,"+1,"_PKGIEN_",",1)=$G(DT)
  1. ..S FDA(9.49,"+1,"_PKGIEN_",",2)=$G(DT)
  1. ..S FDA(9.49,"+1,"_PKGIEN_",",3)=$G(DUZ)
  1. ..D FILE^DIE(,"FDA")
  1. .Q:PATCH=""
  1. .S VSB=$O(^DIC(9.4,PKGIEN,22,"B",VERSION,0))
  1. .Q:'VSB
  1. .K FDA
  1. .; Do not update if the patch is already in the patch history
  1. .I $D(^DIC(9.4,PKGIEN,22,VSB,"PAH","B",PATCH)) Q
  1. .S FDA(9.4901,"+1,"_VSB_","_PKGIEN_",",.01)=$G(PATCH)
  1. .D UPDATE^DIE(,"FDA")
  1. Q
  1. ;;;;FORMAT - Package name|Version|Patch|Sequence
  1. USR ;
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|1|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|2|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|3|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|4|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|6|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|7|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|8|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|9|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|10|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|11|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|12|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|13|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|14|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|15|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|16|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|17|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|18|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|20|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|21|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|22|
  1. ;;AUTHORIZATION/SUBSCRIPTION|1.0|26|
  1. Q