trying to integrate oracle forms with libreoffice

hi

In my organization we have some applications built with oracle forms which generate .doc and .xls documents, as we are migrating to LibreOffice we are trying to remove the office suite from the pc's but the users with these applications can't make the switch.

the problem is that oracle forms generates the documents in the client using ole2 calls (https://en.wikipedia.org/wiki/Object_Linking_and_Embedding) to the office suite through a component called webutil (http://www.oracle.com/technetwork/developer-tools/forms/webutil-090641.html)

ole2 is well supported by libreoffice so in theory the connection from oracle forms to libreoffice through webutil is possible:
http://wiki.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/Automation_Bridge

the problem is that it seems that the webutil component was developed only with the microsoft office suite in mindand there is not guarantee to it functioning well with other suites:
https://forums.oracle.com/message/4190690#4190690

has anybody faced this problem before? is possible to make libreoffice work with webutil or there is another similar component already developed with the same funcionality?

thanks

I'm very interested in an answer to this problem, as this is precisely what opened the can of worms alllwing Microsoft Office into our office.

We use Quickbooks Enterprise, and it does the same thing - when you generate reports, it uses direct ole calls to either excel or word, which meant we *had* to install Office on our Accountant's computers. Once they got it, everyone else started claiming they *needed* it for one reason or another.

libreofffice works well with ole, you can test it with the script in this
page:
http://www.openoffice.org/udk/common/man/tutorial/office_automation.html

the problem is that the libreoffice's api is not the same as the one of m.
office so you must adapt the ole calls to do the work with libreoffice. this
is not a lot of work if you have already worked a bit with libreoffice
macros, some months ago I adapted an app which did the calls with jscript in
this way and was quite easy

the problem happens when the calls are inside a closed source component
(probably your situation) or you have an obscure mediator component (my
situation)

regards

Hi

at the end I could made this work, the integration between libreoffice and
webutil fails for two reasons:
-there was no an adequate procedure for passing arrays as call arguments
-the version of the jacob java library which comes with oracle forms 10gR2
was very old and doesn't support passing a arrays as arguments

I made a small component similar to webutil which uses a newer jacob library
and implements the call for passing arrays as arguments. I have done some
basic testing (open a new document a save it with some text) and it works.

I can't make the code public as the code is derived from Oracle code which
comes with the Oracle Forms server but if anybody needs it I can send it in
a private message

best regards

Hi :slight_smile:
If this is a patch then perhaps you could make it into an Extension?  Extensions can be licensed any way you like.  there is a suggestion to use a copy-left license such as MPL or LGPL but really i think the choice is yours.

However if you did make it from code from Oracle then you will need their permission and i can't imagine them being happy about doing something that would help LibreOffice.  If the Extension works with Apache OpenOffice they might be happy with that as long as you didn't mention LibreOffice in the process. 
Regards from
Tom :slight_smile:

I have ended finding another solution for this.

As OLE is a Microsoft Windows technology connecting LibreOffice with Oracle
Form through it will only work on Windows. To build a Linux compatible
solution required another focus so after thinking a bit I found that using
jopendocument (http://www.jopendocument.org/) to do the job would be very
nice and portable.
the problem with this is that jopendocument's api is too much large to build
a component wrapper for it in Oracle Forms in a quick time so I thought
about wrapping it with another more simple thing and wrap that final
component in Oracle Forms

At the end I have build a wrapper for beanshell (http://www.beanshell.org/)
which is very simple and with it I do the calls to jopendocument.

the code and a sample of integration with jopendocument is here if anybody
wants to use it:
http://sourceforge.net/projects/oformsbeanshell/

best regards