470,647 Members | 1,229 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,647 developers. It's quick & easy.

Crystal in Oracle forms

I am trying to imbed crystal in oracle. I got the following steps from the web.
when i try to run the created from , iget the error frm-41344.

Any suggestions.


STEPS TO display the Crystal Report in Oracle Forms 6i:

**NOTE: This assumes that you already have Crystal Reports installed on your machine.

1. Create a new form.
2. Create a control block, name it 'CONTROL'.
3. Create a CONTENT canvas, name it 'REPCAN'.
4. Create an ActiveX control on the canvas, name it 'CrystalReport1'.
5. Create an Image item and name it 'REP'. (Make sure that image item overlaps
the ActiveX control completely; this image item is only used to get the item
handle. Enlarge this object such a way that it will fit the window; the
report gets displayed in this item so the item size should be adeqately
6. Right click on the ActiveX control item and select "Insert Object" from the
7. From the list select "Crystal Report Control".
8. Select the Program->Import OLE Library Interface Menu in the form.
9. Select Crystal.CrystalReport from the List. (This will list two methods
and one Event. The two methods are CrystalCtrl and IRowCursor, the event is
10. Select all three and click on the OK button to accept. (This will
create the PL/SQL wrapper program units).
11. In the "When-New-Form-Instance" trigger of the form, put the following

charWinHandle VARCHAR2(50);
numWinHandle NUMBER;


charWinHandle := Get_Item_Property('Control.Rep',Window_Handle);
numWinHandle := To_Number(charWinHandle);

:Item('Control.CrystalReport1').OCX.Crystal.Crysta lReport.WindowParentHandle
:= numWinHandle;

:Item('Control.CrystalReport1').OCX.Crystal.Crysta lReport.WindowState := 2;

:Item('CONTROL.CRYSTALREPORT1').OCX.Crystal.Crysta lReport.Connect
:= 'DSN=;UID=' || Get_Application_Property(UserName) ||
';pwd=' || Get_Application_Property(password) || ';dsq=;';

Crystal_CrystalCtrl.ReportFileName( :Item('Control.CrystalReport1').interface,
'C:\Sample_Rep.Rpt' );

Set_Window_Property( Forms_Mdi_Window, Window_State,Maximize );
Set_Window_Property( 'MAIN', Window_State, Maximize );

:reptitle := 'Report Preview Window';

numWinHandle := Crystal_CrystalCtrl.PrintReport( :Item('Control.CrystalReport1').interface );


**NOTE: Change the report name and path according to your required file name and path in
the "Crystal_CrystalCtrl.ReportFileName" method call. Also, the connection string shown
assumes that you will use the current USER and PASSWORD for the Form.

12. To make the above Form generic so that you can run any Crystal report from it, then create
a parameter for the report name and pass it to the Form using CALL_FORM from any other Form.
Then just replace the file name with the passed parameter.

13. Run the Form.
Feb 10 '07 #1
0 5186

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

13 posts views Thread by kristoff plasun | last post: by
4 posts views Thread by Azhar Bilgrami | last post: by
1 post views Thread by Korara | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.