| 1 | QAQAHOCZ ;HISC/DAD-AD HOC REPORTS: INTERFACE COMPILER ;9/3/91  15:52 [ 10/07/92  7:10 PM ]
 | 
|---|
| 2 |  ;;1.7;QM Integration Module;;07/25/1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  D EXIT,HOME^%ZIS S QAQYESNO="Please answer Y(es) or N(o)."
 | 
|---|
| 5 |  D NOW^%DTC S X=$J(%,0,6),QAQTODAY=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3)_"  "_$E(X,9,10)_":"_$E(X,11,12)
 | 
|---|
| 6 | ROUTINE ; *** Prompt user for Ad Hoc interface routine name
 | 
|---|
| 7 |  K DIR S DIR(0)="FAO^2:8^K:X'?1U1.7UN X",DIR("A")="Ad Hoc Report Generator Interface Routine: ",DIR("?")="^D EN^QAQAHOCH(""H6"")"
 | 
|---|
| 8 |  W ! D ^DIR G:$D(DIRUT) EXIT S (QAQPROG,X)=Y
 | 
|---|
| 9 |  X ^%ZOSF("TEST") I  D  G EXIT:QAQREPLC=-1,ROUTINE:QAQREPLC=2
 | 
|---|
| 10 |  . W !!?5,"*** ",QAQPROG," already exists !! ***",*7
 | 
|---|
| 11 | R1 . W !!?5,"Do you want to replace it"
 | 
|---|
| 12 |  . S %=2 D YN^DICN S QAQREPLC=%
 | 
|---|
| 13 |  . Q:(%=-1)!(%=2)  I '% W !!?10,QAQYESNO G R1
 | 
|---|
| 14 | R2 . W !!?5,"Replace ",QAQPROG,", are you sure"
 | 
|---|
| 15 |  . S %=2 D YN^DICN S QAQREPLC=%
 | 
|---|
| 16 |  . Q:%=-1  I '% W !!?10,QAQYESNO G R2
 | 
|---|
| 17 |  . Q
 | 
|---|
| 18 | FILE ; *** Prompt user for the file that Ad Hoc will use
 | 
|---|
| 19 |  W !!,"Select the FILE to be used by the Ad Hoc Report Generator."
 | 
|---|
| 20 |  K DIC S DIC="^DIC(",DIC(0)="AEMNQZ",DIC("A")="Select FILE: " D ^DIC G:Y'>0 EXIT S QAQFILE=+Y,QAQFILE(0)=Y(0,0)
 | 
|---|
| 21 | FIELDS ; *** Prompt user for the fields that Ad Hoc will use
 | 
|---|
| 22 |  W !!,"Select the FIELDS to be used by the Ad Hoc Report Generator."
 | 
|---|
| 23 |  D ^QAQAHOCY G:QAQMMAX'>0!QAQQUIT EXIT I QAQSORT'>0 W !!?5,"*** No sort fields chosen !! ***",*7 G EXIT
 | 
|---|
| 24 | NODATA ; *** Include optional output checking code in OTHER entry point (Y/N)
 | 
|---|
| 25 |  W !!,"Automatically include the ""No data found..."" message" S %=1 D YN^DICN G:%=-1 EXIT S QAQNODAT=$S(%=1:1,1:0)
 | 
|---|
| 26 |  I '% D EN^QAQAHOCH("H8") G NODATA
 | 
|---|
| 27 | MENUHDR ; *** Prompt user for the sort/print menu screen header
 | 
|---|
| 28 |  K DIR S DIR(0)="FAO^0:45^K:(X[""^"")!(X[$C(34)) X",DIR("A")="Menu screen header: ",DIR("?")="^D EN^QAQAHOCH(""H9"")"
 | 
|---|
| 29 |  W ! D ^DIR G:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) EXIT S QAQMHDR=Y
 | 
|---|
| 30 | BUILD ; *** Build Ad Hoc Report interface routine(s)
 | 
|---|
| 31 |  W !!,"Building the Ad Hoc Report Generator interface routine(s)...",!
 | 
|---|
| 32 |  D BUILD^QAQAHOCX
 | 
|---|
| 33 |  W !!,"Enter 'DO ^",QAQPROG,"' to run the Ad Hoc Report Generator."
 | 
|---|
| 34 | EXIT ; *** Exit the Ad Hoc interface compiler
 | 
|---|
| 35 |  K %,%DT,%H,DIC,DIE,DIR,DIRUT,DTOUT,DUOUT
 | 
|---|
| 36 |  K ^TMP($J,"QAQTXT"),^TMP($J,"QAQROU")
 | 
|---|
| 37 |  K QA,QAI,QAQ,QAQCHOSN,QAQDD,QAQDONE,QAQFILE,QAQLEN,QAQLEVEL,QAQLN,QAQMHDR,QAQMMAX,QAQNODAT,QAQPROG,QAQQUIT,QAQREPLC,QAQRTN,QAQRTNNO,QAQRTNXT,QAQSORT,QAQTAB,QAQTEXT,QAQTODAY,QAQWP,QAQYESNO,X,XCM,XCN,Y
 | 
|---|
| 38 |  Q
 | 
|---|