Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AMQQEM4

AMQQEM4.m

Go to the documentation of this file.
  1. AMQQEM4 ; IHS/CMI/THL - RECOMPILE DATA EXOPRT INSTRUCTIONS AND EXPORT DATA ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. RUN D VAR
  1. D RC
  1. D ENTRY
  1. Q:$D(AMQQQUIT)
  1. D ^AMQQEM41
  1. D BACK
  1. EXIT K ^UTILITY("AMQQ",$J,"FLAT"),T,AMQQEML,AMQQEMX,AMQQEMI,AMQQEX
  1. Q
  1. ;
  1. INC S AMQQEML=AMQQEML+1
  1. Q
  1. ;
  1. VAR S T="^UTILITY(""AMQQ"",$J,""EMAN"",1,AMQQEML)"
  1. S AMQQEML=1
  1. S @T="S AMQQEMX="""""
  1. S AMQQEX("HEADER")=""
  1. I '$D(AMQQEM("FIX")),AMQQEM("DEL")="TAB" S AMQQEM("DEL")=$C(9)
  1. I $G(AMQQEM("DEL"))="UP ARROW" S AMQQEM("DEL")=U
  1. Q
  1. ;
  1. RC N A F AMQQEMI=1:1 S AMQQEMN=$P(AMQQEMFS,U,AMQQEMI) Q:'AMQQEMN D
  1. .S %=$G(AMQQEX("HEADER"))
  1. .S:%'="" %=%_$G(AMQQEM("DEL"))
  1. .S A=$P(@G@(AMQQEMN,0),U,6)
  1. .I $D(AMQQEM("FIX")),'$D(AMQQEX("NO HEADER")) S A=$E(A,1,AMQQEM("HLEN"))_$J("",AMQQEM("FIX")-$L(A))
  1. .S AMQQEX("HEADER")=%_A
  1. .D INC
  1. .S @T=@G@(AMQQEMN,1)
  1. .F %=2,3 I $G(@G@(AMQQEMN,%))'="" D INC S @T=^(%)
  1. .S %=$G(AMQQEM("FIX"))
  1. .I % D INC S @T="S X=$E(X,1,"_%_") I $L(X)<"_%_" N % S %="""",$P(%,"" "",1+"_%_"-$L(X))="""",X=X_%" D INC S @T="S AMQQEMX=AMQQEMX_X" Q
  1. .S %=+$P($G(^UTILITY("AMQQ",$J,"FLAT",AMQQEMN,0)),U,7)
  1. .I % D INC S @T="S X=$E(X,1,"_%_")" D INC S @T="S AMQQEMX=AMQQEMX_X_"""_AMQQEM("DEL")_"""" Q
  1. Q
  1. ;
  1. BACK D EXIT^AMQQEMAN ; CLEANUP
  1. S DIR(0)="Y"
  1. S DIR("A")="Want to run this request as a 'background' job"
  1. S DIR("B")="NO"
  1. D ^DIR
  1. K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I X?1."^" S AMQQQUIT="" K DIRUT,DIROUT,DUOUT,DTOUT Q
  1. I Y D ETASK Q
  1. I ^DD("OS")=18 D ERUN18 Q
  1. U IO D ERUN D ^%ZISC
  1. Q
  1. ;
  1. EXPORT ; ENTRY POINT FROM SEARCH CODE
  1. I AMQQTOT=1,'$D(ZTQUEUED),'$D(AMQQEX("NO HEADER")) U 0 W:$G(IOST)["C-" AMQQEX("HEADER"),!
  1. I AMQQTOT=1,$D(AMQQEX("USE")),'$D(AMQQEX("NO HEADER")) X AMQQEX("USE") W AMQQEX("HEADER"),!
  1. F I=0:0 S I=$O(^UTILITY("AMQQ",$J,"EMAN",1,I)) Q:'I X ^UTILITY("AMQQ",$J,"EMAN",1,I)
  1. I $G(AMQQEMX)="" Q
  1. S AMQQEMX=$E(AMQQEMX,1,$L(AMQQEMX)-1)
  1. I '$D(ZTQUEUED) U 0 I $G(IOST)["C-" W AMQQEMX,!
  1. I $D(AMQQEX("USE")) X AMQQEX("USE") W AMQQEMX,!
  1. I $D(AMQQEX("TDFN")) S ^AMQQ(3.1,AMQQEX("TDFN"),1,AMQQTOT,0)=AMQQEMX,$P(^AMQQ(3.1,AMQQEX("TDFN"),1,0),U,3,4)=(AMQQTOT_U_AMQQTOT) Q
  1. Q
  1. ;
  1. ENTRY ; AMQQ(3.1 ENTRY
  1. I '$D(AMQQEX("TDFN")) Q
  1. S DIE="^AMQQ(3.1,"
  1. S DR=.02_"///"_+$G(DUZ)_";.03///"_DT
  1. S DA=AMQQEX("TDFN")
  1. D ^DIE
  1. K DIC,DIE,DA,DR
  1. F %=1,2 S ^AMQQ(3.1,AMQQEX("TDFN"),%,0)="^^^^"_DT_U
  1. Q
  1. ;
  1. NAME ; - EP - MUMPS FILE NAME ; ENTRY POINT FROM AMQQEMAN
  1. D MARK^AMQQEMAN
  1. W "MUMPS FILE NAME",!
  1. N1 S DIC="^AMQQ(3.1,"
  1. S DIC(0)="AEQMZL"
  1. S DIC("A")="File name: "
  1. D ^DIC
  1. K DIC
  1. I X=U S AMQQFNMP="",AMQQQUIT="" Q
  1. I X="^^"!($D(DTOUT)) K DTOUT S AMQQQUIT="" Q
  1. I X=""!($D(DUOUT)) W " ?? Enter '^^' to terminate the session." K DUOUT G NAME
  1. I '$P(Y,U,3) D OVER I $D(AMQQQUIT) Q
  1. I Y="" W ! G N1
  1. S AMQQEX("TDFN")=+Y
  1. S AMQQERUN=99
  1. Q
  1. ;
  1. OVER N AMQQEMNM
  1. S AMQQEMNM=$P(Y,U,2)
  1. S DA=+Y
  1. S %=$P(^AMQQ(3.1,DA,0),U,2)
  1. I $G(DUZ)'=%,% W !!,*7,"Someone else has already saved an ASCI file under this name.",!,"Try another name please..." S Y="" Q
  1. W !!,*7,"You already have an ASCI file stored under this name!"
  1. S DIR(0)="Y"
  1. S DIR("A")="Want to erase the old file and replace it"
  1. S DIR("B")="NO"
  1. D ^DIR
  1. K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I "^"[X S Y="" Q
  1. I X?2."^" S AMQQQUIT="" Q
  1. I 'Y S Y="" Q
  1. S DIK="^AMQQ(3.1,"
  1. D ^DIK
  1. S X=AMQQEMNM
  1. S DINUM=DA
  1. S DIC=DIK
  1. S DIC(0)="L"
  1. K DD,DO
  1. D FILE^DICN
  1. K DIC,DIK,DA
  1. Q
  1. ;
  1. ETASK S ZTRTN="ERUN^AMQQEM4",ZTIO=""
  1. S ZTDESC="QUERY UTILITY DATA EXPORT MANAGER"
  1. F I=1:1 S %=$P("AMQQRM*;AMQQEX(;AMQV(;AMQQ200(;AMQQRV;AMQQNV;AMQQXV;^UTILITY(""AMQQ"",$J,;^UTILITY(""AMQQ RAND"",$J,;^UTILITY(""AMQQ TAX"",$J,",";",I) Q:%="" S ZTSAVE(%)=""
  1. D ^%ZTLOAD
  1. D ^%ZISC
  1. W !!,$S($D(ZTSK):"Request queued!",1:"Request cancelled!"),!!!
  1. H 3
  1. W @IOF
  1. Q
  1. ;
  1. ERUN ; EXPORT DATA
  1. I $D(AMQQEX("FILE")) S AMQQEFN=AMQQEX("FILE")
  1. I $G(IOST)["C-" W @IOF
  1. S AMQQRMFL="EXPORT^AMQQEM4"
  1. I $D(AMQQEX("WRITE")) X AMQQEX("WRITE") E D BUSY
  1. I '$D(AMQQSTOP) S:'$D(AMQQNOET) X="ERR^AMQQEM4",@^%ZOSF("TRAP") X $G(AMQQEX("WRITE")),AMQV(0)
  1. X $G(AMQQEX("CLOSE"))
  1. I $D(ZTQUEUED) D EXIT2^AMQQKILL S ZTREQ="@"
  1. K AMQQEFN,AMQQSTOP
  1. Q
  1. ;
  1. ERUN18 ; EXPORT DATA
  1. I $D(AMQQEX("FILE")) S AMQQEFN=AMQQEX("FILE")
  1. I $G(IOST)["C-" W @IOF
  1. S AMQQRMFL="EXPORT^AMQQEM4"
  1. I '$D(AMQQSTOP) S:'$D(AMQQNOET) X="ERR^AMQQEM4",@^%ZOSF("TRAP") X $G(AMQQEX("WRITE")),AMQV(0)
  1. X $G(AMQQEX("CLOSE"))
  1. I $D(ZTQUEUED) D EXIT2^AMQQKILL S ZTREQ="@"
  1. K AMQQEFN,AMQQSTOP
  1. Q
  1. ;
  1. BUSY ; EP FROM AMQQEM41 ; HFS IS BUSY
  1. I $G(IOST)["C-" D
  1. .W !,"The Host File Server is being used by someone else."
  1. .W !,"If it is not free in 60 seconds, I must terminate this session"
  1. .W !!
  1. N H,T,D
  1. S H=$H
  1. S D=+H
  1. S T=$P(H,",",2)+60
  1. F X AMQQEX("WRITE") Q:$T I +$H'=D!($P($H,",",2)>T) S AMQQSTOP="" Q
  1. Q
  1. ;
  1. ERR ; ERROR MGMT
  1. X AMQQEX("CLOSE")
  1. D ^%ZISC
  1. D EXIT
  1. I $G(IOST)["C-" W *7,"WHOOPS...AN ERROR HAS OCCURRED DURING THE SEARCH. SESSION TERMINATED.",!! H 3
  1. Q
  1. ;