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

DIAXT.m

Go to the documentation of this file.
  1. DIAXT ;SFISC/DCM-GET EXTRACT TEMPLATE SPECS ;5/13/96 14:01
  1. ;;22.0;VA FileMan;;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. EN N DIAXI,DILL,DIAX
  1. S DIAXTTO="^TMP($J,""DIAXTTO"")",DIAXTFR="^TMP($J,""DIAXTFR"")"
  1. K @DIAXTTO,@DIAXTFR
  1. D SPEC
  1. Q
  1. SPEC ;get specs
  1. D TOP,DR
  1. D NEXTLVL
  1. Q
  1. TOP ;get base file specs from extract template
  1. N X
  1. S DIAXI=0
  1. S DIAXI=$O(^DIPT(DIAXT,1,DIAXI)) Q:DIAXI'>0 S X=^(DIAXI,0)
  1. S DILL=$P(X,U,2)
  1. FILE S @DIAXTFR@(DIAXI,"FR")=+X
  1. S @DIAXTFR@(+X,"TO")=$P(X,U,9)
  1. S @DIAXTFR@(+X,"PRT")=$P(X,U,3)
  1. S @DIAXTFR@(+X,"P4")=$P(X,U,4)
  1. S @DIAXTFR@(+X,"P2")=$P(X,U,2)
  1. S @DIAXTFR@(+X,"P5")=$P(X,U,5)
  1. S @DIAXTFR@(+X,"P7")=$P(X,U,7)
  1. I DILL>1,$P(X,U,9)'=$P(X,U,10) S @DIAXTTO@(+$P(X,U,9),"PRT")=+$P(X,U,10)
  1. Q
  1. DR ;get fields
  1. N DR,DRN,DRX,DRZ,FILE
  1. S DR="",DRN=1,DRZ=0,FILE=@DIAXTFR@(DILL,"FR")
  1. F S DRZ=$O(^DIPT(DIAXT,1,DIAXI,"F",DRZ)) Q:'DRZ I $D(^(DRZ,0)) S DRX=^(0) D
  1. . S DR=DR_+DRX_";",FILE=@DIAXTFR@(DIAXI,"FR")
  1. . S @DIAXTTO@(FILE,+DRX,+$P(DRX,U,5))=@DIAXTFR@(FILE,"TO")_U_$P(DRX,U,3)_U_$P(DRX,U,5)
  1. . I $L(DR)>245 S @DIAXTFR@(FILE,"DR",DRN)=DR,DRN=DRN+1,DR=""
  1. S:DR]"" @DIAXTFR@(FILE,"DR",DRN)=DR
  1. Q
  1. NEXTLVL ;
  1. S DIAX(DILL,"DIAXI")=DIAXI,DILL=DILL+1
  1. F DIAXI=DIAXI:0 S DIAXI=$O(^DIPT(DIAXT,1,DIAXI)) Q:DIAXI'=+DIAXI S X=^(DIAXI,0) D NEXTLVL2 Q:DIAXI=""
  1. S DILL=DILL-1,DIAXI=DIAX(DILL,"DIAXI")
  1. Q
  1. NEXTLVL2 ;
  1. I $P(X,U,2)<DILL S DIAXI="" Q
  1. Q:$P(X,U,3)'=@DIAXTFR@(DIAX(DILL-1,"DIAXI"),"FR")
  1. D FILE
  1. D DR
  1. D RECURSE
  1. Q
  1. RECURSE ;
  1. D NEXTLVL
  1. Q