parm spoolid, dev=lp, pri=8, copies=1 parm machine=???, user=!hpuser, account=!hpaccount setvar _ps_machine, "!machine" setvar _ps_user, "!user" setvar _ps_account, "!account" # PushSP.XEQ - moves spool files to another machine for printing. # # Donna Garverick - Longs Drug Stores - dgarverick@longs.com # # Added machine, user and account parms - Tim Ericson 1/26/1999. # Note: machine name must be supplied by the sysadmin. if "!spoolid" = "?" or dwns("!spoolid") = "help" echo echo This script moves spool files to !_ps_machine for printing. This is echo accomplished by establishing a DS session for !_ps_user.!_ps_account. echo The file descriptor for the file is preserved. echo echo PushSP [spoolid],[dev],[pri],[copies],[machine],[user],[account] echo req opt opt opt opt opt opt echo echo [spoolid] is the NUMBER portion of an existing spoolfile echo [dev] default value is LP echo [pri] default value is 8 echo [copies] default value is 1 echo echo [machine] default is ??? echo [user] default is current logon user echo [account] default is current logon account echo return endif if not numeric("!spoolid") echo echo Error: The spool id is not numeric return endif file psspinfo;temp if finfo("*psspinfo","exists") purge psspinfo,temp endif file psspid;temp if finfo("*psspid","exists") purge psspid,temp endif setvar _ps_enh_on chr(27)+"&dB" if finfo("o!spoolid.out.hpspool","exists") listspf !spoolid > psspinfo print psspinfo;start=4;end=4 > psspid input _ps_id < psspid setvar _ps_fname word("!_ps_id",,3) else echo echo ERROR: The spoolfile #O!spoolid does not exist reset psspinfo reset psspid return endif echo !_ps_enh_on Opening dsline to !_ps_machine echo !_ps_enh_on for !hpjobname,!_ps_user.!_ps_account... echo setvar hpcierr 0 dsline !_ps_machine;open if hpcierr = 0 remote hello !hpjobname,!_ps_user.!_ps_account,spool else echo echo ERROR: could not open a dsline to !_ps_machine deletevar _ps_@ purge psspinfo,temp purge psspid,temp reset psspinfo return endif echo echo !_ps_enh_on DSCopying !_ps_fname to !_ps_machine... echo setvar hpcierr 0 continue dscopy o!spoolid.out.hpspool;!_ps_fname:!_ps_machine;move;comp if hpcierr = 0 echo echo !_ps_enh_on Spooling !_ps_fname to dev !dev... echo remote spoolf !_ps_fname;print;dev=!dev;pri=!pri;copies=!copies remote purge !_ps_fname remote showout sp else echo echo ERROR: DSCopy failed, CIError = !hpcierr endif echo echo !_ps_enh_on Closing DS session and line to !_ps_machine... echo remote bye dsline !_ps_machine;close echo deletevar _ps_@ purge psspinfo,temp purge psspid,temp reset psspinfo reset psspid