File:  [Coherent Logic Development] / freem_fileman / USER / DIEFU.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: DIEFU	;SF/DPC-FILER UTILITIES ;11/25/94  11:24
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: INIZE	;
    5: 	N %,X,%H,DIE,DICS,DIC,%DT,DIK,%Y,%X,%D,%M,%I
    6: 	D DT^DICRW
    7: 	D CLEAN
    8: 	Q
    9: CLEAN	;
   10: 	K DIRUT,DIROUT,DUOUT,DTOUT
   11: 	K ^TMP("DIERR",$J),^TMP("DIMSG",$J),^TMP("DIHELP",$J)
   12: 	K DIERR,DIHELP,DIMSG
   13: 	Q
   14: 	;
   15: CALLOUT(DIOUTAR)	;
   16: 	I '$$VROOT(DIOUTAR) Q
   17: 	I $D(DIERR) D
   18: 	. S @DIOUTAR@("DIERR")=DIERR
   19: 	. M @DIOUTAR@("DIERR")=^TMP("DIERR",$J)
   20: 	. K ^TMP("DIERR",$J)
   21: 	. Q
   22: 	I $D(DIHELP) D
   23: 	. S @DIOUTAR@("DIHELP")=DIHELP
   24: 	. M @DIOUTAR@("DIHELP")=^TMP("DIHELP",$J)
   25: 	. K ^TMP("DIHELP",$J)
   26: 	. Q
   27: 	I $D(DIMSG) D
   28: 	. S @DIOUTAR@("DIMSG")=DIMSG
   29: 	. M @DIOUTAR@("DIMSG")=^TMP("DIMSG",$J)
   30: 	. K ^TMP("DIMSG",$J)
   31: 	. Q
   32: 	Q
   33: 	;
   34: IEN(DIEFDA)	;
   35: IENX	;
   36: 	I '$D(DIEFDA) Q 0
   37: 	N I,DIEFIEN S (I,DIEFIEN)="",DIEFDA(0)=$G(DIEFDA)
   38: 	F  S I=$O(DIEFDA(I)) Q:I=""  S DIEFIEN=DIEFIEN_DIEFDA(I)_","
   39: 	K DIEFDA(0)
   40: 	Q DIEFIEN
   41: 	;
   42: DA(DAIEN,DATARG)	;
   43: DAX	;
   44: 	K DATARG N I
   45: 	F I=1:1:$L(DAIEN,",")-1 S DATARG(I-1)=$P(DAIEN,",",I)
   46: 	I $D(DATARG(0)) S DATARG=DATARG(0) K DATARG(0)
   47: 	Q
   48: 	;
   49: VROOT(DIEFAR)	;
   50: 	I DIEFAR'["(" Q 1
   51: 	I $E(DIEFAR,$L(DIEFAR))=")",$F(DIEFAR,")")>($F(DIEFAR,"(")+1) Q 1
   52: 	D BLD^DIALOG(202,"array root")
   53: 	Q 0
   54: 	;
   55: VFILE(F,FLAG)	;
   56: VFILEX	;
   57: 	I $P($G(^DD(F,.01,0)),U,2)]"",$P(^(0),U,2)'["W" Q 1
   58: 	I $G(FLAG)["D" N P S P("FILE")=F D BLD^DIALOG(401,.P,.P)
   59: 	Q 0
   60: 	;
   61: VENTRY(DIEFF,DIEFIEN,DIEFFLG)	;
   62: 	N DIEFROOT,DIEFDA
   63: 	S DIEFFLG=$G(DIEFFLG),DIEFDA=$P(DIEFIEN,",")
   64: 	S DIEFROOT=$$ROOT^DIQGU(DIEFF,DIEFIEN,1,$S(DIEFFLG["D":1,1:0)) Q:DIEFROOT="" 0
   65: 	I $P($G(@DIEFROOT@(DIEFDA,0)),"^",1)="" D  Q 0
   66: 	. I DIEFFLG["D" N DIEFP S DIEFP("FILE")=DIEFF,DIEFP("IENS")=DIEFIEN D BLD^DIALOG(601,"",.DIEFP)
   67: 	I DIEFFLG["9" Q:'$$VMINUS9(DIEFF,DIEFIEN,DIEFFLG) 0
   68: 	Q 1
   69: 	;
   70: VMINUS9(DIEFF,DIEFIEN,DIEFFLG)	;
   71: 	N DIEFTOP,DIEFROOT S DIEFFLG=$G(DIEFFLG)
   72: 	S DIEFTOP=$P(DIEFIEN,",",$L(DIEFIEN,",")-1),DIEFROOT=$$ROOT^DIQGU($$FNO^DILIBF(DIEFF),.DIEFTOP,1,$S(DIEFFLG["D":1,1:0))
   73: 	Q:DIEFROOT="" 0
   74: 	I $D(@DIEFROOT@(DIEFTOP,-9)) D  Q 0
   75: 	. I DIEFFLG["D" N DIEFP S DIEFP("FILE")=DIEFF,DIEFP("IENS")=DIEFIEN D BLD^DIALOG(602,"",.DIEFP)
   76: 	Q 1
   77: 	;
   78: CHKFLD(DIEFF,DIEFFLD)	;
   79: 	I DIEFFLD'=+DIEFFLD S DIEFFLD=$$FLDNUM^DIEF1(DIEFF,DIEFFLD) Q:'DIEFFLD 0
   80: 	I '$$VFIELD(DIEFF,DIEFFLD,"D") Q 0
   81: 	Q DIEFFLD
   82: 	;
   83: VFIELD(F,FLD,FLAG)	;
   84: VFIELDX	;
   85: 	I $D(^DD(F,FLD)) Q 1
   86: 	I $G(FLAG)["D" N P S (P(1),P("FIELD"))=FLD,P("FILE")=F D BLD^DIALOG(501,.P,.P)
   87: 	Q 0
   88: 	;
   89: DT(DIEFDT,DIEFX,DIEFY,DIEFDT0,DIOUTAR)	;
   90: DTX	;
   91: 	I '$D(DIQUIET) N DIQUIET S DIQUIET=1
   92: 	I '$D(DIFM) N DIFM S DIFM=1 D INIZE
   93: 	N %DT,X,Y
   94: 	S DIEFDT=$G(DIEFDT)
   95: 	I $G(DIEFX)="" D BLD^DIALOG(202,"date being converted") G DTOUT
   96: 	I '$$VERFLG^DIEFU(DIEFDT,"FNPRSTXEe") G DTOUT
   97: 	I DIEFX?."?" D DT^DIEH1(DIEFDT) S DIEFY=-1 G DTOUT
   98: 	S %DT=DIEFDT,X=DIEFX S:$G(DIEFDT0)]"" %DT(0)=DIEFDT0 D ^%DT S DIEFY=Y
   99: 	I DIEFY=-1 D:DIEFDT'["e"  G DTOUT
  100: 	. N DIEFP
  101: 	. S DIEFP(1)=DIEFX,DIEFP(2)="date/time"
  102: 	. D BLD^DIALOG(330,.DIEFP,.DIEFP)
  103: 	I DIEFDT["E" D DD^%DT S DIEFY(0)=Y
  104: DTOUT	I $G(DIOUTAR)]"" D CALLOUT^DIEFU(DIOUTAR)
  105: 	Q
  106: 	;
  107: VERFLG(FLG,GDFLGS)	;
  108: 	N EI
  109: 	S EI=$TR(FLG,GDFLGS,"")
  110: 	I EI="" Q 1
  111: 	D BLD^DIALOG(301,EI,EI)
  112: 	Q 0
  113: 	;
  114: XA(DIEFF,DIEFIEN,DIEFFLD,DIEFNVAL,DIEFOVAL)	;
  115: 	N DA
  116: 	S DIEFNVAL=$G(DIEFNVAL),DIEFOVAL=$G(DIEFOVAL)
  117: 	Q:DIEFNVAL=DIEFOVAL
  118: 	D DA(DIEFIEN,.DA)
  119: 	D XRFAUD^DIEF
  120: 	Q
  121: 	;
  122: FILENM(F)	;
  123: 	N NM
  124: 	S NM=$P($G(^DIC($$FNO^DILIBF(F),0)),U)
  125: 	;I NM="" <DO ERROR>
  126: 	Q NM
  127: 	;
  128: FLDNM(F,FLD)	;
  129: 	N NM,UP
  130: 	S NM=$P($G(^DD(F,FLD,0)),U,1)
  131: 	F  S UP=$G(^DD(F,0,"UP")) Q:'UP  D
  132: 	. S NM=NM_" in "_$P($G(^DD(F,0)),U,1)
  133: 	. S F=UP
  134: 	. Q
  135: 	;I NM="" <DO ERROR>
  136: 	Q NM

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