VistA-WorldVistAEHR/r/SPINAL_CORD_DYSFUNCTION-SPN/SPNAHOCZ.m

52 lines
2.4 KiB
Mathematica

SPNAHOCZ ;HISC/DAD-AD HOC REPORTS: INTERFACE COMPILER ; [ 05/17/95 5:42 PM ]
;;2.0;Spinal Cord Dysfunction;;01/02/1997
;
W !,"=== Ad Hoc Report Interface Compiler ==="
D EXIT,DT^DICRW,HOME^%ZIS S SPNYESNO="Please answer Y(es) or N(o)."
D NOW^%DTC S X=$J(%,0,6),SPNTODAY=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3)_" "_$E(X,9,10)_":"_$E(X,11,12)
ROUTINE ; *** Prompt user for Ad Hoc interface routine name
K DIR S DIR(0)="FAO^2:8^K:X'?1U1.7UN X",DIR("?")="^D EN^SPNAHOCH(""H6"")"
S DIR("A")="Ad Hoc Report Interface Routine: "
D ^DIR G:$D(DIRUT) EXIT S (SPNPROG,X)=Y
X ^%ZOSF("TEST") I D G EXIT:SPNREPLC=-1 I SPNREPLC=2 W ! G ROUTINE
. W !!?5,"*** ",SPNPROG," already exists !! ***",$C(7)
. F D Q:%
.. W !!?5,"Do you want to replace it"
.. S %=2 D YN^DICN S SPNREPLC=% I '% W !!?10,SPNYESNO
.. Q
. I SPNREPLC=1 F D Q:%
.. W !!?5,"Replace ",SPNPROG,", are you sure"
.. S %=2 D YN^DICN S SPNREPLC=% I '% W !!?10,SPNYESNO
.. Q
. Q
FILE ; *** Prompt user for the file that Ad Hoc will use
W !!,"Select the FILE to be used by the Ad Hoc Report Generator."
K DIC S DIC="^DIC(",DIC(0)="AEMNQZ",DIC("A")="Select FILE: "
S DIC("S")="I Y>1" D ^DIC G:Y'>0 EXIT S SPNFILE=+Y,SPNFILE(0)=Y(0,0)
FIELDS ; *** Prompt user for the fields that Ad Hoc will use
W !!,"Select the FIELDS to be used by the Ad Hoc Report Generator."
D ^SPNAHOCY G:SPNMMAX'>0!SPNQUIT EXIT
I SPNSORT'>0 W !!?5,"*** No sort fields chosen !! ***",$C(7) G EXIT
NODATA ; *** Display a 'No data found...' message on reports (Y/N)
F D Q:%
. W !!,"Automatically include the ""NO RECORDS TO PRINT"" message"
. S %=1 D YN^DICN S SPNNODAT=$S(%=1:1,1:0) I '% D EN^SPNAHOCH("H8")
. Q
G:%=-1 EXIT
MENUHDR ; *** Prompt user for the sort/print menu screen header
K DIR S DIR(0)="FAO^0:45^K:(X[U)!(X[$C(34)) X"
S DIR("A")="Menu screen header: ",DIR("?")="^D EN^SPNAHOCH(""H9"")"
W ! D ^DIR G:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) EXIT S SPNMHDR=X
BUILD ; *** Build Ad Hoc Report interface routine(s)
W !!,"Building the Ad Hoc Report Generator interface routine(s)...",!
D BUILD^SPNAHOCX
W !!,"Enter 'DO ^",SPNPROG,"' to run the Ad Hoc Report Generator."
EXIT ; *** Exit the Ad Hoc interface compiler
K %,%DT,%H,DIC,DIE,DIR,DIRUT,DTOUT,DUOUT
K ^TMP($J,"SPNTXT"),^TMP($J,"SPNROU")
K SP,SPI,SPN,SPNATTR,SPNCHOSN,SPNDD,SPNDONE,SPNERR,SPNFILE,SPNLEN
K SPNLEVEL,SPNLN,SPNMHDR,SPNMMAX,SPNNODAT,SPNPROG,SPNQUIT,SPNREPLC
K SPNRTN,SPNRTNNO,SPNRTNXT,SPNSORT,SPNTAB,SPNTEXT,SPNTODAY,SPNWP
K SPNY,SPNYESNO,X,XCM,XCN,Y
Q