on 10-01-2010 8:34 AM
Hi All ,
I have to call a standard R/3 report in SRM . I will put a button / link on the SRM screen through web dynpro for this .
Once this is clicked , the report from R/3 should be called and displyed in SRM as it is .
One way to do this was creating an Iview in EP and then call the R/3 report .
However,
I got to know that SRM is not integrated with EP . So the option of creating an Iview and calling the report is gone .
Is there any other way by which I can call the R/3 report in R/3 as it is in SRM via web dynpro ?
regards,
Ambar Patil.
Hi Ambar,
You can call R/3 report from WDA with SAP WebGUI.
SAP WebGUI should be enabled on your system.
The user should have authorization in R/3.
Give your report a transaction code.
Try following code,
DATA: lv_url TYPE string,
lv_trans_code TYPE url_param,
lo_cmp_api TYPE REF TO if_wd_component,
lo_window_manager TYPE REF TO if_wd_window_manager,
lo_window TYPE REF TO if_wd_window.
DATA: lv_host TYPE string,
lv_port TYPE string,
lv_out_protocol TYPE string.
CONSTANTS: lc_its_service_name TYPE url_param
VALUE '/sap/bc/gui/sap/its/webgui/',
lc_sys_clnt TYPE url_param VALUE '!?sap-client=',
lc_its_transaction TYPE url_param VALUE '&noheaderokcode=1&transaction=',
lc_web TYPE char04 VALUE '://',
lc_vf_tran_field TYPE url_param VALUE '<t-code>'
lc_ok_code TYPE char16 VALUE '&~okcode=%20',
lc_colon TYPE char01 VALUE ':'.
CALL METHOD cl_http_server=>if_http_server~get_location
IMPORTING
host = lv_host
port = lv_port
out_protocol = lv_out_protocol.
CONCATENATE lc_vf_tran_field
lv_vbeln
lc_ok_code
INTO lv_trans_code.
CONCATENATE lv_out_protocol
lc_web
lv_host
lc_colon
lv_port
lc_its_service_name
lc_sys_clnt
lc_its_transaction
lv_trans_code
INTO lv_url.
lo_cmp_api = wd_comp_controller->wd_get_api( ).
IF lo_cmp_api IS NOT BOUND.
RETURN.
ENDIF.
lo_window_manager = lo_cmp_api->get_window_manager( ).
IF lo_window_manager IS NOT BOUND.
RETURN.
ENDIF.
CALL METHOD lo_window_manager->create_external_window
EXPORTING
url = lv_url
is_resizable = abap_true
RECEIVING
window = lo_window.
lo_window->open( ).
Warm regards,
Atul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.