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

DDGFASUB	;SFISC/MKO-MANAGE "ASUB" ARRAY ;09:36 AM  29 Mar 1994;
	;;21.0;VA FileMan;;Dec 28, 1994
	;Per VHA Directive 10-93-142, this routine should not be modified.
	;
ALL	;Get subpages into @DDGFREF@("ASUB")
	N P,B S P=0
	F  S P=$O(^DIST(.403,+DDGFFM,40,P)) Q:'P  D:$P($G(^(P,1)),U,2)]"" ADD(P)
	Q
	;
ADD(P)	;
	;Setup @DDGFREF@("ASUB",pg,bk,ddo)=subpage P
	N MP,MB,MF,X
	S MF=$$UC($P(^DIST(.403,+DDGFFM,40,P,1),U,2)) Q:MF=""
	S MP=$P(MF,",",3),MB=$P(MF,",",2),MF=$P(MF,",")
	;
	S MP=$O(^DIST(.403,+DDGFFM,40,$S(MP=+$P(MP,"E"):"B",1:"C"),MP,""))
	Q:MP=""
	;
	I MB=+$P(MB,"E") D
	. S MB=$O(^DIST(.403,+DDGFFM,40,MP,40,"AC",MB,""))
	E  D
	. S MB=$O(^DIST(.404,"B",$$UC(MB),"")) Q:MB=""
	. S MB=$O(^DIST(.403,+DDGFFM,40,MP,40,"B",MB,""))
	Q:MB=""
	;
	S X=$S(MF=+$P(MF,"E"):"B",$D(^DIST(.404,MB,40,"D",MF)):"D",1:"C")
	S MF=$O(^DIST(.404,MB,40,X,MF,"")) Q:MF=""
	S @DDGFREF@("ASUB",MP,MB,MF)=P,@DDGFREF@("ASUB","B",P,MP,MB,MF)=""
	Q
	;
DEL(P)	;
	;Delete subpage DDGFPG from @DDGFREF@("ASUB")
	Q:'$D(@DDGFREF@("ASUB","B",P))
	;
	N MP,MB,MF
	S MP="" F  S MP=$O(@DDGFREF@("ASUB","B",P,MP)) Q:MP=""  D
	. S MB="" F  S MB=$O(@DDGFREF@("ASUB","B",P,MP,MB)) Q:MB=""  D
	.. S MF="" F  S MF=$O(@DDGFREF@("ASUB","B",P,MP,MB,MF)) Q:MF=""  D
	... K @DDGFREF@("ASUB","B",P,MP,MB,MF),@DDGFREF@("ASUB",MP,MB,MF)
	Q
	;
EDIT(P)	;
	;Edit "ASUB" to reflect new parent page
	D DEL(P),ADD(P)
	Q
UC(X)	;
	Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")

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