• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1404
  • Last Modified:

how to have the report printed from the user's selected printer

Hello oracle masters,

Question:  How do I get a report executed from a form and printed to the printer that the user chose?  I need the form to run the report, then ask the user which printer he wants the report to print (list of printers = installed printers in the current client pc).

Software Info:  I'm currently using ORACLE FORMS DEVELOPER 6i and Database 8i.

Sample Data:  In the Sampleform.fmb, there's a button with the following 'When-Button-Pushed' trigger:
repid := find_report_object('INVOICE');
v_parameter := 'paramform=no,INVNO='||:TABLE.invno;
set_report_object_property(repid,report_other,v_parameter);
v_rep=run_report_object(repid);

In the reports group of Sampleform.fmb, the INVOICE is set to the following:
Filename = print_invoice.rdf
Execution Mode = Runtime
Report Destination = Printer

The print_invoice.rdf has a user parameter INVNO and the query needs this parameter to run the form.

Any suggestions would really be appreciated....
zandy-
0
zandyl
Asked:
zandyl
  • 3
  • 3
1 Solution
 
nlabbe5Commented:
Include the D2KWUTIL.PLL library to your form.

Add a button with a WHEN-BUTTON-PRESSED trigger:

DECLARE
 PrinterName        VARCHAR2(100);
 Port               VARCHAR2(100);
 RaiseExceptions  BOOLEAN ;
     
BEGIN

  Win_Api_Dialog.Select_Printer
    (PrinterName ,
     Port,
     RaiseExceptions );
 
END;



0
 
zandylAuthor Commented:
how do i find these file?  i tried adding it into the attached libraries but its not in the list - even when i tried looking for it in the oracle home directories .

0
 
nlabbe5Commented:
I found d2kwut60.dll in C:\ORANT\BIN directory.  In the documentation, they talk about D2KWUT32.DLL but I did not find it in my directories.

I just wrote D2KWUTIL.PLL and Oracle Forms found it automatically.  
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
zandylAuthor Commented:
okay, i found it but now its giving me the following error:
'FRM-40734: Internal Error: PL/SQL error occured'

any suggestions....
zandy-
0
 
zandylAuthor Commented:
could anyone suggest where i could download these 'demo oracle libraries' for developer 6i version?

zandy
0
 
nlabbe5Commented:
What is your OS? Your Forms Developer version?

Anyway, I found this on http://metalink.oracle.com:

fact: Oracle Forms Developer 6.0.8.8.0
fact: Oracle Forms Developer 4.5
fact: MS Windows NT 4.0 (32-bit)
fact: SF40
fact: Attached the d2kwutil.pll package
symptom: Error from select_printer: FRM-40734
symptom: win_api_dialog.select_printer(v_printer,v_port,TRUE);
symptom: Frm-40734 Internal error PL/SQL error occured
cause: It is not the correct d2kutil.dll


fix:

1. Copy the latest d2kwutil from the following location:
ftp://oracle-ftp.oracle.
com/dev_tools/patchsets/dev2k/Win95NT/d2kwutil/
2. Extract over the existing files (all files in the self extract archive)
3. Copy the d2kwut60.dll in ORACLE_HOME\BIN directory.
See also <BUG:1293747>

0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now