File:  [Coherent Logic Development] / freem_fileman / USER / DICLIB.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:20 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    1: DICLIB	;SFISC/TKW - LIBRARY OF FUNCTIONS FOR ^DIC ;11/19/93  15:37
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: NXTNO(F,DA,FLAGS)	;GET NEXT RECORD NUMBER FOR FILE OR SUBFILE F (F CAN CONTAIN A GLOBAL REFERENCE TO IMPROVE EFFICIENCY)
    5: 	;DA=DA ARRAY (IF F IS A SUBFILE)
    6: 	;FLAGS (OPTIONAL) IF IT CONTAINS "U", WILL UPDATE LAST REC.# ON 0 NODE
    7: 	N I,X,Y,DIC S X=0,I=1
    8: 	S:'F DIC=$TR(F,")",",") S:F DIC=$$ROOT^DIQGU(F,.DA)
    9: 	G:DIC="" QI G:'$D(@(DIC_"0)")) QI
   10: INCR	L @("+"_DIC_"0):10") G:'$T QL
   11: 	I 'X S Y=@(DIC_"0)"),X=$P($P(Y,U,3),".",1)
   12: 	F I=1:1 S X=X+1 Q:'$D(@(DIC_X_")"))  I I=100 S I=0 Q
   13: 	I 'I L @("-"_DIC_"0)") G INCR
   14: 	I $G(FLAGS)["U" S $P(@(DIC_"0)"),U,3,4)=X_U_($P(Y,U,4)+1)
   15: 	L @("-"_DIC_"0)")
   16: 	Q X
   17: QI	D BLD^DIALOG(200) G Q0
   18: QL	D BLD^DIALOG(110,F)
   19: Q0	Q 0
   20: 	;DIALOG #200  'An input variable or parameter is missing or invalid.'
   21: 	;       #110  'The record is currently locked'

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>