cancel
Showing results for 
Search instead for 
Did you mean: 

Fiori Launchpad - intent based navigation from POWL to GUI - results in logoff

TomVanDoo
Active Contributor
0 Kudos

Hello,

I have a rather annoying issue with Intent based navigation from one UI-technology to another.

We use the Netweaver Business client (7.70 PL 10).

system is S/4Hana 1610 (yeah, I know. it's old)

We have FES 6.0 with UI5 1.71

We start the Fiori launchpad embedded in the NWBC.

From the launchpad, we start a POWL in a new tab.

So far so good.

Now, from the POWL, we can launch transaction VA01 (Intent based navigation, GUI mode)

the navigation itself works perfectly, and opens a new tab (explace) and shows VA01, in SAPGUI

But notice what happened to the tab that had the POWL. It navigated back home.

After some digging, I found out that it triggers a USR_LOGOFF after the Intent based navigation.

In the NWBC logs, I alos found that NWBC seems to receive 2 navigation instructions. 1 for the SalesDocument-create, and 1 to go to shell-home (could be a cause, or a consequence. not clear yet):

Any ideas how to prevent/fix that?

Accepted Solutions (0)

Answers (6)

Answers (6)

alexey_arseniev
Advisor
Advisor
0 Kudos

Hi Tom,

it may happen, that issue comes from the in-place navigation mode used, as default. You may try the call like this:

cl_lsapi_manager=>navigate_to_intent(

EXPORTING object = 'SalesDocument'

action = 'create'

parameters = lt_http_params

navigation_mode = IF_LSAPI=>GC_S_NAVIGATION_MODE-EXPLACE

EXCEPTIONS OTHERS = 0 ).

Another thing to check is how it behaves in the browser but not in NWBC (I know you need it for calling transactions in SAP GUI), but I would like to know, if the issue is bound to FLP or NWBC.

BR, Alexey.

TomVanDoo
Active Contributor

Hi Alexey,

the point is that when I use "Explace" navigation (which is default), it doesn't work as expected.

We want it to be "explace". That's our preference. But it doesn't work as expected.

Here's the scenario with explace navigation: notice how the tab of the powerlist jumps to home as soon as I navigate further:

here's the situation with "inplace" navigation: the original tab stays at its current location after subsequent navigation

alexey_arseniev
Advisor
Advisor
0 Kudos

Hi tom.vandoorslaer,

it is a bug. Report it and request a fix (BC-FES-BUS-DSK). I feel I have already heard about this issue, so please before reporting upgrade your SAP BC (latest us PL15), apply the latest patches for FLP (responsible CA-FLP-FE-AI component), and recheck. If still there - report. Your old front end can be an issue.

I expect that you at least will get a proper explace. For proper in-place, you need to wait for SAP BC 8.0.

BR, Alexey.

TomVanDoo
Active Contributor
0 Kudos

Welp, I found "a" solution...

By setting the WDA_inplace_navigation to true, the POWL opens embedded on the launchpad so that it's not the initial navigation and doesn't fall into that quirky navback routine...

Now I'll have to check if this is acceptable.

TomVanDoo
Active Contributor
0 Kudos

root-cause:

It all seems down to these handfull lines of code. When I debug the "isInitialNavigation" to return false, it all works as it should. But since it's an explace navigation to begin with, it always returns true.

I feel like this should also check for the current hash-type. If it's a embedded application like webdynpro, it should _NOT_ navigate to the root.

TomVanDoo
Active Contributor
0 Kudos

hmmm, It looks like the Shell actually navigates the source tab back to the root when opening a new window.

see "shellhash:#"

But why?

TomVanDoo
Active Contributor
0 Kudos

Interesting, If I add parameter sap-keepalive in the catalog configuration, it follows a different route through the applifecylce and does not trigger an exit-application, but it still navigates back home....

So no solution yet, but at least I'm starting to understand what's going on.

TomVanDoo
Active Contributor
0 Kudos

Oh My word...

It seems to be coming from the UI5 libraries.

After launching a navigation, UI5 triggers an onAfterNavigate, where it does some checks, and eventually decides to exit the application.