REPORT tool_bsp_component_test.
PARAMETERS: comp type string OBLIGATORY DEFAULT 'ZMETA',
view type string OBLIGATORY DEFAULT 'MainWindow'.
DATA: host TYPE string,
port TYPE string,
url TYPE text255.
CALL METHOD cl_http_server=>if_http_server~get_location
EXPORTING
server = cl_bsp_runtime=>server
IMPORTING
host = host
port = port.
url = 'https://' && host && ':' && port && '/sap/bc/bsp/sap/bspwd_cmp_test/'
&& 'session_single_frame.htm?sap-client=001&sap-sessioncmd=open&url-content=' && comp && '/' && view.
CALL FUNCTION 'CALL_BROWSER'
EXPORTING
url = url
new_window = abap_true
EXCEPTIONS
frontend_not_supported = 1
frontend_error = 2
prog_not_found = 3
no_batch = 4
unspecified_error = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE s332(db6pm) WITH sy-subrc DISPLAY LIKE 'E'.
ENDIF.
该tool里url包含的parameter sap-sessioncmd=open:
该command被BSP icf node的handler 所handle:
redirect:
redirect后第二次进入handler class的handle_request方法, 执行init操作:
然后执行open session操作:
第二次执行redirect:
第三次进入handle_request:
redirect可以通过http watch 观测到: