report zzzzzzzz.
include ole2incl.
selection-screen begin of screen 1100.
selection-screen end of screen 1100.
*----------------------------------------------------------------------*
* CLASS cl_paint DEFINITION
*----------------------------------------------------------------------*
class cl_paint definition.
public section.
methods:
constructor,
on_close_document
for event on_close_document of i_oi_document_proxy
importing document_proxy has_changed.
private section.
data:
go_control type ref to i_oi_container_control,
go_proxy type ref to i_oi_document_proxy.
endclass. "cl_paint DEFINITION
*----------------------------------------------------------------------*
* CLASS cl_paint IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class cl_paint implementation.
method constructor.
data:
retcode type soi_ret_string.
*-- Create the OLE control
call method c_oi_container_control_creator=>get_container_control
importing
control = go_control
retcode = retcode.
call method c_oi_errors=>raise_message
exporting
type = 'E'.
*-- Attach the OLE control to the screen container
call method go_control->init_control
exporting
r3_application_name = 'Signature Pad'(000)
inplace_enabled = 'X'
inplace_scroll_documents = 'X'
parent = cl_gui_container=>screen0
register_on_close_event = 'X'
register_on_custom_event = 'X'
importing
retcode = retcode.
call method c_oi_errors=>raise_message
exporting
type = 'E'.
*-- Create a proxy to the Paint application in the OLE container
call method go_control->get_document_proxy
exporting
document_type = 'Paint.Picture'
document_format = 'OLE'
importing
document_proxy = go_proxy
retcode = retcode.
if retcode ne c_oi_errors=>ret_ok.
exit.
endif.
*-- Create a new paint document
call method go_proxy->create_document
exporting
create_view_data = 'X'
open_inplace = 'X'
importing
retcode = retcode.
if retcode ne c_oi_errors=>ret_ok.
exit.
endif.
set handler me->on_close_document for go_proxy.
endmethod. "constructor
method on_close_document.
" Save the signature here
endmethod.
endclass. "cl_paint IMPLEMENTATION
start-of-selection.
data:
go_picture type ref to cl_paint.
create object go_picture.
call selection-screen 1100.
Sunday, March 22, 2009
Embedding paint.exe in SAP GUI transactions
Here is some code to embed the paint application into a GUI application. Tablet signatures, anyone? However, my preferred approach is using a Flex components in web dynpros - much slicker but you will need EP1 for NW.
Subscribe to:
Post Comments (Atom)
1 comment:
Hi ,
This is useful code, but I am not able to save the paint file in desktop.can you please add the code for saving the file as well ?
Post a Comment