- ORD215 ; COMPILED XREF FOR FILE #100.008 ; 06/29/23
- ;
- S DA=0
- A1 ;
- I $D(DISET) K DIKLM S:DIKM1=1 DIKLM=1 G @DIKM1
- 0 ;
- A S DA=$O(^OR(100,DA(1),8,DA)) I DA'>0 S DA=0 G END
- 1 ;
- S DIKZ(0)=$G(^OR(100,DA(1),8,DA,0))
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" N ORDA S ORDA=DA(1) D ACT1^ORDD100A(ORDA,DA)
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" N X1,X2 S X1=DA(1),X2=DA D SET^ORDD100(X1,X2)
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" N ORDA S ORDA=DA(1) D S1^ORDD100(ORDA,DA,"",X)
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" S ^OR(100,"AF",$E(X,1,30),DA(1),DA)=""
- S X=$P($G(DIKZ(0)),U,2)
- I X'="" S ^OR(100,DA(1),8,"C",$E(X,1,30),DA)=""
- S X=$P($G(DIKZ(0)),U,4)
- I X'="" N ORDA S ORDA=DA(1) D S1^ORDD100(ORDA,DA)
- S X=$P($G(DIKZ(0)),U,16)
- I X'="" N ORDER S ORDER=DA(1) D RS^ORDD100(ORDER,DA,,X)
- CR1 S DIXR=1531
- K X
- S X(1)=$P(DIKZ(0),U,1)
- S DIKZ(8)=$G(^OR(100,DA(1),8,DA,8))
- S X(2)=$P(DIKZ(8),U,1)
- S X=$G(X(1))
- I $G(X(1))]"",$G(X(2))]"" D
- . K X1,X2 M X1=X,X2=X
- . S ^OR(100,"AADMINKEY",X(1),X(2),DA(1),DA)=""
- CR2 S DIXR=1599
- K X
- S DIKZ(0)=$G(^OR(100,DA(1),8,DA,0))
- S X(1)=$P(DIKZ(0),U,3)
- S X(2)=$P(DIKZ(0),U,1)
- S X=$G(X(1))
- I $G(X(1))]"",$G(X(2))]"" D
- . K X1,X2 M X1=X,X2=X
- . N DIKXARR M DIKXARR=X S DIKCOND=1
- . S X=($O(^OR(100,DA(1),8,"C","NW",""))=DA)
- . S DIKCOND=$G(X) K X M X=DIKXARR
- . Q:'DIKCOND
- . S ^OR(100,"EPRACDT",X(1),X(2),DA(1),DA)=""
- CR3 K X
- G:'$D(DIKLM) A Q:$D(DISET)
- END G ^ORD216
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HORD215 1427 printed Feb 18, 2025@23:56:05 Page 2
- ORD215 ; COMPILED XREF FOR FILE #100.008 ; 06/29/23
- +1 ;
- +2 SET DA=0
- A1 ;
- +1 IF $DATA(DISET)
- KILL DIKLM
- if DIKM1=1
- SET DIKLM=1
- GOTO @DIKM1
- 0 ;
- A SET DA=$ORDER(^OR(100,DA(1),8,DA))
- IF DA'>0
- SET DA=0
- GOTO END
- 1 ;
- +1 SET DIKZ(0)=$GET(^OR(100,DA(1),8,DA,0))
- +2 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +3 IF X'=""
- NEW ORDA
- SET ORDA=DA(1)
- DO ACT1^ORDD100A(ORDA,DA)
- +4 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +5 IF X'=""
- NEW X1,X2
- SET X1=DA(1)
- SET X2=DA
- DO SET^ORDD100(X1,X2)
- +6 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +7 IF X'=""
- NEW ORDA
- SET ORDA=DA(1)
- DO S1^ORDD100(ORDA,DA,"",X)
- +8 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +9 IF X'=""
- SET ^OR(100,"AF",$EXTRACT(X,1,30),DA(1),DA)=""
- +10 SET X=$PIECE($GET(DIKZ(0)),U,2)
- +11 IF X'=""
- SET ^OR(100,DA(1),8,"C",$EXTRACT(X,1,30),DA)=""
- +12 SET X=$PIECE($GET(DIKZ(0)),U,4)
- +13 IF X'=""
- NEW ORDA
- SET ORDA=DA(1)
- DO S1^ORDD100(ORDA,DA)
- +14 SET X=$PIECE($GET(DIKZ(0)),U,16)
- +15 IF X'=""
- NEW ORDER
- SET ORDER=DA(1)
- DO RS^ORDD100(ORDER,DA,,X)
- CR1 SET DIXR=1531
- +1 KILL X
- +2 SET X(1)=$PIECE(DIKZ(0),U,1)
- +3 SET DIKZ(8)=$GET(^OR(100,DA(1),8,DA,8))
- +4 SET X(2)=$PIECE(DIKZ(8),U,1)
- +5 SET X=$GET(X(1))
- +6 IF $GET(X(1))]""
- IF $GET(X(2))]""
- Begin DoDot:1
- +7 KILL X1,X2
- MERGE X1=X,X2=X
- +8 SET ^OR(100,"AADMINKEY",X(1),X(2),DA(1),DA)=""
- End DoDot:1
- CR2 SET DIXR=1599
- +1 KILL X
- +2 SET DIKZ(0)=$GET(^OR(100,DA(1),8,DA,0))
- +3 SET X(1)=$PIECE(DIKZ(0),U,3)
- +4 SET X(2)=$PIECE(DIKZ(0),U,1)
- +5 SET X=$GET(X(1))
- +6 IF $GET(X(1))]""
- IF $GET(X(2))]""
- Begin DoDot:1
- +7 KILL X1,X2
- MERGE X1=X,X2=X
- +8 NEW DIKXARR
- MERGE DIKXARR=X
- SET DIKCOND=1
- +9 SET X=($ORDER(^OR(100,DA(1),8,"C","NW",""))=DA)
- +10 SET DIKCOND=$GET(X)
- KILL X
- MERGE X=DIKXARR
- +11 if 'DIKCOND
- QUIT
- +12 SET ^OR(100,"EPRACDT",X(1),X(2),DA(1),DA)=""
- End DoDot:1
- CR3 KILL X
- +1 if '$DATA(DIKLM)
- GOTO A
- if $DATA(DISET)
- QUIT
- END GOTO ^ORD216