Q: Each invoice is one different spool file (4K size, plain ASCII from IBM AS/400). The user has a badge to release over 1000 invoices/day. The printer used to print these invoices is a 80 copies / minute machine, which takes 8 seconds to initialise when processing a new spool.

Collecting the jobs manually, we tested the speed of the machine and it has improved significantly, even in duplex mode.

A: Well you have 2 issues to solve here:

1. Collecting all jobs using the archive functionality:

[AS400in]

; assuming ELP receives the data in this queue named "AS400in", if you have only one queue

; then use the rule GLOBAL instead

OutArchiveDir=#ELP_FORMS_PATH#\archive;#DATESERIAL#_#MILLISECONDS#.prn

; store all jobs sorted by their incoming time

NoPrinting=ON

; Do print nothing
; Note:
; If the job misses a Form Feed at the end, then you can add it:
; ELP_COMMAND=C1I1;
; Dummy command to draw form plain paper but needed to add the form feed
; ELP_EXIT_JOB=\x0C

2. Triggering the printout, so all collected jobs are really printed.

Actually there are 2 ways to activate the final print out, which may be combined any way, to make sure that in the evening all jobs are printed:

2.1 Time based version 1:

Use the any freeware utility or batch file to repeat every X times the print of the remaining data streams.

Note: In addition you may need to reset the Job_Counter.var file in the patch process like this:

copy /b c:\ProgramData\WELP\archive\invoice*.* \\MyELPPC\PrintQueueName
rem then delete the files:
del c:\ProgramData\WELP\archive\invoice*.* /Q
del c:\ProgramData\WELP\job_counter.var

The file init_count.var is an ASCII file which has only one line of text data, a zero.

2.2 As wished every X invoices.

Add to the AS400in/Global rule this line:

JobCounter=#ELP_FORMS_PATH#job_counter.var

Generate a new rule

[On every 50th job]

Trigger_Binary=1

; Primary trigger, which comes for all jobs true

Trigger_Variable=#JOB_COUNTER#:50

CloseArchivesBeforeCall=ON
Call=The same batch file as used in 2.1

2.3 Time based version 2:

Find here: Start time [and date] triggered processes an example which does include 2.2, but as well also prints the collected jobs latest X minutes after the last job did arrive.