cancel
Showing results for 
Search instead for 
Did you mean: 

Calling Standard R/3 report in SRM as it is without Iview in EP.Possible?

Former Member
0 Kudos

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.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

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