Annotation of freem_fileman/DIV.m, revision 1.1

1.1     ! snw         1: DIV    ;SFISC/GFT-VERIFY FLDS ;6/6/94  2:06 PM
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        K J
        !             5:        S Q="""",S=";",V=0,P=0,I(0)=DIU,@("(A,J(0))=+$P("_DIU_"0),U,2)")
        !             6:        I $O(^(0))'>0 W $C(7),"  NO ENTRIES ON FILE!" Q
        !             7: DIC    S DIC="^DD(A,",DIC(0)="EZ",DIC("W")="W:$P(^(0),U,2) ""  (multiple)"""
        !             8:        S DIC("S")="S %=$P(^(0),U,2) I %'[""C"",$S('%:1,1:$P(^DD(+%,.01,0),U,2)'[""W"")"
        !             9:        W !,"VERIFY WHICH "_$P(^DD(A,0),U)_": " R X:DTIME Q:U[X
        !            10:        I X="ALL" D ALL G Q:$D(DIRUT) I Y D  G Q^DIVR:DQI'>0
        !            11:        .D FLDS
        !            12:        .S B=0
        !            13:        .D NEXTLVL
        !            14:        .Q
        !            15:        D ^DIC K DQI,^UTILITY("DIVR",$J)
        !            16:        I Y<0 W:X?1."?" !?3,"You may enter ALL to verify every field at this level of the file.",! G DIC
        !            17:        S DR=$P(Y(0),U,2) I DR S J(V)=A,P=+Y,V=V+1,A=+DR,I(V)=$P($P(Y(0),U,4),S,1) S:+I(V)'=I(V) I(V)=Q_I(V)_Q G DIC
        !            18: 1      F T="N","D","P","S","V","F" Q:DR[T
        !            19:        F W="FREE TEXT","SET OF CODES","DATE","NUMERIC","POINTER","VARIABLE POINTER","K" I T[$E(W) S:W="K" W="MUMPS" W "   ",W
        !            20:        K DA S DIVZ=$P(Y(0),U,3),DDC=$P(Y(0),U,5,99),(DIFLD,DA)=+Y
        !            21:        G ^DIVR
        !            22:        ;
        !            23: Q      K DIR,DIRUT,N,P,Q,S,V,C
        !            24:        Q
        !            25:        ;
        !            26: ALL    S DIR(0)="Y",DIR("??")="^D H^DIV"
        !            27:        S DIR("A")="DO YOU MEAN ALL THE FIELDS IN THE FILE"
        !            28:        D ^DIR K DIR S X="ALL"
        !            29:        Q
        !            30:        ;
        !            31: FLDS   S DQI=0 F  S DQI=$O(^DD(A,DQI)) Q:DQI'>0  S Y=DQI,Y(0)=^(Y,0),DR=$P(Y(0),U,2) D
        !            32:        .I 'DR,DR'["C" W !!!,"--",$P(Y(0),U),"--" D 1 Q
        !            33:        Q
        !            34: NEXTLVL        ;
        !            35:        F  S (B,C)=$O(^DD(A,"SB",B)) Q:B'>0  D
        !            36:        .S DIC="^DD(A,",DIC(0)="Z",X=$O(^DD(A,"SB",B,"")) D ^DIC Q:Y'>0
        !            37:        .S DR=$P(Y(0),U,2),J(V)=A,P=+Y,V=V+1,I(V)=$P($P(Y(0),U,4),S,1) S:+I(V)'=I(V) I(V)=Q_I(V)_Q
        !            38:        .I $P(^DD(+DR,.01,0),U,2)["W" Q
        !            39:        .D NEXTLVL2
        !            40:        Q
        !            41: NEXTLVL2       ;
        !            42:        N A,B S A=C,B=0
        !            43:        D FLDS
        !            44:        D RECURSE
        !            45:        K J(V),I(V) S V=V-1
        !            46:        Q
        !            47: RECURSE        ;
        !            48:        D NEXTLVL
        !            49:        Q
        !            50: H      W !!?5,"YES means that every field at this level in the file will"
        !            51:        W !?5,"be checked to see if it conforms to the input transform."
        !            52:        W !!?5,"NO means that ALL will be used to lookup a field in the"
        !            53:        W !?5,"file which begins with the letters ALL, e.g., ALLERGIES."
        !            54:        Q

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