Discussions
Categories
- 196.7K All Categories
- 2.2K Data
- 235 Big Data Appliance
- 1.9K Data Science
- 449.8K Databases
- 221.6K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 477 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.8K SQL & PL/SQL
- 21.3K SQL Developer
- 295.4K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.1K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 153 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 158 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 394 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 170 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 230 Portuguese
Oracle 12 Webutil Spell check testing

Hello,
I finished installing, implementing Webutil and Spell check configuration on Oracle 12c Forms and Reports.
While I am testing based on document- "How To Integrate The MS Word Spell Checker With Forms Using WebUtil (Doc ID 295449.1)"
Spell check window appears behind the Internet explorer window, which would not be easy for the user to always minimize and spell check and return back to IE window.
It would be easier if the user can see the spell check window on top of the Internet explorer screen.
I have reached out to Oracle but they recommended me to go with Forums.
Any help would be appreciated.
PFA for the testing FMB for spell check.
Best Answer
-
Solution to what? I never said that using Java 11 or Forms 12.2.1.4 would solve the issue. I just suggested those as a test. If either or both fix the issue then you found your solution. If not, then someone in Support will need to help you investigate further.
If you are not willing to upgrade to 12.2.1.4, I would at least recommend setting up a test machine and trying it. Be aware that error correction support for 12.2.1.3 ends this December. I do not encourage you to wait until December to start an upgrade project. It is very important that you do it before support ends.
Michael Ferrante
Senior Principal Product Manager
Oracle
Twitter: @OracleFormsPM
Answers
-
The problem likely is the result of the applet trying to take focus back immediately after Java makes the OLE call. This is sometimes a problem in Java, but could also be Forms, or even your own code.
Here are a few suggestions:
.1. Try a different Java version. Ideally the latest. Because you are using IE you will be limited to using one in the Java 8 family (e.g. 8u291). IF you are using 12.2.1.4 (and not earlier), if the newest Java 8 doesn't change the behavior, I would recommend downloading the latest Java 11 and testing using Forms Standalone Launcher. You can also use Java 8 with Standalone Launcher. Try both. Details for using FSAL can be found here:
https://www.oracle.com/application-development/technologies/forms/forms.html#panel2
.2. It may be possible to add an "Activate" immediately after you call the spell checker. Refer to the Microsoft OLE documentation for information about this OLE method. I believe documentActivate is already used in the example code. You may be able to fire that again or directly use Activate.
.3. As an alternative, consider using Java Web Start. If it does not reproduce the problem this would be a good move regardless. With IE11 deprecated and Java plugin now desupported, moving to Java Web Start or Forms Standalone Launcher is a smart change to make so that you don't get in a situation where you need a Java fix but cannot get one because you are using Plugin. If your issue reproduces while using Java Web Start, filing a bug is a reasonable option. That said, this type of behavior may not be correctable in the Forms or Java product code. The answer to that question can only be determine with an investigation.
Michael Ferrante
Senior Principal Product Manager
Oracle
Twitter: @OracleFormsPM
-
The code I have for spell check procedure is -
PROCEDURE SPELL_CHECK (ITEM_NAME IN VARCHAR2) IS
MY_APPLICATION CLIENT_OLE2.OBJ_TYPE;
MY_DOCUMENTS CLIENT_OLE2.OBJ_TYPE;
MY_DOCUMENT CLIENT_OLE2.OBJ_TYPE;
MY_SELECTION CLIENT_OLE2.OBJ_TYPE;
GET_SPELL CLIENT_OLE2.OBJ_TYPE;
MY_SPELL CLIENT_OLE2.OBJ_TYPE;
ARGS CLIENT_OLE2.LIST_TYPE;
SPELL_CHECKED VARCHAR2(4000);
ORIG_TEXT VARCHAR2(4000);
BEGIN
ORIG_TEXT := NAME_IN(ITEM_NAME);
-- CREATE WORD.APPLICATION OBJECT
MY_APPLICATION := CLIENT_OLE2.CREATE_OBJ('WORD.APPLICATION');
CLIENT_OLE2.SET_PROPERTY(MY_APPLICATION, 'VISIBLE', FALSE);
-- GET HANDLE FOR DOCUMENTS COLLECTION
MY_DOCUMENTS := CLIENT_OLE2.GET_OBJ_PROPERTY(MY_APPLICATION, 'DOCUMENTS');
-- ADD A NEW DOCUMENT TO THE DOCUMENTS COLLECTION
MY_DOCUMENT := CLIENT_OLE2.INVOKE_OBJ(MY_DOCUMENTS, 'ADD');
-- GET HANDLE FOR SELECTION OBJECT
MY_SELECTION := CLIENT_OLE2.GET_OBJ_PROPERTY(MY_APPLICATION, 'SELECTION');
-- INSERT THE TEXT FIELD INTO DOCUMENT
CLIENT_OLE2.SET_PROPERTY(MY_SELECTION, 'TEXT', ORIG_TEXT);
-- GET HANDLE FOR ACTIVE DOCUMENT
GET_SPELL := CLIENT_OLE2.GET_OBJ_PROPERTY(MY_APPLICATION, 'ACTIVEDOCUMENT');
-- INVOKE SPELL CHECKER
CLIENT_OLE2.INVOKE(GET_SPELL, 'CHECKSPELLING');
-- Added to handle a cancel request.
CLIENT_OLE2.INVOKE(MY_SELECTION,'WholeStory');
CLIENT_OLE2.INVOKE(MY_SELECTION,'Copy');
-- GET CHECKED TEXT FROM DOCUMENT
SPELL_CHECKED := CLIENT_OLE2.GET_CHAR_PROPERTY(MY_SELECTION, 'TEXT');
-- REFORMAT RETURN TEXT TO DISPLAY CORRECTLY IN FORMS
SPELL_CHECKED := substr(replace(SPELL_CHECKED,chr(13),chr(10)), 1, length(SPELL_CHECKED));
-- COPY NEW TEXT IN THE FORM
COPY(SPELL_CHECKED,ITEM_NAME);
-- CLOSE THE DOCUMENT WITHOUT SAVING
ARGS := CLIENT_OLE2.CREATE_ARGLIST;
CLIENT_OLE2.ADD_ARG(ARGS, 0);
CLIENT_OLE2.INVOKE(MY_DOCUMENT, 'CLOSE',ARGS);
CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
-- RELEASE THE OLE OBJECTS
CLIENT_OLE2.RELEASE_OBJ(MY_SELECTION);
CLIENT_OLE2.RELEASE_OBJ(GET_SPELL);
CLIENT_OLE2.RELEASE_OBJ(MY_DOCUMENT);
CLIENT_OLE2.RELEASE_OBJ(MY_DOCUMENTS);
CLIENT_OLE2.INVOKE(MY_APPLICATION, 'QUIT');
CLIENT_OLE2.RELEASE_OBJ(MY_APPLICATION);
END;
----------------
Then I have a button to invoke the spell check procedure is -
If NAME_IN (:system.cursor_item) IS NOT NULL Then
spellcheck_MSWord (:system.cursor_item);
Else
message ('No text in field.');
End If;
---------------------
Please let me know if there is anything in the code which is making the spell check window appear in background and not in the IE window.
Thank you !
-
If I could add Activate method to display the Spellcheck window on IE window.
Where would I add the code to -
With ActiveDocument.Shapes(1).OLEFormat .ActivateAs ClassType:='WORD.APPLICATION' .Activate End With
-
Before diving into changing the code, I recommend trying my other suggestion which was to change Java versions and if that doesn't help change your client deployment configuration (e.g. test with FSAL). The issue is likely in Java. My suggestion to make the code change was only to possibly work-around the problem. Using FSAL is simple and the results of testing with it might help to offer a clue as to the root cause. If it works with FSAL it might suggest a problem with Java Plugin. Since Java Plugin isn't supported any longer your only option might be to use JWS or FSAL.
Michael Ferrante
Senior Principal Product Manager
Oracle
Twitter: @OracleFormsPM
-
Oracle Middleware version we are using is - 12.2.1.3.0, Java version on client system is - Java 8 Update 271 and few have 281.
Do I download 291 version and test with the application?
-
I have download and installed Java 8 291 32-bit, still no progress. Spell check window still appears in background rather on IE window.
I would have to try Activate Method and change the code.
-
I would suggest trying with FSAL. I would further suggest trying it with Java 8 and Java 11.
Michael Ferrante
Senior Principal Product Manager
Oracle
Twitter: @OracleFormsPM
-
I have downloaded frmsal.jar on my workstation, and tried to run fsal using Command prompt.
Here is the snap shot when I tried to run -
Any further help with FSAL would be appreciated.
Thank you !
-
You cannot use Java 11 with Forms 12.2.1.3. You would need to upgrade to 12.2.1.4, which is probably a good idea since you are having problems anyway. Upgrading from .3 to .4 is extremely simple in most cases.
Michael Ferrante
Senior Principal Product Manager
Oracle
Twitter: @OracleFormsPM
-
Is there a work around solution without upgrading from .3 to .4 ?
All we want is for the spell check which is appearing in background to be appeared upfront on the IE window, which we click 'spell_check' button.
This has been a huge request from our end users to be used. I do not think, we have any plan on upgrading yet.
Webutil installation, testing did already took a lot of months for us. We are stuck at this very last step.