场景:生产机使用公用账号,为防止多用户使用同一账号进行操作,发生业务数据纠纷,方便跟踪追责。
要求:记录每个登录用户的IP地址,电脑MAC地址,操作事务码。
解决方案:找到所有操作的必经位置,创建增强,获取相关信息并保存在自建表中。
具体实现步骤:1.找增强点。在SAP操作界面 /H,任意输入一个事务代码,跳进去的位置如果可增强,那就一定是这里了;
2.记住这里的类和方法名;类:CL_SBLM_SERVER_API,方法:WILL_CAUSE_RABAX
3.实施增强。
————————————————————————————————————————————————————————-
用到的方法
获取IP地址的方法:
DATA:IP TYPE STRING.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_IP_ADDRESS
RECEIVING
IP_ADDRESS = IP.
获取终端名的方法:
DATA: OPCODE_USR_ATTR(1) TYPE X VALUE 5,
TERMINAL TYPE USR41-TERMINAL.
CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE_USR_ATTR ID 'TERMINAL' FIELD TERMINAL.
事务代码:
即方法中原有的I_OBJ,可以直接使用。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/19533.html