Favoriten exportieren Bsp. 2

Hier ein Programm, um strukturiert

  • Menü und TCodes
  • Menüs
  • Menü und spezifische TCodes

auszugeben.

*&---------------------------------------------------------------------*

*& Report ZHST_TEST01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZHST_TEST01.
*&---------------------------------------------------------------------*
*& Report Z_SAP_FAVORITE_EXPORT
*&---------------------------------------------------------------------*


*& Demo program to export data from a user favorite menu
*Selection Options
*so_tcode Transaktion
*so_par Parent ID für Menübaum
*p_nurmen X Nur Menüs
*
*Ausgabe
*TR Transaction

*Ausgabe Bsp
*Analyse Favoriten
*
* 1 00001 01 00010 00004 TR SCUG
*Benutzerübernahme
* 1 00001 01 00020 00003 TR SCUA
*Zentrale Benutzerverwaltung
* 1 00001 01 00030 00002 TR SCUL
*Protokolle Zentrales Benutzermang.

*&---------------------------------------------------------------------*

*REPORT z_sap_favorite_export2.



TABLES smen_buffc.

*TYPES: gtt_smen_c TYPE TABLE OF smen_buffc.

DATA: gt_smen_c TYPE TABLE OF smen_buffc,

gv_smen_c LIKE LINE OF gt_smen_c.

DATA: char50 TYPE char50.
SELECT-OPTIONS so_tcode FOR char50. "DEFAULT 'MMBE'.
DATA: menu_num_5 TYPE menu_num_5.
SELECT-OPTIONS so_par FOR menu_num_5. "Parent_id
parameter p_nurmen as checkbox default ' '. "Nur Menüs

select-options so_uname for syst-uname.


SELECT * FROM smen_buffc INTO TABLE gt_smen_c
"WHERE uname = sy-uname
WHERE uname in so_uname
AND parent_id IN so_par
ORDER BY parent_id menu_level sort_order.

CHECK sy-subrc EQ 0.


DATA level TYPE i.

level = 1.

PERFORM anzeigen USING '00001' level.

FORM anzeigen USING lv_parent_id lv_level.

DATA lv_level_new TYPE i.
lv_level_new = lv_level + 1.

LOOP AT gt_smen_c INTO gv_smen_c WHERE parent_id = lv_parent_id.
if p_nurmen = 'X'.
if gv_smen_c-reporttype eq ' '.
WRITE:/
lv_level,
gv_smen_c-parent_id,
gv_smen_c-menu_level,
gv_smen_c-sort_order,
gv_smen_c-object_id,
gv_smen_c-reporttype,
gv_smen_c-report,
gv_smen_c-text.
endif.
else.
IF "Reporttype ' ' für Menü, TR für TCode, OT für Url etc.
"Kein Menü und kein TCode ausgewählt.
( gv_smen_c-reporttype ne ' ' AND so_tcode IS INITIAL )
OR
"Kein Menü und TCode ausgewählt
( gv_smen_c-reporttype ne ' ' AND so_tcode IS NOT INITIAL AND gv_smen_c-report IN so_tcode )
OR
"Menu
( gv_smen_c-reporttype eq ' ' ).

WRITE:/
lv_level,
gv_smen_c-parent_id,
gv_smen_c-menu_level,
gv_smen_c-sort_order,
gv_smen_c-object_id,
gv_smen_c-reporttype,
gv_smen_c-report,
gv_smen_c-text.
ENDIF.
endif.

IF gv_smen_c-reporttype NE 'TR'.
PERFORM anzeigen USING gv_smen_c-object_id lv_level_new.
ENDIF.


ENDLOOP.

ENDFORM.

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..