介绍小技巧-ERP权限控制繁中求简,闲聊一下SAP复杂权限设计的基本思想。特别是适合大集团业务的ERP系统,应该提供一个非常完善的权限控制机制,甚至允许将权限控制字段细到字段级别,如果权限控制都做不到这点,估计产品销售就够呛!多年以前,俺还在软件幼稚园时,老师布置的权限作业,权限大概是设计的:Select用户名From用户表where用户名='butcher'(得到用户名)select权限组IDFrom权限表where用户名='butcher'(得到用户对应的权限组ID)select*From权限控制列表where权限组ID=‘*****’(得到没个权限组ID对应的明细权限列表也就是用户的明细权限)这种简单的权限设置是无法满足复杂的业务需求的,多年以后,居然国内还有很多软件公司在权限设计上还在玩这套小把戏。现在来看看“伟大的”SAP的权限设计思路,首先了解下几个Tcode和权限相关表格。常用权限相关Tcode.(一)Role(角色)相关T-code:PFCG创建ROLE_CMP角色比较SUPC批量建立角色profile(二)建立用户SU01建立用户SU01D显示用户SU2|SU3|SU50|SU51|SU52改变/显示用户个人参数SU10|SU12批量维护用户SUCOMP维护用户公司地址SUIM用户信息系统(强调一下)(三)建立用户组SUGR|SUGRD_NAV维护用户组SUGRD|SUGR_NAV显示用户组(四)维护检查授权SU20|SU21自定义授权字段和授权对象SU53当出现权限问题可使用它检测未授权对象.SU56:分析authoraztiondatabuffers.常用权限相关表格:TOBJ:Allavaiableauthorzationobjects.(ERP系统默认的所有授权对象)USR12:用户级authoraztion值USR02:UserLogonData(包括用户名称密码,是否锁住等字段)USR03:UseraddressdataUSR05:UserMasterParameterID(TcodeSU3可查看用户参数文件的参数ID默认值)USR41:当前用户(即TcodeSM04看到的所有当前活动用户,包括各种对话系统通信类用户)USRBF2:记录当前用户所有的授权objectsUST04:UserProfilemaster(用户主数据中对应的权限参数文件名)UST10S:Singleprofiles(授权文件,权限参数和授权对象对应表)UST12:Authorizations(具体授权细节)重点提示:USR02/USRBF2/UST10S/UST12四个表包含的信息就是ERP权限控制的关键,USR02是用户主数据表,后三表和用户授权紧密相关。我现在举一个MM01建立物料主数据的实例,来说明SAP的权限控制设计思路,步骤如下:第一步:建立角色(Tcode:PFCG)图1中,假设建立角色ZMM01。图1-[1][2]:在菜单Tab页选择“事务“加入MM01->创建物料&,你还可为程序,查询这样的报表授权,选择”其它“还能为数据仓库等对象设置权限角色。图1-[3][4][5]:到“权限“Tab页看到系统自动产生的授权参数文件ProfilnameT-C1550437,然后选择”更改授权数据“,进入图2。显然系统并不意味你给了建立物料的权限就能随意使用该Tcode了,系统有更严格的细致控制。图2-[1][2]:我们可以看到建立物料主数据的权限分公司代码层次,仓库层次,物料类型层次,销售组织层次,物料组层次,和工厂层次等等,特别是对于象公司代码,销售组织和工厂这样的组织层次授权字段,控制点是非常必要的,一个大集团实施ERP,各公司代码,各公司代码下的各Plant授权用户只能建立各自的物料,现在来看看是如何控制到工厂级别的。图2-[3][4][5]:在每个控制级别(即权限控制字段)都分控制字段和作业,每个权限控制字段对应一个所谓的授权对象,工厂的授权对象是M_MATE_WRK,所有授权对象的作业统一都是ACTVT,包括01/02/03/06/08五个作业,即控制是否允许创建更改显示删除等。比如MM01的作业只给03->显示,则只能显示物料。注:如果有特殊权限控制需要,可以使用SU20|SU21自定义授权字段和授权对象图2-[6][7]:点击“工厂“,进去增加工厂权限,设置了工厂FRA1,FRA2和一个工厂范围FRM1-FRM2。注:如果公司代码,物料类,物料组,工厂等授权字段选择*表示允许输入该字段所有的内容。接下来,使用SU01建立一个用户假设名叫butcher,然后在此将角色ZMM01分配给它,如图3,记得要做“用户比较“知道该按纽变绿,这和人带的帽子不同,在角色设置中,越绿越好,至此,一个最简单的权限设置就Ok了,用户butcher只能使用MM01在工厂FRA1,FRA1,FRM1,FRM2四个工厂上建立物料主数据。现在来...