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

ACRFZIS.m

Go to the documentation of this file.
  1. ACRFZIS ;IHS/OIRM/DSD/THL,AEF - DEVICE CALLS AND QUEUING; [ 04/27/2007 4:18 PM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**13,21,22**;NOV 05, 2001
  1. ;;ROUTINE USED AS CENTRAL POINT FOR ALL DEVICE HANDLING
  1. ;;AND QUEUING FROM THE PRINT OPTION
  1. ;;SEE QUE^ACRFUTL FOR QUEUING FROM WITHIN ROUTINES
  1. ZIS ;EP;TO CALL DEVICE
  1. I '$D(ACRORIGF),$P(^ACRSYS(1,"DT"),U,29) D Q
  1. .S DIR(0)="SO^P:PRINT Output;B:BROWSE Output on Screen"
  1. .I $D(ACR("HFS")) S DIR(0)=DIR(0)_";H:HFS Output to file" ;ACR*2.1*21.04 IM22466
  1. .S DIR("A")="Do you want to "
  1. .S DIR("B")="PRINT"
  1. .W !
  1. .D DIR^ACRFDIC
  1. .Q:$D(ACRQUIT)!$D(ACROUT)
  1. .I $E($G(X))="P" D ZIS1 Q
  1. .I $E($G(Y))="B" D BROWSE Q
  1. .I $E($G(Y))="H" D PROCHFS Q ;ACR*2.1*21.04 IM22466
  1. ZIS1 ;EP;
  1. K DN
  1. I $D(ACRORIGF) D P2
  1. Q:$D(ACRQUIT)
  1. I $D(ACRORIGF) D PRE Q:$D(ACROUT)
  1. D FS
  1. I $D(ACRCOND) D CONDENSE
  1. S %ZIS=$S('$D(ACRORIGF):"NPQ",1:"NP")
  1. S ZIBH=$TR($H,",","")_$R(1000)
  1. W !
  1. S:$D(ACRREV) IOP="HOME"
  1. D ^%ZIS
  1. I POP>0 D CLOSE Q
  1. I $D(ACRORIGF),$D(IO("Q")) D K ACRQUIT G ZIS
  1. .W !!,"You cannot QUEUE a request to print on a pre-printed form"
  1. .D PAUSE^ACRFWARN
  1. S:$G(IOPAR)]"" %ZIS("IOPAR")=IOPAR
  1. S ZTSAVE("%ZIS*")=""
  1. S ZTSAVE("ZIBH")=""
  1. S ZTRTN="OPEN^ACRFZIS"
  1. I $D(IO("Q")),IO=IO(0)!$D(IO("S")) D G ZIS
  1. .W *7,*7
  1. .W !!,"CANNOT QUEUE TO HOME OR SLAVE DEVICE."
  1. I '$D(ACRORIGF),$E(IOST,1,2)="P-",'$D(ACRREV) D I $D(ACRQUIT)!$D(ACROUT) D CLOSE Q
  1. .S DIR(0)="NO^1:99"
  1. .S DIR("A")="Number of Copies"
  1. .S DIR("B")=1
  1. .D DIR^ACRFDIC
  1. .I $D(ACRQUIT)!$D(ACROUT)!'+Y S ACRQUIT="" Q
  1. .S ACRCOPY=+Y
  1. I '$D(IO("Q")) D D CLOSE Q
  1. .I $E(IOST,1,2)="P-" D
  1. ..W !!,"...One moment please, while I complete your print request..."
  1. ..W !
  1. .D:$D(ACRRTN) @ZTRTN
  1. E D ZTLOAD
  1. Q
  1. CLOSE ;EP;TO CLOSE DEVICE
  1. D ^%ZISC
  1. K IOP,IOPAR,%ZIS,ZTSK,ZTQUEUED,ZTREQ
  1. Q
  1. ZTLOAD ;EP;TO CALL %ZTLOAD
  1. K ACRDR
  1. S ZTIO=ION
  1. S ZTSAVE("ACR*")=""
  1. D ^%ZTLOAD
  1. W !!,$S($G(ZTSK)]"":"Request queued!",1:"Request cancelled.")
  1. D CLOSE
  1. H 2
  1. Q
  1. OPEN ;EP;TO OPEN DEVICE AND PRINT SELECTED REPORT
  1. I '$D(ZTQUEUED)!(ION["HOST") S IOP=ION D ^%ZIS I POP S ACRQUIT="" Q
  1. U IO
  1. D @ACRRTN
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. D:'$D(ZTQUEUED) CLOSE
  1. Q
  1. HOST ;EP;TO OPEN HOST FILE
  1. ;%FN - FILE NAME REQUIRED
  1. ;ACROP - 'R' FOR READ, 'W' FOR WRITE REQUIRED, 'M' FOR READ/WRITE ;ACR*2.1*13.01 IM13574
  1. ;ACROP - 'R' FOR READ, 'W' FOR WRITE REQUIRED ;ACR*2.1*13.01 IM13574
  1. Q:'$D(%FN)!'$D(ACROP)
  1. S POP=1
  1. F ACRI=1:1:4 Q:'POP D
  1. .S (IOP,ION)="HOST FILE SERVER #"_ACRI
  1. .S %ZIS("IOPAR")="("""_%FN_""":"""_ACROP_""")"
  1. .D ^%ZIS
  1. I POP D G HOST:$G(ACRX)<2 S ACRQUIT="" Q
  1. .W !!,"Waiting for HOST FILE SERVER."
  1. .S ACRX=$G(ACRX)+1
  1. K IOP,POP
  1. Q
  1. FS ;EP;TO CHECK IF WIDE CARRIAGE/CONDENSED PRINTER NEEDED
  1. I $G(ACRDOCDA),$D(^ACRDOC(ACRDOCDA,3)) N X S X=^(3) D
  1. .I $P(X,U,13),'$P(X,U,17) D
  1. ..I $P($G(^ACRPO(+$P($G(^ACRDOC(ACRDOCDA,0)),U,8),"DT")),U,10) D I 1
  1. ...S X=$P(^ACRPO(+$P($G(^ACRDOC(ACRDOCDA,0)),U,8),"DT"),U,10)
  1. ...S (ION,%ZIS("B"))=$P(^%ZIS(1,X,0),U)
  1. ..E S ACRCOND=""
  1. .S:$P(X,U,17)=1 ACR3542=""
  1. Q
  1. CONDENSE ;CONDENSE PRINTER REQUIRED
  1. I $G(ACRPODA),$P($G(^ACRPO(ACRPODA,"DT")),U,10) D
  1. .S X=$P(^ACRPO(ACRPODA,"DT"),U,10)
  1. .I X,$D(^%ZIS(1,X,0)) S (ION,%ZIS("B"))=$P(^%ZIS(1,X,0),U) Q
  1. W *7,*7
  1. W !!,"The report you are about to print requires either a wide carriage printer or"
  1. W !,"a printer set for condensed mode with a width of 132 characters."
  1. W !,"Check with your system manager if you are uncertain which device to select."
  1. K ACRCOND
  1. Q
  1. PRE ;PRE-PRINTED FORM REQUIRED
  1. W !!,"Please insert Standard Form ",@ACRON,+$G(ACRPSC),@ACROF
  1. I $D(ACRZIS(2))#2 W !,"and applicable CONTINUATION SHEETS"
  1. W "into the printer now."
  1. Q
  1. P2 ;EP;TO SELECT SECOND PRINTER FOR SINGLE PRINT JOB
  1. K ACRZIS
  1. W !!,"NOTE: You may select a printer to use for any CONTINUATION SHEETS"
  1. W !,"required to print this order.",!
  1. N IO,IOP,IOST,IOP,ION
  1. S %ZIS="NP"
  1. S %ZIS("A")="Printer for CONTINUATION SHEETS: "
  1. S %ZIS("B")=""
  1. D ^%ZIS
  1. I POP>0 D CLOSE S ACRQUIT="" Q
  1. S:$E($G(IOST),1,2)="P-" ACRZIS(2)=ION
  1. W !,"Now select the main printer to print the FIRST PAGE of this form."
  1. Q
  1. BROWSE ;EP;TO BROWSE
  1. Q:$G(ACRRTN)=""
  1. S ACRFLD("BROWSE")=1
  1. D VIEWR^ACRFLM(ACRRTN)
  1. I $D(ACRQUIT) D Q
  1. .K ACRQUIT
  1. .W !!,"BROWSE function temporarily unavailable."
  1. .D ZIS1
  1. D CLEAR^VALM1
  1. KILL XQORNEST,VALMKEY,VALM,VALMAR,VALMBCK,VALMBG,VALMCAP,VALMCNT,VALMOFF,VALMCON,VALMDN,VALMEVL,VALMIOXY,VALMKEY,VALMLFT,VALMLST,VALMMENU,VALMSGR,VALMUP,VALMWD,VALMY,XQORS,XQORSPEW,VALMCOFF,ACRFLD,VALMHDR
  1. Q
  1. PROCHFS ;EP - PROCESS HFS FILE REQUEST
  1. ;ACR*2.1*21.04 IM22466
  1. W !!,"This option will allow you to create a file in your home directory."
  1. N OUT,X,Y
  1. S OUT=0
  1. D ^XBKVAR
  1. D ASKDIR
  1. Q:OUT
  1. D FILE
  1. Q:OUT
  1. S:ZISH2'["." ZISH2=ZISH2_".csv" ;ACR*2.1*22.11d UFMS
  1. S ZISH3="W"
  1. D HFS^ACRFZISH(ZISH1,ZISH2,ZISH3,.%FILE)
  1. Q:POP
  1. S ACRHFS=""
  1. Q
  1. ASKDIR ;EP ASK FOR PATH
  1. ;ACR*2.1*21.04 IM22466
  1. ;S ZISH1=$$PWD^ACRFZISH("") ;ACR*2.1*22.11d UFMS
  1. S ZISH1=$$ARMSDIR^ACRFSYS(1) ;ACR*2.1*22.11d UFMS
  1. ;W !!,"The file will go into your home directory"_" "_ZISH1 ;ACR*2.1*22.11d UFMS
  1. W !!,"The file will go into the ARMS home directory"_" "_ZISH1 ;ACR*2.1*22.11d UFMS
  1. W !,"If you need to send the file to a different directory,"
  1. W !,"replace the default with the full path at the ""Replace"" prompt.",!
  1. D SELDIR^ACRFZISH(.ZISH1,.OUT)
  1. Q
  1. FILE ;EP - SELECT FILENAME FOR UNIX FILE
  1. ;ACR*2.1*21.04 IM22466
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="FA"
  1. S DIR("A")="Select UNIX file name: "
  1. D ^DIR
  1. I $D(DIRUT)!($D(DTOUT))!($D(DUOUT)) S OUT=1
  1. I Y']"" S OUT=1
  1. S ZISH2=Y
  1. Q