日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

SAP权限对象文集

發(fā)布時(shí)間:2023/12/13 综合教程 45 生活家
生活随笔 收集整理的這篇文章主要介紹了 SAP权限对象文集 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SAP權(quán)限對(duì)象文集

SAP的權(quán)限是通過(guò)授權(quán)對(duì)象來(lái)控制的,所有的事務(wù)碼、角色等最終反映在系統(tǒng)中都是授權(quán)對(duì)象。在SAP中運(yùn)行事務(wù)碼時(shí),系統(tǒng)首先會(huì)檢查S_TCODE這個(gè)授權(quán)事務(wù)中是否有指定的事務(wù)碼,如果有,你才能使用這個(gè)TCODE。但這里通過(guò)后,并不代表你可以將所要操作的業(yè)務(wù)進(jìn)行完畢,在不同的地方,系統(tǒng)還會(huì)檢查其他的授權(quán)對(duì)象,比如在操作到與會(huì)計(jì)憑證的公司代碼相關(guān)的事務(wù)時(shí),系統(tǒng)會(huì)檢查f_bkpf_buk 這個(gè)授權(quán)對(duì)象,只有這個(gè)檢查通過(guò)后,才能繼續(xù)往下走。

系統(tǒng)檢查授權(quán)對(duì)象的代碼一般為:

AUTHORITY-CHECK OBJECT f_bkpf_buk for user zhangsan01
ID 'ACTVT' FIELD act_hinz
ID 'BUKRS' FIELD bkpf-bukrs.
IF sy-subrc NE 0.
MESSAGE e083 WITH bkpf-bukrs.
ENDIF.

這個(gè)語(yǔ)句檢查的是張三(zhangsan01)是否有f_bkpf_buk這個(gè)授權(quán)對(duì)象的權(quán)限,如果不要for user zhangsan01,則表示檢查當(dāng)前用戶的權(quán)限。
注意這里只檢查授權(quán)對(duì)象,沒(méi)有單一角色和復(fù)合角色,也就是說(shuō)雖然我們給用戶分配了很多角色,但系統(tǒng)最終檢查的是這些角色的授權(quán)對(duì)象,而且是不分角色的授權(quán)對(duì)象。這樣就會(huì)造成權(quán)限重疊的情況。

比如張三有A公司憑證查看的權(quán)限,又有B公司憑證過(guò)帳的權(quán)限,如果他同時(shí)還有S_TCODE:FB01的授權(quán)對(duì)象,這時(shí)候他就是有A、B兩家公司的過(guò)帳和查看權(quán)限。所以,分配權(quán)限的時(shí)候得注意了。

使用事務(wù)碼SE93查看權(quán)限對(duì)象;
添加完事務(wù)碼后沒(méi)有帶出授權(quán)對(duì)象,就是因?yàn)檫@個(gè)事務(wù)碼下沒(méi)有包含權(quán)限對(duì)象

用SU01新建一個(gè)ID時(shí),默認(rèn)的權(quán)限是空白,即這個(gè)新建的ID不能做任何事情,不能使用任何事務(wù)代碼。這樣只需要為相應(yīng)的ID賦上相應(yīng)的TCODE,即可實(shí)現(xiàn)“某人能干某事”了,其補(bǔ)集,則是“某人不能干的某些事”。
  但是我們不能直接在SU01里面給某個(gè)ID賦上TCODE,要通過(guò)ROLE中轉(zhuǎn)一下。即:一堆TCODE組成了一個(gè)ROLE,然后把這個(gè)ROLE分給某個(gè)ID,然后這個(gè)ID就得到一堆TCODE了。
  上面這些,僅僅是SAP權(quán)限控制的初級(jí)概念,要理解SAP權(quán)限控制的全部,必須還要明白下面的概念。
  1、角色(ROLE)、復(fù)合角色
  上面講了,角色,即ROLE,是一堆TCODE的集合,當(dāng)然還包含有TCODE必備的“權(quán)限對(duì)象”、“權(quán)限字段”、“允許的操作”及“允許的值”等。我們使用PFCG來(lái)維護(hù)角色。
  一個(gè)復(fù)合角色可以包含多個(gè)單個(gè)的角色。
  具體請(qǐng)看下面的概念。
  2、權(quán)限對(duì)象(Authorization Object)、權(quán)限字段(Authorization Field)、允許的操作(Activity)、允許的值(Field Value)
  上文粗略說(shuō)了構(gòu)成ROLE的是若干TCODE。其實(shí),在ROLE和TCODE之間,還有一個(gè)中間概念“權(quán)限對(duì)象”:
  角色包含了若干權(quán)限對(duì)象,在透明表AGR_1250中有存儲(chǔ)二者之間的關(guān)系;
  權(quán)限對(duì)象包含了若干權(quán)限字段、允許的操作和允許的值,在透明表AGR_1251中體現(xiàn)了ROLE/Object/Field/Value之間的關(guān)系;
有一個(gè)特殊的權(quán)限對(duì)象用來(lái)包含了若干事務(wù)碼。這個(gè)權(quán)限對(duì)象叫“S_TCODE”,該權(quán)限對(duì)象的權(quán)限字段叫“TCD”,該字段允許的值(Field Value)存放的就是事務(wù)代碼;
  有一種特殊的權(quán)限字段用來(lái)表示可以針對(duì)該權(quán)限對(duì)象做哪些操作,是允許創(chuàng)建、修改、顯示、刪除或者其他呢。該權(quán)限字段叫“ACTVT”,該字段允許的值(Field Value)存放的就是允許操作的代碼,01代表創(chuàng)建、02代表修改、03代表顯示等;
  SAP的權(quán)限控制是控制到字段級(jí)的,換句話說(shuō),其權(quán)限控制機(jī)制可以檢查你是否有權(quán)限維護(hù)某張透明表的某一個(gè)字段。
  SAP系統(tǒng)自帶了若干權(quán)限對(duì)象、默認(rèn)控制了若干權(quán)限字段(對(duì)應(yīng)到透明表的某些字段)。可以用事務(wù)碼SU20來(lái)查看系統(tǒng)有哪些權(quán)限字段,用SU21來(lái)查看系統(tǒng)有哪些默認(rèn)的權(quán)限對(duì)象。
  于是我們知道了事務(wù)代碼與權(quán)限對(duì)象的區(qū)別。從權(quán)限控制的范疇來(lái)看,事務(wù)代碼屬于一種特殊的權(quán)限對(duì)象;一個(gè)事務(wù)代碼在執(zhí)行過(guò)程中,為了判斷某個(gè)ID是否有權(quán)限執(zhí)行此事務(wù)代碼,還可能檢查其他若干普通的權(quán)限對(duì)象。使用SU22來(lái)查看某個(gè)事務(wù)代碼包含了哪些權(quán)限對(duì)象。在透明表USOBX中,存放了事務(wù)碼與權(quán)限對(duì)象的對(duì)應(yīng)關(guān)系。
3、自定義權(quán)限對(duì)象
  上文所說(shuō)的系統(tǒng)自帶權(quán)限對(duì)象與權(quán)限字段僅能滿足有限的需要,其權(quán)限審核的邏輯也是系統(tǒng)硬編碼了的,我們能做的只是是否啟用某項(xiàng)權(quán)限對(duì)象的檢查(使用SU22)。如果需要自定義,通過(guò)SU20、SU21定義即可。
authority-check后的SY-SUBRC返回值的不同也代表著不同的意思,這里稍微歸總一下:
0
權(quán)限check成功
4
用戶無(wú)這樣的權(quán)限
8
在寫(xiě)ABAP authority-check時(shí),指定太多的ID(最多只能有10個(gè))
12
用戶信息中不存在這樣的authority object
16
用戶信息中不存在這樣的profile
24
指定的fild名字與authority-object中ID需要的field不匹配
28
用戶信息不正確
32
用戶信息不正確
36
用戶信息不正確
1.su20 創(chuàng)建權(quán)限對(duì)象字段 例子: ZPOWERFLD1
創(chuàng)建權(quán)限對(duì)象字段(存儲(chǔ)在AUTHX表中),指定表中的數(shù)據(jù)元素。
2.su21 創(chuàng)建權(quán)限對(duì)象類和權(quán)限對(duì)象 例子:對(duì)象類:選擇了默認(rèn)的WG零售 對(duì)象:ZPOWER1
創(chuàng)建權(quán)限對(duì)象類別(存儲(chǔ)在TOBCT表中)
點(diǎn)擊對(duì)象類別創(chuàng)建權(quán)限對(duì)象(存儲(chǔ)在TOBJ表中),生成SAP_ALL,創(chuàng)建的時(shí)候需要填寫(xiě)權(quán)限對(duì)象字段,還可以加上ACTVT,ACTVT中有很多的值,如02修改,03一般為顯示權(quán)限
需要馬上生效,點(diǎn)擊左上角SAP_ALL
3.su01 生成參數(shù)文件 例子:ZAUTOPROF
環(huán)境-維護(hù)參數(shù)文件 輸入?yún)?shù)文件名,點(diǎn)擊創(chuàng)建參數(shù)文件的工作區(qū)-進(jìn)入后新建-進(jìn)入后輸入權(quán)限對(duì)象和權(quán)限(自己起名字,例:ZAUTHO),雙擊ZAUTHO,可對(duì)權(quán)限對(duì)象下的權(quán)限字段的值進(jìn)行設(shè)置(程序中輸入的值要在這個(gè)值域),注意激活
4.pfcg為角色分配權(quán)限 例子:ZROLEA
新建權(quán)限角色,第二欄為菜單,可以添加事務(wù)碼(可以選擇1.添加標(biāo)準(zhǔn) or 2.報(bào)表,本例子選2),第三欄為權(quán)限,輸入剛建立的參數(shù)文件,點(diǎn)擊更改授權(quán)數(shù)據(jù),也可以看到設(shè)置的值,最后點(diǎn)擊生成(即:皮球),第4欄為用戶,輸入想要設(shè)置權(quán)限的用戶,指定有效期。
5.su01 添加參數(shù)文件和角色給用戶
參數(shù)標(biāo)簽輸入?yún)?shù)文件,角色標(biāo)簽輸入剛建的角色。
6.程序中書(shū)寫(xiě) 例子: Z_AUTHORITY_TEST
在程序中加上類似代碼:
REPORT Z_AUTHORITY_TEST.
DATA: L_STR(30) TYPE C.
SELECTION-SCREEN BEGIN OF BLOCK B3 .
SELECTION-SCREEN COMMENT 1(10) TEXT-003.
PARAMETERS:P_CARRID LIKE SPFLI-CARRID.
SELECTION-SCREEN END OF BLOCK B3.
AT SELECTION-SCREEN.
"su21 新建WG對(duì)象類下的ZPOWER1授權(quán)對(duì)象 ,將su20創(chuàng)建的ZPOWERFLD1給授權(quán)對(duì)象
AUTHORITY-CHECK OBJECT 'ZPOWER1'
"su20 ZPOWERFLD1 授權(quán)對(duì)象字段,對(duì)應(yīng)的是SPFLI-SCARR
ID 'ZPOWERFLD1' FIELD P_CARRID .
IF SY-SUBRC <> 0.
CONCATENATE P_CARRID '您沒(méi)有權(quán)限!' INTO L_STR.
MESSAGE L_STR TYPE 'E'.
EXIT.
ENDIF.
7.su24 查找一個(gè)事務(wù)的授權(quán)對(duì)象
在SU24中為事務(wù)碼添加權(quán)限對(duì)象,一般在se93中添加的那一個(gè)權(quán)限對(duì)象會(huì)在你點(diǎn)擊事務(wù)碼之后自動(dòng)出現(xiàn)
若是事務(wù)碼有多個(gè)權(quán)限控制對(duì)象,需要自

在項(xiàng)目中,難免要使用到自定義的權(quán)限對(duì)象,如對(duì)利潤(rùn)中心的檢查,找了好久,沒(méi)有看到,于是,我就自己建了一個(gè)
剛開(kāi)始不懂,到處查資料,分為幾個(gè)步驟,如下:
1.su20
創(chuàng)建權(quán)限對(duì)象字段(存儲(chǔ)在AUTHX表中)
2.su21 創(chuàng)建權(quán)限對(duì)象
創(chuàng)建權(quán)限對(duì)象類別(存儲(chǔ)在TOBCT表中)
點(diǎn)擊對(duì)象類別創(chuàng)建權(quán)限對(duì)象(存儲(chǔ)在TOBJ表中),生成SAP_ALL
這里創(chuàng)建的時(shí)候需要填寫(xiě) 權(quán)限對(duì)象字段,還可以加上ACTVT,ACTVT中有很多的值,如03一般為顯示權(quán)限
需要馬上生效,點(diǎn)擊SAP_ALL
3.程序中書(shū)寫(xiě)
在程序中加上類似代碼:
authority-check object 'V_VBKA_VKO'
id 'VKORG' p_vkorg
id 'ACTVT' '03'.
4.su24
在SU24中為事務(wù)碼添加權(quán)限對(duì)象,一般在se93中添加的那一個(gè)權(quán)限對(duì)象會(huì)在你點(diǎn)擊事務(wù)碼之后自動(dòng)出現(xiàn)
若是事務(wù)碼有多個(gè)權(quán)限控制對(duì)象,需要自己手動(dòng)添加另外的權(quán)限對(duì)象。

權(quán)限對(duì)象中有四個(gè)標(biāo)識(shí):
? U C CM
當(dāng)權(quán)限對(duì)象對(duì)應(yīng)的是C或CM時(shí),控制有效。他們之間的區(qū)別在于,CM在PFCG分配權(quán)限時(shí)會(huì)自動(dòng)帶出來(lái),C標(biāo)記的需要手工分配。
5.pfcg為角色分配權(quán)限
這是屬于BASIS的部分,但是開(kāi)發(fā)人員需要了解。選擇需要修改的權(quán)限角色,第二欄為權(quán)限,可以添加事務(wù)碼,之后在更改用戶權(quán)限里面,點(diǎn)擊授權(quán)對(duì)象,這時(shí),前面為CM標(biāo)記的權(quán)限對(duì)象會(huì)出現(xiàn),標(biāo)記為C的不會(huì)出現(xiàn),需要手動(dòng)分配。
6.待分析,se93. se93主要用于分配程序的事務(wù)碼,這個(gè)地方值得注意的就是一般的報(bào)表程序都選擇第二項(xiàng)。。。否則在程序運(yùn)行的時(shí)候,點(diǎn)擊執(zhí)行,界面就會(huì)消失~~這里也有分配權(quán)限對(duì)象,但是只能填一個(gè),不知道如何處理。



部分參照:http://silverw0396.**.com/blog/90671

總結(jié)

以上是生活随笔為你收集整理的SAP权限对象文集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。