IBXX16 ; COMPILED XREF FOR FILE #399.0404 ; 10/03/23
;
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(^DGCR(399,DA(2),"CP",DA(1))) I DA(1)'>0 S DA(1)=0 G END
1 ;
K ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","C")
B S DA=$O(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA)) I DA'>0 S DA=0 Q:DIKM1=1 G A
2 ;
S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
S X=$P($G(DIKZ(0)),U,2)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,3),X=X S DIU=X K Y S X="" X ^DD(399.0404,.02,1,2,2.4)
S X=$P($G(DIKZ(0)),U,2)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,8),X=X S DIU=X K Y S X="" X ^DD(399.0404,.02,1,3,2.4)
S X=$P($G(DIKZ(0)),U,2)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,5),X=X S DIU=X K Y S X="" X ^DD(399.0404,.02,1,4,2.4)
S X=$P($G(DIKZ(0)),U,2)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,6),X=X S DIU=X K Y S X="" X ^DD(399.0404,.02,1,5,2.4)
S X=$P($G(DIKZ(0)),U,2)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,7),X=X S DIU=X K Y S X="" X ^DD(399.0404,.02,1,6,2.4)
S X=$P($G(DIKZ(0)),U,2)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,15),X=X S DIU=X K Y S X="" X ^DD(399.0404,.02,1,7,2.4)
S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
S X=$P($G(DIKZ(0)),U,1)
I X'="" K ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","B",$E(X,1,30),DA)
S X=$P($G(DIKZ(0)),U,1)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(2),DIV(0)=D0,D1=DA(1),DIV(1)=D1,D2=DA,DIV(2)=D2 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"") S X=$P(Y(1),U,4),X=X S DIU=X K Y S X="" X ^DD(399.0404,.01,1,2,2.4)
CR1 S DIXR=178
K X
S DIKZ(0)=$G(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
S X(1)=$P(DIKZ(0),U,1)
S X=$$EXTERNAL^DILFD(399.0404,.01,,X(1))
S:$D(X)#2 X(2)=X
S X=$G(X(1))
I $G(X(2))]"" D
. K X1,X2 M X1=X,X2=X
. S:$D(DIKIL) (X2,X2(1))=""
. K ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","C",$E(X(2),1,30),DA)
CR2 K X
G:'$D(DIKLM) B Q:$D(DIKILL)
END G ^IBXX17
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBXX16 2802 printed Oct 16, 2024@18:33:31 Page 2
IBXX16 ; COMPILED XREF FOR FILE #399.0404 ; 10/03/23
+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(^DGCR(399,DA(2),"CP",DA(1)))
IF DA(1)'>0
SET DA(1)=0
GOTO END
1 ;
+1 KILL ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","C")
B SET DA=$ORDER(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",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),"LNPRV",DA,0))
+2 SET X=$PIECE($GET(DIKZ(0)),U,2)
+3 IF X'=""
Begin DoDot:1
+4 NEW DIK,DIV,DIU,DIN
+5 KILL DIV
SET DIV=X
SET D0=DA(2)
SET DIV(0)=D0
SET D1=DA(1)
SET DIV(1)=D1
SET D2=DA
SET DIV(2)=D2
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,3)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0404,.02,1,2,2.4)
End DoDot:1
+6 SET X=$PIECE($GET(DIKZ(0)),U,2)
+7 IF X'=""
Begin DoDot:1
+8 NEW DIK,DIV,DIU,DIN
+9 KILL DIV
SET DIV=X
SET D0=DA(2)
SET DIV(0)=D0
SET D1=DA(1)
SET DIV(1)=D1
SET D2=DA
SET DIV(2)=D2
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,8)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0404,.02,1,3,2.4)
End DoDot:1
+10 SET X=$PIECE($GET(DIKZ(0)),U,2)
+11 IF X'=""
Begin DoDot:1
+12 NEW DIK,DIV,DIU,DIN
+13 KILL DIV
SET DIV=X
SET D0=DA(2)
SET DIV(0)=D0
SET D1=DA(1)
SET DIV(1)=D1
SET D2=DA
SET DIV(2)=D2
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,5)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0404,.02,1,4,2.4)
End DoDot:1
+14 SET X=$PIECE($GET(DIKZ(0)),U,2)
+15 IF X'=""
Begin DoDot:1
+16 NEW DIK,DIV,DIU,DIN
+17 KILL DIV
SET DIV=X
SET D0=DA(2)
SET DIV(0)=D0
SET D1=DA(1)
SET DIV(1)=D1
SET D2=DA
SET DIV(2)=D2
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,6)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0404,.02,1,5,2.4)
End DoDot:1
+18 SET X=$PIECE($GET(DIKZ(0)),U,2)
+19 IF X'=""
Begin DoDot:1
+20 NEW DIK,DIV,DIU,DIN
+21 KILL DIV
SET DIV=X
SET D0=DA(2)
SET DIV(0)=D0
SET D1=DA(1)
SET DIV(1)=D1
SET D2=DA
SET DIV(2)=D2
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,7)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0404,.02,1,6,2.4)
End DoDot:1
+22 SET X=$PIECE($GET(DIKZ(0)),U,2)
+23 IF X'=""
Begin DoDot:1
+24 NEW DIK,DIV,DIU,DIN
+25 KILL DIV
SET DIV=X
SET D0=DA(2)
SET DIV(0)=D0
SET D1=DA(1)
SET DIV(1)=D1
SET D2=DA
SET DIV(2)=D2
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,15)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0404,.02,1,7,2.4)
End DoDot:1
+26 SET DIKZ(0)=$GET(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
+27 SET X=$PIECE($GET(DIKZ(0)),U,1)
+28 IF X'=""
KILL ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","B",$EXTRACT(X,1,30),DA)
+29 SET X=$PIECE($GET(DIKZ(0)),U,1)
+30 IF X'=""
Begin DoDot:1
+31 NEW DIK,DIV,DIU,DIN
+32 KILL DIV
SET DIV=X
SET D0=DA(2)
SET DIV(0)=D0
SET D1=DA(1)
SET DIV(1)=D1
SET D2=DA
SET DIV(2)=D2
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,"LNPRV",D2,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,4)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0404,.01,1,2,2.4)
End DoDot:1
CR1 SET DIXR=178
+1 KILL X
+2 SET DIKZ(0)=$GET(^DGCR(399,DA(2),"CP",DA(1),"LNPRV",DA,0))
+3 SET X(1)=$PIECE(DIKZ(0),U,1)
+4 SET X=$$EXTERNAL^DILFD(399.0404,.01,,X(1))
+5 if $DATA(X)#2
SET X(2)=X
+6 SET X=$GET(X(1))
+7 IF $GET(X(2))]""
Begin DoDot:1
+8 KILL X1,X2
MERGE X1=X,X2=X
+9 if $DATA(DIKIL)
SET (X2,X2(1))=""
+10 KILL ^DGCR(399,DA(2),"CP",DA(1),"LNPRV","C",$EXTRACT(X(2),1,30),DA)
End DoDot:1
CR2 KILL X
+1 if '$DATA(DIKLM)
GOTO B
if $DATA(DIKILL)
QUIT
END GOTO ^IBXX17