Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
*
* This program will get the list of users & the roles assigned based on
* the mentioned user group(s)
*
*//////////////////////////////////////////////////////////////////////*
*&---------------------------------------------------------------------*
*& Report z_user_roles_report
*
*& Rel. 4.6B
*
*&---------------------------------------------------------------------*
*& Author : Sasi Kiran & Raghu Boddu
*
*&---------------------------------------------------------------------*
REPORT z_user_roles_report .
TYPE-POOLS: slis.
TABLES: usr02.
DATA: BEGIN OF it_users OCCURS 0,
class LIKE usr02-class,
bname LIKE usr02-bname,
persnumber LIKE usr21-persnumber,
END OF it_users.
DATA: BEGIN OF it_adrp OCCURS 0,
persnumber LIKE adrp-persnumber,
name_first LIKE adrp-name_first,
name_last LIKE adrp-name_last,
END OF it_adrp.
DATA: BEGIN OF it_agr_users OCCURS 0,
uname LIKE agr_users-uname,
agr_name LIKE agr_users-agr_name,
from_dat LIKE agr_users-from_dat,
to_dat
LIKE agr_users-to_dat,
END OF it_agr_users.
DATA: BEGIN OF it_output OCCURS 0,
bname LIKE usr02-bname,
class
LIKE usr02-class,
name_first LIKE adrp-name_first,
name_last LIKE adrp-name_last,
agr_name LIKE agr_users-agr_name,
from_dat LIKE agr_users-from_dat,
to_dat
LIKE agr_users-to_dat,
END OF it_output.
DATA: it_fieldcat TYPE slis_fieldcat_alv OCCURS 0.
DATA: v_index
TYPE sy-tabix.
DATA: v_fieldcat TYPE slis_fieldcat_alv,
v_repid
TYPE sy-repid.
SELECT-OPTIONS: s_class FOR usr02-class.
START-OF-SELECTION.
PERFORM initialize_varibales.
PERFORM get_data.
PERFORM dispaly_alv.
*&---------------------------------------------------------------------*
*&
Form initialize_varibales
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM initialize_varibales.
REFRESH: it_users, it_adrp, it_agr_users, it_fieldcat, it_output.
CLEAR: it_users, it_adrp, it_agr_users, it_fieldcat, it_output.
v_repid = sy-repid.
ENDFORM.
" initialize_varibales
*&---------------------------------------------------------------------*
*&
Form get_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM get_data.
SELECT
INTO
FROM
ON
WHERE
IF sy-subrc <> 0.
MESSAGE s398(00) WITH 'No data found!'.
STOP.
ENDIF.
IF NOT it_users[] IS INITIAL.
SORT it_users BY persnumber.
SELECT persnumber name_first name_last
FROM adrp
INTO TABLE it_adrp
FOR ALL ENTRIES IN it_users
WHERE persnumber = it_users-persnumber.
SORT it_users BY bname.
SELECT uname agr_name from_dat to_dat
FROM agr_users
INTO TABLE it_agr_users
FOR ALL ENTRIES IN it_users
it_fieldcat
TABLES
t_outtab
EXCEPTIONS
program_error
OTHERS
IF sy-subrc <> 0.
= it_fieldcat
= it_output
= 1
= 2.
ENDIF.
ENDFORM.
" dispaly_alv