Question

How to extract the Aurena Navigation Nodes from a build role in "FR" language (IFS Cloud 21R2)

  • 28 January 2022
  • 11 replies
  • 305 views

Userlevel 2
Badge +3

Hi support team,

How I can extract the Navigation nodes in “FR” language of a build permission Set done from IFS Aurena (IFS Cloud 21R2).

This is needed for our customers in order to create a Security Sheet Matrix and to define access of different Permission Sets.

Fyi, in EE (e.g. Enterprise Explorer APPS10 UPD13 for example and older version also), I was able to manage it using the “Preview Navigator” of a permission set and when exported in “.xml” format, I just had to change the extension to “.xls” to get it. My objective is to have the browser navigator same as below => preview of a role including the whole navigation

 
In fact, I need to do the same for Aurena Navigator.

Currently only pages are displayed as shown below and projections are not at all useful for customers to project themselves in term of business navigations…


If possible, please advise on how to manage it and to extract these complete navigations from AURENA (IFS Cloud 21R2) including extraction in “FR” language also?

Thanks in advance for your help,

//Didier


This topic has been closed for comments

11 replies

Userlevel 2
Badge +3

Hello IFS Community,

I’m starting to be a little bit disappointed related to this topic. 13 days currently without any answer…

I will reinforce my expectations below:

  1. How to extract the whole Navigation Nodes including button/inbound/Outbound actions as it was previously possible on EE?
  2. Current Pages or Projections extractions are not enough for our customers to project themselves between FNC roles and granted Navigations and especially only available in “EN” language…
  3. How to extract them also in different languages like “FR”?
  4. I couldn't also find a “Navigator Preview” of a build role in terms of Navigations and Grants (RO/RW) as it was previously possible on EE?

Thanks in advance for your feedback and hoping to get one day, an answer...
Regards,

PS: Following mentioned points above, in case nothing’s currently possible, can someone tell me when it will be available (developed by IFS)?

Userlevel 2
Badge +3

In addition:

Currently the maximum of information's that I can extract from IFS Aurena for a Security Sheet Matrix is below including my comments


Hoping to get one day, an answer…
Regards,

//Didier

Userlevel 2
Badge +6

Hello, no IFS update about above impacts?

Userlevel 7
Badge +19

The only thing I can think of is that you can do an own query to fetch this. It does not seem to be any good views for the navigator structure so you must have access to login as appowner in database to run the below query, if you don’t have that this is not a solution for you.

Also, this is not tested in an environment with translations so I’m not 100% sure it will be in french.

SELECT level,LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'fr'), '/') "Path",
LPAD(' ', 2*level-1) ||Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'fr') "Name",
s.ordinal sort_order,
c.entry_type,
c.entry_command,
c.projection,
c.entry_name,
c.scope_id,
s.parent_entry_name parent_id,
s.child_entry_name ID
FROM fnd_navigator_structure_tab s,
fnd_navigator_entry_tab c
WHERE c.entry_name = s.child_entry_name
AND s.scope_id = c.scope_id
AND s.layer_no = c.layer_no
CONNECT BY s.parent_entry_name = PRIOR s.child_entry_name
START WITH s.parent_entry_name = '0'

 

Userlevel 2
Badge +6

thank you Thomas, we’ll try this out.

Userlevel 4
Badge +8

The only thing I can think of is that you can do an own query to fetch this. It does not seem to be any good views for the navigator structure so you must have access to login as appowner in database to run the below query, if you don’t have that this is not a solution for you.

Also, this is not tested in an environment with translations so I’m not 100% sure it will be in french.

SELECT level,LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'fr'), '/') "Path",
LPAD(' ', 2*level-1) ||Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'fr') "Name",
s.ordinal sort_order,
c.entry_type,
c.entry_command,
c.projection,
c.entry_name,
c.scope_id,
s.parent_entry_name parent_id,
s.child_entry_name ID
FROM fnd_navigator_structure_tab s,
fnd_navigator_entry_tab c
WHERE c.entry_name = s.child_entry_name
AND s.scope_id = c.scope_id
AND s.layer_no = c.layer_no
CONNECT BY s.parent_entry_name = PRIOR s.child_entry_name
START WITH s.parent_entry_name = '0'

 

Works fine for some entries in PLSQL Developer, after 100 entries it throws this error
 

 

Userlevel 7
Badge +19

That you get since some translated label contains a / character in french.

try to change / to \ instead in the SQL: 

SELECT level,LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'fr'), '\') "Path",
LPAD(' ', 2*level-1) ||Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'fr') "Name",
s.ordinal sort_order,
c.entry_type,
c.entry_command,
c.projection,
c.entry_name,
c.scope_id,
s.parent_entry_name parent_id,
s.child_entry_name ID
FROM fnd_navigator_structure_tab s,
fnd_navigator_entry_tab c
WHERE c.entry_name = s.child_entry_name
AND s.scope_id = c.scope_id
AND s.layer_no = c.layer_no
CONNECT BY s.parent_entry_name = PRIOR s.child_entry_name
START WITH s.parent_entry_name = '0'

If that does not work change to something different like @ or § which is unlikely to exist in the label.

Userlevel 4
Badge +8

I’m using your code for extraction of the German navigator entries.

Your hint worked to fetch much more entries now (3200)

 

I get the same error though.

Userlevel 7
Badge +19

Do you get the same error if you replace “\” with “§”, “#” or “@”?

 

Userlevel 4
Badge +8

With @,§ it’s working and loading all data. The other symbols aren’t working.

@Makede Thank you for a solution!

SELECT level,
REPLACE(LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'de'), '@'),'@','\') "Path",
       LPAD(' ', 2*level-1) ||Model_Design_SYS.Get_Client_Translated_Text_(c.label, 'de') "Name",
       s.ordinal sort_order,
       c.entry_type,
       c.entry_command,
       c.projection,
       c.entry_name,
       c.scope_id,
       s.parent_entry_name parent_id,
       s.child_entry_name ID             
FROM fnd_navigator_structure_tab s,
     fnd_navigator_entry_tab c
WHERE c.entry_name = s.child_entry_name
AND s.scope_id = c.scope_id
AND s.layer_no = c.layer_no
CONNECT BY s.parent_entry_name = PRIOR s.child_entry_name
START WITH s.parent_entry_name = '0'

Userlevel 1
Badge +5

Hi,

 

I've used the following SQL script in PL/SQL, QueryTool or as a quick report in IFS Cloud.

Unfortunately it is in Englisch and not yet able to have it in different language.

 

SELECT LPAD(' ', (LEVEL - 1) * 3, ' ') || n.label navigator_node,

       DECODE(n.entry_type, 'MENU', '', 'LOBBY', '', n.projection) projection,

       INITCAP(n.entry_type) entry_type,

       Pres_Object_Description_API.Get_Description(DECODE(n.entry_type, 'LOBBY', 'lobbyPage' || n.page), 'en') description,

       DECODE(n.entry_type, 'LOBBY', 'lobbyPage' || n.page) pres_object,

       LEVEL,

       p.label PARENT,

       n.label CHILD

FROM   fnd_navigator_all n,

       fnd_navigator_all p

WHERE  p.id(+) = n.parent_id

CONNECT BY PRIOR n.id = n.parent_id

START  WITH n.parent_id = 0

ORDER  SIBLINGS BY n.sort_order

 

It will  get the result as shown below:

 

Hope this is useful?