source: IHS-VA_UTILITIES-XB/XBKIDS.m@ 641

Last change on this file since 641 was 641, checked in by Sam Habiel, 15 years ago

Initial commit of XB, move away from sf.net.
Includes kids file and documentation.

File size: 2.9 KB
Line 
1XBKIDS ; IHS/ASDST/GTH - KIDS UTILITIES ; [ 10/29/2002 7:42 AM ]
2 ;;4.0;XB;;Jul 20, 2009;Build 2
3 ;
4 ; IHS/SET/GTH XB*3*9 10/29/2002
5 ;
6 ; --------------------
7 ;
8VCHK(XBPRE,XBVER,XBQUIT) ;PEP - For environment check routines.
9 ; Pass "PREFIX","Version","XPDQUIT_value".
10 ; E.g.: Q:'$$VCHK^XBKIDS("AG",5.4,2)
11 ;
12 NEW XBV
13 S XBV=$$VERSION^XPDUTL(XBPRE)
14 W !,$$CJ^XLFSTR("Need at least "_XBPRE_" v "_XBVER_"....."_XBPRE_" v "_XBV_" Present",IOM)
15 I XBV<XBVER KILL DIFQ S XPDQUIT=XBQUIT W *7,!,$$CJ^XLFSTR("Sorry....",IOM) S XBV=$$DIR^XBDIR("E","Press RETURN") Q 0
16 Q 1
17 ;
18 ; --------------------
19 ;
20P(XBP) ;PEP - Determine if patch XBP was installed.
21 ; XBP must be in standard patch naming format. E.g. "AG*6.0*13"
22 ; ^DIC(9.4,D0,22,D1,PAH,D2,0)=
23 ; (#.01) PATCH APPLICATION HISTORY [1F] ^ (#.02)DATE APPLIED [2D] ^ (#.03) APPLIED BY [3P] ^
24 ;
25 NEW D,DIC,X,XB,Y
26 S X=$P(XBP,"*",1),DIC="^DIC(9.4,",DIC(0)="F",D="C"
27 D IX^DIC
28 I Y<1 Q "PREFIX '"_$P(XBP,"*",1)_"' NOT FOUND IN PACKAGE FILE."
29 S XB="^DIC(9.4,"_(+Y)_","
30 ;
31 KILL D
32 S DIC=DIC_+Y_",22,",X=$P(XBP,"*",2)
33 D ^DIC
34 I Y<1 Q "VERSION '"_$P(XBP,"*",2)_"' NOT FOUND IN PACKAGE FILE."
35 S XB=XB_"22,"_(+Y)_","
36 ;
37 S DIC=DIC_+Y_",""PAH"",",X=$P(XBP,"*",3)
38 D ^DIC
39 Q $S(Y>0:XB_"""PAH"","_(+Y)_",",1:"PATCH NUMBER '"_$P(XBP,"*",3)_"' NOT FOUND IN PACKAGE FILE.")
40 ;
41 ; --------------------
42 ;
43 ; OPTSAV() and OPTRES() are provided b/c if an option of type "menu"
44 ; is included in a KIDS transport and install, the existing option
45 ; is overwritten, thereby destroying any local modifications.
46 ;
47 ; Further, if an option of type "menu" is included in a KIDS transport
48 ; and install, -all- the options on that option of type "menu" -must-
49 ; be included in the KIDS transport, whether they are changed, or not.
50 ;
51 ; The value of XB2SUB is provided by the calling routine, and has no
52 ; particular meaning.
53 ;
54 ; E.g.: D OPTSAV^XBKIDS("AGMENU","Cochise")
55 ; D OPTRES^XBKIDS("AGMENU","Cochise")
56 ;
57OPTSAV(XBM,XB2SUB) ;PEP - Save the menu portion of an option.
58 I $D(^XTMP("XBKIDS",XB2SUB,"OPTSAV",XBM)) D BMES^XPDUTL("NOT SAVED. Option '"_XBM_"' has previously been saved.") Q
59 I '$D(^XTMP("XBKIDS")) S ^XTMP("XBKIDS",0)=$$FMADD^XLFDT(DT,30)_U_DT_U_"XBKIDS - SAVE OPTION CONFIGURATIONS."
60 NEW I,A
61 S I=$O(^DIC(19,"B",XBM,0))
62 I 'I D BMES^XPDUTL("NOT SAVED. Option '"_XBM_"' not found in OPTION file.") Q
63 S A=0
64 F S A=$O(^DIC(19,I,10,A)) Q:'A S ^XTMP("XBKIDS",XB2SUB,"OPTSAV",XBM,A)=$P(^DIC(19,+^DIC(19,I,10,A,0),0),U,1)_U_$P(^DIC(19,I,10,A,0),U,2,3)
65 Q
66 ;
67 ; --------------------
68 ;
69OPTRES(XBM,XB2SUB) ; PEP - Restore the menu portion of an option.
70 NEW XB,XBI
71 I '$D(^XTMP("XBKIDS",XB2SUB,"OPTSAV",XBM)) D BMES^XPDUTL("FAILED. Option '"_XBM_"' was not previously saved.") Q
72 S XB=0
73 F S XB=$O(^XTMP("XBKIDS",XB2SUB,"OPTSAV",XBM,XB)) Q:'XB S XBI=^(XB) I '$$ADD^XPDMENU(XBM,$P(XBI,U,1),$P(XBI,U,2),$P(XBI,U,3)) D BMES^XPDUTL("....FAILED to re-atch "_$P(XBI,U,1)_" to "_XBM_".")
74 Q
75 ;
Note: See TracBrowser for help on using the repository browser.