An integer expression equal to the channel number of a conversation opened to execute the specified command string. It is the value returned by the DDE INITIATE statement that opened the conversation. You can usually execute commands using a conversation opened for the System topic of the server application.
COMMAND string
Specifies the command or commands for the server to execute, where string is a character expression containing commands that are defined by the server application (for example, the [select(...)] command in Microsoft Excel).
TIME seconds
Specifies the maximum number of seconds that the ABL client waits for the DDE EXECUTE statement to complete, where seconds is an integer expression. If you do not specify the TIME option or specify a value of 0, the AVM waits indefinitely for the statement to complete.
NO-ERROR
By default, if the statement fails to execute the command(s), the AVM raises the ERROR condition and posts the error to the DDE frame DDE-ERROR attribute. If you specify NO-ERROR, the AVM does not raise the ERROR condition but does post the error to the DDE frame.
Example
The following fragment shows how to use the DDE EXECUTE statement. The procedure executes Microsoft Excel internally and opens a conversation for the Excel System topic. The System topic lets you execute Excel functions. This example uses the DDE EXECUTE statement to create a new Excel worksheet using the Excel new function:
DEFINE VARIABLE Sys AS INTEGER NO-UNDO. /* DDE-ID to System topic */
DEFINE VARIABLE DDEframe AS HANDLE NO-UNDO. /* DDE frame handle */
CREATE FRAME DDEframe. /* Create DDE frame */
/* DLL routine to execute an MS-Windows application. */
PROCEDURE WinExec EXTERNAL "kernel32.dll":
DEFINE INPUT PARAMETER ProgramName AS CHARACTER.
DEFINE INPUT PARAMETER Presentation AS LONG.
END PROCEDURE. /* WinExec */
. . .
/* Start Excel, open a DDE conversation with the Excel System topic, and create
a worksheet. */
RUN WinExec (INPUT "Excel /e", INPUT 2). /* 1=normal, 2=minimized */
DDE INITIATE Sys FRAME DDEframe APPLICATION "Excel" TOPIC "System".
DDE EXECUTE Sys COMMAND "[new(1)]". . . .
Notes
For more information on commands available in your server application, see the documentation for that application.
For more information on using the DDE protocol to exchange data with non-ABL applications, see OpenEdge Development: Programming Interfaces.