We are migrating our Forms 6i application to Forms 10g.
We have a specific requirement to print the address onto a label. Unlike other reports, the output
of this report is not sent to the screen but rather sent straight to the printer.
In Forms 6i application, as soon as the user clicks on a button to print the address, a printer dialog box appears (using
Win_Api_Dialog.Select_Printer) to enable the user to select the printer which
he can print the label on. After selecting the appropriate printer and clicking
on OK button, the address is printed onto a label on that printer.
Now we want to replicate the same thing in Forms 10g environment. However in Forms 10g I am
not aware of any built-in that brings the Printer setup dialog box. I have used
Set_Report_Object_property (report_id, REPORT_DESTYPE, PRINTER). Hence the
output of the report goes to the printer which is setup on the Application
Server and not to the user's local machine's printer.
It is very important for us to give the user a choice to select the printer.
Does anyone know the possible work around for this problem ?
Your comments/suggestions will be much appreciated.
If sending to the local printer is a must, then I think it might be easier displaying the report in PDF in the browser and
select whichever printer you like.
If thats not an option then you might have to look into putting all the printers into the network and maintain a table
for all the printers. Then in the param-form whenever a user selects destination Printer then pop-up a LOV with all the available printers.
Your second option ("putting all the printers into the network ") doesn't seem to be feasible given the wide user base across many offices. Also, there is no parameter form in the existing 6i version of "Address" report. So this option is ruled out.
Regarding your first option ("displaying the report in PDF "), I did try that way. But the problem is that it opened the report in PDF in A4 size whereas the size of our label is roughly 2 inch x 4 inch. So when I printed it onto the label, it printed the address in a very small letters, which we can't read.