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

DICLIB.m

Go to the documentation of this file.
  1. DICLIB ;SFISC/TKW - LIBRARY OF FUNCTIONS FOR ^DIC ;05:00 PM 14 Oct 1998
  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. NXTNO(F,DA,FLAGS) ;GET NEXT RECORD NUMBER FOR FILE OR SUBFILE F (F CAN CONTAIN A GLOBAL REFERENCE TO IMPROVE EFFICIENCY)
  1. ;DA=DA ARRAY (IF F IS A SUBFILE)
  1. ;FLAGS (OPTIONAL) IF IT CONTAINS "U", WILL UPDATE LAST REC.# ON 0 NODE
  1. N I,X,Y,DIC,% S X=0,I=1
  1. S:'F DIC=$TR(F,")",",") S:F DIC=$$ROOT^DIQGU(F,.DA)
  1. G:DIC="" QI G:'$D(@(DIC_"0)")) QI
  1. INCR L @("+"_DIC_"0):10") G:'$T QL
  1. I 'X S Y=@(DIC_"0)"),X=$P($P(Y,U,3),"."),%=+$P(Y,U,2) I '$D(^DIA(%,"B")) S %=0
  1. F I=1:1 S X=X+1 Q:'$D(@(DIC_X_")"))&$S(%:+$O(^DIA(%,"B",X_","))'=X&'$D(^(X)),1:1) I I=100 S I=0 Q
  1. I 'I L @("-"_DIC_"0)") G INCR
  1. I $G(FLAGS)["U" S $P(@(DIC_"0)"),U,3,4)=X_U_($P(Y,U,4)+1)
  1. L @("-"_DIC_"0)")
  1. Q X
  1. QI D BLD^DIALOG(200) G Q0
  1. QL D BLD^DIALOG(110,F)
  1. Q0 Q 0
  1. ;DIALOG #200 'An input variable or parameter is missing or invalid.'
  1. ; #110 'The record is currently locked'