Annotation of freem_fileman/USER/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>