on 04-17-2019 11:46 PM
Have you tried searching table AGR_BUFFI with field URL = *<catalogname>*
You can also use trx /UI2/FLC or, depending on your Fiori version, trx /UI2/FLPCM_CUST (or /UI2/FLPCM_CONF)
Another option is using trx SUIM > Roles > Search for Applications in Role Menu > Type of Menu Entry = Launchpad Catalog and entering the catalog name(s) into field Catalog
Regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI,
I created a program for that:
DATA: lt_agr_hier TYPE TABLE OF agr_hier,
lt_agr_hiert TYPE TABLE OF agr_hiert,
lt_agr_buffi TYPE TABLE OF agr_buffi.
DATA: lt_roles TYPE TABLE OF agr_hier.
DATA: check, found TYPE boolean.
CONSTANTS: ct_group TYPE char30 VALUE 'Fiori Group',
ct_catalog TYPE char30 VALUE 'Fiori Catalog'.
FIELD-SYMBOLS <fs_role> LIKE LINE OF lt_roles.
FIELD-SYMBOLS <fs_agr_hier> LIKE LINE OF lt_agr_hier.
FIELD-SYMBOLS <fs_agr_hiert> LIKE LINE OF lt_agr_hiert.
DATA: ls_agr_buffi TYPE agr_buffi.
DATA: ls_agr_hiert TYPE agr_hiert.
DATA lv_part1 TYPE string.
DATA lv_part2 TYPE string.
SELECT * FROM agr_hier INTO TABLE lt_agr_hier WHERE report EQ 'GROUP_PROVIDER' OR report EQ 'CAT_PROVIDER'.
SELECT * FROM agr_hiert INTO TABLE lt_agr_hiert FOR ALL ENTRIES IN lt_agr_hier WHERE agr_name = lt_agr_hier-agr_name AND spras = 'E'.
SELECT * FROM agr_buffi INTO TABLE lt_agr_buffi.
SELECT * FROM /ui2/pb_c_pagemt INTO TABLE @DATA(lt_pagemt) WHERE langu EQ 'N'.
SELECT * FROM /ui2/pb_c_paget INTO TABLE @DATA(lt_paget) WHERE langu EQ 'N'.
SELECT * FROM /ui2/pb_c_propmt INTO TABLE @DATA(lt_prompt) WHERE langu EQ 'N'.
SELECT * FROM /ui2/pb_c_chipm INTO TABLE @DATA(lt_chipm).
SELECT * FROM /ui2/pb_c_chipmt INTO TABLE @DATA(lt_chipmt) WHERE langu EQ 'N'.
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE TEXT-001.
PARAMETERS: c_cat AS CHECKBOX DEFAULT abap_true.
PARAMETERS: c_grp AS CHECKBOX DEFAULT abap_true.
SELECTION-SCREEN END OF BLOCK bl1.
SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE TEXT-002.
PARAMETERS: grpid TYPE ssm_title.
PARAMETERS: grpdesc TYPE ssm_title.
SELECTION-SCREEN END OF BLOCK bl2.
SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE TEXT-003.
PARAMETERS: catid TYPE ssm_title.
PARAMETERS: catdesc TYPE ssm_title.
SELECTION-SCREEN END OF BLOCK bl3.
SELECT * FROM agr_hier INTO TABLE lt_roles WHERE ( report EQ 'GROUP_PROVIDER' OR report EQ 'CAT_PROVIDER' ).
SORT lt_roles ASCENDING.
DELETE ADJACENT DUPLICATES FROM lt_roles COMPARING agr_name.
SELECT agr_hier~agr_name AS agr_name,
agr_hier~report AS report,
agr_hier~object_id AS object_id,
agr_texts~text AS role_description,
agr_texts~spras AS language,
agr_buffi~url AS url,
agr_hiert~text AS text,
/ui2/pb_c_chipm~BASECHIPID as tile_id
FROM agr_hier AS agr_hier
LEFT OUTER JOIN agr_texts AS agr_texts
ON agr_hier~agr_name = agr_texts~agr_name
LEFT OUTER JOIN agr_buffi AS agr_buffi
ON agr_hier~agr_name = agr_buffi~agr_name AND
agr_hier~object_id = agr_buffi~object_id
LEFT OUTER JOIN agr_hiert AS agr_hiert
ON agr_hier~agr_name = agr_hiert~agr_name AND
agr_hier~object_id = agr_hiert~object_id
LEFT OUTER JOIN /ui2/pb_c_chipm AS /ui2/pb_c_chipm
ON agr_buffi~url = /ui2/pb_c_chipm~parentid
INTO TABLE @DATA(lt_roles2)
WHERE ( agr_hier~report EQ 'GROUP_PROVIDER' OR agr_hier~report EQ 'CAT_PROVIDER' ) AND agr_texts~spras EQ 'N' AND agr_hiert~spras EQ 'N'.
sort lt_roles2 by agr_name.
IF c_cat EQ abap_false.
DELETE lt_agr_hier WHERE report EQ 'CAT_PROVIDER'.
ENDIF.
IF c_grp EQ abap_false.
DELETE lt_agr_hier WHERE report EQ 'GROUP_PROVIDER'.
ENDIF.
WRITE : ' PFCG Role ' COLOR COL_KEY, ' Fiori Group ' COLOR COL_GROUP , ' Fiori Catalog ' COLOR COL_NEGATIVE , ' Fiori App' COLOR COL_TOTAL.
SKIP 2.
*FIELD-SYMBOLS <fs_role> LIKE LINE OF lt_roles2.
LOOP AT lt_roles ASSIGNING <fs_role>.
check = abap_false.
found = abap_false.
* perform filter:
* search on group description:
IF grpdesc IS NOT INITIAL.
READ TABLE lt_agr_hiert WITH KEY agr_name = <fs_role>-agr_name spras = 'N' INTO ls_agr_hiert.
IF sy-subrc = 0.
READ TABLE lt_agr_hier WITH KEY agr_name = <fs_role>-agr_name report = 'GROUP_PROVIDER' TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
IF ls_agr_hiert-text CS grpdesc.
found = abap_true.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
* search on catalog description:
IF catdesc IS NOT INITIAL.
READ TABLE lt_agr_hiert WITH KEY agr_name = <fs_role>-agr_name spras = 'N' INTO ls_agr_hiert.
IF sy-subrc = 0.
READ TABLE lt_agr_hier WITH KEY agr_name = <fs_role>-agr_name report = 'CAT_PROVIDER' TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
IF ls_agr_hiert-text CS catdesc.
found = abap_true.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
* search on groupid:
IF grpid IS NOT INITIAL.
LOOP AT lt_agr_hier ASSIGNING <fs_agr_hier> WHERE agr_name = <fs_role>-agr_name AND report = 'GROUP_PROVIDER'.
READ TABLE lt_agr_buffi WITH KEY object_id = <fs_agr_hier>-object_id agr_name = <fs_agr_hier>-agr_name INTO ls_agr_buffi.
SPLIT ls_agr_buffi-url AT ':' INTO lv_part1 lv_part2.
SPLIT lv_part2 AT '?' INTO lv_part1 lv_part2.
IF lv_part1 CS grpid.
found = abap_true.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
* search on catid:
IF catid IS NOT INITIAL.
LOOP AT lt_agr_hier ASSIGNING <fs_agr_hier> WHERE agr_name = <fs_role>-agr_name AND report = 'CAT_PROVIDER'.
READ TABLE lt_agr_buffi WITH KEY object_id = <fs_agr_hier>-object_id agr_name = <fs_agr_hier>-agr_name INTO ls_agr_buffi.
SPLIT ls_agr_buffi-url AT ':' INTO lv_part1 lv_part2.
SPLIT lv_part2 AT '?' INTO lv_part1 lv_part2.
IF lv_part1 CS catid.
found = abap_true.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
IF grpid IS NOT INITIAL OR grpdesc IS NOT INITIAL OR catid IS NOT INITIAL OR catdesc IS NOT INITIAL.
IF found = abap_true.
check = abap_true.
ENDIF.
ELSE.
check = abap_true.
ENDIF.
IF check = abap_true.
WRITE:/ 'PFCG-role:' , <fs_role>-agr_name COLOR COL_KEY.
LOOP AT lt_agr_hier ASSIGNING <fs_agr_hier> WHERE agr_name = <fs_role>-agr_name.
NEW-LINE.
WRITE: ' |'.
NEW-LINE.
WRITE: ' ---'.
* IF <fs_agr_hier>-report = 'GROUP_PROVIDER'.
* WRITE: ct_group(16) COLOR COL_GROUP.
* ENDIF.
* IF <fs_agr_hier>-report = 'CAT_PROVIDER'.
* WRITE: ct_catalog(16) COLOR COL_NEGATIVE.
* ENDIF.
READ TABLE lt_agr_hiert WITH KEY object_id = <fs_agr_hier>-object_id agr_name = <fs_agr_hier>-agr_name spras = 'N' INTO ls_agr_hiert.
* WRITE: ls_agr_hiert-text.
READ TABLE lt_agr_buffi WITH KEY object_id = <fs_agr_hier>-object_id agr_name = <fs_agr_hier>-agr_name INTO ls_agr_buffi.
SPLIT ls_agr_buffi-url AT ':' INTO lv_part1 lv_part2.
SPLIT lv_part2 AT '?' INTO lv_part1 lv_part2.
IF <fs_agr_hier>-report = 'GROUP_PROVIDER'.
WRITE: lv_part1 COLOR COL_GROUP.
ENDIF.
IF <fs_agr_hier>-report = 'CAT_PROVIDER'.
WRITE: lv_part1 COLOR COL_NEGATIVE.
ENDIF.
LOOP AT lt_pagemt INTO DATA(ls_pagemt) WHERE langu EQ 'N' AND id EQ lv_part1.
WRITE: ls_pagemt-title.
ENDLOOP.
LOOP AT lt_pagemt INTO DATA(ls_pagemt2) WHERE langu EQ 'N' AND id EQ ls_agr_buffi-url.
WRITE: ls_pagemt2-title.
ENDLOOP.
LOOP AT lt_paget INTO DATA(ls_paget) WHERE langu EQ 'N' AND id EQ ls_agr_buffi-url.
WRITE: ls_paget-title.
ENDLOOP.
* WRITE: lv_part1.
LOOP AT lt_prompt INTO DATA(ls_prompt) WHERE bag_parentid CS lv_part1 AND name EQ 'display_title_text' AND value NE ''. "tekst op de fiori app
NEW-LINE.
WRITE: ' |'.
NEW-LINE.
WRITE: ' ---' , ls_prompt-value(80) COLOR COL_TOTAL.
ENDLOOP.
LOOP AT lt_chipm INTO DATA(ls_chipm) WHERE parentid EQ lv_part1.
NEW-LINE.
WRITE: ' |'.
NEW-LINE.
READ TABLE lt_chipmt INTO DATA(ls_chip_t) WITH KEY id = ls_chipm-basechipid.
WRITE: ' ---' , ls_chip_t-title(50) COLOR COL_TOTAL.
ENDLOOP.
* LOOP AT lt_chipm INTO DATA(ls_chipm) WHERE parentid EQ lv_part1.
* READ TABLE lt_chipmt INTO DATA(ls_chipmt) WITH KEY id = ls_chipm-id.
* IF ls_chipmt-title IS NOT INITIAL.
* NEW-LINE.
* WRITE: ' |'.
* NEW-LINE.
* WRITE: ' ---' , ls_chipmt-title COLOR COL_TOTAL.
* ELSE.
* READ TABLE lt_prompt INTO DATA(ls_propmt) WITH KEY bag_parentid = ls_chipm-id name = 'display_title_text'.
* IF ls_propmt-value IS NOT INITIAL.
* NEW-LINE.
* WRITE: ' |'.
* NEW-LINE.
* WRITE: ' ---' , ls_propmt-value COLOR COL_TOTAL.
* ENDIF.
* ENDIF.
* ENDLOOP.
ENDLOOP.
SKIP 1.
ENDIF.
ENDLOOP.
Enjoy 😉
KR,
Vincent
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.