Annotation of freem_fileman/DICRW.m, revision 1.1.1.1

1.1       snw         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>