In our case we have a HP LaserJet 5Si Mopier and a Win2000 Advanced Server which controls the printer queues. On this Win2K server we have set up many different virtual printers with different combinations of paper trays and outboxes.
Most of our print jobs are invoice sets containing three printer jobs with paper taken from three different paper trays, in a specific order. We print everything as seperate print jobs, so one invoice will create three documents on our server. The Win2K server works on a FIFO (first in, first out) basis, so all the paper comes out of the printer in the correct order all the time. The nice thing with this setup is that whenever we need a new combination of trays/outputboxes, we only create a new virtual printer on our server, give it a meaningful name and set it up according to our need.
However, I am not sure if you will be able to use the same solution if you need to print to files first, in my case I print directly to the printer queues. If you need to go via files, I suggest you try to print to different files, and then copy these files to your printer in the correct order.
>>with my suggestion you don't do anything special to print from the correct tray, no >tray info in the report file and no special functions are required. The clue is to >install the same printer many times and use different names. Then you configure >these 'virtual' printers with different trays using the Windows Printer settings.
>
>Yes you right!
>Let figure out for example if I want to process 50,000 statements and one field name tray have the number 1,2,3 or 4 for selecting the right tray and each tray have a special form preprint and color with different credit card ect., what will be the process to generate only one spool file or print to a file.prn.
>Maybe you have the solution I am thinking too much.
>
>EXP:
>select myTable
>scan
> do case
> case myTable.tray = 1
> store sortkey to msort
> set printer to name Prntray1
> REPORT FORM myreport.frx for sortkey = msort while sortkey =msort TO FILE myReport.prn NOCONSOLE
>
> case myTable.tray = 2
> store sortkey to msort
> set printer to name Prntray2
> REPORT FORM myreport.frx for sortkey = msort while sortkey =msort TO FILE myReport.prn NOCONSOLE
>
> case myTable.tray = 3
> store sortkey to msort
> set printer to name Prntray3
> REPORT FORM myreport.frx for sortkey = msort while sortkey =msort TO FILE myReport.prn NOCONSOLE
>
> case myTable.tray = 4
> store sortkey to msort
> set printer to name Prntray4
> REPORT FORM myreport.frx for sortkey = msort while sortkey =msort TO FILE myReport.prn NOCONSOLE
>
> encase
>
>endscan