parm Jid=''; nest='0'; delay=2 anyparm rest=![''] # PRINTO script, Paul Taffel. Release 2001-03-17. if (not numeric('!nest')) or !nest=0 if hpinbreak echo Error! Can't PRINTO when in ! state return endif setvar _savelastjob hplastjob setvar _Jid ups('!Jid' ) setvar _rest ups('!rest') setvar _nest ups('!nest') if numeric(str(_Jid,1,1)) setvar _Jid '#J'+_jid elseif str(_Jid,1,1)='J' setvar _jid '#'+_jid endif if '!_nest'<>'0' and '!_nest'<>'1' setvar _rest _nest setvar _nest '0' endif if _jid='' setvar _jid hplastjob endif if _rest<>'' setvar _rest ';rest='+_rest endif if _jid='' Echo Error! No last job deletevar _savelastjob return endif setvar hplastjob _Jid if '!hplastspid'='' echo Job !hplastjob $STDLIST unavailable setvar hplastjob _savelastjob return endif setvar _hplastspid hplastspid setvar _hplastjob hplastjob file f=!hplastspid.out.hpspool; cctl; nomulti setvar hplastjob _savelastjob deletevar _savelastjob else setvar _nest '!nest' endif if _nest='0' # Run 1st son CI. Opens job STDLIST as $STDIN, lets # us read to eof even when SET STDLIST=DELETE. xeq ci.pub.sys<*f>$NULL;parm=3;info=& "xeq !hpfile jid=!_Jid;nest=1;delay=!delay!_rest" return elseif _nest='1' # Run 2nd son CI with user terminal as $STDIN, lets # us pause using INPUT with timeout specified. file prin;dev=!hpldevin;acc=in file prout;dev=!hpldevlist;acc=append xeq ci.pub.sys<*prin>*prout;parm=3;info=& "xeq !hpfile jid=!_Jid;nest=2;delay=!delay!_rest" return endif if pos('NONUM',_rest)=0 and pos('NUM',_rest)>0 setvar _num ';NUM' else setvar _num '' endif echo echo ![chr(27)+'&dB']& $STDLIST for Job !_hplastjob (!_hplastspid.OUT.HPSPOOL): setvar _next 1 setvar _fmod finfo('*f',-24) while true if finfo('*f','accessors')<=2 or typeof(& setvar(hpresult,jinfo(_hplastjob,'state',cierror)))=1 print *f;start=!_next;page=0!_num return elseif setvar(_fend, finfo('*f',19)) >= _next setvar _fmod finfo('*f',-24) print *f;start=!_next;end=!_fend;page=0!_num setvar _next _fend+1 elseif finfo('*f',-24) > _fmod # finfo('eof') can get 'stuck' if others access the # same spoolfile as us. This may have occurred; # the next line corrects this, for reasons unknown: print *f;start=1;end=0 endif setvar hpcierr 0 input _input,,![abs(!delay)],1 >$NULL if hpcierr<>-9003 Echo PRINTO terminated at user request. return endif endwhile