File:  [Coherent Logic Development] / freem_fileman / Attic / DIA.m
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Mon Apr 28 14:10:44 2025 UTC (5 weeks, 5 days ago) by snw
Branches: CoherentLogicDevelopment
CVS tags: start
Initial commit

DIA	;SFISC/GFT-SELECT FIELDS TO EDIT ;2/16/93  15:21 ;
	;;21.0;VA FileMan;;Dec 28, 1994
	;Per VHA Directive 10-93-142, this routine should not be modified.
	D DICS
1	D F W !?F*3,"EDIT WHICH "_X I $S(DB:DIAT="",1:1) R ": ALL// ",X:DTIME S:'$T X=U,DTOUT=1 G ALL^DIA1:X=""!(X="ALL"),TEMP^DIA1:X?1"[".E&'F,L
ED	G NDB:DIAT=""
GDB	S Y=$P(DIAT,";",DB) I "Q"[Y G NDB:Y="" D DB G GDB
	I Y?.NP,$P(Y,":",2),Y'["/" S Y=+Y_"-"_$P(Y,":",2)
	I $D(DI(DB)),$D(DI(DB,F,DI,DIAO)) S Y=DI(DB,F,DI,DIAO)
	W ": "_Y D RW
	I X="" S X=Y I X="ALL" G ALL^DIA1
L	S DSC=X?1"^".E I DSC S X=$E(X,2,999) I U[X K DR Q
	I $A(X)=64 G X:X'?1P.N,P:$L(X)>1,X:'DB S DB=DB+1 G 2
	K DIC,DIAB D DICS S DV="",J=$P(X,"-",2) I +J=J,$P(X,"-",1)=+X,J>X S D(F)=J K DA D RANGE^DIA1 K D S Y=DA G X:Y="" D DB G 2
DIC	;
	S DIC(0)="EZI",DIC="^DD(DI,",Y=-1 G X^DIA3:X[";" S DIC("W")="S %=$P(^(0),U,2) I % W $S($P(^DD(+%,.01,0),U,2)[""W"":""  (word-processing)"",1:""  (multiple)"")" D ^DIC Q:$D(DTOUT)
	I Y>0 D SET S Y=$P(Y(0),U,2) G 2:'Y S L=L+1,(DI,J(L))=+Y,I(L)=""""_$P($P(Y(0),U,4),";",1)_"""" G DOWN
	I $E(X)="]" S DRS=9,X=$E(X,2,999) G DIC:X]"",2
	S DIC(0)="EY",D="GR" G DIA^DIQQQ:X?."?" I $D(^DD(DI,D)) D IX^DIC I Y>0 D SET G 2
	G X^DIA3
	;
F	S X=$P(^DD(DI,0),U,1) I F,X="FIELD" S X=$O(^(0,"NM",0))_" "_X
	Q
	;
X	;
	W $C(7),"??" D DICS
2	;
	G 1:'$D(DR(F+1,DI)) D F W !?F*3,"THEN EDIT "_X G ED:DB
R	R ": ",X:DTIME E  W $C(7) S X=U,DTOUT=1
	I X]"" G L
UP	;
	G ^DIA1:'F K I(L),J(L) S L=L-1 I '$D(J(L)) F L=L-99:1 Q:'$D(J(L+1))
	I DB S DB=DB(F),DIAO=DIAO(F),DIAT=$S(DIAO<0:"",DIAO:^DIE(DIAA,"DR",F,J(L),DIAO),$D(^DIE(DIAA,"DR",F,J(L))):^(J(L)),1:"")
	S DIAP=DIAP(F),DI=J(L),F=F-1 G 2
	;
NDB	I DB,DIAO'<0 S DIAO=DIAO+1 I $D(^DIE(DIAA,"DR",F+1,DI,DIAO)) S DIAT=^(DIAO),DB=1 G GDB
	S DIAO=-1 G R
	;
EN	;
	D OS^DII:'$D(DISYS),DICS
DOWN	S F=F+1,DIAP(F)=DIAP,DIAP=0 I DB S DB(F)=DB,DB=1,DIAO(F)=DIAO,DIAO=0,DIAT=$S($D(^DIE(DIAA,"DR",F+1,DI)):^(DI),1:"")
	G 1:$P(^DD(DI,.01,0),U,2)'["W",1:L#100=0,UP
DICS	;
	S DIC("S")="I Y>.001,$P(^(0),U,2)'[""C"""_$S(DUZ(0)="@":"",1:",$P(^(0),U,2)'[""K""")_" Q:'$D(^(9))  I ^(9)'=U"_$S(DUZ(0)'="@":" F DW=1:1:$L(^(9)) I DUZ(0)[$E(^(9),DW) Q",1:"") Q
	;
P	;
	S DRS=99,Y=X D DB G 2
	;
SET	S Y=+Y_DV
DB	;
	I DB,'DSC S DB=DB+1
D	;
	I '$D(DR(F+1,DI)) S DR(F+1,DI)="",DIAP=0
	E  I $L(DR(F+1,DI))+$L(Y)>230 F %=0:1 I '$D(DW(DI,%)) S DIAP=DIAP\1000+1*1000,DW(DI)=F+1,DW(DI,%)=DR(F+1,DI),DR(F+1,DI)="" Q
	S DR(F+1,DI)=DR(F+1,DI)_Y_";",DRS=DRS+1,DIAP=DIAP+1 I $D(DIAB) S ^UTILITY($J,DIAP#1000,F,DI,DIAP\1000)=DIAB K DIAB
	Q
RW	I $L(Y)>19 D RW^DIR2 Q
	W "// " R X:DTIME I '$T S X=U,DTOUT=1 W $C(7)

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