File:  [Coherent Logic Development] / freem_fileman / USER / DICQ1.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:20 2025 UTC (5 weeks, 4 days ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

DICQ1	;SFISC/GFT-HELP FOR LOOKUPS ;6/24/94  13:47
	;;21.0;VA FileMan;;Dec 28, 1994
	;Per VHA Directive 10-93-142, this routine should not be modified.
EN	K DDD I $D(DDH)>10 S:$D(DDS) DDD=1 D LIST^DDSU Q:$D(DDSQ)
	S Y=$S('$D(%Y):0,%Y:%Y-.00000001,1:%Y)
	I $L(DS)+$L(X)<240 S DS=DS_X G N
	E  S DS=DS_" X DS(3)",DS(3)=$S($E(X)=" ":$E(X,2,999),1:X)
N	S X="" I DIZ S DIY=$L($P(DO,U,3))+DIY+5 S:Y="" Y=0
	E  S X=$S(Y=0:"",1:Y),Y=0
	D:$D(DIC("W")) ID S DDD=5,DIY=99,DIEQ="",$P(DIEQ," ",40)=" ",DIZ=DDC
	I '$D(DDS) D Z^DDSU
	;
L	X DIX I  D BK^DIEQ S:'$D(DDS) DDD=3 D LIST^DDSU K DDH Q:$D(DDSQ)  G 0
	X DS I $D(DICQ1Q) K DICQ1Q Q:$D(DTOUT)!$D(DDSQ)  G:'$D(DDH) 0
	I $D(DDS),DDH'<DIZ S DIZ=DDH+DDC D LIST^DDSU Q:$D(DDSQ)
	I '$D(DDS),DDH'<DDC D LIST^DDSU Q:$D(DTOUT)  G:'$D(DDH) 0
	G L
CHK	;Called by code in DS at line L+1 when we're doing a lookup with
	;a DIC("S") and/or DIC("W") defined.
	I $D(DDS),DDH'<DIZ S DIZ=DDH+DDC D LIST^DDSU I $D(DDSQ) S DICQ1Q=1
	I '$D(DDS),DDH'<DDC D LIST^DDSU I $D(DTOUT)!'$D(DDH) S DICQ1Q=1
	Q
	;
ID	S DIY="I $D("_DIC_"Y,0)) "
	I $L(DIC("W"))+$L(DIY)<240 S DDH("ID")=DIY_DIC("W") Q
	S DDH("ID")=DIY_"X DDH(""ID"",1)" S DDH("ID",1)=DIC("W") Q
	;
WOV	S %DIC=DIC,%WW=Y,DIC=%Z,Y=%Y,%X=0
W1	S %X=$O(^DD(%W,0,"ID",%X)) I %X]"" S %=^(%X) X "W ""  "",$E("_%Z_%Y_",0),0)",% G W1
	S DIC=%DIC,Y=%WW K %DIC,%W,%X,%YY,%Z,%WW Q
	;
S	S DS(1)=X,DS(2)=Y I 1 X:$D(DIC("S")) DIC("S")
	I $T S Y=DS(2) D SCR:$D(DO("SCR"))
	S X=DS(1),Y=DS(2) Q
	;
SCR	I @("$D("_DIC_"Y,0))") X DO("SCR")
	Q
	;
DT	S A2=$P(%,U,2),%=$P(%,U),A1="" ;I $G(DUZ("LANG"))>1 S A1=$$OUT^DIALOGU(%,"DD"),DDH(DDH,Y)=$S(A2:DDH(DDH,Y),1:"")_A1 Q
	;S:$E(%,4,5) A1=$E(%,4,5)_"-" S:$E(%,6,7) A1=A1_$E(%,6,7)_"-" S A1=A1_($E(%,1,3)+1700)
	;S:%["." A1=A1_" @ "_$E(%_0,9,10)_":"_$E(%_"000",11,12)_$S(+$E(%,13,14):":"_$E(%_0,13,14),1:"   ")
	S DDH(DDH,Y)=$S(A2:DDH(DDH,Y),1:"")_$$FMTE^DILIBF(%,6) Q
	;
0	;
	K DDC,DIEQ,DIW,DS G:DIC(0)'["L" QQ
	S DDH=$S($D(DDH):DDH,1:0) K A1
	I $D(%Y) S:%Y="??" DZ=%Y S:%Y?1P DZ="?"
	I $S($D(DLAYGO):DO(2)-DLAYGO\1,1:1),DUZ(0)'="@",'$D(^DD(+DO(2),0,"UP")) G JMP
10	I DZ="?" S DST=$$EZBLD^DIALOG(8069,$P(DO,U)) D DS^DIEQ,HP
	D H
	I $D(DZ),DO(2)["S" S DST=$$EZBLD^DIALOG(8068)_" " D %^DICQ F X=1:1 S Y=$P($P(^DD(+DO(2),.01,0),U,3),";",X) Q:Y=""  S A2="",$P(A2," ",15-$L(Y))=" ",DST="  "_$P(Y,":",1)_A2_" "_$P(Y,":",2) D DS^DIEQ
	I DO(2)["V" S DU=+DO(2),D=.01 D V^DIEQ
	;
RCR	G:DO(2)'["P"!($G(DZ(1))=0) QQ
	N D,DIC
	S D="B",DS=^DD(+DO(2),.01,0),DIC=U_$P(DS,U,3),DIC(0)=$E("L",$P(DS,U,2)'["'")
	I $P(DS,U,2)["*" F DILCV=" D ^DIC"," D IX^DIC"," D MIX^DIC1" S DICP=$F(DS,DILCV) I DICP X $P($E(DS,1,DICP-$L(DILCV)-1),U,5,99) Q
	K DICP,DILCV,DO D DQ^DICQ K DICW,DICS,DO
QQ	K A1,A2,DST Q:$D(DDH)'>10
	S:$D(DDS) DDC=-1 D LIST^DDSU K DDC Q
	;
HP	F DG=3,12 I $D(^DD(+DO(2),.01,DG)) S X=^(DG) F %=$L(X," "):-1:1 I $L($P(X," ",1,%))<70 S DST=$P(X," ",1,%) D DS^DIEQ,P1 Q
	Q
	;
P1	I %'=$L(X," ") S DST=$P(X," ",%+1,99) D DS^DIEQ
	Q
	;
H	S %=DIC,X=DZ N DIC,D,DP S DIC=%,D=.01,DP=+DO(2) D H^DIEQ Q
	;
JMP	S DIFILE=+DO(2),DIAC="LAYGO" D ^DIAC K DIAC,DIFILE G RCR:'%,10
	;
Q	K A1,A2 Q
	;
	;#8069  You may enter a new |filename|, if you wish
	;#8068  Choose from

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