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

XDRLRFIX.m

Go to the documentation of this file.
  1. XDRLRFIX ;SF-CIOFO/JLI - FIX TO SET UP MERGE PROCESS CONTAINING PAIRS EXCLUDED BY LAB POINTER PROBLEMS ;05/10/99 13:53
  1. ;;7.3;TOOLKIT;**36**;Mar 24, 1999
  1. ; new routine to be called by XT*7.3*36 post-init
  1. ; two entry points, LAB and CLEANUP
  1. ; LAB will build a merge process if previous merge process
  1. ; have problems in LAB.
  1. ; CLEANUP will $order thru file 15 to ensure statuses of
  1. ; merged records are accurate.
  1. EN ;
  1. D CLEANUP
  1. D LAB
  1. Q
  1. ;
  1. CLEANUP ;
  1. N I,X,XS,XD,XM,XF,XN
  1. F I=0:0 S I=$O(^VA(15,I)) Q:I'>0 D
  1. . S X=^VA(15,I,0),XS=$P(X,U,3),XD=$P(X,U,4),XM=$P(X,U,5)
  1. . I XS="V",$P($P(X,U),";",2)="DPT(" D
  1. . . S XF=+$P(X,U,+XD),XN=$P($G(^DPT(XF,0)),U)
  1. . . I $D(^DPT(XF,-9)) D
  1. . . . I XN["MERGING INTO" S XN=$P($P(XN,"(",2),")",1),$P(^DPT(XF,0),U,1)=XN
  1. . . . I XM'=2 S $P(^VA(15,I,0),U,5)=2
  1. Q
  1. ;
  1. LAB ;
  1. N I,X,DFN,XARRAY
  1. S XARRAY=$NA(^TMP("XDRLRFIX",$J))
  1. K @XARRAY
  1. F I=0:0 S I=$O(^VA(15,I)) Q:I'>0 S X=^(I,0) I $P($P(X,U),";",2)="DPT(",$P(X,U,5)=2 D
  1. . I $P(X,U,4)'>0 N PROCES S PROCES=$P(X,U,20) I PROCES>0 D
  1. . . I $O(^VA(15.2,PROCES,2,+X,0))>0 S $P(X,U,4)=1
  1. . . I $O(^VA(15.2,PROCES,2,+$P(X,U,2),0))>0 S $P(X,U,4)=2
  1. . . Q
  1. . I $P(X,U,4)'>0 Q
  1. . S DFN=+$P(X,U,$P(X,U,4)) I '$D(^DPT(DFN,-9)) D
  1. . . S @XARRAY@(DFN,+$P(X,U,$S($P(X,U,4)=1:2,1:1)))=I
  1. . . Q
  1. . Q
  1. I $D(@XARRAY) D
  1. . N XDRXX,XDRYY,XDRMA,XDRFDA,XDRFDA
  1. . S XDRXX(15.2,"+1,",.01)="LR FIX PROCESS"
  1. . S XDRXX(15.2,"+1,",.02)=2
  1. . S XDRXX(15.2,"+1,",.04)="U"
  1. . S XDRXX(15.2,"+1,",.09)=1
  1. . D UPDATE^DIE("","XDRXX","XDRYY","XDRMA")
  1. . S XDRFDA=$G(XDRYY(1))
  1. . ;
  1. . ; NOW MOVE LIST OF DUPLICATES TO BE PROCESSED INTO THIS ENTRY
  1. . S XDRIENS="+1,"_XDRFDA_","
  1. . F XDRI=0:0 S XDRI=$O(@XARRAY@(XDRI)) Q:XDRI'>0 D
  1. . . S XDRJ=$O(@XARRAY@(XDRI,0))
  1. . . S XDRK=@XARRAY@(XDRI,XDRJ)
  1. . . K XDRXX,XDRYY
  1. . . S XDRXX(15.22,XDRIENS,.01)=XDRI ; IEN1
  1. . . S XDRXX(15.22,XDRIENS,.02)=XDRJ ; IEN2
  1. . . S XDRXX(15.22,XDRIENS,.03)=XDRK ; ENTRY # IN FILE 15
  1. . . D UPDATE^DIE("","XDRXX","XDRYY","XDRMA")
  1. . . K XDRXX,XDRYY,XDRMA
  1. . . ; AND MARK THEM AS IN THIS MERGE PROCESS IN FILE 15
  1. . . S XDRXX(15,XDRK_",",.2)=XDRFDA
  1. . . D FILE^DIE("","XDRXX")
  1. . . Q
  1. . Q
  1. Q