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

DDR1.m

Go to the documentation of this file.
  1. DDR1 ;ALB/MJK-FileMan Delphi Components' RPCs ;4/18/97 16:15
  1. ;;22.2;VA FileMan;;Jan 05, 2016;Build 42
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
  1. ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
  1. ;;Licensed under the terms of the Apache License, Version 2.0.
  1. ;
  1. Q
  1. ;
  1. DIKC(DDROK,DDR) ; -- broker callback to kill a file entry via ^DIK
  1. N DIK,DA,FILE,IENS,FDA
  1. S FILE=$G(DDR("FILE"))
  1. S IENS=$G(DDR("IENS"))
  1. I $$FNO^DILIBF(FILE)=FILE,$L(IENS,",")=2 D Q
  1. . S DIK=$G(^DIC(FILE,0,"GL")),DA=+IENS D ^DIK S DDROK=1
  1. S FDA(FILE,IENS,.01)="@"
  1. D FILE^DIE("","FDA")
  1. S DDROK='$G(DIERR)
  1. Q
  1. ;
  1. LOCKC(DDROK,DDR) ; -- broker callback to lock/unlock a node
  1. N DDRNODE
  1. S DDRNODE=$G(DDR("NODE"))
  1. IF DDRNODE]"" D
  1. . IF $G(DDR("LOCKMODE")) D
  1. . . L @("+"_DDRNODE_":"_$G(DDR("TIMEOUT"),5))
  1. . . S DDROK=$T
  1. . ELSE D
  1. . . L @("-"_DDRNODE)
  1. . . S DDROK=1
  1. ELSE D
  1. . S DDROK=0
  1. Q
  1. ;
  1. FILENOC(DDRFLNO,DDRNAME) ; -- broker callback to get File #
  1. ;
  1. S DDRFLNO=+$O(^DIC("B",DDRNAME,""))
  1. Q
  1. ;
  1. NODEC(DDRNODE,DDRROOT) ; -- broker callback to get global node value
  1. ;
  1. ;S DDRNODE=$G(@DDRROOT)
  1. IF $D(@DDRROOT)=0!($D(@DDRROOT)=10) D
  1. . S DDRNODE="{{"_$D(@DDRROOT)_"}}"
  1. IF $D(@DDRROOT)=1!($D(@DDRROOT)=11) D
  1. . S DDRNODE=$G(@DDRROOT)
  1. Q
  1. ;
  1. GLCNT(DDROK,DDR) ; -- extrinsic call to invoke broker to return number of
  1. ; global nodes found at cross reference
  1. N DDRNODE,DDRTEAM,DDRXREF
  1. ;
  1. S DDRNODE=$G(DDR("ROOT"))
  1. S DDRXREF=$G(DDR("XREF"))
  1. S DDRVAL=$G(DDR("VALUE"))
  1. ;
  1. S:DDRXREF="" DDRXREF="B"
  1. S I="",X=0
  1. F S I=$O(@DDRNODE@(DDRXREF,DDRVAL,I)) Q:I="" D
  1. . S X=X+1
  1. S DDROK=$G(X)
  1. Q
  1. ;
  1. IFNODE(DDRNODE,DDRROOT) ; -- extrinsic call to check if node exists.
  1. ; passes in full node reference
  1. N X
  1. ;
  1. IF $D(@DDRROOT)=0!($D(@DDRROOT)=10) D
  1. . S DDRNODE="{{"_$D(@DDRROOT)_"}}"
  1. IF $D(@DDRROOT)=1!($D(@DDRROOT)=11) D
  1. . S DDRNODE=$G(@DDRROOT)
  1. Q