Hi all, I am using Oracle Forms [64 Bit] Version 12.2.1.0.0 (Production).
DDE is dynamic data exchange, it is basically getting values from another program installed on a windows machine.
The application I am working on was migrated from 6i to 12c forms.
The forms 6i version used the dde built in package to interact with software installed on the machine.
After upgrading to forms 12c with weblogic it seems like the dde is executed on the server.
Forms help has:
DDE.APP_BEGIN Begins a DDE server application.
DDE.APP_END Ends a DDE server application.
DDE.APP_FOCUS Focuses a DDE server application.
My requirement is to use dde to interact with a client application
There were similar questions but they are on old threads so I'm hoping there is a solution now.
(there is no client dde https://community.oracle.com/message/4064390#4064390 )
(webutil does not have client_dde https://community.oracle.com/message/714453#714453 )
Will someone be able to give me direction on how to use dde on 12c forms with the application being interacted with residing on the client machine?
example
Using excel to test dde(excel is not a requiment, dde is), I get the error: 106561: non-ORACLE exception
I tested the code below on 6i forms which worked but not on 12c forms.
[pre]
DECLARE
appl_name VARCHAR2(255);
BEGIN
IF :global.application_id IS NOT NULL THEN
message('Application is already running');
ELSE
appl_name := 'C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE';
:global.application_id := dde.app_begin(appl_name, dde.app_mode_normal);
END IF;
EXCEPTION
WHEN dde.dde_app_failure THEN
message('Could not lanch application for DDE operations');
RAISE form_trigger_failure;
WHEN OTHERS THEN
message('Error: ' || to_char(SQLCODE) || ' ' || SQLERRM);
RAISE form_trigger_failure;
END;
[/pre]