用户可以调试时程序的行为不同

时间:2013-04-26 12:12:24

标签: debugging sap abap heisenbug

我们遇到了一个烦人的heisenbug:ABAP程序的一些用户(不是全部)抱怨我们无法重现的问题(事务FKKORD1中的合同帐户的搜索帮助不会出现在他们身上。由外部承包商定制)。

要找到问题的解决方案,我们暂时为用户提供了一个权限角色,允许在生产系统中进行调试,以便我们可以在用户帐户出现时调试问题。但是,当我们给他们这个角色时,问题就停止了。当我们删除角色时,问题再次发生。

问题:当有调试权的人执行时,ABAP程序的行为有何不同?

我们添加的角色只包含一项权限:

Object S_DEVELOP
    ACTVT = 03
    DEVCLASS = *
    OBJNAME = *
    OBJTYPE = DEBUG
    P_GROUP = *

我们使用事务ST01进行了权限跟踪,并且在问题发生或未发生时甚至没有找到该权限的检查。

永久性地向普通用户提供调试权不是一种选择,因为我们组织必须遵守的合规标准不允许这样做。

2 个答案:

答案 0 :(得分:0)

如果更改他们的安全角色使交易有效,我会集中精力。

如果发生了可以执行SU53的错误消息,但您可能已经尝试过了。

我能想到的另一件事就是初始化问题。

答案 1 :(得分:0)

您可能在生成角色时遇到问题。角色应该有一些家务管理工作,应该每晚运行。

某些用户可能拥有的角色多于SAP可以处理的角色。添加角色可能会导致这些用户可以使用完全不同的角色集。

程序员可能明确地为调试权限编写了权限检查,以便以不同的方式执行某些操作。您应该通过事务SU53找到它。