点击蓝字 关注我们
零
前言
首先郑重申明:本文并不是想教唆你怎么把SAP服务器搞死.
虽然你确实可以从本文中学到搞死SAP服务器的技巧,但是如果因为你对公司的抱怨而导致你无意中使用了本文中的方式无意中搞死了贵公司的SAP服务器.
请不要甩锅给本文作者. 罪过在于你无意的报复之心及贵公司无意让你拥有了报复之心.
鉴于本文可能让部分心有芥蒂的程序员有更强的破坏力.
在拯救SAP系统系列中会给出相应的解救方案.
本文主要介绍怎么无意中让SAP系统无法登陆
备注: 这里的SAP系统指的是SAP的ECC/S4/BW等通过GUI登陆的系统
一
方式一
无意中删除T000表内容.
总所周知, 通过GUI登陆SAP系统时,都需要输入一个集团
有时候BASIS还会通过配置显示当前系统能供使用的所有集团.
SAP有个系统表登记了所有登陆的集团(表名:T000). 不管使用什么方式(SCC4/SE11/SE16N/DB02/HANA STUDIO). 只要删除了T000中的某个集团的记录. 登陆时,就会出现集团不存在的报错信息.
二
方式二
无意中在登陆增强中报错
SAP提供了一个增强,可以在登陆过程中执行 这是一个SMOD的增强 SUSR0001
通过应用这个增强,并且在增强中发布错误消息,就可以阻止登陆了.
这种方式有一种有意义的尝试
详见链接
无峰,公众号:ABAP 技巧与实战SAP工具箱 服务器资源消耗管控
三
方式三
无意中在登陆增强中激活了有语法错误的代码.
执行登录后. 就会出现DUMP. 庆幸的是. SAP意识到这个增强可能带来的问题. 在DUMP 后,还是可以进入SAP系统.
所以方式三被开除了,因为基本功不扎实.
四
方式四
无意中清空登陆代码SAPMSYST
SAPMSYST是负责登陆逻辑的SAP标准程序. SAP底层为这个程序设置了隐藏属性(无法通过SE38查看程序代码).
如果你恰好有Z_EDIT程序(程序名可能不同,但是代码差不多). 代码如下图.
可能你很好奇: SAPMSYST中到底有什么内容不让看. SE38不让看.那我用Z_EDIT 尝试一下.
还是看不到内容.
你心里嘀咕: 但是我在Z_EDIT界面中不点保存按钮. 点了返回按钮. 应该没事吧.
但悲剧还是发生了. SAP系统无法登陆了. 登陆时报错(因为纠正这个错误的过程比较麻烦,就不尝试并截图了. 报错信息中可以看到是和程序SAPMSYST相关的错误).
注意看看一下Z_EDIT 的代码. 没有对屏幕动作的识别. 无论什么动作,都会保存代码.
TIPS:
可以通过特殊方式查看SAPMSYST代码内容.
详见链接
无峰,公众号:ABAP开发技巧SAP小技巧之 查看系统隐藏代码
五
方式五
无意中在SAPMSYST程序中添加语法错误.
这种方式的实现确实有点复杂,很难在无意中做到. 但确实可以做到.
效果同方式四类似. 具体表现记不太清楚了. 大概点击登录图标后就会出现DUMP .无法登录.报错中会提示程序SAPMSYST有语法错误.
六
总结
上述方式们可能并没有涵盖所有让SAP系统无法登录的方式,如果你有更好的"无意中",也可以分享给我,补充到后续的搞死SAP系统系列中.
再次重申一下: 本文并非教唆你破坏系统. 而是告诉你系统可能被无意中破坏的几种方式. 解救方案敬请关注 拯救SAP系统系列