YSXRAC3 ; COMPILED XREF FOR FILE #601.22 ; 12/28/04
;
S DA(2)=DA(1) S DA(1)=0 S DA=0
A1 ;
I $D(DIKILL) K DIKLM S:DIKM1=2 DIKLM=1 S:DIKM1'=2&'$G(DIKPUSH(2)) DIKPUSH(2)=1,DA(2)=DA(1),DA(1)=DA,DA=0 G @DIKM1
A S DA(1)=$O(^YTD(601.2,DA(2),1,DA(1))) I DA(1)'>0 S DA(1)=0 G END
1 ;
B S DA=$O(^YTD(601.2,DA(2),1,DA(1),1,DA)) I DA'>0 S DA=0 Q:DIKM1=1 G A
2 ;
S DIKZ(0)=$G(^YTD(601.2,DA(2),1,DA(1),1,DA,0))
S X=$P(DIKZ(0),U,1)
I X'="" D KILL^YTCROSS
CR1 S DIXR=476
K X
S X(1)=$P(DIKZ(0),U,1)
S X=$G(X(1))
I $G(X(1))]"" D
. K X1,X2 M X1=X,X2=X
. S:$D(DIKIL) (X2,X2(1))=""
. D KMH^YTPXRM(.X,.DA)
CR2 K X
G:'$D(DIKLM) B Q:$D(DIKILL)
END G ^YSXRAC4
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HYSXRAC3 674 printed Nov 22, 2024@17:25:16 Page 2
YSXRAC3 ; COMPILED XREF FOR FILE #601.22 ; 12/28/04
+1 ;
+2 SET DA(2)=DA(1)
SET DA(1)=0
SET DA=0
A1 ;
+1 IF $DATA(DIKILL)
KILL DIKLM
if DIKM1=2
SET DIKLM=1
if DIKM1'=2&'$GET(DIKPUSH(2))
SET DIKPUSH(2)=1
SET DA(2)=DA(1)
SET DA(1)=DA
SET DA=0
GOTO @DIKM1
A SET DA(1)=$ORDER(^YTD(601.2,DA(2),1,DA(1)))
IF DA(1)'>0
SET DA(1)=0
GOTO END
1 ;
B SET DA=$ORDER(^YTD(601.2,DA(2),1,DA(1),1,DA))
IF DA'>0
SET DA=0
if DIKM1=1
QUIT
GOTO A
2 ;
+1 SET DIKZ(0)=$GET(^YTD(601.2,DA(2),1,DA(1),1,DA,0))
+2 SET X=$PIECE(DIKZ(0),U,1)
+3 IF X'=""
DO KILL^YTCROSS
CR1 SET DIXR=476
+1 KILL X
+2 SET X(1)=$PIECE(DIKZ(0),U,1)
+3 SET X=$GET(X(1))
+4 IF $GET(X(1))]""
Begin DoDot:1
+5 KILL X1,X2
MERGE X1=X,X2=X
+6 if $DATA(DIKIL)
SET (X2,X2(1))=""
+7 DO KMH^YTPXRM(.X,.DA)
End DoDot:1
CR2 KILL X
+1 if '$DATA(DIKLM)
GOTO B
if $DATA(DIKILL)
QUIT
END GOTO ^YSXRAC4