cancel
Showing results for 
Search instead for 
Did you mean: 

Identifying the Side Panel role from NWBC

Damean
Active Contributor
0 Kudos

When an authorized user execute a Tcode with Side Panel assigned, the Side Panel will appear.

Question - Is there a standard report\mechanics whereby one could identify the Side Panel role associated with that Tcode?

Currently, my only method is to a brute search for the Application Alias via table AGR_HIER.   And then using description of the node to try to deduce what the Role is.  Works OK, but not exactly the most direct approach.

Cheers

Damean

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

This report lists all roles with a classic transaction as a triggering condition, either linked directly as APPLICATION_ALIAS or through the node ID.


report  zlistroles.

types: begin of nodefields,

  agr_name   type agr_name,

  object_id  type menu_num_8,

  reporttype type reporttype,

  report     type extdreport,

  appl_alias type menu_details_alias,

end of nodefields.

data lt_nodes   type table of nodefields.

data ls_nodes   type          nodefields.

data ls_nodes2  type          nodefields.

data lv_objid   type menu_num_8.

data lt_results type table of string.

data ls_results type string.

data lv_alias   type menu_details_alias.

data ls_match   type match_result.

data lv_length  type i.

select agr_name object_id reporttype report appl_alias

  from agr_hier into corresponding fields of table lt_nodes.

loop at lt_nodes into ls_nodes where appl_alias is not initial.

  if ls_nodes-appl_alias cp '{*}'.

    find first occurrence of regex `\{[0-9]{1,3}\}` in ls_nodes-appl_alias results ls_match.

    if sy-subrc eq 0.

      lv_length = ls_match-length - 1.

      lv_objid = ls_nodes-appl_alias+1(lv_length).

      read table lt_nodes into ls_nodes2 with key  agr_name = ls_nodes-agr_name

                                                  object_id = lv_objid.

      if sy-subrc eq 0 and

         ls_nodes2-reporttype eq 'TR'.

        write: / ls_nodes2-agr_name,

                 ls_nodes2-report.

      endif.

    else.

      find first occurrence of regex `\{TR=(.*)\}` in ls_nodes-appl_alias results ls_match.

      if sy-subrc eq 0.

        lv_length = ls_match-length - 5.

        lv_alias = ls_nodes-appl_alias+4(lv_length).

        split lv_alias at ';' into table lt_results.

        loop at lt_results into ls_results.

          write: / ls_nodes-agr_name,

                   ls_results.

        endloop.

      endif.

    endif.

  endif.

endloop.

Damean
Active Contributor
0 Kudos

Many thanks Samuli ... Not a perfect answer (was hoping to be able to tell the Side Panel Roles during runtime), but it comes closed enough to address what I need,

Cheers

Former Member
0 Kudos

It shouldn't be too hard to modify the report into a function module and set parameters to restrict returned values, depending what your exact requirement is. I found only two ABAP programs (sub routines) referencing the field APPL_ALIAS which leads me to believe the NWBC client or runtime does this dynamically since it has a cached copy of the navigation menu.

Answers (2)

Answers (2)

julieplummer20
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Damean, hi everyone,

BSSP_CONTENT is available in EHP6 SP5. So if you have this SP and you can't see it, then there is an error - I would open an OSS message. (You don't need to do anything to activate it - it should be there out of the box).

Just fyi,

Julie.

Former Member
0 Kudos

That explains it, we are still on SPS04.

Former Member
0 Kudos

Thank you Julie.

I'm on EHP6 and I don't have any BSSP_CONTENT transaction.

I was wondering if I had something to activate or install in my system that was missing ....

I write an OSS message asap.

Bye.

Former Member
0 Kudos

As Julie wrote, SP5 is required. Check (or ask your basis admin) the SP level of your system, you are probably running an older SP level.

Former Member
0 Kudos

OK, Samuli.

Thanks,

Francesco

julieplummer20
Product and Topic Expert
Product and Topic Expert
0 Kudos

YOu got there first Samuli 🙂

Former Member
0 Kudos

What about using transaction BSSP_CONTENT? There you can enter the T-Code and see the roles and side panels associated with it.


Is that what you mean Damean?

Akashcm10
Explorer
0 Kudos

Hi,

BSSP_CONTENT is not exist in my system. I am using EHP6 IDES

Former Member
0 Kudos

I don't have BSSP_CONTENT in EHP6 either, maybe it's a EHP7 and higher transaction or requires a specific Technical Usage or Add-On.

Damean
Active Contributor
0 Kudos

Thanks Simon -- same position as Krishna, I am still in EHP6, so I am NOT sure what BSSP_CONTENT is capable of. But many thanks for the suggestion, good to think that at least a possible solution exist ...