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

DILF.m

Go to the documentation of this file.
  1. DILF ;SFISC/STAFF-LIBRARY OF FUNCTIONS ;7:08 AM 25 Apr 2006
  1. ;;22.0;VA FileMan;**147**;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. Q
  1. ;
  1. ;
  1. LOCK(REF) ;
  1. ; LOCK the REFerence. $T must be checked upon return **147
  1. I '$D(DILOCKTM) S DILOCKTM=$G(^DD("DILOCKTM"),1) I $D(@REF) ;TO GET NAKED BACK
  1. LOCK @("+"_REF_":DILOCKTM")
  1. Q
  1. ;
  1. ;
  1. ;
  1. CREF(X) G ENCREF^DIQGU
  1. ;
  1. OREF(X) G ENOREF^DIQGU
  1. ;
  1. FDA(DIEFF,DIEFDAS,DIEFFLD,DIEFFLG,DIEFVAL,DIEFAR,DIEFOUT) ;
  1. G LOADX^DIEF1
  1. ;
  1. CLEAN ;
  1. G CLEAN^DIEFU
  1. ;
  1. IENS(DIEFDA) ;
  1. G IENX^DIEFU
  1. ;
  1. DA(DAIEN,DATARG) ;
  1. G DAX^DIEFU
  1. ;
  1. DT(DIEFDT,DIEFX,DIEFY,DIEFDT0,DIOUTAR) ;
  1. G DTX^DIEFU
  1. ;
  1. VALUES(DILFILE,DILFLD,DILFDA,DILOUT) ;
  1. I $G(DILFILE)=""!($G(DILFLD)="")!($G(DILFDA)="") S DILOUT=0 Q
  1. K DILOUT
  1. N DILCNT,DILIEN
  1. S DILIEN=""
  1. D VALLOOP
  1. S DILOUT=DILCNT
  1. Q
  1. ;
  1. VALLOOP ;
  1. S DILCNT=0
  1. F S DILIEN=$O(@DILFDA@(DILFILE,DILIEN)) Q:DILIEN="" D
  1. . I $D(@DILFDA@(DILFILE,DILIEN,DILFLD)) D
  1. . . S DILCNT=DILCNT+1
  1. . . S DILOUT(DILCNT)=@DILFDA@(DILFILE,DILIEN,DILFLD)
  1. . . S DILOUT(DILCNT,"IENS")=DILIEN
  1. Q
  1. ;
  1. VALUE1(DILFILE,DILFLD,DILFDA) ;
  1. I $G(DILFILE)=""!($G(DILFLD)="")!($G(DILFDA)="") Q "^"
  1. N DILIEN
  1. S DILIEN=$O(@DILFDA@(DILFILE,""))
  1. I DILIEN="" Q "^"
  1. I $D(@DILFDA@(DILFILE,DILIEN,DILFLD)) Q @DILFDA@(DILFILE,DILIEN,DILFLD)
  1. N DILCNT,DILOUT
  1. D VALLOOP
  1. I DILCNT Q DILOUT(1)
  1. Q "^"
  1. ;
  1. ROUSIZE() ;
  1. Q $G(^DD("ROU"))
  1. ;
  1. HTML(DISTRING,DIRECTN) ;
  1. ;
  1. ; entry point: use HTML to encode or decode ^ and & characters ; TOAD
  1. ; extrinsic function: return encoded or decoded value
  1. ;
  1. H1 N DILONG,DIRULE I $G(DIRECTN,1)=1 D Q:$G(DILONG) ""
  1. . S DIRULE(1,"&")="&",DIRULE(2,"^")="^"
  1. . N DIL S DIL=$L(DISTRING,"^")+$L(DISTRING,"&")-2
  1. . I $L(DISTRING)-DIL+(DIL*5)>255 D ERR^DICU1(207,,,,DISTRING) S DILONG=1 Q
  1. E S DIRULE(1,"^")="^",DIRULE(2,"&")="&"
  1. Q $$TRANSL8(DISTRING,.DIRULE)
  1. ;
  1. TRANSL8(DISTRING,DIRULES) ;
  1. ;
  1. ; HTML: $TRANSLATE for substrings instead of characters ; TOAD
  1. ; extrinsic function: return translated value
  1. ;
  1. T1 N DIFRENCE,DIFROM,DILENGTH,DITO
  1. N DI S DI="" F S DI=$O(DIRULES(DI)) Q:DI="" D
  1. . S DIFROM=$O(DIRULES(DI,"")) Q:DISTRING'[DIFROM
  1. . S DITO=DIRULES(DI,DIFROM)
  1. . S DILENGTH=$L(DIFROM)
  1. . S DIFRENCE=$L(DITO)-DILENGTH
  1. . S DIAT=0 F D Q:'DIAT
  1. . . S DIAT=$F(DISTRING,DIFROM,DIAT) Q:'DIAT
  1. . . S $E(DISTRING,DIAT-DILENGTH,DIAT-1)=DITO
  1. . . S DIAT=DIAT+DIFRENCE
  1. Q DISTRING