SAP有许多预定义的权限但是ABAPer新开发的报表是没有权限管理的所以要自定义。如果是自定义的权限大多数都要自定义一个域来分配所以我们先在SE11创建如下信息。t-code SE11域定义如下值范围给个X后续只有被分配了X的角色对应的用户才拥有这个权限数据元素则包含刚刚建立的域字段标签页面就根据描述的长度定义一下然后进 t-code SU20 创建权限字段创建完成后如下显示然进SU21创建权限对象类把刚刚创建的权限对象ZCYCLE0622加进去SU21每变动一次都要重新生成一下 SAP_ALL否则管理员账号将不具备新增的权限如下权限对象已经包括了权限字段即我们刚刚新建的数据元素然后进SU22给自己新开发的外挂报表加上刚刚新建的权限对象如下我们就把新建的权限对象ZCYCLE0622加进我们新写的t-code里去了然后打开我们新写的程序光标移动到想要加入权限判断的位置点击 模式 按钮然后加入 权限检查 这样系统就会自动生成一段权限检查代码如下然后我们就可以做自定义的修改了因为这个权限对象里的数据元素我只定义了一个值范围即 X 所以我们检查这个数据元素有没有 X 即可于是代码改成如下这样外挂程序里的权限检查就完成了接下来就是要分配权限给对应的角色了.首先进T-CODE PFCG 创建一个新的角色角色分为单一角色和复合角色单一角色的一个独立的权限对象复合角色是多个单一角色的组合继承了多个单一角色的权限。一般来说我们创建单一角色即可.我们添加对应的数据。创建好角色并把 T-CODE 加进去之后点击进对应的应用程序提示我们在SU24里没有维护其他的权限这里明明我在SU22维护了却没出来很奇怪。用SU24维护T-CODE 的权限对象提示需要创建请求因为是做演示所以这里我们就不创建了点进权限页面系统也没有自动分配权限进来所以我只能点击 手动 添加这里我们不给它的 域 打上 X表示这个角色有了这个权限对象但是权限没开起来然后我们把这个角色进SU01分配给对应的用户当然还有对应的用户比较等这里就不一一截图了这样只要我们在PFCG里把这个域的X打上去那么这个用户就有权限执行t-code ZCYCLE01了