- XPDINIT2 ; ; 03-JUL-1995
- ;;8.0;KERNEL;;JUL 10, 1995
- ;
- ;
- K ^UTILITY("DIFROM",$J),DIC S DIDUZ=0 S:$D(DUZ)#2 DIDUZ=DUZ S DUZ=.5
- I $D(^DIC(9.2,0))#2,^(0)?1"HEL".E S (DIC,DLAYGO)=9.2,N="HEL",DIC(0)="LX" G ADD
- Q
- ;
- ADD F R=0:0 S R=$O(^UTILITY(U,$J,N,R)) Q:R'>0 S X=$P(^(R,0),U,1) W "." K DA D ^DIC I Y>0,'$D(DIFQ(N))!$P(Y,U,3) S ^UTILITY("DIFROM",$J,N,X)=+Y K ^DIC(9.2,+Y,1),^(2),^(3),^(10) S %X="^UTILITY(U,$J,N,R,",%Y=DIC_"+Y,",DA=+Y D %XY^%RCR
- S DIK=DIC
- HELP S R=$O(^UTILITY("DIFROM",$J,N,R)) Q:R="" W !,"'"_R_"' Help Frame filed." S DA=^(R)
- F X=0:0 S X=$O(^DIC(9.2,DA,2,X)) Q:'X S I=$S($D(^(X,0)):^(0),1:0),Y=$P(I,U,2) S:Y]"" Y=$O(^DIC(9.2,"B",Y,0)) S ^(0)=$P(^DIC(9.2,DA,2,X,0),U,1)_U_$S(Y>0:Y,1:"")_U_$P(^(0),U,3,99)
- S I=0 F X=0:0 S X=$O(^DIC(9.2,DA,10,X)) Q:'X I $D(^(X,0)) S Y=$P(^(0),U),Y=$S(Y]"":$O(^MAG("B",Y,0)),1:0) S:Y $P(^DIC(9.2,DA,10,X,0),U)=Y,I=I+1,%=X I 'Y K ^DIC(9.2,DA,10,X,0)
- I I S $P(^DIC(9.2,DA,10,0),U,3,4)=%_U_I
- IX D IX1^DIK G HELP
- ;
- U I $D(DIRUT) S DIFQ=1
- W ! Q
- REP S DIR(0)="Y",DIR("A")="Shall I change the NAME of the file to "_DIF
- S DIR("??")="^D REP^DIFROMH1",DIR("B")="NO" D ^DIR G U:$D(DIRUT)
- I Y S DIE=1,DIFQ=0,DA=N,DR=".01////"_DIF D ^DIE Q
- S DIR("A")="Shall I replace your file with mine"
- S DIR("??")="^D AG^DIFROMH1" D ^DIR G U:$D(DIRUT)!'Y
- S DIU(0)="E",DIR("A")="Do you want to keep the Data"
- S DIR("??")="^D CHG^DIFROMH1" D ^DIR G U:$D(DIRUT)
- S:'Y DIU(0)=DIU(0)_"D"
- S DIR("A")="Do you want to keep the Templates"
- S DIR("??")="^D TEMP^DIFROMH1" D ^DIR G U:$D(DIRUT) S:'Y DIU(0)=DIU(0)_"T"
- S DIFQ(N)=1,DIFKEP(N)=DIU(0) W !?15," (",DIF,") " Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXPDINIT2 1628 printed Feb 18, 2025@23:30:37 Page 2
- XPDINIT2 ; ; 03-JUL-1995
- +1 ;;8.0;KERNEL;;JUL 10, 1995
- +2 ;
- +3 ;
- +4 KILL ^UTILITY("DIFROM",$JOB),DIC
- SET DIDUZ=0
- if $DATA(DUZ)#2
- SET DIDUZ=DUZ
- SET DUZ=.5
- +5 IF $DATA(^DIC(9.2,0))#2
- IF ^(0)?1"HEL".E
- SET (DIC,DLAYGO)=9.2
- SET N="HEL"
- SET DIC(0)="LX"
- GOTO ADD
- +6 QUIT
- +7 ;
- ADD FOR R=0:0
- SET R=$ORDER(^UTILITY(U,$JOB,N,R))
- if R'>0
- QUIT
- SET X=$PIECE(^(R,0),U,1)
- WRITE "."
- KILL DA
- DO ^DIC
- IF Y>0
- IF '$DATA(DIFQ(N))!$PIECE(Y,U,3)
- SET ^UTILITY("DIFROM",$JOB,N,X)=+Y
- KILL ^DIC(9.2,+Y,1),^(2),^(3),^(10)
- SET %X="^UTILITY(U,$J,N,R,"
- SET %Y=DIC_"+Y,"
- SET DA=+Y
- DO %XY^%RCR
- +1 SET DIK=DIC
- HELP SET R=$ORDER(^UTILITY("DIFROM",$JOB,N,R))
- if R=""
- QUIT
- WRITE !,"'"_R_"' Help Frame filed."
- SET DA=^(R)
- +1 FOR X=0:0
- SET X=$ORDER(^DIC(9.2,DA,2,X))
- if 'X
- QUIT
- SET I=$SELECT($DATA(^(X,0)):^(0),1:0)
- SET Y=$PIECE(I,U,2)
- if Y]""
- SET Y=$ORDER(^DIC(9.2,"B",Y,0))
- SET ^(0)=$PIECE(^DIC(9.2,DA,2,X,0),U,1)_U_$SELECT(Y>0:Y,1:"")_U_$PIECE(^(0),U,3,99)
- +2 SET I=0
- FOR X=0:0
- SET X=$ORDER(^DIC(9.2,DA,10,X))
- if 'X
- QUIT
- IF $DATA(^(X,0))
- SET Y=$PIECE(^(0),U)
- SET Y=$SELECT(Y]"":$ORDER(^MAG("B",Y,0)),1:0)
- if Y
- SET $PIECE(^DIC(9.2,DA,10,X,0),U)=Y
- SET I=I+1
- SET %=X
- IF 'Y
- KILL ^DIC(9.2,DA,10,X,0)
- +3 IF I
- SET $PIECE(^DIC(9.2,DA,10,0),U,3,4)=%_U_I
- IX DO IX1^DIK
- GOTO HELP
- +1 ;
- U IF $DATA(DIRUT)
- SET DIFQ=1
- +1 WRITE !
- QUIT
- REP SET DIR(0)="Y"
- SET DIR("A")="Shall I change the NAME of the file to "_DIF
- +1 SET DIR("??")="^D REP^DIFROMH1"
- SET DIR("B")="NO"
- DO ^DIR
- if $DATA(DIRUT)
- GOTO U
- +2 IF Y
- SET DIE=1
- SET DIFQ=0
- SET DA=N
- SET DR=".01////"_DIF
- DO ^DIE
- QUIT
- +3 SET DIR("A")="Shall I replace your file with mine"
- +4 SET DIR("??")="^D AG^DIFROMH1"
- DO ^DIR
- if $DATA(DIRUT)!'Y
- GOTO U
- +5 SET DIU(0)="E"
- SET DIR("A")="Do you want to keep the Data"
- +6 SET DIR("??")="^D CHG^DIFROMH1"
- DO ^DIR
- if $DATA(DIRUT)
- GOTO U
- +7 if 'Y
- SET DIU(0)=DIU(0)_"D"
- +8 SET DIR("A")="Do you want to keep the Templates"
- +9 SET DIR("??")="^D TEMP^DIFROMH1"
- DO ^DIR
- if $DATA(DIRUT)
- GOTO U
- if 'Y
- SET DIU(0)=DIU(0)_"T"
- +10 SET DIFQ(N)=1
- SET DIFKEP(N)=DIU(0)
- WRITE !?15," (",DIF,") "
- QUIT