cl_lsapi_manager=>navigate_to_intent(
object = ls_ui5_navigation-semantic_object
action = ls_ui5_navigation-semantic_action
parameters = lt_lsapi_parameters
navigation_mode = if_lsapi=>gc_s_navigation_mode-inplace
).
"! Call Fiori app from sapgui
"! @parameter i_semantic_object | Semantic object
"! @parameter i_action | action
METHODS call_fiori_app_from_sapgui
IMPORTING
i_semantic_object TYPE /ui2/semantic_object
i_action TYPE /ui2/action
i_path TYPE string OPTIONAL.
METHOD call_fiori_app_from_sapgui.
DATA(business_client) = NEW cl_nwbc( ).
DATA(business_client_context) = business_client->context_get( ).
IF business_client_context IS INITIAL.
"Create sicf node (In this case, alias is created from sys id and client)
DATA(node_path) = `/` && sy-sysid && `_` && sy-mandt.
TRANSLATE node_path TO LOWER CASE.
DATA(lo_start_url) = NEW /ui2/cl_start_url( iv_icf_node_path = node_path ).
"add sap params "sy-mandt", "sap-language", "sap-language"
lo_start_url->add_sap_params( ).
"add fragment
IF i_semantic_object IS NOT INITIAL.
IF i_path IS NOT INITIAL.
lo_start_url->change_fragment(
iv_fragment = |{ i_semantic_object }-{ i_action }&{ i_path }| ).
ELSE.
lo_start_url->change_fragment( iv_fragment = |{ i_semantic_object }-{ i_action }| ).
ENDIF.
ENDIF.
"start in browser if business client is not active
lo_start_url->start_browser( ).
ELSE.
DATA business_client_url TYPE string.
IF i_path IS NOT INITIAL.
business_client_url =
business_client_context-login_url && |#{ i_semantic_object }-{ i_action }&{ i_path }|.
ELSE.
business_client_url =
business_client_context-login_url && |#{ i_semantic_object }-{ i_action }|.
ENDIF.
business_client->url_launch(
url = business_client_url ).
ENDIF.
ENDMETHOD.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
10 | |
7 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |