- DIRQ ;SFISC/XAK-READER-MAID END ;7/11/94 14:34
- ;;22.0;VA FileMan;;Mar 30, 1999
- ;Per VHA Directive 10-93-142, this routine should not be modified.
- K:$D(%G) DIR("B")
- K DIR0("L")
- Q
- DA I DA'=+$P(DA,"E") K DA Q
- S (X,Y)=%B1,DA(0)=DA
- F %=0:1 Q:'$D(^DD(X,0,"UP")) S X=^("UP"),%P=$O(^DD(X,"SB",Y,0)),%(%)=""""_$P($P(^DD(X,%P,0),U,4),";")_""",",Y=X
- S %(%)=$S($D(^DIC(X,0,"GL")):^("GL"),1:"") G Q:%(%)=""
- S %G="" F %=%:-1:0 G GQ:'$D(DA(%)) S %G=%G_%(%)_DA(%)_","
- S %P=$P(%B3,U,4),%=$P(%P,";"),%G=%G_""""_%_""")" G GQ:'$D(@%G)
- S %G=$P(%P,";",2),Y=$S(%G:$P(^(%),U,%G),1:$E(^(%),+$P(%G,"E",2),$P(%G,",",2))) G GQ:Y=""
- S %G=Y,C=$P(^DD(%B1,%B2,0),U,2) D Y^DIQ S DIR("B")=Y G Q
- GQ K %G
- Q K %,%P,X,Y,DA(0) Q
- DIRQ ;SFISC/XAK-READER-MAID END ;7/11/94 14:34
- +1 ;;22.0;VA FileMan;;Mar 30, 1999
- +2 ;Per VHA Directive 10-93-142, this routine should not be modified.
- +3 IF $DATA(%G)
- KILL DIR("B")
- +4 KILL DIR0("L")
- +5 QUIT
- DA IF DA'=+$PIECE(DA,"E")
- KILL DA
- QUIT
- +1 SET (X,Y)=%B1
- SET DA(0)=DA
- +2 FOR %=0:1
- IF '$DATA(^DD(X,0,"UP"))
- QUIT
- SET X=^("UP")
- SET %P=$ORDER(^DD(X,"SB",Y,0))
- SET %(%)=""""_$PIECE($PIECE(^DD(X,%P,0),U,4),";")_""","
- SET Y=X
- +3 SET %(%)=$SELECT($DATA(^DIC(X,0,"GL")):^("GL"),1:"")
- IF %(%)=""
- GOTO Q
- +4 SET %G=""
- FOR %=%:-1:0
- IF '$DATA(DA(%))
- GOTO GQ
- SET %G=%G_%(%)_DA(%)_","
- +5 SET %P=$PIECE(%B3,U,4)
- SET %=$PIECE(%P,";")
- SET %G=%G_""""_%_""")"
- IF '$DATA(@%G)
- GOTO GQ
- +6 SET %G=$PIECE(%P,";",2)
- SET Y=$SELECT(%G:$PIECE(^(%),U,%G),1:$EXTRACT(^(%),+$PIECE(%G,"E",2),$PIECE(%G,",",2)))
- IF Y=""
- GOTO GQ
- +7 SET %G=Y
- SET C=$PIECE(^DD(%B1,%B2,0),U,2)
- DO Y^DIQ
- SET DIR("B")=Y
- GOTO Q
- GQ KILL %G
- Q KILL %,%P,X,Y,DA(0)
- QUIT