资源描述
一.凭证类型授权
用户需求:
财务部们做AP的用户只能使用某些凭证类型,做AR的只能使用应收相关的另一些凭证类型等,为此我们可以在所有相关的会计凭证类型中设置授权组(Tcode:OBA7,如图2-[3],我为凭证类型SA定义了一授权组也叫SA(你最好不要给WE,WA,WL,因为通常你不给财务部们用户物体料相关Tcode MB1A,MB1B,MB1C,MIGO,VL02N等就可以了.).
即限制不同财务用户只能使用特定的doc type.
如图3,假设我想让用户STONEF只能使用FB50和doc type SA记记帐,我们这样做
(1)OBA7给一些手工记帐用的Document type比如AB加入授权组AB,KR加入KR等.
(2)PFCG建立一role,用户STONEF被加入该role.
(3)加入记帐用的Tcode FB50|F-02等,然后我们选择图3-[2]的Authorization for Document Types后在Authorizatoin group中输入SA到SA,现在用户STONEF就只能FB50|F-02使用Doc type SA了.
注意:
SAP的权限检查的逻辑无非是使用下面的代码:
authority-check object 'F_BKPF_BLA' “凭证类型的授权对象
id 'ACTVT' field _actvt “Activity用来限制用户的行为比如是否可新建修改删除
id 'BRGRU' field i_brgru. ”这个就是传说中的授权组
回到第1步,OBA7给所有手工可能使用的doc type加上授权组,这步是关键.假设只有Doc type SA加了授权组SA,然后在图3-[3]加入的doc. Type的授权组是From SA to SA,很好,F-02你可以使用所有的凭证类型,因为其它的凭证都没有设置授权组,上面的authority-check代码返回是成功的,你测试一下,给doc type AB加入一授权组AB,Ok,现在STONEF F-02时不能使用Doc type AB了.
你为需要的doc type都加入授权组(推荐和doc type同名),然后在PFCG中分别加入document type的授权组,该用户就只能使用被授权使用的凭证类型了.
二.过帐期间授权
OB52为Posting Period Variants定义授权组(假设和公司代码同名,可以随意定义).
这样在给用户分配过帐比如FB50,F-02,F-28等事务码时,假设在OB52中Posting period Variant 1180,1240,1880都加入了和公司代码同名的授权组1180,1240,1880,并将Posting period Variant 1180,1240,1880分别分配给公司代码1180,1240,1880, 如下图,即使你给用户赋了1180,1240,1880三家公司的记帐权限,但在加入的对过帐期间的权限F_BKPF_BUP中没有加入1880,该用户依旧不能在公司代码1880中过帐.
问题是,这样做似乎意义不大,既然公司代码都和过帐期间变式一一对应了,还画蛇添足搞这权限控制干啥呢?郁闷.
实际上OB52配置的是一个View,所以控制创建更改和显示的是隐含的SM30和权限组FC31,恐怕不增强也只能控制到拿掉更改权限等让一些用户只能使用OB52显示期间.
展开阅读全文