Printing multiple records on a form

GCC gccconsulting at comcast.net
Tue Jun 7 07:02:24 PDT 2005


 

> -----Original Message-----
> From: filepro-list-bounces at lists.celestial.com 
> [mailto:filepro-list-bounces at lists.celestial.com] On Behalf 
> Of Butch Ammon
> Sent: Monday, June 06, 2005 2:39 PM
> To: filepro-list at lists.celestial.com
> Subject: Printing multiple records on a form 
> 
> Message From butch At 02:28P On Mon Jun  6 2005:
> 
> I can't use "FORM".  You see, in our purchase file you have 
> multiple records with the same PO#.  (item 1, item 2, item 3, etc...)
> 
> "FORM" will just print one item of the PO#.
> 
> I have come up with a popup listbox of choices, which is okay 
> as a workaround.
> 
>   1: Get a new Purchase Order#
>   2: Manually use another PO#
>   3: PRINT (print your PO Form)
>   4: Exit
> 
> This little popup appears as soon as you enter dclerk.  If 
> you hit #3, it prompts you for the PO#, then captures your 
> input into a selection set.  Then it does the system command 
> for dreport and prints "POform" with all records/items for 
> that PO.  The only pain is that you have to remember your 
> previous PO# that you entered (from #1).
> 
> The purchase dept is curious about having filePro "remember" 
> the PO# over and over and as soon as they are done, it 
> automatically will print all the records/items for the PO#, 
> but the issue is - they are still on a particular record 
> (example: item 3 of 3, of  PO# 114979).
> 
> Butch Ammon
> Super Radiator Coils
> Richmond, VA
> 
> ==============================================================
> ==============
> 
> What "special printing and processing" needs to be done that 
> can't be done in *clerk?  Is it a simple matter of FORM not 
> running the output processing?  If so, simply CALL the output 
> processing rather than doing a FORM, and end the output 
> processing with:
> 
>     If:  @sn ne ""
>   Then:  FORM "formname"
Butch,

I have a couple of applications printing an order and/or invoice form from clerk
(windows) using the form command.  The order/invoice form is printed from the
order header file.  The form uses dummy fields to hold the information from the
detail file.  I fill all of the dummy fields first using a lookup next to get
the number of records corresponding to the number of fields(line) on the order
form page.  The form command is issued and the page printed.  The routine loops
back to print the next page etc. 

One thing, I get a count of the number of records to print prior to starting the
printing and the calculate the number of pages to be printed.  This allow me to
print page of xx on each page.  

You can apply any processing to each line as it is read in.  Also, if you design
your form properly, you can vary the bottom section of the form depending on
where you are in your print process.  Yes, one could also use formm to print
different "headers" and "footers" but I found it easier to use dummy variables
and fill the according to what I needed to print.

One advantage to this method, I think, is that you aren't using a system call,
which on *nix, may require additional user licenses if used often.

By the way, another advantage to this method is that the sort sequence of the
order or invoice may be varied if necessary as long as an index, in the detail
file, has been created in the sequence desired.

This can be a call table or part of your input processing in a routine called
"printit" or what ever you want.

Richard Kreiss
GCC Consulting 




More information about the Filepro-list mailing list