%ZOSV1 ;SFISC/AC,LL/DFH,sfisc/fyb - ;07/07/95 16:11
;;22.0;VA FileMan;;Mar 30, 1999;Build 1
;Per VHA Directive 10-93-142, this routine should not be modified.
DEVOPN ;X=$J,Y=List of devices separated by a comma
N A,I,JA,JOB,DEV,CDEV,ODEV,PDEV
S X=$J D JSTAT
I 'ZVER S Y=$$jstat^%mjob(X),Y=$S($P(Y,"|",6)>0:$P(Y,"|",6)_",",1:"")_$P(Y,"|",9)_$E(",",$P(Y,"|",9)]"") Q
;S PDEV=$V(0,JA+18,-3),PDEV=$S(PDEV:$V(0,PDEV+2,-2),1:"-")
;S CDEV=$V(0,JA+22,-3),CDEV=$S(CDEV:$V(0,CDEV+2,-2),1:"-")
S PDEV=$P($zjob(X),"|",5)
S CDEV=$P($zjob(X),"|",6)
S ODEV="",JOB=$V(0,JA+10,-4)
;S A=$V(1,62,-3) I A,$V(0,A+4,-2) D JDEV ; includes parents cur device
S A=$V(1,38,-3)
F A=A:0 Q:'$V(0,A,-2) D:$V(0,A+4,-2)=JOB JDEV S A=A+$V(0,A,-2)
S Y=$S(CDEV:CDEV_",",1:"")_$E(ODEV,2,999)_$E(",",$E(ODEV,2,999)]"")
Q
JSTAT ; Get DTM data - X=Job Number
S X=$S($D(X)[0:$J,X'?1N.N:$J,1:X)
S ZVER=($P($ZVER,"/",2)'<4) ; ZVER=1 if Version 4
;S JA=$V(1,(X-1*2)+100,-2)*16
S JA=0
Q
JDEV ;
S DEV=$V(0,A+2,-2) I DEV,DEV'=PDEV S ODEV=ODEV_","_DEV
Q
;
FREEDEV ;
F P=$V($S($P($ZVER,"/",2)<4:4,1:1),38,-3):0 S L=$V(0,P,-2) Q:'L Q:'$V(0,P+4,-2)&($V(0,P+6,-1)=6) S P=P+L
;
S IO=$S(L:$V(0,P+2,-2),1:"") Q
JOBLIST ; Active Jobs delimited by comma
S Y=$$jobs^%mjob Q
;
SHUTDOWN ; Check shutdown flag
S Y=$S($P($ZVER,"/",2)<4:$V(4,0,-1)#2,1:$V(1,0,-1)#2)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDINV1DTM 1377 printed Dec 13, 2024@02:52:11 Page 2
%ZOSV1 ;SFISC/AC,LL/DFH,sfisc/fyb - ;07/07/95 16:11
+1 ;;22.0;VA FileMan;;Mar 30, 1999;Build 1
+2 ;Per VHA Directive 10-93-142, this routine should not be modified.
DEVOPN ;X=$J,Y=List of devices separated by a comma
+1 NEW A,I,JA,JOB,DEV,CDEV,ODEV,PDEV
+2 SET X=$JOB
DO JSTAT
+3 IF 'ZVER
SET Y=$$jstat^%mjob(X)
SET Y=$SELECT($PIECE(Y,"|",6)>0:$PIECE(Y,"|",6)_",",1:"")_$PIECE(Y,"|",9)_$EXTRACT(",",$PIECE(Y,"|",9)]"")
QUIT
+4 ;S PDEV=$V(0,JA+18,-3),PDEV=$S(PDEV:$V(0,PDEV+2,-2),1:"-")
+5 ;S CDEV=$V(0,JA+22,-3),CDEV=$S(CDEV:$V(0,CDEV+2,-2),1:"-")
+6
*** ERROR ***
SET PDEV=$PIECE($zjob(X),"|",5)
+7
*** ERROR ***
SET CDEV=$PIECE($zjob(X),"|",6)
+8 SET ODEV=""
SET JOB=$VIEW(0,JA+10,-4)
+9 ;S A=$V(1,62,-3) I A,$V(0,A+4,-2) D JDEV ; includes parents cur device
+10 SET A=$VIEW(1,38,-3)
+11 FOR A=A:0
if '$VIEW(0,A,-2)
QUIT
if $VIEW(0,A+4,-2)=JOB
DO JDEV
SET A=A+$VIEW(0,A,-2)
+12 SET Y=$SELECT(CDEV:CDEV_",",1:"")_$EXTRACT(ODEV,2,999)_$EXTRACT(",",$EXTRACT(ODEV,2,999)]"")
+13 QUIT
JSTAT ; Get DTM data - X=Job Number
+1 SET X=$SELECT($DATA(X)[0:$JOB,X'?1N.N:$JOB,1:X)
+2 ; ZVER=1 if Version 4
SET ZVER=($PIECE($ZVER,"/",2)'<4)
+3 ;S JA=$V(1,(X-1*2)+100,-2)*16
+4 SET JA=0
+5 QUIT
JDEV ;
+1 SET DEV=$VIEW(0,A+2,-2)
IF DEV
IF DEV'=PDEV
SET ODEV=ODEV_","_DEV
+2 QUIT
+3 ;
FREEDEV ;
+1 FOR P=$VIEW($SELECT($PIECE($ZVER,"/",2)<4:4,1:1),38,-3):0
SET L=$VIEW(0,P,-2)
if 'L
QUIT
if '$VIEW(0,P+4,-2)&($VIEW(0,P+6,-1)=6)
QUIT
SET P=P+L
+2 ;
+3 SET IO=$SELECT(L:$VIEW(0,P+2,-2),1:"")
QUIT
JOBLIST ; Active Jobs delimited by comma
+1 SET Y=$$jobs^%mjob
QUIT
+2 ;
SHUTDOWN ; Check shutdown flag
+1 SET Y=$SELECT($PIECE($ZVER,"/",2)<4:$VIEW(4,0,-1)#2,1:$VIEW(1,0,-1)#2)
+2 QUIT