| Also, in keeping with the generation of the TEX 'log' file (.LIS),
since that file is kept in the directory, it would seem to make
sense to have the defaults for DOCUMENT/BATCH to be /KEEP/NOPRINT
along with naming the log file with the same root name as the rest
of the files in the process.
jack
|
| The way VMS handles the directory for .LOG files is the same way that
DOCUMENT does. When a user does a SUBMIT and omits the /LOG=
qualifier, the log file goes into the user's SYS$LOGIN directory.
Qualifiers for the DCL SUBMIT command (/LOG=, /AFTER=,...) can be used
as keywords to the DOCUMENT /BATCH qualifier (/BATCH=(NAME=[]foo.LOG,
AFTER=21:00)), alllowing you to completely control batch processing.
Similarly, qualifiers to the DCL PRINT command are valid keywords
for the DOCUMENT /PRINT qualifier, such as DOCU/PRINT=(QUE=foo_LN03,
COPIES=2,AFTER=21:00,NOTIFY).
As a DOCUMENT user for many years, I really appreciate the functions
provided by the /BATCH and /PRINT qualifiers. There is a batch command
procedure that circumvents the temporary problem posed by the file
naming and default directory use. I'll ask the author to post it as
a reply to this note.
Mike
|
| $! Name this BATDOC.COM
$!
$! In your login.com --- DEFINE BATDOC @[directory-loc]BATDOC
$!
$! Invoke it by typing:
$!
$! BATDOC filename doctype output-device
$!
$! It should work just like the old BATDOC.
$!
$! (Wait!... There's more!)
$!
$! If you specify a profile name for filename, it will work like TMAKEBOOK
$! (thanks to the magic of Version 1)
$!
$! It will put all output files (and a log file and a map too) in the
$! directory from which you are drafting.
$!
$! Read on for information about the defaults.
$!
$!
$!-----
$! This is a quick adaptation of the old BATDOC.COM that will ape
$! the behavior of the BATDOC.COM used prior to DOCUMENT V1.0.
$!
$! The command format is:
$!
$! BATDOC P1 P2 P3 P4
$!
$! where P1 = the filename (it defaults to .GNC)
$! P2 = doctype (it will prompt you)
$! P3 = output device (it will prompt you)
$! P4 (optional) = a qualifier to the DOCUMENT command,
$! other than those used in the default
$!
$! This procedure will issue the command:
$!
$! DOCUMENT/BATCH=(NOTIFY,NOPRINT,LOG=SYS$DISK:[],name='job_name',KEEP)-
$! /TAG/TEXT/DEVICE/NOPRINT/LOG/LIST/MAP 'input_file' 'p2' 'p3' 'p4'
$!
$! where the name of the batch job = the name of your file
$! you are notified when it is complete
$! the log of the batch file is created in your current directory
$! (named after your source file)
$!
$! Bookbuilds should work fine if the filename you specify to BATDOC
$! is the Profile name (e.g., 2823pro).
$!
$! If you need to specify the /SYMBOL, /PROFILE, or /ELEMENT qualifier
$! to DOCUMENT (or otherwise modify the command above), specify all
$! such qualifiers after the "output device" argument to the
$! BATDOC command.
$ SET NOVER
$ ON ERROR THEN CONTINUE
$ SUBMIT := SUBMIT
$ DEFAULT_AREA := 'F$LOGIC("SYS$DISK")''F$DIR()'
$ !
$ ! Name the job after the input file.
$ !
$ if p1 .eqs. "" THEN inquire p1 "Input file"
$ check_input_file:
$ input_file = F$PARSE("''P1'",".GNC")
$ exists = f$search ("''input_file'")
$ if exists .eqs. "" then GOTO INPUT_FILE_NOT_THERE
$ JOB_NAME := 'F$PARSE(P1,,,"NAME")'
$ !
$ !
$ check_p2:
$ if p2 .eqs. "" then Inquire p2 "Doctype/design"
$ if p3 .eqs. "" then inquire p3 "Destination"
$ document := document
$ !
$ ! Run DOCUMENT expecting no output to verify parameters before
$ ! submitting batch job.
$ !
$ DOCUMENT/BATCH=(NOTIFY,NOPRINT,LOG=SYS$DISK:[],name='job_name',KEEP)-
/TAG/TEXT/DEVICE/NOPRINT/LOG/LIST/MAP 'input_file' 'p2' 'p3' 'p4'
$ if .not. $status then exit
$ EXIT
$ INPUT_FILE_NOT_THERE:
$ WRITE SYS$OUTPUT "%DOC-E-FNF, Input file ''input_file' not found."
$ INQUIRE P1 "Enter input file or <ret> to exit"
$ IF P1 .eqs. "" then EXIT
$ GOTO check_input_file
|