- PSSJXR14 ; COMPILED XREF FOR FILE #55.09 ; 10/05/22
- ;
- 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(^PS(55,DA(2),5,DA(1))) I DA(1)'>0 S DA(1)=0 G END
- 1 ;
- B S DA=$O(^PS(55,DA(2),5,DA(1),9,DA)) I DA'>0 S DA=0 Q:DIKM1=1 G A
- 2 ;
- S DIKZ(0)=$G(^PS(55,DA(2),5,DA(1),9,DA,0))
- S X=$P($G(DIKZ(0)),U,2)
- I X'="" I '$D(DIU(0)),'$D(PSGPO) S PSGAL(36)=X,PSGAL("C")=6000,PSGALFF=1,PSGALFN=55.09 D ^PSGAL5
- S X=$P($G(DIKZ(0)),U,3)
- I X'="" I '$D(DIU(0)),'$D(PSGPO) S PSGAL(37)=X,PSGAL("C")=6000,PSGALFF=2,PSGALFN=55.09 D ^PSGAL5
- S X=$P($G(DIKZ(0)),U,4)
- I X'="" I '$D(DIU(0)),'$D(PSGPO) S PSGAL(78)=X,PSGAL("C")=6000,PSGALFF=3,PSGALFN=55.09 D ^PSGAL5
- S X=$P($G(DIKZ(0)),U,5)
- I X'="" I '$D(DIU(0)),'$D(PSGPO) S PSGAL(79)=X,PSGAL("C")=6000,PSGALFF=4,PSGALFN=55.09 D ^PSGAL5
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" I '$D(DIU(0)),'$D(PSGPO) S PSGAL(35)=X,PSGAL("C")=6000,PSGALFF=.01,PSGALFN=55.09 D ^PSGAL5
- G:'$D(DIKLM) B Q:$D(DIKILL)
- END G ^PSSJXR15
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSSJXR14 1061 printed Mar 13, 2025@21:36:47 Page 2
- PSSJXR14 ; COMPILED XREF FOR FILE #55.09 ; 10/05/22
- +1 ;
- +2 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(^PS(55,DA(2),5,DA(1)))
- IF DA(1)'>0
- SET DA(1)=0
- GOTO END
- 1 ;
- B SET DA=$ORDER(^PS(55,DA(2),5,DA(1),9,DA))
- IF DA'>0
- SET DA=0
- if DIKM1=1
- QUIT
- GOTO A
- 2 ;
- +1 SET DIKZ(0)=$GET(^PS(55,DA(2),5,DA(1),9,DA,0))
- +2 SET X=$PIECE($GET(DIKZ(0)),U,2)
- +3 IF X'=""
- IF '$DATA(DIU(0))
- IF '$DATA(PSGPO)
- SET PSGAL(36)=X
- SET PSGAL("C")=6000
- SET PSGALFF=1
- SET PSGALFN=55.09
- DO ^PSGAL5
- +4 SET X=$PIECE($GET(DIKZ(0)),U,3)
- +5 IF X'=""
- IF '$DATA(DIU(0))
- IF '$DATA(PSGPO)
- SET PSGAL(37)=X
- SET PSGAL("C")=6000
- SET PSGALFF=2
- SET PSGALFN=55.09
- DO ^PSGAL5
- +6 SET X=$PIECE($GET(DIKZ(0)),U,4)
- +7 IF X'=""
- IF '$DATA(DIU(0))
- IF '$DATA(PSGPO)
- SET PSGAL(78)=X
- SET PSGAL("C")=6000
- SET PSGALFF=3
- SET PSGALFN=55.09
- DO ^PSGAL5
- +8 SET X=$PIECE($GET(DIKZ(0)),U,5)
- +9 IF X'=""
- IF '$DATA(DIU(0))
- IF '$DATA(PSGPO)
- SET PSGAL(79)=X
- SET PSGAL("C")=6000
- SET PSGALFF=4
- SET PSGALFN=55.09
- DO ^PSGAL5
- +10 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +11 IF X'=""
- IF '$DATA(DIU(0))
- IF '$DATA(PSGPO)
- SET PSGAL(35)=X
- SET PSGAL("C")=6000
- SET PSGALFF=.01
- SET PSGALFN=55.09
- DO ^PSGAL5
- +12 if '$DATA(DIKLM)
- GOTO B
- if $DATA(DIKILL)
- QUIT
- END GOTO ^PSSJXR15