- PSXUNHLD ;BIR/WPB-Routine to Remove a Transmission from Hold Status ;[ 04/08/97 2:06 PM ]
- ;;2.0;CMOP;;11 Apr 97
- EN I '$D(^XUSEC("PSXCMOPMGR",DUZ)) W !,"You are not authorized to use this option!" Q
- I $P($G(^PSX(553,1,"S")),"^",1)="R" W !,"The interface is running. Wait until the interface is stopped." Q
- S DIC=552.1,DIC(0)="AQMEZ"
- S DIC("S")="I $D(^PSX(552.1,""AH"",$P(^PSX(552.1,+Y,0),U,1),+Y)),($D(^PSX(552.1,+Y,2)))" D ^DIC K DIC G:$D(DTOUT)!($D(DUOUT))!($G(Y)'>0) EXIT S BAT=+Y
- K Y,X
- S OBAT=$P($G(^PSX(552.1,BAT,2)),"^",2),OREC=$O(^PSX(552.1,"B",OBAT,""))
- I $G(OREC)="" W !,"The original transmission was not received.",! S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="NO" D ^DIR K DIR G:Y<1!($D(DIRUT)) EXIT G EN1
- S OLDSTAT=$P(^PSX(552.1,OREC,0),"^",2)
- ; mods for new unhold to delete retrans if original is processed
- I "7"[$G(OLDSTAT) W !!,"The original transmission, ",OBAT," is downloading to the automated",!,"vendor system.",!,"Transmission, ",$P(^PSX(552.1,BAT,0),"^",1)," is a retransmission of ",OBAT," and can not be queued." G EXIT
- I "346"[$G(OLDSTAT) D COM,EN2 G EXIT
- EN1 W !!
- S DIR(0)="Y",DIR("B")="NO",DIR("A")="UNHOLD",DIR("?")="Changing the status of this retransmission will allow the data to go to the automated vendor system for filling." D ^DIR K DIR G:$G(Y)=0!($D(DIRUT)) EXIT K Y,X
- EN2 G:$G(OREC)="" RST
- S O1=$P(^PSX(552.1,OREC,1),"^",1),O2=$P(^PSX(552.1,OREC,1),"^",2)
- I $G(O1)'="" S DIK="^PSX(552.2," F J=O1:1:O2 S MSG=OBAT_"-"_J,REC=$O(^PSX(552.2,"B",MSG,"")) Q:$G(REC)="" S DA=REC D ^DIK K REC,DA,MSG
- K DIK
- S P5524=$O(^PSX(552.4,"B",OREC,"")) Q:$G(P5524)'>0 S DIK="^PSX(552.4,",DA=P5524 D ^DIK K DA,DIK,P5524
- K ^PSX(552.1,OREC,"S") S DA=OREC,DIE="^PSX(552.1,",COM="Filled under "_$P(^PSX(552.1,BAT,0),"^",1),DR="1////4;15///"_COM D ^DIE K DIE,DA,COM,DR
- RST Q:$G(TMP)>0
- S DA=BAT,DIE="^PSX(552.1,",DR="1////2" D ^DIE K DIE,DR,DA
- S DIK="^PSX(552.1,",DA=BAT D IX^DIK K DA,DIK
- W !!,"Transmission ",$P(^PSX(552.1,BAT,0),"^")," is queued to download to the automated vendor system."
- EXIT K Y,X,DIR,DIC,TMP,DTOUT,DIROUT,DUOUT,DIRUT,BAT,OBAT,OLDSTAT,OREC,J,MSG,O1,O2
- Q
- COM W !!,"The original transmission, ",OBAT," has already been sent to the automated",!,"vendor system.",!,"Transmission, ",$P(^PSX(552.1,BAT,0),"^",1)," is a retransmission of ",OBAT," and can not be queued."
- S TMP=OREC,OREC=BAT,BAT=TMP,OBAT=$P(^PSX(552.1,OREC,0),"^")
- Q
- PSXUNHLD ;BIR/WPB-Routine to Remove a Transmission from Hold Status ;[ 04/08/97 2:06 PM ]
- +1 ;;2.0;CMOP;;11 Apr 97
- EN IF '$DATA(^XUSEC("PSXCMOPMGR",DUZ))
- WRITE !,"You are not authorized to use this option!"
- QUIT
- +1 IF $PIECE($GET(^PSX(553,1,"S")),"^",1)="R"
- WRITE !,"The interface is running. Wait until the interface is stopped."
- QUIT
- +2 SET DIC=552.1
- SET DIC(0)="AQMEZ"
- +3 SET DIC("S")="I $D(^PSX(552.1,""AH"",$P(^PSX(552.1,+Y,0),U,1),+Y)),($D(^PSX(552.1,+Y,2)))"
- DO ^DIC
- KILL DIC
- IF $DATA(DTOUT)!($DATA(DUOUT))!($GET(Y)'>0)
- GOTO EXIT
- SET BAT=+Y
- +4 KILL Y,X
- +5 SET OBAT=$PIECE($GET(^PSX(552.1,BAT,2)),"^",2)
- SET OREC=$ORDER(^PSX(552.1,"B",OBAT,""))
- +6 IF $GET(OREC)=""
- WRITE !,"The original transmission was not received.",!
- SET DIR(0)="Y"
- SET DIR("A")="Do you wish to continue"
- SET DIR("B")="NO"
- DO ^DIR
- KILL DIR
- IF Y<1!($DATA(DIRUT))
- GOTO EXIT
- GOTO EN1
- +7 SET OLDSTAT=$PIECE(^PSX(552.1,OREC,0),"^",2)
- +8 ; mods for new unhold to delete retrans if original is processed
- +9 IF "7"[$GET(OLDSTAT)
- WRITE !!,"The original transmission, ",OBAT," is downloading to the automated",!,"vendor system.",!,"Transmission, ",$PIECE(^PSX(552.1,BAT,0),"^",1)," is a retransmission of ",OBAT," and can not be queued."
- GOTO EXIT
- +10 IF "346"[$GET(OLDSTAT)
- DO COM
- DO EN2
- GOTO EXIT
- EN1 WRITE !!
- +1 SET DIR(0)="Y"
- SET DIR("B")="NO"
- SET DIR("A")="UNHOLD"
- SET DIR("?")="Changing the status of this retransmission will allow the data to go to the automated vendor system for filling."
- DO ^DIR
- KILL DIR
- IF $GET(Y)=0!($DATA(DIRUT))
- GOTO EXIT
- KILL Y,X
- EN2 IF $GET(OREC)=""
- GOTO RST
- +1 SET O1=$PIECE(^PSX(552.1,OREC,1),"^",1)
- SET O2=$PIECE(^PSX(552.1,OREC,1),"^",2)
- +2 IF $GET(O1)'=""
- SET DIK="^PSX(552.2,"
- FOR J=O1:1:O2
- SET MSG=OBAT_"-"_J
- SET REC=$ORDER(^PSX(552.2,"B",MSG,""))
- IF $GET(REC)=""
- QUIT
- SET DA=REC
- DO ^DIK
- KILL REC,DA,MSG
- +3 KILL DIK
- +4 SET P5524=$ORDER(^PSX(552.4,"B",OREC,""))
- IF $GET(P5524)'>0
- QUIT
- SET DIK="^PSX(552.4,"
- SET DA=P5524
- DO ^DIK
- KILL DA,DIK,P5524
- +5 KILL ^PSX(552.1,OREC,"S")
- SET DA=OREC
- SET DIE="^PSX(552.1,"
- SET COM="Filled under "_$PIECE(^PSX(552.1,BAT,0),"^",1)
- SET DR="1////4;15///"_COM
- DO ^DIE
- KILL DIE,DA,COM,DR
- RST IF $GET(TMP)>0
- QUIT
- +1 SET DA=BAT
- SET DIE="^PSX(552.1,"
- SET DR="1////2"
- DO ^DIE
- KILL DIE,DR,DA
- +2 SET DIK="^PSX(552.1,"
- SET DA=BAT
- DO IX^DIK
- KILL DA,DIK
- +3 WRITE !!,"Transmission ",$PIECE(^PSX(552.1,BAT,0),"^")," is queued to download to the automated vendor system."
- EXIT KILL Y,X,DIR,DIC,TMP,DTOUT,DIROUT,DUOUT,DIRUT,BAT,OBAT,OLDSTAT,OREC,J,MSG,O1,O2
- +1 QUIT
- COM WRITE !!,"The original transmission, ",OBAT," has already been sent to the automated",!,"vendor system.",!,"Transmission, ",$PIECE(^PSX(552.1,BAT,0),"^",1)," is a retransmission of ",OBAT," and can not be queued."
- +1 SET TMP=OREC
- SET OREC=BAT
- SET BAT=TMP
- SET OBAT=$PIECE(^PSX(552.1,OREC,0),"^")
- +2 QUIT