IBXX4 ; COMPILED XREF FOR FILE #399.0304 ; 10/03/23
;
S DA=0
A1 ;
I $D(DIKILL) K DIKLM S:DIKM1=1 DIKLM=1 G @DIKM1
0 ;
A S DA=$O(^DGCR(399,DA(1),"CP",DA)) I DA'>0 S DA=0 G END
1 ;
S DIKZ(0)=$G(^DGCR(399,DA(1),"CP",DA,0))
S X=$P($G(DIKZ(0)),U,2)
I X'="" I $D(^DGCR(399,DA(1),"CP",DA,0)),+^(0),$P($P(^(0),"^",1),";",2)="ICPT(" K ^DGCR(399,"ASD",-X,+^(0),DA(1),DA)
S X=$P($G(DIKZ(0)),U,4)
I X'="" K ^DGCR(399,DA(1),"CP","D",$E(X,1,30),DA)
S X=$P($G(DIKZ(0)),U,5)
I X'="" S DGRVRCAL=2
S X=$P($G(DIKZ(0)),U,5)
I X'="" K ^DGCR(399,DA(1),"CP","ASC",$E(X,1,30),DA)
S X=$P($G(DIKZ(0)),U,7)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(1),DIV(0)=D0,D1=DA,DIV(1)=D1 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,0)):^(0),1:"") S X=$P(Y(1),U,6),X=X S DIU=X K Y S X="" X ^DD(399.0304,6,1,1,2.4)
S DIKZ(0)=$G(^DGCR(399,DA(1),"CP",DA,0))
S X=$P($G(DIKZ(0)),U,10)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(1),DIV(0)=D0,D1=DA,DIV(1)=D1 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,0)):^(0),1:"") S X=$P(Y(1),U,16),X=X S DIU=X K Y S X="" X ^DD(399.0304,9,1,1,2.4)
S DIKZ(1)=$G(^DGCR(399,DA(1),"CP",DA,1))
S X=$P($G(DIKZ(1)),U,7)
I X'="" D
.N DIK,DIV,DIU,DIN
.X ^DD(399.0304,53,1,1,2.3) I X S X=DIV S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,1)):^(1),1:""),Y(1)=$S($D(^DGCR(399,D0,"CP",D1,2)):^(2),1:"") S X=$P(Y(1),U,1),X=X S DIU=X K Y S X="" X ^DD(399.0304,53,1,1,2.4)
S X=$P($G(DIKZ(1)),U,7)
I X'="" D
.N DIK,DIV,DIU,DIN
.X ^DD(399.0304,53,1,2,2.3) I X S X=DIV S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,1)):^(1),1:"") S X=$P(Y(1),U,8),X=X S DIU=X K Y S X="" S DIH=$G(^DGCR(399,DIV(0),"CP",DIV(1),1)),DIV=X S $P(^(1),U,8)=DIV,DIH=399.0304,DIG=54 D ^DICR
S DIKZ(0)=$G(^DGCR(399,DA(1),"CP",DA,0))
S X=$P($G(DIKZ(0)),U,1)
I X'="" K ^DGCR(399,DA(1),"CP","B",$E(X,1,30),DA)
S X=$P($G(DIKZ(0)),U,1)
I X'="" I $P(X,";",2)="ICPT(",$D(^DGCR(399,DA(1),"CP",DA,0)),$P(^(0),"^",2) K ^DGCR(399,"ASD",-$P(^(0),"^",2),+X,DA(1),DA)
S X=$P($G(DIKZ(0)),U,1)
I X'="" D
.N DIK,DIV,DIU,DIN
.K DIV S DIV=X,D0=DA(1),DIV(0)=D0,D1=DA,DIV(1)=D1 S Y(1)=$S($D(^DGCR(399,D0,"CP",D1,0)):^(0),1:"") S X=$P(Y(1),U,20),X=X S DIU=X K Y S X="" X ^DD(399.0304,.01,1,3,2.4)
CR1 S DIXR=991
K X
S DIKZ(0)=$G(^DGCR(399,DA(1),"CP",DA,0))
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 FROMPROC^IBCU9(DA(1),DA,"D")
CR2 K X
G:'$D(DIKLM) A Q:$D(DIKILL)
END G ^IBXX5
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBXX4 2441 printed Nov 22, 2024@17:43:18 Page 2
IBXX4 ; COMPILED XREF FOR FILE #399.0304 ; 10/03/23
+1 ;
+2 SET DA=0
A1 ;
+1 IF $DATA(DIKILL)
KILL DIKLM
if DIKM1=1
SET DIKLM=1
GOTO @DIKM1
0 ;
A SET DA=$ORDER(^DGCR(399,DA(1),"CP",DA))
IF DA'>0
SET DA=0
GOTO END
1 ;
+1 SET DIKZ(0)=$GET(^DGCR(399,DA(1),"CP",DA,0))
+2 SET X=$PIECE($GET(DIKZ(0)),U,2)
+3 IF X'=""
IF $DATA(^DGCR(399,DA(1),"CP",DA,0))
IF +^(0)
IF $PIECE($PIECE(^(0),"^",1),";",2)="ICPT("
KILL ^DGCR(399,"ASD",-X,+^(0),DA(1),DA)
+4 SET X=$PIECE($GET(DIKZ(0)),U,4)
+5 IF X'=""
KILL ^DGCR(399,DA(1),"CP","D",$EXTRACT(X,1,30),DA)
+6 SET X=$PIECE($GET(DIKZ(0)),U,5)
+7 IF X'=""
SET DGRVRCAL=2
+8 SET X=$PIECE($GET(DIKZ(0)),U,5)
+9 IF X'=""
KILL ^DGCR(399,DA(1),"CP","ASC",$EXTRACT(X,1,30),DA)
+10 SET X=$PIECE($GET(DIKZ(0)),U,7)
+11 IF X'=""
Begin DoDot:1
+12 NEW DIK,DIV,DIU,DIN
+13 KILL DIV
SET DIV=X
SET D0=DA(1)
SET DIV(0)=D0
SET D1=DA
SET DIV(1)=D1
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,6)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0304,6,1,1,2.4)
End DoDot:1
+14 SET DIKZ(0)=$GET(^DGCR(399,DA(1),"CP",DA,0))
+15 SET X=$PIECE($GET(DIKZ(0)),U,10)
+16 IF X'=""
Begin DoDot:1
+17 NEW DIK,DIV,DIU,DIN
+18 KILL DIV
SET DIV=X
SET D0=DA(1)
SET DIV(0)=D0
SET D1=DA
SET DIV(1)=D1
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,16)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0304,9,1,1,2.4)
End DoDot:1
+19 SET DIKZ(1)=$GET(^DGCR(399,DA(1),"CP",DA,1))
+20 SET X=$PIECE($GET(DIKZ(1)),U,7)
+21 IF X'=""
Begin DoDot:1
+22 NEW DIK,DIV,DIU,DIN
+23 XECUTE ^DD(399.0304,53,1,1,2.3)
IF X
SET X=DIV
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,1)):^(1),1:"")
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,2)):^(2),1:"")
SET X=$PIECE(Y(1),U,1)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0304,53,1,1,2.4)
End DoDot:1
+24 SET X=$PIECE($GET(DIKZ(1)),U,7)
+25 IF X'=""
Begin DoDot:1
+26 NEW DIK,DIV,DIU,DIN
+27 XECUTE ^DD(399.0304,53,1,2,2.3)
IF X
SET X=DIV
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,1)):^(1),1:"")
SET X=$PIECE(Y(1),U,8)
SET X=X
SET DIU=X
KILL Y
SET X=""
SET DIH=$GET(^DGCR(399,DIV(0),"CP",DIV(1),1))
SET DIV=X
SET $PIECE(^(1),U,8)=DIV
SET DIH=399.0304
SET DIG=54
DO ^DICR
End DoDot:1
+28 SET DIKZ(0)=$GET(^DGCR(399,DA(1),"CP",DA,0))
+29 SET X=$PIECE($GET(DIKZ(0)),U,1)
+30 IF X'=""
KILL ^DGCR(399,DA(1),"CP","B",$EXTRACT(X,1,30),DA)
+31 SET X=$PIECE($GET(DIKZ(0)),U,1)
+32 IF X'=""
IF $PIECE(X,";",2)="ICPT("
IF $DATA(^DGCR(399,DA(1),"CP",DA,0))
IF $PIECE(^(0),"^",2)
KILL ^DGCR(399,"ASD",-$PIECE(^(0),"^",2),+X,DA(1),DA)
+33 SET X=$PIECE($GET(DIKZ(0)),U,1)
+34 IF X'=""
Begin DoDot:1
+35 NEW DIK,DIV,DIU,DIN
+36 KILL DIV
SET DIV=X
SET D0=DA(1)
SET DIV(0)=D0
SET D1=DA
SET DIV(1)=D1
SET Y(1)=$SELECT($DATA(^DGCR(399,D0,"CP",D1,0)):^(0),1:"")
SET X=$PIECE(Y(1),U,20)
SET X=X
SET DIU=X
KILL Y
SET X=""
XECUTE ^DD(399.0304,.01,1,3,2.4)
End DoDot:1
CR1 SET DIXR=991
+1 KILL X
+2 SET DIKZ(0)=$GET(^DGCR(399,DA(1),"CP",DA,0))
+3 SET X(1)=$PIECE(DIKZ(0),U,1)
+4 SET X=$GET(X(1))
+5 IF $GET(X(1))]""
Begin DoDot:1
+6 KILL X1,X2
MERGE X1=X,X2=X
+7 if $DATA(DIKIL)
SET (X2,X2(1))=""
+8 DO FROMPROC^IBCU9(DA(1),DA,"D")
End DoDot:1
CR2 KILL X
+1 if '$DATA(DIKLM)
GOTO A
if $DATA(DIKILL)
QUIT
END GOTO ^IBXX5