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

PRSU1B1.m

Go to the documentation of this file.
  1. PRSU1B1 ;WOIFO/PLT-UTILITY ; 24-Aug-2005 10:34 AM
  1. ;;4.0;PAID;**126**;Sep 21, 1995;Build 59
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. QUIT ; invalid entry
  1. ;
  1. ;prsa=~1 file number (required);file root;file record id;field # of multiple for adding
  1. ; ~2 subfile number;subfile root (required);subfile RI;field # of multiple for adding
  1. ; ~3 ...
  1. ;.x = .01 internal value or array of dic and X("DR") to input for other fields
  1. ;.y = value returned; -1 no new entry added, ^1=ri,^2=.01 value,^3=1 for new if added
  1. ADD(X,Y,PRSA,DINUM) ;add new entry
  1. N DD,DO,DIC,%,D0,DA,DI,DIE,DLAYGO,DQ,DR,A,B,C,I
  1. K:$G(DINUM)="" DINUM
  1. S:PRSA'?.E1"~" PRSA=PRSA_"~" S A=$L(PRSA,"~")-1
  1. I A>1 F B=1:1:A-1 S C=$P(PRSA,"~",B),DA(A-B)=$P(C,";",3)
  1. S B=$P(PRSA,"~",A),DIC=$P(B,";",2) S:DIC=""&(A=1) DIC=+B
  1. S DLAYGO=PRSA,DIC(0)="FIL"
  1. S:$D(X(0)) DIC(0)=X(0) S:$D(X("DR")) DIC("DR")=X("DR") K X(0),X("DR")
  1. D FILE^DICN
  1. QUIT
  1. ;
  1. ;prs = ~1 file number(option);file root;file record id
  1. ; ~2 subfile number;subfile root;subfile RI
  1. ; ~...
  1. ;.x = value return; 1 if deleted, 0 if not, -2 if lock fail
  1. DELETE(X,PRSA) ;delete entry
  1. N %,DA,DIC,Y
  1. N DIK,DIA,PRSLOCK,A,B,C
  1. S:PRSA'?.E1"~" PRSA=PRSA_"~" S A=$L(PRSA,"~")-1,PRSLOCK=""
  1. I A>1 F B=1:1:A-1 S C=$P(PRSA,"~",B),DA(A-B)=$P(C,";",3)
  1. S B=$P(PRSA,"~",A),DIK=$P(B,";",2),DA=$P(B,";",3),PRSLOCK=DIK_DA_","
  1. S X=3 D ICLOCK^PRSU1B(PRSLOCK,.X) I 'X S X=-2 QUIT
  1. D ^DIK,DCLOCK^PRSU1B(PRSLOCK)
  1. S X=1
  1. QUIT