File:  [Coherent Logic Development] / freem_fileman / USER / DICRW.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: DICRW	;SFISC/XAK-SELECT A FILE ;11:24 AM  15 Nov 1994
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: R	D DT S D="OUTPUT FROM",DIC(0)="QEI",DIA=$S($D(^DISV(DUZ,"^DIC(")):^("^DIC("),1:"")
    5: 	D R1,DIC K DIAC,DIFILE,DIC("S") Q:$D(DTOUT)  G R:'$T,AU:+Y=1.1,A:+Y=.6
    6: R2	I DUZ(0)'="@" S DICS="I 1 Q:'$D(^(8))  F DW=1:1:$L(^(8)) I DUZ(0)[$E(^(8),DW) Q"
    7: 	K DIA Q
    8: 	;
    9: AU	S D="AUDIT FROM",DIC(0)="QEI" S:'$D(DIC("S")) DIC("S")="I Y>1.1"
   10: 	S:DIA ^DISV(DUZ,"^DIC(")=DIA D DIC Q:'$D(DIC)  G AU:Y<0
   11: 	I '$D(DDA),'$D(^DIA(+Y,0))#2 W $C(7),"   NO AUDIT ENTRIES" G AU
   12: 	S DIA=+Y,Y="1.1^"_$P(Y,U,2)_" AUDIT",DIC="^DIA(DIA,"
   13: 	Q
   14: A	S:'$D(DIC("S")) DIC("S")="S DIFILE=Y,DIAC=""DD"" D ^DIAC I %",DDA=""
   15: 	D AU Q:'$D(DIC)
   16: 	S %=$P(^DIC(DIA,0),U),Y=DIA D SUB I DIA'>0!$D(DTOUT)!$D(DUOUT) K DIC Q
   17: 	I '$D(^DDA(DIA,0)) W !,"  No DD AUDIT entries!" K DIC Q
   18: 	S Y=".6^"_$P(Y,U,2)_"DD AUDIT",DIC="^DDA(DIA,"
   19: 	Q
   20: SUB	I $D(DIT) S L=L+1,DFL(L)=$O(^DD(+Y,0,"NM","")),(DFF,DFF(L))=+Y,Y=-1
   21: 	S DIC="^DD("_Y_"," Q:$O(^DD(Y,"SB",0))'>0  Q:$D(DIT)
   22: 	S DIC(0)="AEQIZ",DIC("A")="Select "_%_" SUB-FILE: "
   23: 	S DIC("S")="I $P(^(0),U,2)" D ^DIC Q:Y<0!$D(DTOUT)  S Y=+$P(Y(0),U,2)
   24: 	S DIA=Y,%=$P($P(^DD(DIA,0),U)," SUB-FIELD")
   25: 	I $D(DIT) S X=$P($P(Y(0),U,4),";",1),DSUB(L)=$S(X:X,1:""""_X_"""")_","
   26: 	G SUB
   27: R1	S DIC("S")="S DIFILE=+Y,DIAC=""RD"" D ^DIAC I %"
   28: 	Q
   29: DT	;
   30: 	I $D(IO)#2,$D(IO(0))#2,IO=IO(0),IO=""
   31: 	E  W:'$G(DIQUIET) !
   32: 	S:$D(DUZ)#2-1 DUZ=0 S:$D(DUZ(0))#2-1 DUZ(0)="" S X=DUZ(0)="@" D 1
   33: 	I '$D(DTIME) S DTIME=300
   34: 	K %DT,DT S:$D(IO(0))[0 IO(0)=$I D NOW^%DTC S DT=X,U="^"
   35: 	K DIK,DIC,%I,DICS Q
   36: 	;
   37: 0	S X=0
   38: 1	D:'$D(DISYS) OS^DII
   39: 	Q
   40: W	D DT S D=$S('$D(DDS1):"INPUT TO",1:DDS1),DIC(0)=$E("L",$D(DLAYGO)>0)_"EQI"
   41: 	D W1,DIC Q:$T!($D(DTOUT))  G W:'$P(Y,U,3) K DIC Q
   42: W1	S DIC("S")="I Y>.19,Y-1,Y-1.1,Y-.6,Y-.403,Y-.404 S DIFILE=+Y,DIAC=""WR"" D ^DIAC I %"
   43: 	Q
   44: DIC	W ! S U="^",D=D_" WHAT FILE: ",DIC="^DIC("
   45: 	I DUZ(0)'="@",DIC(0)'["L",$S($D(^VA(200,"AFOF")):1,1:$D(^DIC(3,"AFOF"))) S DIC=$S($D(^VA(200,"AFOF")):"^VA(200,",1:DIC_"3,")_"DUZ,""FOF"","
   46: 	I $D(^DISV(DUZ,DIC)) S Y=^(DIC) I $D(@(DIC_Y_",0)")) X:$D(DIC("S")) DIC("S") I  S Y=Y_U_$P(^DIC(Y,0),U),D=D_$P(Y,U,2)_"// "
   47: 	W D S %=$T R X:DTIME E  W $C(7) S X=U,DTOUT=1,Y=-1 K DIC Q
   48: 	I '$D(@(DIC_"0)")) W "  There are no selectable files." K DIC S Y=-1 Q
   49: 	S:DIC["FOF" DIC(0)=DIC(0)_"O" I X="",% G WW
   50: 	S DIC("W")=$P($T(WW1),";",3) D ^DIC I $D(DTOUT) K DIC Q
   51: GOT	I $D(^DIC(+Y,0,"GL")) K DIC S DIC=^("GL") Q
   52: 	I U[X K DIC
   53: 	Q
   54: WW	S A9=$P($T(WW1),";",3) X A9
   55: 	K A9
   56: 	G GOT
   57: 	;
   58: D	D DT S D="MODIFY",DIC(0)="LQEI",DIC("S")="I Y'<2 S DIFILE=+Y,DIAC=""DD"" D ^DIAC I %"
   59: 	D DIC S:DUZ(0)'="@" DICS="I 1 Q:'$D(^(9))  Q:^(9)=U  F DW=1:1:$L(^(9)) I DUZ(0)[$E(^(9),DW) Q"
   60: 	Q:$T!($D(DTOUT))  G D:'$P(Y,U,3) K DIC
   61: 	Q
   62: DIAR	;
   63: 	D DT S D=$S($D(DIAX):"EXTRACT",1:"ARCHIVE")_" FROM",DIC(0)="QEI" D R1 S DIC("S")="I Y'<2 "_DIC("S")
   64: 	D DIC G R2:$D(DTOUT)!(X="^")!(X="")!(Y>0&($P($G(^DD(+Y,0,"DI")),U)'["Y"))
   65: 	W:$P($G(^DD(+Y,0,"DI")),U)["Y" !,$C(7),"SORRY, THIS IS ALREADY AN ARCHIVE FILE!"
   66: 	G DIAR
   67: 	Q
   68: T	; COMP/MERGE
   69: 	D DT S D="COMPARE ENTRIES IN",DIC=1,DIC(0)="QEI" D W1,DIC Q:$T!($D(DTOUT))  G T
   70: 	;
   71: WW1	;;W:$X>53 !?9 I Y-1.1,Y-.6,$D(^DIC(Y,0,"GL")),^("GL")'["[",$D(@(^("GL")_"0)")) S %=+$P(^(0),U,4) W ?40,"  ("_%_" entr"_$P("ies^y",U,%=1+1)_")"

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