Annotation of freem_fileman/DIP1.m, revision 1.1

1.1     ! snw         1: DIP1   ;SFISC/GFT,TKW-PROCESS FROM-TO ;11/16/94  10:29
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        D DJ Q
        !             5: DUP    D DPQ G DIP1^DIQQQ:$D(A(1))
        !             6:        I '$D(BY),$D(DPP(2,"T"))!$D(DPP(3))!$D(DXS) S DK=S G S^DIBT
        !             7: DIP2   S DC=0 D:'$D(DISYS) OS^DII G ^DIP2
        !             8:        ;
        !             9: FTEM   I $G(DIBT1),$O(^DIBT(DIBT1,2,0)) D
        !            10:        .I $D(DIBTOLD) D SNEW^DIBT Q
        !            11:        .D US^DIBT Q
        !            12: N      ;
        !            13:        S DCC=DI,C="," G DIP2
        !            14:        ;
        !            15: DPQ    K A F X=1:1 Q:$D(DPP(X))#2=0  S A=$E($P(DPP(X),U,1,3),1,30),Y=$P(DPP(X),U,4),DPP=X S:Y'["'" (A($D(A(A))),A(A))=0 I Y'["@",Y'["'" S DPQ(+DPP(X),$P(Y,"""",2)+$P(DPP(X),U,2))=""
        !            16:        K DPP(X) Q
        !            17:        ;
        !            18: DJ     N DIFLD,DIFLDREG D DTYP I $D(DPP(DJ,"F")) D OPT^DIP12 Q
        !            19: J      ;
        !            20:        S DC=$S($D(^DD(+DPP(DJ),$S(DIFLD:DIFLD,DIFLDREG="":U,1:.001),0)):$P(^(0),U,2,3),1:$P(DPP(DJ),U,7,8)),R=$P(DPP(DJ),U,3)
        !            21:        K DIC,DIARE,DIARS N DIFRTO
        !            22: S      K DIERR,DPP(DJ,"SRTTXT")
        !            23:        S DIPR=$P(DPP(DJ),";""",2,99),DIPR=$P(DIPR,"""",1,$L(DIPR,"""")-1),DIPR=$S(DIPR'="":DIPR,1:R),%=$E(DIPR,$L(DIPR)-1,$L(DIPR)),%=$S(%=": ":2,$E(%,2)=":":1,1:0) I % S DIPR=$E(DIPR,1,$L(DIPR)-%)
        !            24:        S A="FIRST",DIFRTO="?" I 'L I $D(FR)#2!($O(FR(0))) S %="FR" D Z I DIFRTO'="?" G S0
        !            25:        I $D(DISV) D FROM^DIARCALC
        !            26:        K DIR S %="",%(1)=$G(DPP(DJ,"TXT")) S:%(1)="" %(1)=$G(DIPP(DIJ,"TXT")) S:%(1)]"" $P(%," ",(DJ+DJ-1))="",DIR("A",1)=%_"* Previous selection: "_%(1) K %
        !            27:        S DIR(0)="FO^1:245",%="",$P(%," ",(DJ+DJ-1))="",DIR("A")=%_"START WITH "_DIPR,DIR("?")="^D DIP1F^DIQQ" S:A]"" DIR("B")=A
        !            28:        D ^DIR W:$D(DTOUT) $C(7) G Q:$D(DTOUT)!($D(DUOUT))
        !            29:        I $G(DIR("B"))="FIRST",X="FIRST" S A="FIRST",X=""
        !            30:        K DIR,DIRUT,DIROUT,DIERR
        !            31: S0     I X="",A="FIRST" D:$P(DPP(DJ),U,5)[";TXT" STXT(DJ,"","",DITYP) D OPT^DIP12 Q
        !            32:        S Y(0)="" D CK^DIP12:X'="" I X'="" I X'?.ANP!($D(DIERR)) G:DIFRTO="?" S G Q
        !            33:        S M=1 D PAR
        !            34:        D FRV
        !            35:        S Y=Y_U_X S:Y(0)]"" Y=Y_U_Y(0) S (B,DPP(DJ,"F"))=Y
        !            36: T      K DIERR S Y="z",A="LAST",DIFRTO="?" I 'L I $D(TO)#2!($O(TO(0))) S %="TO" D Z I DIFRTO'="?" G T0
        !            37:        I $D(DISV) D TO^DIARCALC
        !            38:        G T0:$G(DIAR)=4
        !            39:        K DIR S %="",$P(%," ",(DJ+DJ-1))="",DIR(0)="FO^1:245",DIR("A")=%_"GO TO "_DIPR,DIR("?")="^D DIP1T^DIQQ" S:A]"" DIR("B")=A
        !            40:        D ^DIR W:$D(DTOUT) $C(7) G Q:$D(DUOUT)!($D(DTOUT))
        !            41:        I X="LAST",$G(DIR("B"))="LAST" S X="",Y="z"
        !            42:        K DIR,DIRUT,DIROUT,DIERR
        !            43: T0     S Y(0)="" I DITYP=1,X]"",$D(DITYP("D"))#2 D
        !            44:        . N I,J S I=$S(X["@":"@",X[".":".",1:"")
        !            45:        . I I]"" S J=$P(X,I,2),J=$P(J,":")_$P(J,":",2)_$P(J,":",3) I $E(J,1,2)>23!($E(J,1,4)>2359)!($E(J,1,6)>235959) S X=$P(X,I),I=""
        !            46:        . Q:I]""
        !            47:        . S X=$S(DITYP("D")["S":X_"@23:59:59",DITYP("D")["T":X_"@23:59",1:X)
        !            48:        . Q
        !            49:        D STXT(DJ,B,"^"_X,DITYP) I $D(DPP(DJ,"SRTTXT")) S:$G(DPP(DJ,"F"))]"" B=DPP(DJ,"F") S X=" "_X
        !            50:        D:X]"" CK^DIP12 I $D(DIERR) G:DIFRTO="?" T G Q
        !            51:        S M=2 D PAR:Y'="z"
        !            52:        S Y=Y_U_X S:Y(0)]"" Y=Y_U_Y(0) S DPP(DJ,"T")=Y
        !            53:        I B["?z"!($P(Y,U)="@") D OPT^DIP12 Q
        !            54:        I $$BEF^DIU5($P(Y,U),$P(B,U)) D:'$G(DIQUIET) FER1^DIQQ G:DIFRTO="?" T G Q
        !            55:        D OPT^DIP12 Q
        !            56:        ;
        !            57: FRV    N M I +$P(Y,"E")=Y S Y=Y-$S(Y:.00001,$P(DPP(DJ),U,2)'=0&$L(DC):1,1:0) Q
        !            58:        F %=$L($E(Y,1,30)):-1:1 S M=$A(Y,%) I M>32 S Y=$E(Y,1,%-1)_$C(M-1)_$C(122) Q
        !            59:        Q
        !            60:        ;
        !            61: DTYP   N S S DIFLDREG=$P(DPP(DJ),U,2),DIFLD=DIFLDREG+$P($P(DPP(DJ),U,4),"""",2) I 'DIFLD,DIFLDREG'="" S DIFLD=.001
        !            62:        S S=$P(DPP(DJ),U)
        !            63: D1     K DITYP S DITYP=""
        !            64:        I S,DIFLD D DTYP^DIOU(S,DIFLD,.DITYP) I $G(^DD(S,DIFLD,2))]"",DITYP'=1 S DITYP=4
        !            65:        I DITYP=6,$G(DITYP("T"))=1 S DITYP("D")="TS"
        !            66:        S:$G(DITYP("T")) DITYP=DITYP("T")
        !            67:        I DITYP="",'DIFLD,$P(DPP(DJ),U,7)]"" D
        !            68:        . N I,X S X=$P(DPP(DJ),U,7),I=""
        !            69:        . F  S I=$O(^DI(.81,"C",I)) Q:I=""  I X[I S DITYP=$O(^(I,0)) Q
        !            70:        . Q
        !            71:        S:'DITYP DITYP=4
        !            72: DTYPQ  S $P(DPP(DJ),U,10)=DITYP Q
        !            73:        ;
        !            74: Q      K DITYP,DIERR,DIR S:$D(DTOUT) X="^" G Q^DIP
        !            75:        ;
        !            76: PAR    S M=$P($P($P($P(DPP(DJ),U,5),";P",2),";",1),"-",M)
        !            77:        I M]"",M?.ANP S DIPA($E(M,1,30))=Y
        !            78:        Q
        !            79:        ;
        !            80: Z      I %="FR" S X=$S($D(FR)#2:$P(FR,C,DJ),$D(FR(DJ))#2:FR(DJ),1:"?")
        !            81:        I %="TO" S X=$S($D(TO)#2:$P(TO,C,DJ),$D(TO(DJ))#2:TO(DJ),1:"?")
        !            82:        I X'="?" S DIFRTO=""
        !            83:        Q
        !            84:        ;
        !            85: STXT(DJ,F,T,DITYP)     ;DETERMINE IF USER WANTS TO SORT FREE-TEXT FIELDS CONTAINING NUMBERS AS TEXT.
        !            86:        K DPP(DJ,"SRTTXT") I $P($G(DPP(DJ)),U,5)[";TXT" D  G N2
        !            87:        . N Y S Y=$P(DPP(DJ),U,10) S:Y<3 $P(DPP(DJ),U,10)=4
        !            88:        . S DPP(DJ,"SRTTXT")="SORT" Q
        !            89:        Q:DITYP'=4
        !            90:        N Y S Y=$P(F,U,2) I Y?1.N.1"."1.N,+Y'=Y S DPP(DJ,"SRTTXT")="RANGE"
        !            91:        S Y=$P(T,U,2) I $D(DPP(DJ,"SRTTXT")) D  Q:'$D(DPP(DJ,"SRTTXT"))  G N2
        !            92:        . Q:Y'?1.N.1"."1.N  Q:+Y=Y  K DPP(DJ,"SRTTXT") Q
        !            93:        I Y?1.N.1"."1.N,+Y'=Y S DPP(DJ,"SRTTXT")="RANGE"
        !            94:        Q:'$D(DPP(DJ,"SRTTXT"))
        !            95: N2     K DPP(DJ,"IX"),DPP(DJ,"PTRIX")
        !            96:        I F]"" S Y=" "_$P(F,U,2) D FRV S:$G(DPP(DJ,"F"))]"" DPP(DJ,"F")=Y_U_" "_$P(F,U,2)_U_$P(F,U,3)
        !            97:        Q:T=""  Q:$G(DPP(DJ,"T"))=""
        !            98:        S DPP(DJ,"T")=" "_$P(T,U)_U_" "_$P(T,U,2)_U_$P(T,U,3) Q

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