Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XTLKEFOP

XTLKEFOP.m

Go to the documentation of this file.
  1. XTLKEFOP ; ALB/JLU ISC,IHS/OHPRD/ACC,SFISC/JC - EDIT FREQUENTLY USED OP NARR, SHORTCUT ;03/01/95 15:31
  1. ;;7.3;TOOLKIT;;Apr 25, 1995
  1. ;
  1. C ;GETS THE CODE FROM THE NECESSARY FILE.
  1. W ! S DIC("A")="Which code in the "_$P(^DIC(+XTLKY,0),U)_" file?: ",DIC(0)="AEMQ",DIC=^DIC(+XTLKY,0,"GL") D ^DIC I Y<1 K DIC Q
  1. C1 S XTLKCOD=+Y_";"_$P(DIC,U,2),XTLKCOD1=$P(Y,U,2)
  1. K DIC Q
  1. ;
  1. QU(XTLKF) ;Deciding on which file proc/diag Etc.
  1. ;XTLKF=filename (optional)
  1. W !!
  1. I $G(XTLKF)="" S DIC("A")=$S($D(XTLKOPP):"Print "_XTLKOPP_" for ",$D(XTLKOP):"Additions/Modifications to ",1:"Lookup on ")_$S($D(XTLKOP):XTLKOP_" in ",1:"")_"which file?: ",DIC(0)="AEMQ",DIC="^XT(8984.4," D ^DIC K DIC Q:Y<1
  1. I $G(XTLKF)'="" S X=XTLKF,DIC=8984.4,DIC(0)="MQZ" D ^DIC K DIC I Y<1 W "...",XTLKF," not found in local lookup file." Q
  1. S XTLKY=Y,XTLKPF=+$O(^DD(8984.2,.02,"V","B",+Y,"")) G:'XTLKPF KL
  1. S XTLKPF=$P(^DD(8984.2,.02,"V",XTLKPF,0),U,4),XTLKUT=1
  1. Q
  1. ;
  1. KL ;Exit line.
  1. K XTLKY,XTLKPF,XTLKGL,XTLKUT,DIC,DIE,DR,JL,DA,DIR,X,Y,XTLKCOD,XTLKCOD1,XTLKOP Q
  1. ;
  1. ;Editing synonym file.
  1. SY D QU() I Y<1 D KL Q
  1. SY1 ;
  1. W ! S (DIC,DIE)="^XT(8984.3,",DIC(0)="AELMQ",DIC("DR")="[XTLK EDIT SYN]",DIC("S")="I $P(^(0),U,2)="_+XTLKY,DLAYGO="8984.3" D ^DIC K DLAYGO,DIC("S") I Y<1 G SY
  1. I '$P(Y,U,3) S DA=+Y,DR="[XTLK EDIT SYN]" D ^DIE
  1. K DIC,DIE,DA,DR,Y
  1. G SY1
  1. ;
  1. ;Editing keyword file.
  1. KE D QU() I Y<1 D KL Q
  1. D C I Y<1 D KL Q
  1. KE1 R !,"Select LOCAL KEYWORD NAME: ",X:DTIME I '$T!(X[U)!(X="") D KL G KE Q
  1. I X["?" D HL G KE1
  1. W ! S (DIE,DIC)="^XT(8984.1,",DIC(0)="EILMQ",DIC("DR")="[XTLK EDIT KEY]",DIC("S")="I $P(^(0),U,2)[JL&($P(^(0),U,3)[XTLKCOD1)",JL=$P(^DIC(+XTLKY,0,"GL"),U,2),DLAYGO="8984.1" D ^DIC K DLAYGO,DIC("S") G:Y<1 KE1
  1. I '$P(Y,U,3) S DA=+Y,DR="[XTLK EDIT KEY]" D ^DIE
  1. K DIE,DIC
  1. G KE1
  1. ;
  1. ;Editing shortcut file.
  1. SH D QU() I Y<1 D KL Q
  1. SH1 ;
  1. W ! S (DIE,DIC)="^XT(8984.2,",DIC(0)="AELMQ",DIC("DR")="[XTLK EDIT SHORT]",DIC("S")="I $P(^(0),U,2)[JL",JL=$P(^DIC(+XTLKY,0,"GL"),U,2),DLAYGO="8984.2" D ^DIC K DLAYGO,DIC("S") G:Y<1 SH
  1. I '$P(Y,U,3) S DA=+Y,DR="[XTLK EDIT SHORT]" D ^DIE
  1. K DIE,DIC
  1. G SH1
  1. ;
  1. LL ;Interactive Entry point to edit Local Lookup File.
  1. D LL1 Q:$G(Y)=-1!($D(DTOUT))!($D(DUOUT))
  1. D LL2
  1. D LL3
  1. K XTLKPRE,DIC,DIE,DA,Y,DR,JL0,JLY,XTLKLP
  1. Q
  1. ;
  1. LL1 ;
  1. S (DIE,DIC)="^XT(8984.4,",DIC(0)="EALMQZ" D ^DIC K DIC
  1. Q:Y=-1!($D(DTOUT))!($D(DUOUT))
  1. ;S X=$P(Y,U,2),(DIE,DIC)="^XT(8984.4,",DIC(0)="ELMQZ",DIC("DR")="[XTLK EDIT LOOKUP]" D ^DIC
  1. S JL0=Y(0,0),JLY=+Y
  1. S DIE("NO^")="",DA=+Y,DR="[XTLK EDIT LOOKUP]" D ^DIE
  1. Q:$D(DTOUT)
  1. ;I '$P(Y,U,3) S DA=+Y,DR="[XTLK EDIT LOOKUP]" D ^DIE Q
  1. W !!,"...Ok, will now setup KEYWORD and SHORTCUT file DD's"
  1. W !," to allow terms for '",JL0,"' entries..."
  1. Q
  1. LL2 ;
  1. S XTLKPRE=$G(XTLKPRE)
  1. F XTLKLP=8984.1,8984.2 D
  1. .S (DIE,DIC)="^DD("_XTLKLP_",.02,""V"",",DIC(0)="L",X=+JLY,DA(1)=.02,DA(2)=XTLKLP D ^DIC K DIC Q:Y=-1 D S,^DIE
  1. Q
  1. LL3 ;
  1. ;S ^DD(JLY,0,"DIC")="XTLKDICL"
  1. W !,"<REMINDER> Using 'Edit File', set the lookup routine, XTLKDICL, in ",JL0," DD."
  1. K XTLKPRE,DIC,DIE,DA,Y G LL1
  1. Q
  1. ;
  1. S S DA=+Y,DR=".02////"_JL0_";.03////"_DA_";.05////n;.06////n;.04"_$S(XTLKPRE="":"",1:"////"_XTLKPRE)_";S XTLKPRE=X"
  1. Q
  1. ;Entry point to delete from 8984.4 and the variable pts in 8984.1,8984.2
  1. DD D DD1
  1. K DIC,DIE,DR,DIR,XTLKY,XTLKLP,DIK,DA,JL0
  1. Q
  1. ;
  1. DD1 S DIC="^XT(8984.4,",DIC(0)="AEMQZ" D ^DIC Q:Y<1 W !,$C(7)
  1. S (XTLKY,DA)=+Y,JL0=Y(0,0),DIR(0)="Y",DIR("A")="Are you sure you want to delete "_Y(0,0) D ^DIR Q:Y<1
  1. S XTLKJG=$P(^DIC(+XTLKY,0,"GL"),U,2)
  1. I $D(^XT(8984.2,"AC",XTLKJG))!($D(^XT(8984.3,"AC",XTLKJG)))!($D(^XT(8984.1,"AD",+XTLKY))) W $C(7),!!,"There are still Keywords, Shortcuts and/or Synonyms for this entry.",!," <<Nothing Deleted!>>" Q
  1. W !!,"Deleting from Local Lookup file....."
  1. S DIK="^XT(8984.4," D ^DIK
  1. W !,"Deleting variable pointers from Local Keyword and Shortcut files."
  1. F XTLKLP=8984.1,8984.2 S DIK="^DD("_XTLKLP_",.02,""V"",",DA(1)=.02,DA(2)=XTLKLP,DA=$O(@($NA(^DD(XTLKLP,.02,"V","B",+XTLKY,0)))) D ^DIK
  1. W !,"<REMINDER> Delete the lookup routine, XTLKDICL, from ",JL0," DD."
  1. ;K ^DD(XTLKY,0,"DIC")
  1. Q
  1. ;HELP ENTRY POINT
  1. HL W !,"ANSWER WITH LOCAL KEYWORD NAME, OR CODE",!,"CHOOSE FROM:"
  1. S (XTLKC,XTLKF)=0
  1. F LP=0:0 S LP=$O(^XT(8984.1,"C",XTLKCOD1_" ",LP)) Q:'LP D WR Q:XTLKF
  1. K LP,XTLKC,XTLKF Q
  1. WR I XTLKC>(IOSL-4) S DIR(0)="E" D ^DIR I 'Y S XTLKF=1 Q
  1. Q:'$D(^XT(8984.1,LP,0)) W !,$P(^(0),U)," ",$P(^(0),U,3)
  1. Q