Calling Excel from reports
Dear all,
From the report runtime preview is it possible to export the data displayed to excel thru OLE2 or any other method.
Is it at all feasible..the how..
Using reports 6i
pl. email also to [email protected]
regards,
Hi ,
try with generate file to delimited.
So that you can get .csv file.
--Basava.S
Similar Messages
-
Hi
can anyone help me how to call excell from RDF in reports6i (means i want to call reports in excel format)
Thank you
Kamaraj
Edited by: user615671 on Jan 28, 2009 8:12 PMHi,
Google "concsub"
Regards,
Gareth
Blog: http://garethroberts.blogspot.com/ -
Hi
Is there anyway to call excell from Reports6i.if it is please tell me how
Thnks
KamarajOf course it can be done!!!!
The way to do it is using OLE2 Built In Package.
This is the way of call Word from Forms, but it also works for Report and Excel.
HOW TO - Performing OLE on the client using WebUtil
Introduction
Many Forms applications utilize OLE to perform tight integration with the Windows desktop. However, when moving your Forms application to the Web, the calls to OLE are now running on the application server and not the client machine.
Typically you need OLE to access the machine at which the user is sitting and integrate with the OLE services on the client. For example, loading data into an Excel worksheet and display for the user.
WebUtil provides you the functionality to perform client side OLE integration from within the Forms Java applet.
Set up
For the steps to set up WebUtil, please refer to the WebUtil Familiarization Manual available as part of the software download.
Changing code
Consider the following code:
DECLARE
app OLE2.OBJ_TYPE;
docs OLE2.OBJ_TYPE;
doc OLE2.OBJ_TYPE;
selection OLE2.OBJ_TYPE;
args OLE2.LIST_TYPE;
BEGIN
-- create a new document
app := OLE2.CREATE_OBJ('Word.Application');
OLE2.SET_PROPERTY(app,'Visible',1);
docs := OLE2.GET_OBJ_PROPERTY(app, 'Documents');
doc := OLE2.INVOKE_OBJ(docs, 'add');
selection := OLE2.GET_OBJ_PROPERTY(app, 'Selection');
-- insert data into new document from long item
OLE2.SET_PROPERTY(selection, 'Text', :long_item);
-- save document as example.doc
args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, 'c:\temp\example.doc');
OLE2.INVOKE(doc, 'SaveAs', args);
OLE2.DESTROY_ARGLIST(args);
-- close example.doc
args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, 0);
OLE2.INVOKE(doc, 'Close', args);
OLE2.DESTROY_ARGLIST(args);
OLE2.RELEASE_OBJ(selection);
OLE2.RELEASE_OBJ(doc);
OLE2.RELEASE_OBJ(docs);
-- exit MSWord
OLE2.INVOKE(app,'Quit');
END;
This code opens a Word document to the user and inserts data from a Forms text field into that Word document before saving and closing the file. To perform the same functionality, but on the client side when deployed on the Web, attach the WebUtil object library and PL/SQL library, and replace any instance of OLE2 with CLIENT_OLE2.
The resulting code will now work, as before, but write the file to the client machine.
DECLARE
app CLIENT_OLE2.OBJ_TYPE;
docs CLIENT_OLE2.OBJ_TYPE;
doc CLIENT_OLE2.OBJ_TYPE;
selection CLIENT_OLE2.OBJ_TYPE;
args CLIENT_OLE2.LIST_TYPE;
BEGIN
-- create a new document
app := CLIENT_OLE2.CREATE_OBJ('Word.Application');
CLIENT_OLE2.SET_PROPERTY(app,'Visible',1);
docs := CLIENT_OLE2.GET_OBJ_PROPERTY(app, 'Documents');
doc := CLIENT_OLE2.INVOKE_OBJ(docs, 'add');
selection := CLIENT_OLE2.GET_OBJ_PROPERTY(app, 'Selection');
-- insert data into new document from long item
CLIENT_OLE2.SET_PROPERTY(selection, 'Text', :long_item);
-- save document as example.doc
args := CLIENT_OLE2.CREATE_ARGLIST;
CLIENT_OLE2.ADD_ARG(args, 'c:\temp\example.doc');
CLIENT_OLE2.INVOKE(doc, 'SaveAs', args);
CLIENT_OLE2.DESTROY_ARGLIST(args);
-- close example.doc
args := CLIENT_OLE2.CREATE_ARGLIST;
CLIENT_OLE2.ADD_ARG(args, 0);
CLIENT_OLE2.INVOKE(doc, 'Close', args);
CLIENT_OLE2.DESTROY_ARGLIST(args);
CLIENT_OLE2.RELEASE_OBJ(selection);
CLIENT_OLE2.RELEASE_OBJ(doc);
CLIENT_OLE2.RELEASE_OBJ(docs);
-- exit MSWord
CLIENT_OLE2.INVOKE(app,'Quit');
END; -
I need to invoke Excel from Reports 3.0.
I need to invoke Excel from Reports 3.0. I need to insert into
Excel Data which is output of a report. Can someone help me with
a sample code of how we can invoke Excel and Get data.
Thanks in Advance
RaviRavi,
The Forms Demos include an example of how to do this.
It will be easy to adapt to Reports (the OLE2 built-ins are the
same).
Also, Reports 3.0 is quite old and not supported anymore.
Hope this helps,
Pedro
[email protected] -
Hi...
We can call Reports from Forms using RUN_REPORT_OBJECT or RUN_PRODUCT. Can we call Forms or any other product from Reports? If so, how can we do it? If anyone can help me in this...Hi Gayathri
As such there is no product integration for calling Forms from Report. You can call 6i graphics from Reports 9i if you are running a 6i rdf file with OGD object in it and if you have a 6i home set in the same machine where Report s9i is running. For Form, if you wish to run it as an independent request, in Reports 9i, you can always import a java class in Reports and then call that class method in any of the triggers which in turn send out a Forms request to Forms servlet.
Thanks
Rohit -
Calling graph from Reports created in graphics builder?
Can you call a graph from Reports 6.0 that was created in Graphics Builder. I know you can call a graph from Forms. I tried creating my graph right in Reports with the wizard but for some reason it does not give me the fields I want to use in the available fields column, so I created the graph in Graphics Builder. Do you use a trigger of some sort. Any examples would be appreciated if this is possible. Thanks
Justin Beno:
Yes, you can call a graph from inside a report. All you need to do is select the button with the graph on it (not the icon with the wand, which indicates chart wizard). Then draw graph in the area of the report where you want the graph to display. After completing this, right click on graph, select Property Palette, Chart - Chart Filename (this is where you will type in the directory and filename of your graph that you created in Oracle Graphics).
~Vannette -
Calling BSP from report and return control back ?
Hi All,
My requirement is as follows :-
1. I am calling a BSP from report using CL_GUI_HTML_VIEWER->show_url. The BSP page is displayed successfully.
2. Then, I perform some operations and want to return some data back to the main program (from where it was called - Report) and continue execution from there
How do I accomplish the second requirement (Control doesnt come back once I close the BSP) ?
Regards,
Ashishhow to generate events from html code in the html control back to your ABAP check out this demo program
SAPHTML_EVENTS_DEMO
say for example, in your case you are showing the BSP in GUI HTML control and on clicking a link you want to pass some data from your link to ABAP program and the ABAP should receive the value and process it and may be comeback to same BSP or go some to some other screen/transaction.
steps to follow:
after creating the html control
register event for call back and call the BSP url.
create object hviewer
exporting
parent = mycont.
myevent-eventid = hviewer->m_id_sapevent.
myevent-appl_event = 'x'.
append myevent to myevent_tab.
call method hviewer->set_registered_events
exporting
events = myevent_tab.
create object evt_receiver.
set handler evt_receiver->on_sapevent
for hviewer.
hviewer->enable_sapsso(
exporting
enabled = 'X'
exceptions
cntl_error = 1
others = 2
if sy-subrc <> 0.
endif.
call method hviewer->show_url
exporting
url = wf_url.
in your BSP the link should look like below
A HREF=SAPEVENT:TAGS?value to be passed to your ABAP> link text </a
when you click this link in bsp then you can then capture the value "TAGS" to know which link was clicked and the value passed after the ?
link is just one option, you can also send whole form data.
this type of link and form will only work when your BSP is invoked within HTML contro. if its invoked from standalone browser these wont work. so you amy want to dynamically show/hide "sapevent" links based on where it runs.
Hope this is clear. if not do getback.
Regards
Raja
Edited by: Durairaj Athavan Raja on Sep 9, 2008 1:04 PM -
Calling VA01 from Report,how to get the Sales Order No when Back.
Hi all,
I have a requirement of calling va01 from the report and have done that using
did recording ...&
call transaction va01 using bdcdata.
but my problem is when back from that trasaction i have to get the sales order that is created . Is it possible to retrieve that value from va01 .i am unable to get . anyone pls shareUse the addition MESSAGES INTO itab with call transaction va01 using bdcdata.
Effect of MESSAGES INTO itab:
Using this addition, all the messages sent during batch input processing are stored in an internal table itab of the type BDCMSGCOLL from the ABAP Dictionary.
If the call transaction is successful then retrieve the last message from itab and then in any field among MSGV1,MSGV2,MSGV3,MSGV4 of itab u will get the document no.
And when doing the call transaction pl. choose update mode as 'S' or 'L'.
Regards,
Joy. -
Calling form from report urgent please
hi every body
i am using form and report 6i
i create a report and in report i create buttons front of all records
i want to call a from from that button related to that record show in report
can i do this if yes how can i do this
thanks in advance khuda hafizany body tell me about my problum
thanks -
Export to Excel from Report region (pl/sql returning sql query)
Hello all,
I have encountered an interesting problem. I have an HTMLDB application with a lot of sql reports coded straight inside the report region. In order to better organize my reports, I decided to
1. make all my report regions of type "Pl/Sql function returning SQL query"
2. create a package inside my database schema which houses all reports as pl/sql functions returning VARCHAR2, the string returned being the report query
3. just calling "return package_name.function_name" from inside my report region of type "Pl/sql function returning SQL query".
This technique seemed to work perfectly. The reports were being returned as expected. I was then asked to provide the "Export to Excel" capability to all my reports. This seemed like a piece of cake using HTML DB's "Export to Excel" extension. However, the "export to excel" does not function correctly when my reports are inside a package in the database. HTML DB tries to export but inside the excel spreadsheet, instead of seeing row data, I see:
<pre>failed to parse SQL query:
ORA-00936: missing expression
<!-- select a.username, b.table_name, 'View Row Data' from schema_browser_user_list a, all_tables b where a.user_id = and a.username = b.owner order by b.table_name asc
--!>
</pre>
I am building my query string inside of my package functions by using a combination of literal strings and concatenating them with some parameter values being passed in. It seems that the HTML DB engine which exports the report to excel does not properly understand the concatenation of variables as can be seen by the empty space to the right of the equal sign in the "a.user_id = " clause. Does anybody have any input as to whether this is a known issue or if I am doing something wrong? Thanks a lot for your time.
- Kenny R.James,
Thanks for the quick reply. I think you mis-understood what I'm doing. All I'm doing is creating packaged functions which return VARCHAR2. The VARCHAR2 that they return is the report query. With this technique, I no longer have to type the query into the HTML DB report region. Instead, I make the report region a "Pl/sql function returning sql query" and make the following call: return package_name.function_name(some_application_items passed in as parameters)
This makes for a much more organized html db app. The problem is that the "export to excel" function does not correctly interpret the VARCHAR2 that my packaged functions are returning. Is this a better explanation? Thanks again for your time.
- Kenny R. -
How to open or call Excel from an Oracle Form in Apps11i
I have a custom form in Apps 11i from which I need to be able to open an Excel spreadsheet. I'm aware that it is possible to a spreadsheet that is available on the local drive from a form, but can it be done from Applications ?
If you do by yourself, you may call report in excel format, as of editing and saving back to database, you may need think other ways.
webutil may be hhepful. -
How to generate a report to a file calling it from report client
Hey there,
I am pretty new to the whole Oracle world. I have found very little technical books about Report Builder or Report Designer (whichever you prefer to call). Therefore I am unable to figure this out. I know I can generate my report to a certain number of file types if I am running it from the Report Designer 6i, but my user are calling from a application trough the Report Client. I would like to know how I can let them choose whether to preview on screen or to send to a file (a .html file would do). If anybody out there can help me out I will really appreciate.
Thanks a lot,
Gleisson SilvaThanks a lot ! ! ! This was easy enough ! Now I only have a problem, when I run the report with the output file as a html file, my columns lost their default layout. For example, column which is 10 characters long becomes like 8 characters. As opposed to any other file type. Is there some configuration that I need to do?
Once again thanks!
Gleisson Silva -
Re: How to save/download the report in excel from Report painter.
Dear Sapmates,
I have created Cost element and Cost centere reports using report painter. Both the reports consists of nine coloumns. I would like to have the report in the excel. I tried the folliwng options :
1. System -> List -> Save -> Local file
2. Settings -> Options -> Microsoft Excel
3. Print and then try to save using the spool request number using SP02.
But neither of the ways worked to download or save the file in the excel format.
Could anybody of you please help me out with this.
Many thanks in advance.
Best regards,
Pabbi.After executing the report, select from the top menu:
Report --> Export
In the export to presentation server screen, select spreadsheet as the export format and enter the file location and name in the output file section. Then hit enter or click on the green check mark.
another pop up box will show and this time click on continue.
It will now create the output. check the output location you have entered before for the file.
Hope this helps.
Shail -
Output required in MS Excel from Reports Oracle 10g error with built in pac
Hi All,
Our requirement is to get matrix report output in MS Excel. For that i found a report online. However, im having issues with Built-in Package OLE2.obj_type.
Below is the report log file:
******* Custom: Version : UNKNOWN
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
XX_MATRIX_REPORT module: XX_MATRIX_REPORT
Current system time is 10-AUG-2012 17:23:17
+-----------------------------
| Starting concurrent program execution...
+-----------------------------
APPLLCSP Environment Variable set to :
Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
American_America.UTF8
Enter Password:
REP-0736: There exist uncompiled program unit(s).
REP-0736: There exist uncompiled program unit(s).
REP-1247: Report contains uncompiled PL/SQL.
REP-0069: Internal error
REP-57054: In-process job terminated:Terminated with error:
REP-1247: There exist uncompiled program unit(s).
REP-1247: Report contains uncompiled PL/SQL.
Report Builder: Release 10.1.2.3.0 - Production on Fri Aug 10 17:23:19 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Start of log messages from FND_FILE
End of log messages from FND_FILE
Program exited with status 1
Concurrent Manager encountered an error while running Oracle*Report for your concurrent request 11242010.
Review your concurrent request log and/or report output file for more detailed information.
Executing request completion options...
Output file size:
0
Finished executing request completion options.
Concurrent request completed
Current system time is 10-AUG-2012 17:23:20
Please Help!!!After Report:
function AfterReport return boolean is
begin
RPT2XLS.release_memory;
srw.user_exit('FND SRWEXIT');
srw.message(101,'After Report');
return (TRUE);
end;
RPT2XLS package body:
PACKAGE BODY RPT2XLS IS
TYPE ExcelCell IS RECORD(RowNo binary_integer,
ColNo binary_integer,
Val varchar2(2000),
FontName varchar2(20),
FontSize binary_integer,
FontStyle binary_integer,
FontColor binary_integer,
BgrColor binary_integer,
Format varchar2(60),
Align xlHAlign
TYPE ExcelCells IS TABLE OF ExcelCell;
Cell ExcelCells := ExcelCells();
CurrentRow binary_integer := 1;
PROCEDURE new_line IS
BEGIN
CurrentRow := CurrentRow + 1;
END;
PROCEDURE put_cell(ColNo binary_integer, CellValue in varchar2,
FontName in varchar2 DEFAULT null,
FontSize in binary_integer DEFAULT null,
FontStyle in binary_integer DEFAULT null,
FontColor in binary_integer DEFAULT null,
BgrColor in binary_integer DEFAULT null,
Format in varchar2 DEFAULT null,
Align in xlHAlign DEFAULT null
) IS
BEGIN
Cell.Extend;
Cell(Cell.Last).RowNo := CurrentRow;
Cell(Cell.Last).ColNo := ColNo;
Cell(Cell.Last).Val := CellValue;
Cell(Cell.Last).FontName := FontName;
Cell(Cell.Last).FontSize := FontSize;
Cell(Cell.Last).FontStyle := FontStyle;
Cell(Cell.Last).FontColor := FontColor;
Cell(Cell.Last).BgrColor := BgrColor;
Cell(Cell.Last).Format := Format;
Cell(Cell.Last).Align := Align;
END;
PROCEDURE run IS
Application OLE2.OBJ_TYPE;
Workbooks OLE2.OBJ_TYPE;
Workbook OLE2.OBJ_TYPE;
Worksheets OLE2.OBJ_TYPE;
Worksheet OLE2.OBJ_TYPE;
WorkCell OLE2.OBJ_TYPE;
WorkColumn OLE2.OBJ_TYPE;
WorkFont OLE2.OBJ_TYPE;
WorkInterior OLE2.OBJ_TYPE;
ArgList OLE2.LIST_TYPE;
BEGIN
Application := OLE2.create_obj('Excel.Application');
OLE2.set_property(Application, 'Visible', 1);
Workbooks := OLE2.get_obj_property(Application, 'Workbooks');
Workbook := OLE2.invoke_obj(WorkBooks, 'Add');
Worksheets := OLE2.get_obj_property(Workbook, 'Worksheets');
Worksheet := OLE2.get_obj_property(Application, 'ActiveSheet');
for i in Cell.First .. Cell.Last
loop
if Cell(i).Val is not null then
ArgList := OLE2.create_arglist;
OLE2.add_arg(ArgList, Cell(i).RowNo);
ole2.add_arg(ArgList, Cell(i).ColNo);
WorkCell := OLE2.get_obj_property(Worksheet, 'Cells', ArgList);
ole2.destroy_arglist(ArgList);
ole2.set_property(WorkCell, 'Value', Cell(i).Val);
ole2.set_property(WorkCell, 'NumberFormat', Cell(i).Format);
if Cell(i).Align is not null then
ole2.set_property(WorkCell, 'HorizontalAlignment', Cell(i).Align);
end if;
WorkFont := OLE2.get_obj_property(WorkCell, 'Font');
WorkInterior := ole2.Get_Obj_Property(WorkCell, 'Interior');
if Cell(i).FontName is not null then
OLE2.set_property(WorkFont, 'Name', Cell(i).FontName);
end if;
if Cell(i).FontSize is not null then
OLE2.set_property(WorkFont, 'Size', Cell(i).FontSize);
end if;
if mod(Cell(i).FontStyle, 2) = 1 then
OLE2.set_property(WorkFont, 'Bold', 1);
end if;
if mod(Cell(i).FontStyle, 4) > 2 then
OLE2.set_property(WorkFont, 'Italic', 1);
end if;
if mod(Cell(i).FontStyle, 8) > 4 then
OLE2.set_property(WorkFont, 'Underline', 2);
end if;
if Cell(i).FontColor is not null then
OLE2.set_property(WorkFont, 'ColorIndex', Cell(i).FontColor);
end if;
if Cell(i).BgrColor is not null then
OLE2.set_property(WorkInterior, 'ColorIndex', Cell(i).BgrColor);
end if;
OLE2.release_obj(WorkInterior);
OLE2.release_obj(WorkFont);
OLE2.release_obj(WorkCell);
end if;
end loop;
ArgList := ole2.create_arglist;
ole2.add_arg(ArgList, 'A:Z');
WorkColumn := ole2.Get_Obj_Property(WorkSheet, 'Columns', ArgList);
ole2.destroy_arglist(ArgList);
ole2.invoke(WorkColumn, 'AutoFit');
OLE2.release_obj(WorkColumn);
OLE2.release_obj(Worksheet);
OLE2.release_obj(Worksheets);
OLE2.release_obj(Workbook);
OLE2.release_obj(Workbooks);
OLE2.release_obj(Application);
END;
PROCEDURE release_memory IS
BEGIN
Cell := ExcelCells();
SYS.DBMS_SESSION.free_unused_user_memory;
END;
END;
We are getting the error in log file Report contains uncompiled PL/SQL.
due to ole2.obj_type... -
Hi all,
Please help me out, I need to call Form6i form Report6i.
Thanks in advanceHi all,
the below mentioned documents will help u.
Under Developer 2000 (Release 1.2) on Windows, there exists a pl/sql library
which can be used to invoke excutables residing on the PC. The library
(D2KWEXEC.PLL, located in the FORMS45/DEMO/REUSE directory) is attached to
the Report in the following manner:
1) Modify the D2KWEXEC.PLL to change any references to the Forms built-in
MESSAGE to the Reports built-in SRW.MESSAGE.
2) Choose the 'Attached Libraries' section for your report and select the
'Navigator/Create' menu option - this will cause the 'Attached Library'
dialog to be displayed.
3) Use the 'Find' button to locate the library file (D2KWEXEC.PLL) and then
attached it to the report using the 'Attach' button. A warning is
displayed you that a hard coded path name is being used and gives the
option of removing it. If the full path is removed, then the
FORMS45_PATH variable will be used subsequently to locate the library.
The directory in which the library is located must be part of
FORMS45_PATH.
Then select the appropriate trigger from where Oracle Forms should be invoked
from. In that trigger reproduce the following code:
function return boolean is
command_string VARCHAR2 (100);
BEGIN
command_string := 'c:\orawin\bin\f45run.exe';
RETURN d2k_winexec.execute (command_string);
END;
Note: 'command_string' contains the full path of the Oracle Forms
Runtime executable.
When the trigger fires, the Forms Runtime Executable is invoked
automatically.
Regards
Gopinath M
Maybe you are looking for
-
I've tried resetting my downloads folder to default, but it just goes back to the downloads folder on my work server that I won't be able to connect to until next month. When I try to select a different download folder, the "browse" button doesn't wo
-
I made a slide show using iMovie then created a dvd using iDVD. When watching the dvd using a dvd player after sevral minutes of playing properly it starts to show glitches, noise, momentarily stops and the music hesitates then it continues normally
-
Firewire 800 to thunderbolt Adapter
does the speed go down? I got a harddisk with firewire 800 out and my mbp retina doesn't have a firewire 800 fit. I saw the adapter from firewire 800 to thunderbolt. but do you still keep the speed that firewire 800 has?
-
How to add bullet on every enter event in text field
Hello, Can someone please point me in the right direction. I am trying to add a bullet every time someone presses enter on the keyboard. this is within a textfield. Thank you, Howard
-
Sales Order Not Getting Converted to Production order
Hi gurus, I have a sales order and when on MTO process i try using CO08 to create a production order using with order type ZP02 , sales order no , item no , production plant the production order doesnt gets created . could anyone help me