- IBXX37 ; COMPILED XREF FOR FILE #399.30491 ; 10/03/23
- ;
- S DA(1)=0 S DA=0
- A1 ;
- I $D(DISET) 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(^DGCR(399,DA(2),"CP",DA(1))) I DA(1)'>0 S DA(1)=0 G END
- 1 ;
- B S DA=$O(^DGCR(399,DA(2),"CP",DA(1),"DEN1",DA)) I DA'>0 S DA=0 Q:DIKM1=1 G A
- 2 ;
- S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"DEN1",DA,0))
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" S ^DGCR(399,DA(2),"CP",DA(1),"DEN1","B",$E(X,1,30),DA)=""
- CR1 S DIXR=1523
- K X
- S X(1)=$P(DIKZ(0),U,7)
- S X=$G(X(1))
- I $G(X(1))]"" D
- . K X1,X2 M X1=X,X2=X
- . S ^DGCR(399,"ADT",$E(X,1,20),DA(2),DA(1),DA)=""
- CR2 K X
- G:'$D(DIKLM) B Q:$D(DISET)
- END Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBXX37 712 printed Feb 18, 2025@23:59:44 Page 2
- IBXX37 ; COMPILED XREF FOR FILE #399.30491 ; 10/03/23
- +1 ;
- +2 SET DA(1)=0
- SET DA=0
- A1 ;
- +1 IF $DATA(DISET)
- 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(^DGCR(399,DA(2),"CP",DA(1)))
- IF DA(1)'>0
- SET DA(1)=0
- GOTO END
- 1 ;
- B SET DA=$ORDER(^DGCR(399,DA(2),"CP",DA(1),"DEN1",DA))
- IF DA'>0
- SET DA=0
- if DIKM1=1
- QUIT
- GOTO A
- 2 ;
- +1 SET DIKZ(0)=$GET(^DGCR(399,DA(2),"CP",DA(1),"DEN1",DA,0))
- +2 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +3 IF X'=""
- SET ^DGCR(399,DA(2),"CP",DA(1),"DEN1","B",$EXTRACT(X,1,30),DA)=""
- CR1 SET DIXR=1523
- +1 KILL X
- +2 SET X(1)=$PIECE(DIKZ(0),U,7)
- +3 SET X=$GET(X(1))
- +4 IF $GET(X(1))]""
- Begin DoDot:1
- +5 KILL X1,X2
- MERGE X1=X,X2=X
- +6 SET ^DGCR(399,"ADT",$EXTRACT(X,1,20),DA(2),DA(1),DA)=""
- End DoDot:1
- CR2 KILL X
- +1 if '$DATA(DIKLM)
- GOTO B
- if $DATA(DISET)
- QUIT
- END QUIT