views:

141

answers:

3

I work at a company that uses the Forms based Oracle 11i. A lot of employees complain of the redundancy of data entry and I want to write a program that will ease some of that pain since all attempts to ask IT to do it have failed.

The problem is, since Oracle Forms are Java based there are no "controls" as there would be on say a windows application or an HTML based form. Does anyone know of a way to tell the PC to (example only) click edit field 3 on the RMA creation form and then enter the data? The only way I can programmatically navigate Oracle is with hotkeys and it's very unreliable.

I'm not concerned about the language or learning a new application to resolve this issue. I currently know (elementary to Intermediate levels) Java, VB.NET and will be taking C++ in school. Is there a tool, bridge, element spy of some sort that will allow me to send commands to elements on the forms?

edit

APC sez: Oracle Forms over the web run as a Java applet. I mention this because it may be relevant to your responses.

A: 

I'm not familiar whether Oracle Forms is a thick-client installed application, a web application in pure HTML or a web application running withing a Java applet. Here are some thoughts:

For thick-client windows apps, WinBatch does a great job simulating user interaction. I have never used it for controlling web apps though but it seems like it would be able to do it, just with a bit less fine control.

For testing web apps, Selenium and HTMLUnit are two popular frameworks for simulating user input.

Dougman
It is a web application running within an Applet.
Gary
@Gary: WinBatch is probably worth a shot then.
Dougman
@Gary: Just saw this technology that also could be worth checking out: http://sikuli.csail.mit.edu/
Dougman
I will look into WinBatch as well as sikuli, thank you. Sikuli is kind of what I'm doing now. I am taking screenshots of the title bar of each window or a shot of the element I am looking for and when I expect the window to come up I will loop looking for a matching sequence of pixels. It's really tedious but MIT is more reputable than I am so I expect that this will work much more efficiently.
Well, unfortunately, while the Sikuli project is pretty cool, it isn't working for Oracle. It works in some instances but not others, it's hit or miss. Outside of Oracle it works like a charm, sure beats manually taking screen shots and coding for that, this is all inclusive. It takes the screenshot, saves and names the pic and develops the code to find it all in a few clicks. I'll take a look at WinBatch now.
+1  A: 

I would think that it would be easier to modify the Oracle Forms screens themselves. You can add PL/SQL to triggers that should be able to accomplish most anything you should need for data entry.

Lost in Alabama
A: 

I think that you should actually be able to do this with the integration techniques described in this doc Integrating Oracle Forms into Oracle ADF Faces. Oracle Forms 11g contains a new JavaScript API to allow calls into it from the containing webpage. Through this you could create some automated task flows in JS and allow the end user to select them based on criteria, etc.

REW