[613] | 1 | IVMUTQ ;ALB/ESD - Device Handling and Queueing Utility ; 03-FEB-93
|
---|
| 2 | ;;Version 2.0 ; INCOME VERIFICATION MATCH ;; 21-OCT-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | ; This routine is a generic interface to the device handler (^%ZIS)
|
---|
| 6 | ; and task manager (^%ZTLOAD). It will handle device opening and
|
---|
| 7 | ; closing and variable clean-up.
|
---|
| 8 | ;
|
---|
| 9 | ; Input (to be defined by the caller of the routine):
|
---|
| 10 | ;
|
---|
| 11 | ; IVMRTN - application routine entry point for output (required).
|
---|
| 12 | ; %ZIS - device call variable (set to "QMP" if not defined).
|
---|
| 13 | ; ZTDESC - description of task (set if not defined).
|
---|
| 14 | ; ZTSAVE - input parameters to be saved (set to IVMRTN).
|
---|
| 15 | ;
|
---|
| 16 | ; NOTE: Other optional input variables for %ZIS and %ZTLOAD calls
|
---|
| 17 | ; may be defined as described in KERNEL documentation.
|
---|
| 18 | ;
|
---|
| 19 | ;
|
---|
| 20 | EN I $G(IVMRTN)="" W !!,"Routine aborted...entry point not defined." G ENQ
|
---|
| 21 | I $D(%ZIS)#2=0 S %ZIS="QMP"
|
---|
| 22 | D ^%ZIS K %ZIS G:POP ENQ
|
---|
| 23 | I '$D(IO("Q")) U IO D @IVMRTN,^%ZISC,ENQ Q
|
---|
| 24 | ;
|
---|
| 25 | ; task job
|
---|
| 26 | S ZTRTN=@"IVMRTN",ZTSAVE("IVMRTN")=""
|
---|
| 27 | I '$D(ZTDESC) S ZTDESC="IVM UNKNOWN OPTION"
|
---|
| 28 | D ^%ZTLOAD
|
---|
| 29 | W !,$S($D(ZTSK):"Job has been queued. The task number is "_ZTSK_".",1:"Unable to queue this job.")
|
---|
| 30 | D HOME^%ZIS
|
---|
| 31 | ;
|
---|
| 32 | ENQ ; clean-up
|
---|
| 33 | K IO("Q"),IVMRTN,POP,ZTCPU,ZTDESC,ZTDTH,ZTIO,ZTKIL,ZTPRI,ZTRTN,ZTSAVE,ZTUCI,ZTSK
|
---|
| 34 | Q
|
---|