首页 > 其他分享 >ABAP 用户登录统计信息

ABAP 用户登录统计信息

时间:2023-12-21 10:44:47浏览次数:28  
标签:ZUSERLOGINFO 登录 DATA 用户 LT LV ABAP LS TYPE

 

CMOD 出口

SUSR0001

 

*&---------------------------------------------------------------------*
*& 包含               ZXUSRU01
*&---------------------------------------------------------------------*
DATA LS_ZUSERLOGINFO TYPE ZUSERLOGINFO.
DATA LS_ZUSERLOGINFO_TMP TYPE ZUSERLOGINFO.
DATA LT_ZUSERLOGINFO TYPE TABLE OF ZUSERLOGINFO.
DATA LT_LIST TYPE TABLE OF MSXXLIST.
DATA LS_LIST TYPE MSXXLIST.
DATA LV_COUNT TYPE I.
DATA LT_LIST2 TYPE TABLE OF UINFO.
DATA LS_LIST2 TYPE UINFO.
DATA LV_TID TYPE SY-INDEX.


SELECT * FROM ZUSERLOGINFO INTO TABLE LT_ZUSERLOGINFO WHERE ENAME = SY-UNAME.

IF LT_ZUSERLOGINFO IS NOT INITIAL.
  SORT LT_ZUSERLOGINFO BY SEQUENCE DESCENDING.
  CLEAR LS_ZUSERLOGINFO_TMP.
  READ TABLE LT_ZUSERLOGINFO INTO LS_ZUSERLOGINFO_TMP INDEX 1.
  LS_ZUSERLOGINFO_TMP-SEQUENCE = LS_ZUSERLOGINFO_TMP-SEQUENCE + 1.
ENDIF.
CLEAR LS_ZUSERLOGINFO.
LS_ZUSERLOGINFO-SEQUENCE = LS_ZUSERLOGINFO_TMP-SEQUENCE.
CALL FUNCTION 'TH_USER_INFO'
  IMPORTING
    TERMINAL = LS_ZUSERLOGINFO-ZTERM
    ADDRSTR  = LS_ZUSERLOGINFO-IP
    TID      = LV_TID.
TRANSLATE LS_ZUSERLOGINFO-ZTERM TO UPPER CASE.
LS_ZUSERLOGINFO-ENAME = SY-UNAME.
LS_ZUSERLOGINFO-LOGON_DATE = SY-DATUM.
LS_ZUSERLOGINFO-LOGON_TIME = SY-UZEIT.
SELECT SINGLE SERVER INTO LS_ZUSERLOGINFO-SERVER FROM USR41 WHERE BNAME = SY-UNAME
  AND TERMID = LV_TID.

CALL FUNCTION 'TH_SERVER_LIST'
  TABLES
    LIST           = LT_LIST
  EXCEPTIONS
    NO_SERVER_LIST = 1
    OTHERS         = 2.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
CLEAR LS_LIST.
CLEAR LV_COUNT.
DATA LV_SRVNAME TYPE SPFID-APSERVER.
LOOP AT LT_LIST INTO LS_LIST.
  CLEAR LV_SRVNAME.
  LV_SRVNAME = LS_LIST-NAME.
  CALL FUNCTION 'TH_REMOTE_USER_LIST'
    EXPORTING
      SRVNAME        = LV_SRVNAME
    TABLES
      LIST           = LT_LIST2
    EXCEPTIONS
      ARGUMENT_ERROR = 1
      SEND_ERROR     = 2
      OTHERS         = 3.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.
  CLEAR LS_LIST2.
  LOOP AT LT_LIST2 INTO LS_LIST2 WHERE TYPE = '4'.
    LV_COUNT = LV_COUNT + 1.
  ENDLOOP.
ENDLOOP.
LS_ZUSERLOGINFO-ONLINE_MAX = LV_COUNT.
DATA LV_NAME TYPE STRING.
CLEAR LV_NAME.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_USER_NAME
  CHANGING
    USER_NAME            = LV_NAME
  EXCEPTIONS
    CNTL_ERROR           = 1
    ERROR_NO_GUI         = 2
    NOT_SUPPORTED_BY_GUI = 3
    OTHERS               = 4.
CALL METHOD CL_GUI_CFW=>UPDATE_VIEW.
IF SY-SUBRC = 0.
  LS_ZUSERLOGINFO-ZOSNAME = LV_NAME.
ENDIF.
"版本
DATA LT_USR_TABL TYPE TABLE OF UINFO.
DATA LS_USR_TABL TYPE UINFO.
CALL FUNCTION 'THUSRINFO'
  TABLES
    USR_TABL = LT_USR_TABL.
CLEAR LS_USR_TABL.
READ TABLE LT_USR_TABL INTO LS_USR_TABL WITH KEY TID = LV_TID.
IF LS_USR_TABL IS NOT INITIAL.
  LS_ZUSERLOGINFO-GUIVERSION = LS_USR_TABL-GUIVERSION.
ENDIF .
CALL FUNCTION 'RS_DME_MG_GENERATE_GUID'
  IMPORTING
    E_GUID_32 = LS_ZUSERLOGINFO-GUID.

MODIFY ZUSERLOGINFO FROM LS_ZUSERLOGINFO.
View Code

 

 

标签:ZUSERLOGINFO,登录,DATA,用户,LT,LV,ABAP,LS,TYPE
From: https://www.cnblogs.com/wangzuoer/p/17918462.html

相关文章

  • ansible设置用户密码
    用ansible设置用户的密码时,由于需要对传输的密码进行加密,所以要在主机安装python的passlib库。利用pip安装passlib:pipinstallpasslib生成的经过加密的密码(sha512加密算法),说明:在Password后输入我们的密码"xxxxx",然后再按enter键 pipinstallpasslibpyth......
  • uniapp开发——未登录登录失效页面登录后页面回调的处理
    刚开始默认沿用了前边小程序的做法,即在单击事件或者onHide函数中缓存标识,onShow中读取标识,对必要的业务逻辑进行重新请求。具体代码如下:微信小程序登录后页面回调的处理方案:1.缓存回调刷新标识:单击事件中设置:methods:{onSubmit(){this.setData({i......
  • 用户表的删除
    /***批量删除酒店会员**@paramuserIds需要删除的酒店会员主键*@return结果*/@OverridepublicintdeleteHotelUserByUserIds(Long[]userIds){for(Longid:userIds){Assert.not......
  • 关于在doker中部署superset后远程登录时原地跳转的问题
    排除密码错误后实时log查看报错:dockerlogs-fsuperset发现问题为flask_wtf.csrf:TheCSRFsessiontokenismissing.原因是Superset使用Flask和Flask-Login进行用户会话管理。以及TALISMAN_ENABLED这个对跨站点登陆有限制,需要关闭解决方案->**注意镜像内可能无法......
  • 神策数据:鞋服用户运营策略如何实现有效闭环?
    实现长期价值和业务闭环是企业经营的关键。对于鞋服行业来说,如何基于客户旅程编排(CustomerJourneyOrchestration,简称CJO)实现用户运营策略的有效闭环,提升长期价值呢?本文围绕该主题,从鞋服CJO、用户运营体系建设、实践分享三大部分展开。一、详解鞋服CJO,有效牵引用户向高价值节点......
  • 构建陪诊预约系统:技术实现与用户体验
    在医疗服务不断创新的背景下,陪诊预约系统作为一种结合技术与人性化服务的应用,为患者提供了更为便捷和贴心的医疗体验。让我们通过简单的示例代码,了解一下如何构建一个基本的陪诊预约系统。技术栈选择在开始构建陪诊预约系统之前,我们需要选择合适的技术栈。以下是一个简单的技术栈示......
  • SNMPv3用户安全模型
    1.前言部分SNMPv3与SNMPv2相比有了很大的改进,主要体现在安全性方面:用户认证机制-SNMPv3改用基于用户的安全模型(USM),需要替换v2中的社区字符串认证机制(communitystrings),实现用户管理、认证和加密。加密与数据完整性检查-需要添加支持加密传输和数据完整性检查......
  • ABAP zmassdownload 批量下载程序
    代码来源https://github.com/palermo-consulting/sap-mass-abap-download-program/blob/master/Z_MASS_ABAP_DOWNLOAD.abap中文乱码 切换charset=GB2312  APPEND '<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=GB2312" /&......
  • C++聊天集群服务器解决客户端注销登录问题
    客户端如何处理注销登录问题?问题描述:​ 在客户端登录后进行注销选择,然后重新登录刚才注销的账号,直接卡死。注意这是概率发生,因为是主线程和子线程抢服务器发送的信息,只有子线程抢到才会发生卡死问题产生原因分析:​ 前置条件:主线程循环等待用户输入选择(第一张图是死循环,send......
  • 使用redbaron删除删除一个.py文件的所有注释,输出到一个新.py文件,文件名加上_nocmts后
    BUG:目前输出的文件中可能会出现缩进错误,待修改。fromredbaronimportRedBarondefremove_comments_with_redbaron(source_py_file,keep_blank_lines):withopen(source_py_file,'r',encoding='utf-8')asfile:red=RedBaron(file.read())co......