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

XBDBQDOC.m

Go to the documentation of this file.
  1. XBDBQDOC ; IHS/ADC/GTH - DOUBLE QUEUING SHELL HANDLER DOCUMENTATION ; [ 02/07/97 3:02 PM ]
  1. ;;3.0;IHS/VA UTILITIES;;FEB 07, 1997
  1. ;
  1. ;----------------------
  1. ;NOTES FOR PROGRAMMERS|
  1. ;----------------------
  1. ;
  1. ; %ZIS with "PQM" is called by XBDBQUE if '$D(XBIOP).
  1. ;
  1. ; The user will be asked to queue if queuing has not been
  1. ; selected.
  1. ;
  1. ; IO variables as necessary are automatically stored.
  1. ;
  1. ; XBxx variables are killed after loading into an XB array.
  1. ;
  1. ; XBDBQUE can be nested.
  1. ;
  1. ; The compute and print phases can call XBDBQUE individually
  1. ; (XBIOP is required).
  1. ;
  1. ; The appropriate %ZTSK node is killed.
  1. ;
  1. ;EX:
  1. ; S XBRC="C^AGTEST",XBRP="P^AGTEST",XBRX="END^AGTEST",XBNS="AG"
  1. ; D ^XBDBQUE ;handles foreground and tasking
  1. ; Q
  1. ;
  1. ; VARIABLES NEEDED FROM CALLING PROGRAM
  1. ;
  1. ;MANDATORY
  1. ; EITHER XBRC-Compute Routine or XBRP-Print Routine.
  1. ;
  1. ;OPTIONAL
  1. ; XBRC-Compute Routine.
  1. ; XBRP-Print Routine.
  1. ; XBRX-Exit Routine that cleans variables (HIGHLY SUGGESTED).
  1. ; XBNS-name space of variables to auto load in
  1. ; ZTSAVE("NS*")=""
  1. ; ="DG;AUPN;PS;..." ; (will add '*'if missing).
  1. ; XBNS("xxx")="" - ZTSAVE variable arrays where xxx is as
  1. ; described for ZTSAVE("xxxx")="".
  1. ; XBFQ=1 Force Queing.
  1. ; XBDTH=FM date time of computing/printing.
  1. ; XBIOP=pre-selected printer device with constructed with
  1. ; ION ; IOST ; IOSL ; IOM
  1. ; (mandatory if the calling routine is a queued routine).
  1. ; XBPAR= %ZIS("IOPAR") values for host file with XBIOP if
  1. ; needed.
  1. ;
  1. TEST ;
  1. ; TESTING CODE the following are KISS (keep it supper simple) test
  1. ; of double queing code including nesting.
  1. Q
  1. ;--------------------------------------------------------------------
  1. TEST1 ; test of stacking a second call to XBDBQUE in the printing routine.
  1. S SD=1,DG=2
  1. S XBNS="SD;DG;AG;"
  1. S XBRP="PA^XBDBQDOC"
  1. D ^XBDBQUE
  1. KILL DG,JKL,SD
  1. Q
  1. PA ;
  1. W !,"GOT HERE ON ONE",!
  1. X "ZW"
  1. S IOP=XB("IOP"),XBRP="PB^XBDBQDOC",XBNS("JKL")=""
  1. F I=1:1:10 S JKL(I)=I
  1. S XBIOP=XB("IOP")
  1. D ^XBDBQUE
  1. Q
  1. PB ;
  1. W !,"GOT HERE ON TWO",!
  1. X "ZW"
  1. Q
  1. TEST2 ; TEST FOR COMPUTING ONLY
  1. D DT^DICRW
  1. S XBRC="RC^XBDBQDOC"
  1. F XBI=1:1:20 KILL ^XBDBT(XBI)
  1. W !,"CREATES ^XBDBT(",!
  1. D ^XBDBQUE
  1. Q
  1. RC S %H=$H D YX^%DTC F XBI=1:1:20 S ^PWDBT(XBI)=XBI_Y
  1. Q