[641] | 1 | XBDBQDOC ; IHS/ADC/GTH - DOUBLE QUEUING SHELL HANDLER DOCUMENTATION ; [ 02/07/97 3:02 PM ]
|
---|
| 2 | ;;4.0;XB;;Jul 20, 2009;Build 2
|
---|
| 3 | ;
|
---|
| 4 | ;----------------------
|
---|
| 5 | ;NOTES FOR PROGRAMMERS|
|
---|
| 6 | ;----------------------
|
---|
| 7 | ;
|
---|
| 8 | ; %ZIS with "PQM" is called by XBDBQUE if '$D(XBIOP).
|
---|
| 9 | ;
|
---|
| 10 | ; The user will be asked to queue if queuing has not been
|
---|
| 11 | ; selected.
|
---|
| 12 | ;
|
---|
| 13 | ; IO variables as necessary are automatically stored.
|
---|
| 14 | ;
|
---|
| 15 | ; XBxx variables are killed after loading into an XB array.
|
---|
| 16 | ;
|
---|
| 17 | ; XBDBQUE can be nested.
|
---|
| 18 | ;
|
---|
| 19 | ; The compute and print phases can call XBDBQUE individually
|
---|
| 20 | ; (XBIOP is required).
|
---|
| 21 | ;
|
---|
| 22 | ; The appropriate %ZTSK node is killed.
|
---|
| 23 | ;
|
---|
| 24 | ;EX:
|
---|
| 25 | ; S XBRC="C^AGTEST",XBRP="P^AGTEST",XBRX="END^AGTEST",XBNS="AG"
|
---|
| 26 | ; D ^XBDBQUE ;handles foreground and tasking
|
---|
| 27 | ; Q
|
---|
| 28 | ;
|
---|
| 29 | ; VARIABLES NEEDED FROM CALLING PROGRAM
|
---|
| 30 | ;
|
---|
| 31 | ;MANDATORY
|
---|
| 32 | ; EITHER XBRC-Compute Routine or XBRP-Print Routine.
|
---|
| 33 | ;
|
---|
| 34 | ;OPTIONAL
|
---|
| 35 | ; XBRC-Compute Routine.
|
---|
| 36 | ; XBRP-Print Routine.
|
---|
| 37 | ; XBRX-Exit Routine that cleans variables (HIGHLY SUGGESTED).
|
---|
| 38 | ; XBNS-name space of variables to auto load in
|
---|
| 39 | ; ZTSAVE("NS*")=""
|
---|
| 40 | ; ="DG;AUPN;PS;..." ; (will add '*'if missing).
|
---|
| 41 | ; XBNS("xxx")="" - ZTSAVE variable arrays where xxx is as
|
---|
| 42 | ; described for ZTSAVE("xxxx")="".
|
---|
| 43 | ; XBFQ=1 Force Queing.
|
---|
| 44 | ; XBDTH=FM date time of computing/printing.
|
---|
| 45 | ; XBIOP=pre-selected printer device with constructed with
|
---|
| 46 | ; ION ; IOST ; IOSL ; IOM
|
---|
| 47 | ; (mandatory if the calling routine is a queued routine).
|
---|
| 48 | ; XBPAR= %ZIS("IOPAR") values for host file with XBIOP if
|
---|
| 49 | ; needed.
|
---|
| 50 | ;
|
---|
| 51 | TEST ;
|
---|
| 52 | ; TESTING CODE the following are KISS (keep it supper simple) test
|
---|
| 53 | ; of double queing code including nesting.
|
---|
| 54 | Q
|
---|
| 55 | ;--------------------------------------------------------------------
|
---|
| 56 | TEST1 ; test of stacking a second call to XBDBQUE in the printing routine.
|
---|
| 57 | S SD=1,DG=2
|
---|
| 58 | S XBNS="SD;DG;AG;"
|
---|
| 59 | S XBRP="PA^XBDBQDOC"
|
---|
| 60 | D ^XBDBQUE
|
---|
| 61 | KILL DG,JKL,SD
|
---|
| 62 | Q
|
---|
| 63 | PA ;
|
---|
| 64 | W !,"GOT HERE ON ONE",!
|
---|
| 65 | X "ZW"
|
---|
| 66 | S IOP=XB("IOP"),XBRP="PB^XBDBQDOC",XBNS("JKL")=""
|
---|
| 67 | F I=1:1:10 S JKL(I)=I
|
---|
| 68 | S XBIOP=XB("IOP")
|
---|
| 69 | D ^XBDBQUE
|
---|
| 70 | Q
|
---|
| 71 | PB ;
|
---|
| 72 | W !,"GOT HERE ON TWO",!
|
---|
| 73 | X "ZW"
|
---|
| 74 | Q
|
---|
| 75 | TEST2 ; TEST FOR COMPUTING ONLY
|
---|
| 76 | D DT^DICRW
|
---|
| 77 | S XBRC="RC^XBDBQDOC"
|
---|
| 78 | F XBI=1:1:20 KILL ^XBDBT(XBI)
|
---|
| 79 | W !,"CREATES ^XBDBT(",!
|
---|
| 80 | D ^XBDBQUE
|
---|
| 81 | Q
|
---|
| 82 | RC S %H=$H D YX^%DTC F XBI=1:1:20 S ^PWDBT(XBI)=XBI_Y
|
---|
| 83 | Q
|
---|