Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Regarding User Administration 1

Status
Not open for further replies.

karthikrsarma

Technical User
Feb 18, 2003
1
0
0
IN
How to check for users who have not logged for
last six months. In 4.0B.

In 4.6B we have the option like a report is there to check for the users who have not used for the days mentioned. In 4.OB other that STAT and Table USR02. Please let me know that as early as possible.

Regards

Karthik
 
Hi,

There is no special report in 40B. You might want to use this report :
( You can adjust the value of variable "DAYS" )

*===========================================================
REPORT Z_CHK_DEAD_USERS.

DATA: I_USR02 LIKE USR02 OCCURS 3.
DATA: H_USR02 LIKE USR02.
DATA: FDATE LIKE SY-DATUM.
DATA: NCOUNT(4), LCOUNT(4), TCOUNT(4).
DATA: DAYS(3) VALUE '180'.
DATA: UFLAG TYPE I.

LCOUNT = 0.
TCOUNT = 0.
NCOUNT = 0.

FDATE = SY-DATUM - DAYS.

SELECT COUNT( * ) INTO TCOUNT FROM USR02 CLIENT SPECIFIED.

EXEC SQL PERFORMING ADDTABLE.
SELECT * FROM USR02 INTO :H_USR02
WHERE TRDAT < :FDATE
ENDEXEC.

SORT I_USR02 BY MANDT BNAME.


WRITE: / 'Client',
10 'User',
25 'Last logon',
40 'Created on ',
55 'Valid to',
68 'Status',
78 'Further info'.

ULINE.

LOOP AT I_USR02 INTO H_USR02.

ADD 1 TO LCOUNT.

AT NEW MANDT.
ULINE.
ENDAT.

IF ( H_USR02-BNAME EQ 'DDIC' ) OR
( H_USR02-BNAME EQ 'SAP*' ) OR
( H_USR02-BNAME EQ 'TMSADM' ) OR
( H_USR02-BNAME EQ 'SAPCPIC' ) OR
( H_USR02-BNAME EQ 'EARLYWATCH' ).
LCOUNT = LCOUNT - 1.
CLEAR H_USR02.
CONTINUE.
ENDIF.



Write: / H_USR02-MANDT,
10 H_USR02-BNAME,
25 H_USR02-TRDAT,
40 H_USR02-ERDAT,
55 H_USR02-GLTGB.
EXEC SQL.
SELECT UFLAG FROM USR02 INTO :UFLAG
WHERE BNAME = :H_USR02-BNAME AND
MANDT = :H_USR02-MANDT
ENDEXEC.
IF UFLAG <> 0.
WRITE: 68 'Locked'.
ELSE.
WRITE: 68 'OK'.
ENDIF.

IF ( H_USR02-GLTGB < SY-DATUM ) AND
( H_USR02-GLTGB <> '00000000' ).
WRITE: 68 'Expired'.
ENDIF.

IF H_USR02-TRDAT eq '00000000'.
WRITE: 78 'User has never logged on'.
ADD 1 TO NCOUNT.
ENDIF.


ENDLOOP.


ULINE.
WRITE: / '# Users defined = ',
TCOUNT.
WRITE: / '# Users not logged on for >',DAYS, 'days = ',
LCOUNT.
WRITE: / '# Users which never logged on = ',
NCOUNT.
ULINE.


FORM ADDTABLE.
APPEND H_USR02 TO I_USR02.
ENDFORM.

*===========================================================
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top