VistA-IHS-VA_UTILITIES-XB/XBVLINE.m

53 lines
2.4 KiB
Mathematica

XBVLINE ; IHS/ADC/GTH - SET LINE TWO OF SELECTED ROUTINES ; [ 10/29/2002 7:42 AM ]
;;4.0;XB;;Jul 20, 2009;Build 2
; XB*3*9 IHS/SET/GTH XB*3*9 10/29/2002 Cache' mods.
;
; This routine asks user to select a set of routines, asks
; the user for the version number, package, and the date,
; and sets the second line of each routine.
;
; The form of the version line will be as follows:
;
;;n;package name;patch level;date E.G.
;;1.1;PCC DATA ENTRY;**1,2**;Sep 9, 1989
;
START ;
NEW ASK,QUIT,RTN
KILL ^UTILITY($J)
D ^XBKVAR
X ^%ZOSF("RSEL")
I $D(^UTILITY($J,"XBVLINE")) W !,"Can't do ^XBVLINE. Deleting." KILL ^UTILITY($J,"XBVLINE")
I $D(^UTILITY($J,"XB")) W !,"Can't do ^XB. Deleting." KILL ^UTILITY($J,"XB")
I $O(^UTILITY($J,""))="" D EOJ Q
S XBVLINE=" ;;"_$$DIR^XBDIR("F^1:5^K:'(X?1.3N!(X?1.3N.1""."".2N.1A.2N)) X","Enter version number","","","Must be n or n.n or n.nAn where the length of n is 1-3 and A is an alpha character")
I $D(DIRUT) D EOJ Q
S XBVLINE=XBVLINE_";"_$$DIR^XBDIR("FO^2:30","Enter package name")
I $D(DIRUT) D EOJ Q
S X=$$DIR^XBDIR("FO^0:20","Enter patch level")
I $D(DUOUT)!$D(DTOUT) D EOJ Q
S XBVLINE=XBVLINE_$S(X="":";",1:";**"_X_"**")
;begin Y2K fix block
;S Y=$$DIR^XBDIR("D","Enter date","TODAY")
S Y=$$DIR^XBDIR("D^::E","Enter date","TODAY")
; end Y2K fix block
I $D(DIRUT) D EOJ Q
D DD^%DT
S XBVLINE=XBVLINE_";"_Y
S ASK=$$DIR^XBDIR("YO","Do you want to be asked ok for each routine","NO","","If you say 'YES' you will be asked if it is ok before each routine is modified.")
I $D(DIRUT) D EOJ Q
F %=1:1:6 S X=$P($T(@("LINE"_%)),";;",2),@("XBVLINE("_%_")=X")
KILL %,X,Y
X XBVLINE(1)
Q
;
EOJ ;
KILL %,X,Y,XBVLINE,^UTILITY($J),DTOUT,DUOUT,DIRUT,DIROUT
Q
;IHS/SET/GTH XB*3*9 10/29/2002 Mod'd LINE2 to seed RTN with 0 vs "".
LINE1 ;;X XBVLINE(2),XBVLINE(5)
LINE2 ;;S QUIT=0,RTN=0 F S RTN=$O(^UTILITY($J,RTN)) Q:RTN="" W !,RTN ZL @RTN X XBVLINE(6) ZR @Y ZI X S X=$T(+2),Z=$P(X," ")_XBVLINE X XBVLINE(3):'ASK,XBVLINE(4):ASK Q:QUIT I X ZI Z:+1 ZS
LINE3 ;;S X=$P(X," ",2,99),X=X?1.2";".1"V"1.N.E ZR:X +2 S X=1
LINE4 ;;W !,X S DIR(0)="S^R:Replace;I:Insert;S:Skip",DIR("B")="R",DIR("?")="Replace the line; Insert before the line; Skip the routine" D ^DIR K DIR ZL @RTN ZR:Y="R" +2 S:$D(DIRUT) Y="S",QUIT=1 S X=Y'="S"
LINE5 ;;K %,XBVLINE,DTOUT,DUOUT,DIRUT,DIROUT,X,Y,Z,^UTILITY($J)
LINE6 ;;S X=$T(+1),X=$P(X,"["),Y=$L(X,";") S Y=$P(X,$S(X?1.8U1"(".E:"(",1:" "),1)