PSXDUAL ;BIR/HTW - Host Interface Startup ;Compiled 1998-12-05 11:25AM for M/WNT [ 02/16/99 10:15 AM ]
;;2.0;CMOP;**17**;11 Apr 97
K PSXONE
S PSXQRY=$P($G(^PSX(553,1,"Q")),"^")
I (PSXQRY="S")!(PSXQRY="") W !,"The Query Interface is stopped!!",! G QUERY
I PSXQRY="R" W !,"The Query Interface is already running!!",!
S DIR("A")="Do you want to Stop the Query",DIR("B")="NO"
S DIR(0)="SB^Y:YES;N:NO",DIR("?")="The Query interface is running. Answer Yes to stop it."
D ^DIR K DIR G:$D(DIRUT) EXIT
K DIR I "Yy"[$E(Y) S ^PSX(553,1,"Q")="S" G EXIT
Q
QUERY S DIR("A")="Do you want to Start the Query",DIR("B")="YES"
S DIR(0)="SB^Y:YES;N:NO",DIR("?")="The Query interface is stopped. Answer Yes to start it."
D ^DIR K DIR G:$D(DIRUT) EXIT
I "Nn"[$E(Y) G EXIT
I "Yy"[$E(Y) S ^PSX(553,1,"Q")="R"
S ZTIO="CMOPQ",ZTRTN="EN^PSXDUAL",ZTDTH=$H,ZTDESC="CMOP Query" D ^%ZTLOAD
I $D(ZTSK) W !,"JOB QUEUED ",ZTSK
G EXIT
Q
EN S:'$D(^PSX(553,1,"X",0)) ^PSX(553,1,"X",0)="^553.01DA^^"
S TERM=13,SOH=1,STX=2,ETB=23,ETX=3,EOT=4,ENQ=5,NAK=21,ACK=16
S PSXABORT=0,ZCNT=1 D NOW^%DTC S XCNT=% K %
SETPAR ;Set parameters (TIMERS,LINE BID,RETRIES)
S PSXPAR0=$G(^PSX(553,1,0)),PSXPART=$G(^PSX(553,1,"T"))
S PSXDLTA=$P(PSXPART,"^"),PSXDLTB=$P(PSXPART,"^",2)
S PSXDLTD=$P(PSXPART,"^",3),PSXDLTE=$P(PSXPART,"^",4)
S PSXTRYM=$P(PSXPAR0,"^",6),PSXTRYL=$P(PSXPAR0,"^",5)
S PSXQRYA=1
;change PSXVNDR to be the vendor system name, change the set on the MSH,BHS,QRD to use this variable
S PSXVNDR=$S(^PSX(553,1,0)["MURF":2,^PSX(553,1,0)["HIN":2,^PSX(553,1,0)["CHAR":2,^PSX(553,1,0)["LEAV":1,1:0)
D FLUSH1^PSXUTL
G ^PSXYQRY
EXIT K PSXQRY Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSXDUAL 1661 printed Nov 22, 2024@16:54:22 Page 2
PSXDUAL ;BIR/HTW - Host Interface Startup ;Compiled 1998-12-05 11:25AM for M/WNT [ 02/16/99 10:15 AM ]
+1 ;;2.0;CMOP;**17**;11 Apr 97
+2 KILL PSXONE
+3 SET PSXQRY=$PIECE($GET(^PSX(553,1,"Q")),"^")
+4 IF (PSXQRY="S")!(PSXQRY="")
WRITE !,"The Query Interface is stopped!!",!
GOTO QUERY
+5 IF PSXQRY="R"
WRITE !,"The Query Interface is already running!!",!
+6 SET DIR("A")="Do you want to Stop the Query"
SET DIR("B")="NO"
+7 SET DIR(0)="SB^Y:YES;N:NO"
SET DIR("?")="The Query interface is running. Answer Yes to stop it."
+8 DO ^DIR
KILL DIR
if $DATA(DIRUT)
GOTO EXIT
+9 KILL DIR
IF "Yy"[$EXTRACT(Y)
SET ^PSX(553,1,"Q")="S"
GOTO EXIT
+10 QUIT
QUERY SET DIR("A")="Do you want to Start the Query"
SET DIR("B")="YES"
+1 SET DIR(0)="SB^Y:YES;N:NO"
SET DIR("?")="The Query interface is stopped. Answer Yes to start it."
+2 DO ^DIR
KILL DIR
if $DATA(DIRUT)
GOTO EXIT
+3 IF "Nn"[$EXTRACT(Y)
GOTO EXIT
+4 IF "Yy"[$EXTRACT(Y)
SET ^PSX(553,1,"Q")="R"
+5 SET ZTIO="CMOPQ"
SET ZTRTN="EN^PSXDUAL"
SET ZTDTH=$HOROLOG
SET ZTDESC="CMOP Query"
DO ^%ZTLOAD
+6 IF $DATA(ZTSK)
WRITE !,"JOB QUEUED ",ZTSK
+7 GOTO EXIT
+8 QUIT
EN if '$DATA(^PSX(553,1,"X",0))
SET ^PSX(553,1,"X",0)="^553.01DA^^"
+1 SET TERM=13
SET SOH=1
SET STX=2
SET ETB=23
SET ETX=3
SET EOT=4
SET ENQ=5
SET NAK=21
SET ACK=16
+2 SET PSXABORT=0
SET ZCNT=1
DO NOW^%DTC
SET XCNT=%
KILL %
SETPAR ;Set parameters (TIMERS,LINE BID,RETRIES)
+1 SET PSXPAR0=$GET(^PSX(553,1,0))
SET PSXPART=$GET(^PSX(553,1,"T"))
+2 SET PSXDLTA=$PIECE(PSXPART,"^")
SET PSXDLTB=$PIECE(PSXPART,"^",2)
+3 SET PSXDLTD=$PIECE(PSXPART,"^",3)
SET PSXDLTE=$PIECE(PSXPART,"^",4)
+4 SET PSXTRYM=$PIECE(PSXPAR0,"^",6)
SET PSXTRYL=$PIECE(PSXPAR0,"^",5)
+5 SET PSXQRYA=1
+6 ;change PSXVNDR to be the vendor system name, change the set on the MSH,BHS,QRD to use this variable
+7 SET PSXVNDR=$SELECT(^PSX(553,1,0)["MURF":2,^PSX(553,1,0)["HIN":2,^PSX(553,1,0)["CHAR":2,^PSX(553,1,0)["LEAV":1,1:0)
+8 DO FLUSH1^PSXUTL
+9 GOTO ^PSXYQRY
EXIT KILL PSXQRY
QUIT