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