IBXX37 ; COMPILED XREF FOR FILE #399.30491 ; 05/29/25
 ; 
 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  Sep 23, 2025@20:09:38                                                                                                                                                                                                       Page 2
IBXX37    ; COMPILED XREF FOR FILE #399.30491 ; 05/29/25
 +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