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

AMQQEM1.m

Go to the documentation of this file.
  1. AMQQEM1 ; IHS/CMI/THL - GETS DOS/UNIX PATH AND FILE NAME ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. I $G(^DD("OS"))'=8&($G(^DD("OS"))'=18) S AMQQEM("FORMAT")="MUMPS" Q
  1. I ^%ZOSF("OS")["UNIX" S AMQQEM("FORMAT")="UNIX" G RUN
  1. I ^%ZOSF("OS")["PC"!(^%ZOSF("OS")["386")!(^%ZOSF("OS")["NT") S AMQQEM("FORMAT")="PC" G RUN
  1. S AMQQEM("FORMAT")="MUMPS"
  1. Q
  1. RUN S U="^"
  1. F AMQQERUN=12:1:14 D @$P("UNIX^FILE^OVER",U,AMQQERUN-11) Q:AMQQERUN<11 I $D(AMQQQUIT) Q
  1. EXIT Q
  1. ;
  1. MARK W !!,"---------",!!
  1. Q
  1. ;
  1. FWD S AMQQEMS=AMQQERUN_U_AMQQEMS
  1. Q
  1. ;
  1. BACKUP S AMQQERUN=$P(AMQQEMS,U)-1
  1. S AMQQEMS=$P(AMQQEMS,U,2,99)
  1. Q
  1. ;
  1. CK I $D(DIRUT)!($D(DUOUT))!($D(DTOUT))!($D(DIROUT))!(X="") K DIRUT,DUOUT,DTOUT,DIROUT S AMQQQUIT=""
  1. Q
  1. ;
  1. VAR ;EP; OS VARIABLES
  1. N X,I
  1. ; The following line contain commands that perform OPEN, USE
  1. ; commands without use of the kernel utilities. - An exemption to
  1. ; SAC 6.3.1 has been approved by Jim McArthur per memo dated
  1. ; May 17, 1993. This exemption is only for version 2. ** BRJ/IHS ** 6/7/93
  1. I ^DD("OS")=18 D Q
  1. .S AMQQEX("CHECK")="D OPEN^%ZISH("""",AMQQEX(""PATH""),AMQQEX(""FILE"")) Q:'$T U IO S Y=$ZA"
  1. .S AMQQEX("IOP")="HFS"
  1. .S AMQQEX("READ")="D OPEN^%ZISH("""",AMQQEX(""PATH""),AMQQEX(""FILE""),""R"")"
  1. .S AMQQEX("WRITE")="D OPEN^%ZISH("""",AMQQEX(""PATH""),AMQQEX(""FILE""),""W"")"
  1. .S AMQQEX("USE")="U IO"
  1. .S AMQQEX("CLOSE")="D CLOSE^%ZISH()"
  1. .S AMQQEX("EOF")="S X=$$EOF^%ZISH()"
  1. .S AMQQEX("WRAPOFF")="U 0:(0)"
  1. S X="O 51:(AMQQEFN):5 Q:'$T U 51 S Y=$ZA^51^O 51:(AMQQEFN:""R""::::$C(10)):5^O 51:(AMQQEFN:""W""):5^U 51^C 51^^U 0:(0)"
  1. F I=1:1:8 S AMQQEX($P("CHECK^IOP^READ^WRITE^USE^CLOSE^EOF^WRAPOFF",U,I))=$P(X,U,I)
  1. Q
  1. ;
  1. UNIX ; UNIX CHOICES ; 11
  1. D MARK
  1. W "OUTPUT FILE LOCATION",!
  1. I AMQQEM("FORMAT")="PC" D PC Q
  1. S DIR(0)="S^1:UNIX FILE;2:MUMPS FILE"
  1. S DIR("A")=" Your choice"
  1. S DIR("?")="See User's Guide or type '??' for a full explanation of output format alternatives"
  1. D ^DIR
  1. K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I X=U D BACKUP Q
  1. D CK
  1. I $D(AMQQQUIT) Q
  1. D FWD
  1. S AMQQEM("FORMAT")=$S(Y=1:"UNIX",1:"MUMPS")
  1. I $G(AMQQEX("PATH"))["\" K AMQQEX("PATH")
  1. I Y=2 S AMQQERUN=99,AMQQEM("FORMAT")="MUMPS"
  1. Q
  1. ;
  1. PC ; PC CHOICES ; 11
  1. S DIR(0)="S^1:DOS FILE;2:MUMPS FILE"
  1. S DIR("A")=" Your choice"
  1. S DIR("?")="See User's Guide or type '??' for a full explanation of output format alternatives."
  1. S DIR("??")="AMQQEMANHOST"
  1. D ^DIR
  1. K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I X=U D BACKUP Q
  1. D CK
  1. I $D(AMQQQUIT) Q
  1. D FWD
  1. S AMQQEM("FORMAT")=$S(Y=1:"DOS",1:"MUMPS")
  1. I $G(AMQQEX("PATH"))["/" K AMQQEX("PATH")
  1. I Y=2 S AMQQERUN=99
  1. Q
  1. ;
  1. FILE ; FILE NAME AND PATH ; 12
  1. D VAR
  1. D MARK
  1. W "FILE NAME AND PATH",!
  1. I AMQQEM("FORMAT")="DOS" S DIR(0)="F^:",DIR("A")="Enter the DOS file (path, name, extension)",DIR("?")="Enter path, file name and extension; e.g., 'C:\DBASE\DATA\MYFILE.DAT'" I 1
  1. E S DIR(0)="F^:",DIR("A")="Enter the UNIX file (path, name, extension)",DIR("?")="Enter path, file name and extension; e.g., 'user/mumps/myfile.data'"
  1. D ^DIR
  1. K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I X=U D BACKUP S AMQQERUN=11 Q
  1. D CK
  1. I $D(AMQQQUIT) Q
  1. D FWD
  1. S AMQQEX("FILE")=Y
  1. N AMQQEFN
  1. S AMQQEFN=AMQQEX("FILE")
  1. CHKIT X AMQQEX("CHECK")
  1. E W !,"The Host File Server is being used by someone else. I will keep trying for 30 seconds.",!,"If it is still not free, I must terminate this session.",!! D I $D(AMQQQUIT) Q
  1. .N H,T,D S H=$H,D=+H,T=$P(H,",",2)+30
  1. .F X AMQQEX("CHECK") Q:$T I +$H'=D!($P($H,",",2)>T) S AMQQQUIT="" Q
  1. .Q
  1. X AMQQEX("CLOSE")
  1. I Y'<0 Q
  1. I Y<0 X AMQQEX("WRITE"),AMQQEX("CHECK"),AMQQEX("CLOSE") I Y<0 W !!,"Sorry, I can't accept this path/filename...Check your User's Guide!" G FILE
  1. F1 S X=AMQQEX("FILE")
  1. S Y=$S(AMQQEM("FORMAT")="DOS":"\",1:"/"),Z=$L(X,Y)
  1. I Z>1 S AMQQEX("PATH")=$P(X,Y,1,Z-1),X=$P(X,AMQQEX("PATH"),2,99)
  1. S %=$L(X,".")
  1. S AMQQEX("EXT")=$P(X,".",%)
  1. S AMQQEX("NAME")=$P($P(AMQQEX("FILE"),Y,Z),".")
  1. S AMQQERUN=99
  1. S AMQQEX("DOC")=$P(AMQQEX("FILE"),".")_".DOC"
  1. Q
  1. ;
  1. OVER ; OVERWRITE OLD FILE ; 13
  1. D MARK
  1. W "OVERWRITE OLD FILE",!
  1. W !!,"This ASCII file already exists..."
  1. S DIR(0)="Y"
  1. S DIR("A")="Want to overwrite the old version"
  1. S DIR("B")="NO",DIR("?")="If you answer 'Y', you will destroy the old version and create a new file with the same name"
  1. D ^DIR
  1. K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I X=U D BACKUP Q
  1. D CK
  1. I $D(AMQQQUIT) Q
  1. I Y="" S Y=0
  1. I 'Y D BACKUP Q
  1. D F1
  1. Q
  1. ;