如果需要在程序中自定义判断而不通过标准权限分配来判断当前用户是否有某事务的权限可以尝试以下方法:
到SU21中创建一个权限对象如:Z_TCODE,在授权字段中维护TCD,如下:
然后通过角色事务PFCG,手动添加权限对象Z_TCODE,然后将角色分配给用户。并未该角色分配具体的事务代码。
最后在abap代码中就通过authority-check语句对权限进行判断就可以了,如下:
如果你是想对搜索帮助出来的可选项做权限检查
排除掉不应该出现的数据
可以看看这个标准程序:LSDSDF03
里面有个form map_itab_to_record_tab
可以在这个form里面做检查 并删除没有权限的数据
只要有你写的BDC程序的权限,就能能执行你的程序。分两种情况:
1 -- 用户没有Tcode的权限,但是Tcode *** 作过程中不会进行其他权限校验。
这种情况下,用户能够执行你的BDC程序,也能得到成功的结果。因为call Tcode 会跳
过权限检查。
2 ---- 用户没有Tcode的权限,但是Tcode *** 作过程中会进行其他权限校验(假设用户没有)。
这样用户还是能够执行你的BDC程序,但是会得到失败的结果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)