新来的同事找我要个SAP帐号,我之前同事的做法是找一个废弃不用的帐号,分配给新用户,这么搞起来貌似问题很多。
问了一下度娘,貌似SAP的帐号管理是通过给SAP公司发送帐号审计报告之类的完成,并不是通过系统来控制的。什么机制先不管它。扯远了,我想先把系统里现有的用户给拉出来。
度娘说,有人用USER_ADDR来做这事儿,我试试。
USER_ADDR是个视图,虽然内容和我要的有些出入,起码能让我知道我需要查的是USR开头的表和AD开头的表。
先定个目标,我想查现在系统里有多少锁定的帐号,姓名是怎么维护的,最后登录是什么时间,用户类型是什么,是否设置了有效期。
select adrp.name_FIRST, adrp.name_LAST,adrp.name_text,usr02.bname,
case usr02.uflag when 0 then '未锁定'
when 32 then '被管理员全局锁定'
when 64 then '被管理员本地锁定'
when 128 then '因不正确登录(限制条款)而被锁定'
else '' end as uflag,
case usr02.USTYP when 'A' then '对话'
when 'B' then '系统'
when 'C' then '通讯数据'
when 'L' then '参考(无法登录)'
when 'S' then '服务'
else '' end as USTYP,
usr02.locnt,
usr02.trdat as "上次登录日期",
usr02.TRDAT as "上次登录日期",
usr02.LTIME as "上次登录时间",
usr02.GLTGV as "有效期自",
usr02.GLTGB as "有效期至"
from usr21
inner join
adrp
on usr21.PERSNUMBER = adrp.PERSNUMBER and
usr21.mandt = adrp.CLIENT
inner join
usr02
on usr02.bname = usr21.bname and
usr02.mandt = usr21.mandt
where usr21.mandt = '600'
order by usr21.bname