SAP ABAP Fiori Launchpad role based page - cached_sap_menu - 基于角色的页面显示原理

105 阅读1分钟

Created by Jerry Wang, last modified on Aug 26, 2015

  • GET_ROLE_BASED_PAGE_USAGES
  • GET_START_UP_MENU
  • cached_navigation_tree
  • /ui2/nwbc_nav_tr
  • SUSR_USER_LOGONDATA_GET
  • IMPORT
  • FROM DATABASE
  • session buffer
  • get_user_info
  • get_roles
  • Read list of roles for the user: NAVIGATION_SELECT_AGRS_OF_USER
  • PRGN_READ_ROLE_MENU

entry point:

clipboard1

读取user menu:

clipboard2

clipboard3

DB里存放的cache结果:

clipboard4

读取当前user的类型:

clipboard5

clipboard6

cache信息:

clipboard7

如果cache不命中,进入line 13:

clipboard8

clipboard9

取得当前user 所有的role:

clipboard10

clipboard11

clipboard12

根据user role获得node:

clipboard13

clipboard14

loop所有的role,根据role拿到对应的node:

clipboard15

clipboard16

总共获得11个node:

clipboard17

对应的description如下:

clipboard18

clipboard19

clipboard20

clipboard21

clipboard22\

\