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

DITM.m

Go to the documentation of this file.
  1. DITM ;SFISC/JCM(OHPRD)-FILE COMPARE AND MERGE DRIVER ;6/8/94 14:21
  1. ;;22.0;VA FileMan;;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. START ;
  1. D ASK ; Asks file, from, to, merge ,etc.
  1. G:$D(DITM("QFLG")) END
  1. D ^DITM2
  1. END D EOJ ;----------->Cleanup
  1. Q ;-------------->End of routine
  1. ;--------------------------------------------------------------------
  1. ;
  1. ASK ;
  1. D ASKX
  1. K DITM,%H,DSUB,DMSG,DTO,DFL,DNUM,DDON
  1. K D001,DHD,^UTILITY($J,"DIT")
  1. K DITM("QFLG")
  1. D T^DICRW
  1. I Y<0 S DITM("QFLG")="" G ASKX
  1. S (DSUB,DIT,L)=0,DSUB(L)=DIC,DITC=1
  1. D ^DITM1
  1. G:$D(DITM("QFLG")) ASKX
  1. G:'$D(DITM("DFF")) ASK
  1. Q1 ;
  1. W ! K DIR
  1. D BLD^DIALOG(8086,"","","DIR(""A"")"),BLD^DIALOG(9041,"","","DIR(""?"")")
  1. S DIR(0)="YO",DIR("B")=$P($$EZBLD^DIALOG(7001),U,2)
  1. D ^DIR K DIR
  1. I $D(DTOUT)!($D(DUOUT)) S DITM("QFLG")="" G ASKX
  1. S:Y=1 DITM("DIMERGE")=1
  1. G:'$D(DITM("DIMERGE")) Q6
  1. W ! F I=1,2 W !?4,I,?10,DTO(I,"X")
  1. K X,Y
  1. Q2 ;
  1. W !
  1. S DIR(0)="N^1:2:0",DIR("?")="^S DMSG=3 D HELP^DITC0"
  1. S DIR("A",1)=" Note: Records will be merged into the entry selected for the default.",DIR("A")="WHICH ENTRY SHOULD BE USED FOR DEFAULT VALUES "
  1. D ^DIR K DIR
  1. I $D(DTOUT)!($D(DUOUT)) S DITM("QFLG")="" G ASKX
  1. I X'=2 S DITM("DIT(1)")=DIT(2),DITM("DIT(2)")=DIT(1)
  1. S DITM("DDEF")=2 W !," *** Records will be merged into "_DTO(X,"X"),!
  1. I X'=2
  1. K X,Y
  1. Q3 ;
  1. W !
  1. S DIR(0)="Y"
  1. S DIR("A")="DO YOU WANT TO DELETE THE MERGED FROM ENTRY AFTER MERGING"
  1. S DIR("?")="If you enter NO the merged FROM entry will remain in this file"
  1. D ^DIR K DIR
  1. I $D(DTOUT)!($D(DUOUT)) S DITM("QFLG")="" G ASKX
  1. S:Y DITM("DELETE")=""
  1. K X,Y
  1. G:$D(DITM("SUB FILE")) Q6
  1. Q4 ;
  1. W !
  1. S DIR(0)="Y"
  1. S DIR("A")="DO YOU WANT TO REPOINT ENTRIES POINTING TO THIS ENTRY"
  1. D ^DIR K DIR
  1. S:$D(DTOUT)!($D(DUOUT)) DITM("QFLG")=""
  1. G:$D(DTOUT)!($D(DUOUT)) ASKX
  1. S:Y DITM("REPOINT")=""
  1. G:'$D(DITM("REPOINT")) Q6
  1. K X,Y
  1. Q5 ;
  1. W !
  1. S DIR(0)="PO^1:EMZ"
  1. S DIR("A")="ENTER FILE TO EXCLUDE FROM REPOINT/MERGE"
  1. S DIR("?")="Any file entered here will not be repointed or merged."
  1. F DITM=0:0 D ^DIR Q:$D(DIRUT)!(Y<1) S DITM("EXCLUDE",+Y)=""
  1. K DIR
  1. I $D(DUOUT)!($D(DTOUT)) S DITM("QFLG")="" G ASKX
  1. K X,Y
  1. Q6 ;
  1. W !
  1. S DIR(0)="YO",DIR("B")="NO"
  1. S DIR("A")="DO YOU WANT TO DISPLAY ONLY THE DISCREPANT FIELDS"
  1. S DIR("?")="^S DMSG=2 D HELP^DITC0"
  1. D ^DIR K DIR
  1. I $D(DTOUT)!($D(DUOUT)) S DITM("QFLG")="" G ASKX
  1. S:Y DITM("DDIF")=1
  1. K X,Y
  1. ASKX ;
  1. K DFL,DIC,DISYS,DITC,DSUB,I,X,Y,DIPGM,DMSG,%,DIR,DIT,DFF,DTO,DDSP
  1. Q
  1. EOJ ;
  1. K DITM,DMSG,DIRUT,L
  1. Q
  1. ;8086 NOTE: This option should be used only during non-peak hours...
  1. ;9041 If you merge two entries within a file that is pointed-to...
  1. ;7001 Yes^No