I have a custom ActiveX control that I would like to Call from SAP.
In this case I cannot use PI, what other options do I have?
I have a custom ActiveX control that I would like to Call from SAP.
In this case I cannot use PI, what other options do I have?
See program SAPRDEMO_ACTIVEX_INTEGRATION as an example.
DATA: control TYPE REF TO i_oi_container_control,
ocx_document TYPE REF TO i_oi_document_proxy,
has_activex TYPE flag,
retcode TYPE soi_ret_string,
doc_handle TYPE cntl_handle,
document_type TYPE soi_document_type VALUE 'SAPActiveXDoc.Example1'.
"Test whether activeX is supported"
CALL FUNCTION 'GUI_HAS_ACTIVEX'
IMPORTING return = has_activex.
CHECK NOT has_activex IS INITIAL.
CALL METHOD control->init_control
EXPORTING r3_application_name = 'R/3 Basis'
inplace_enabled = 'X'
register_on_close_event = 'X'
register_on_custom_event = 'X'
parent = cl_gui_container=>default_screen
IMPORTING retcode = retcode.
CALL METHOD control->get_document_proxy
EXPORTING document_type = document_type
IMPORTING document_proxy = oxc_document
retcode = retcode.
CALL METHOD oxc_document->open_activex_document
IMPORTING retcode = retcode.
CALL METHOD ocx_document->get_document_handle
IMPORTING handle = doc_handle
retcode = retcode.
CALL FUNCTION 'CONTROL_CALL_METHOD'
EXPORTING h_control = doc_handle
method = 'MyMethod'
p_count = 0.
CALL METHOD ocx_document->clsoe_activex_document
IMPORTING retcode = retcode.
I've stripped out the screen processing & error handling of the example program in order to give an overview of main calls that are needed.