cancel
Showing results for 
Search instead for 
Did you mean: 

听听大家的建议

Former Member
0 Kudos

领导们不希望谁都能看到MB51中的金额,因此我就拷贝了这个TCODE的源码,通过修改让金额字段不出来,并且生成了新的TCODE:ZMB51,那现在就需要把那些不能看金额的人原来的MB51收回,只能用ZMB51,但是由于MB51用的人太多,很多人也都没有邮箱,很难通知到位说MB51要改成ZMB51了,到时候肯定电话不断,不得安宁。因此想用系统提示的方式,但是不知道有什么方式,想听听大家有什么意见,是不是有我不知道的简便的方法,我会很感激大家的。暂时,我想的方式只有一个,但是也都不知道要如何实现:当用户登录SAP时,自动给出一个提示框,说MB51改成ZMB51了。当然,如果能在运行MB51的时候提示是更好啦。

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

用户登录时的出口:

SUSR0001 User exit after logon to SAP System

Former Member
0 Kudos

感谢大家的回复,不过经高人指点,已经找到更为简单的解决方式:

在分配给用户MB51的角色里,会有个权限文件叫财务会计,其技术名称是:F_BKPF_BUK,设其为u201C未激活u201D状态,那么用户再用MB51的时候虽然有金额的字段,但是字段值是空白的。

Former Member
0 Kudos

学习了,权限对象还能这么用!

Former Member
0 Kudos

学习

former_member403242
Participant
0 Kudos

我测试了一下,发现这个权限控制好像没有用吗?用户还是可以看到金额

Former Member
0 Kudos

Hi 楼主,新问题发新帖吧:)其他人看到这个是answered就不进来啦。

Former Member
0 Kudos

还是能看到金额的原因有可能是用户分配了多个含有这个权限的角色,需要在每个角色里面把这个权限设为u201C未激活状态u201D

former_member403242
Participant
0 Kudos

这个用户只有一个role,这个role里面的这个权限我都inactive了

Former Member
0 Kudos

有两个疑问,请LZ帮助做些解答,

1. 修改这个权限文件,对其它业务或者其它用户有影响吗?

2. F_BKPF_BUK这个权限似乎在MB51中被多次检查到,都是什么目的呢?

Former Member
0 Kudos

回复楼上的,对于你的问题我无法回答耶,也没有相关资料,真是不好意思

回复楼上的楼上,不知道你们的为什么不能实现,这里无法上传附件,因此我在ITPUB上上传了附件,你去下载看看

http://www.itpub.net/viewthread.php?tid=1193211&extra=page%3D1&frombbs=1

Former Member
0 Kudos

不知道你用的ECC是什么版本的。

高版本中,应该在MB51中预留了一些增强出口,可以尝试一下。

此外在form build_fieldcatalog也有出口,如果可以利用的话,最好不要用你提到的那种复制transaction方法了。

Former Member
0 Kudos

我们是4.6C版本的,在这个子程序中没有出口呀?

FORM BUILD_FIELDCATALOG.

REFRESH FC_FLAT.

LOOP AT RTT.

CLEAR FC_FLAT.

FC_FLAT-FIELDNAME = RTT-FIELDNAME.

FC_FLAT-REF_TABNAME = RTT-TABNAME.

FC_FLAT-REF_FIELDNAME = RTT-FIELDNAME.

CASE RTT-CQINDICATOR.

WHEN 'C'. FC_FLAT-CFIELDNAME = RTT-CQFIELDNAME.

WHEN 'Q'. FC_FLAT-QFIELDNAME = RTT-CQFIELDNAME.

ENDCASE.

FC_FLAT-TABNAME = 'LIST'.

IF RTT-OUTPUT_POSITION = '00'.

FC_FLAT-NO_OUT = 'X'.

ENDIF.

  • PS_PSP_PNR need a special conversion and refers to another field

IF RTT-FIELDNAME = 'PS_PSP_PNR'.

FC_FLAT-FIELDNAME = 'PSPID'.

FC_FLAT-REF_TABNAME = 'PRPS'.

FC_FLAT-REF_FIELDNAME = 'POSID'.

ENDIF.

APPEND FC_FLAT.

  • Some fields have apendixes (e.g. MATNR is followed by MAKTX)

CLEAR FC_FLAT.

CASE RTT-FIELDNAME.

WHEN 'MATNR'.

FC_FLAT-FIELDNAME = 'MAKTX'.

FC_FLAT-TABNAME = 'LIST'.

FC_FLAT-REF_TABNAME = 'MAKT'.

WHEN 'WERKS'.

FC_FLAT-FIELDNAME = 'NAME1'.

FC_FLAT-TABNAME = 'LIST'.

FC_FLAT-REF_TABNAME = 'T001W'.

WHEN 'BWART'.

FC_FLAT-FIELDNAME = 'BTEXT'.

FC_FLAT-TABNAME = 'LIST'.

FC_FLAT-REF_TABNAME = 'T156T'.

WHEN 'NPLNR'. "215929

FC_FLAT-FIELDNAME = 'VORNR'. "215929

FC_FLAT-TABNAME = 'LIST'. "215929

FC_FLAT-REF_TABNAME = 'RESB'. "215929

WHEN OTHERS.

CONTINUE.

ENDCASE.

FC_FLAT-NO_OUT = 'X'.

APPEND FC_FLAT.

ENDLOOP.

  • For the hierarchic ALV, the header fields are extracted

  • and activated.

REFRESH FC_HIER.

LOOP AT FC_FLAT.

FC_HIER = FC_FLAT.

CASE FC_FLAT-FIELDNAME.

WHEN 'MATNR' OR 'MAKTX' OR 'WERKS' OR 'NAME1'.

FC_HIER-TABNAME = 'HEADER'.

FC_HIER-NO_OUT = ' '.

ENDCASE.

APPEND FC_HIER.

ENDLOOP.

ENDFORM. "build_fieldcatalog

Former Member
0 Kudos

在运行一个TCODE的时候有没有出口呢?比如输入MB51就给出提示让运行ZMB51去

Former Member
0 Kudos

Hi,

你好!

为什么不去SE93把MB51指向你自己开发的一个程序呢?既可以直接指向你新开发的ZMB51程序,也可以再写一段提示性程序。

只要申请个access key就好了。需要的话让basis帮忙下。

Regards,

Frank

Former Member
0 Kudos

如果你有权限,你用SM02 发条消息给所有人。

实现方法很多,开动脑筋,有开发权限只有想不到没有做不到的!

Edited by: Huang Jun on Jul 15, 2009 6:02 AM

Former Member
0 Kudos

谢谢,不过SM02只能发即时消息呀。我的这种情况,并不一定用户都是在电脑面前的,你发送这个消息,只有刚好在操作SAP的用户才能看到啊,这样还是通知不到位。

Former Member
0 Kudos

那要看你sm02时的有效时段了,你可以把有效时段设的长些