DIPZ0 ;SFISC/TKW-COMPILE PRINT TEMPLATES ;19JAN2010
;;22.0;VA FileMan;**160,163**;Mar 30, 1999;Build 30
;Per VHA Directive 2004-038, this routine should not be modified.
;
SIZ(DITYP) ;PROMPT FOR SIZE OF COMPILED ROUTINE
;PARAMETER DITYP CONTAINS A NUMBER IN DIALOG FILE POINTING TO EITHER
;TEXT FOR A TEMPLATE TYPE, OR TO THE TEXT 'CROSS-REFERENCES'.
N %,DIR
S %=$G(^DD("ROU")) S:'% %=$P($G(^DD("OS",DISYS,0)),U,4) S:'% %=5000
S DIR(0)="N^2400:"_%_":0",DIR("B")=%,DIR("A")=$$EZBLD^DIALOG(8027)
K % S %(1)=$$EZBLD^DIALOG(DITYP) D BLD^DIALOG(9002,.%,"","DIR(""?"")")
D ^DIR Q
;
RNM(DITYP) ;PROMPT FOR COMPILED ROUTINE NAME
;PARAMETER SAME AS FOR SIZ.
N %,DIR,DIRNM
S DIRNM="" D
.I DITYP<8036 S DIRNM=$G(@(DIC_DIPZ_",""ROUOLD"")")),DIRNM(1)=$G(@(DIC_DIPZ_",""ROU"")"))
.E S DIRNM=$G(@("^DD("_DIPZ_",0,""DIKOLD"")")),DIRNM(1)=$G(@("^DD("_DIPZ_",0,""DIK"")")) S:DIRNM="" DIRNM=DIRNM(1)
.Q
I DIRNM(1)]"" S DIR(0)="Y",DIR("B")="NO" D D ^DIR K DIR Q:$D(DIRUT) I Y D UNC Q
.K % S %(1)=$$EZBLD^DIALOG(DITYP),%(2)=DIRNM(1)
.D BLD^DIALOG(8028,.%,"","DIR(""A"")")
.K %(2) D BLD^DIALOG(9004,.%,"","DIR(""?"")")
.Q
S %=7 ;S:DITYP=8036 %=6
S DIR(0)="F^3:"_%_"^K:X'?1U.NU&(X'?1""%""1U.NU)!(X?1""DI"".E) X" S:DIRNM]"" DIR("B")=DIRNM
D BLD^DIALOG(8001,"","","DIR(""A"")"),BLD^DIALOG(9006,%,"","DIR(""?"")")
D ^DIR K DIR Q:$D(DIRUT)!(X="")
I $L(X)>6 D
.N A,% D BLD^DIALOG(8031,"","","A") W $C(7),! F %=0:0 S %=$O(A(%)) Q:'% W A(%),!
.W ! Q
I $$ROUEXIST^DILIBF(X) K % S %(1)=U_X D BLD^DIALOG(8016,.%,"","DIR") W $C(7),!?5,DIR K DIR
Q
UNC ;UNCOMPILE TEMPLATES/CROSS-REFS
N %,DIR,DIPZ0 I DITYP<8036 K @(DIC_DIPZ_",""ROU"")") S DIPZ0=$G(^("ROUOLD")) D
.I DITYP=8033 D UNCAF^DIEZ(DIPZ)
.D DELETROU^DIEZ(DIPZ0)
E S X=DIPZ D A^DIU21
S %(1)=$$EZBLD^DIALOG(DITYP) D BLD^DIALOG(8026,.%,"","DIR(""A"")") ;'IS NOW UNCOMPILED'
W $C(7),!!,DIR("A")
S X="" Q
;
;DIALOG #8001 'Routine Name'
; #8016 'Note that...is already in the routine directory'
; #8027 'Maximum routine size on this computer...'
; #8028 '...currently compiled under namespace...UNCOMPILE...'
; #8031 'WARNING!! Since the namespace...routine...so long...'
; #8033 'Input template'
; #8034 'Print Template'
; #8036 'Cross-Reference(s)'
; #9002 'This number will be used to determine how large...'
; #9004 'Answer YES to UNCOMPILE the ...'
; #9006 'Enter a valid MUMPS routine name...'
DIPZ0 ;SFISC/TKW-COMPILE PRINT TEMPLATES ;19JAN2010
+1 ;;22.0;VA FileMan;**160,163**;Mar 30, 1999;Build 30
+2 ;Per VHA Directive 2004-038, this routine should not be modified.
+3 ;
SIZ(DITYP) ;PROMPT FOR SIZE OF COMPILED ROUTINE
+1 ;PARAMETER DITYP CONTAINS A NUMBER IN DIALOG FILE POINTING TO EITHER
+2 ;TEXT FOR A TEMPLATE TYPE, OR TO THE TEXT 'CROSS-REFERENCES'.
+3 NEW %,DIR
+4 SET %=$GET(^DD("ROU"))
IF '%
SET %=$PIECE($GET(^DD("OS",DISYS,0)),U,4)
IF '%
SET %=5000
+5 SET DIR(0)="N^2400:"_%_":0"
SET DIR("B")=%
SET DIR("A")=$$EZBLD^DIALOG(8027)
+6 KILL %
SET %(1)=$$EZBLD^DIALOG(DITYP)
DO BLD^DIALOG(9002,.%,"","DIR(""?"")")
+7 DO ^DIR
QUIT
+8 ;
RNM(DITYP) ;PROMPT FOR COMPILED ROUTINE NAME
+1 ;PARAMETER SAME AS FOR SIZ.
+2 NEW %,DIR,DIRNM
+3 SET DIRNM=""
Begin DoDot:1
+4 IF DITYP<8036
SET DIRNM=$GET(@(DIC_DIPZ_",""ROUOLD"")"))
SET DIRNM(1)=$GET(@(DIC_DIPZ_",""ROU"")"))
+5 IF '$TEST
SET DIRNM=$GET(@("^DD("_DIPZ_",0,""DIKOLD"")"))
SET DIRNM(1)=$GET(@("^DD("_DIPZ_",0,""DIK"")"))
IF DIRNM=""
SET DIRNM=DIRNM(1)
+6 QUIT
End DoDot:1
+7 IF DIRNM(1)]""
SET DIR(0)="Y"
SET DIR("B")="NO"
Begin DoDot:1
+8 KILL %
SET %(1)=$$EZBLD^DIALOG(DITYP)
SET %(2)=DIRNM(1)
+9 DO BLD^DIALOG(8028,.%,"","DIR(""A"")")
+10 KILL %(2)
DO BLD^DIALOG(9004,.%,"","DIR(""?"")")
+11 QUIT
End DoDot:1
DO ^DIR
KILL DIR
IF $DATA(DIRUT)
QUIT
IF Y
DO UNC
QUIT
+12 ;S:DITYP=8036 %=6
SET %=7
+13 SET DIR(0)="F^3:"_%_"^K:X'?1U.NU&(X'?1""%""1U.NU)!(X?1""DI"".E) X"
IF DIRNM]""
SET DIR("B")=DIRNM
+14 DO BLD^DIALOG(8001,"","","DIR(""A"")")
DO BLD^DIALOG(9006,%,"","DIR(""?"")")
+15 DO ^DIR
KILL DIR
IF $DATA(DIRUT)!(X="")
QUIT
+16 IF $LENGTH(X)>6
Begin DoDot:1
+17 NEW A,%
DO BLD^DIALOG(8031,"","","A")
WRITE $CHAR(7),!
FOR %=0:0
SET %=$ORDER(A(%))
IF '%
QUIT
WRITE A(%),!
+18 WRITE !
QUIT
End DoDot:1
+19 IF $$ROUEXIST^DILIBF(X)
KILL %
SET %(1)=U_X
DO BLD^DIALOG(8016,.%,"","DIR")
WRITE $CHAR(7),!?5,DIR
KILL DIR
+20 QUIT
UNC ;UNCOMPILE TEMPLATES/CROSS-REFS
+1 NEW %,DIR,DIPZ0
IF DITYP<8036
KILL @(DIC_DIPZ_",""ROU"")")
SET DIPZ0=$GET(^("ROUOLD"))
Begin DoDot:1
+2 IF DITYP=8033
DO UNCAF^DIEZ(DIPZ)
+3 DO DELETROU^DIEZ(DIPZ0)
End DoDot:1
+4 IF '$TEST
SET X=DIPZ
DO A^DIU21
+5 ;'IS NOW UNCOMPILED'
SET %(1)=$$EZBLD^DIALOG(DITYP)
DO BLD^DIALOG(8026,.%,"","DIR(""A"")")
+6 WRITE $CHAR(7),!!,DIR("A")
+7 SET X=""
QUIT
+8 ;
+9 ;DIALOG #8001 'Routine Name'
+10 ; #8016 'Note that...is already in the routine directory'
+11 ; #8027 'Maximum routine size on this computer...'
+12 ; #8028 '...currently compiled under namespace...UNCOMPILE...'
+13 ; #8031 'WARNING!! Since the namespace...routine...so long...'
+14 ; #8033 'Input template'
+15 ; #8034 'Print Template'
+16 ; #8036 'Cross-Reference(s)'
+17 ; #9002 'This number will be used to determine how large...'
+18 ; #9004 'Answer YES to UNCOMPILE the ...'
+19 ; #9006 'Enter a valid MUMPS routine name...'