SAP 简单记录用户登录信息

文章介绍了如何在SAP系统中通过增强SMOD->SUSR0001来记录日志,使用USR41表获取登录IP信息,并创建新的日志表ZBST0001。通过函数调用和生成GUID来实现日志记录的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

就做个简单记录

SAP标准也有日志,不过要开审计才能看,或者通过STAD,本文是做了个增强来记录日志

增强点,SMOD->SUSR0001,日志表参考USR41,因为USR41会记录目前用户登陆时的IP信息,所以稍作改动就能直接作为日志表

  • 增强对象:SMOD/CMOD->SUSR0001 登陆到 SAP 系统后的用户出口
  • 增强出口:EXIT_SAPLSUSF_001

DATA:
  LT_USR41    TYPE TABLE OF USR41,
  LS_ZBST0001 TYPE ZBST0001,
  LT_ZBST0001 TYPE TABLE OF ZBST0001.
DATA:
  LV_GID                TYPE GUID_32,            "GUID
  LV_OPCODE_USR_ATTR(1) TYPE X VALUE 5,
  LV_TID                TYPE USR41-TERMID.

CALL 'ThUsrInfo' ID 'OPCODE' FIELD LV_OPCODE_USR_ATTR
      ID 'TID' FIELD LV_TID.                              "#EC CI_CCALL

SELECT *
  FROM USR41
  INTO CORRESPONDING FIELDS OF TABLE LT_ZBST0001
 WHERE BNAME      = SY-UNAME
   AND TERMID     = LV_TID
   AND LOGON_DATE = SY-DATUM
   AND LOGON_TIME = SY-UZEIT.

IF SY-SUBRC = 0.
  CALL FUNCTION 'RS_DME_MG_GENERATE_GUID'
    IMPORTING
      E_GUID_32 = LV_GID.

  LS_ZBST0001-ZGUID = LV_GID.
  MODIFY LT_ZBST0001 FROM LS_ZBST0001 TRANSPORTING ZGUID
    WHERE ZGUID IS INITIAL.


  MODIFY ZBST0001 FROM TABLE LT_ZBST0001.
ENDIF.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值