52 lines
2.4 KiB
Mathematica
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
|