请教SAP一个权限设置问题
之前我们公司销售部下,已经设置了不同的销售员,仅能看到指定的客户。当时是以“销售机构/分销渠道/产品组”来划分的。但是这么划分有点太笼统。我现在想以“销售部门”和“销售组”为基准来设置权限,例如,在销售部里,A员工仅允许看到“销售部门1001”或者“销售组109”。B员工仅允许看到“销售部门2004”或者“销售组106”
这个能实现吗?


请教SAP一个权限设置问题
之前我们公司销售部下,已经设置了不同的销售员,仅能看到指定的客户。当时是以“销售机构/分销渠道/产品组”来划分的。但是这么划分有点太笼统。我现在想以“销售部门”和“销售组”为基准来设置权限,例如,在销售部里,A员工仅允许看到“销售部门1001”或者“销售组109”。B员工仅允许看到“销售部门2004”或者“销售组106”
这个能实现吗?


阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
SAP提供了多种方式来实现权限设置,以下是一种常见的方法:
在SAP中,Role是权限的基本单元,可以将Role分配给用户。我们可以创建一个Role,用于销售部门和销售组的权限设置。
Authorization Object是SAP中权限的基本单元,可以用来控制用户对系统资源的访问。我们可以创建一个Authorization Object,用于销售部门和销售组的权限设置。
Condition Technique是SAP中的一种技术,可以用来控制用户对系统资源的访问。我们可以使用Condition Technique来实现销售部门和销售组的权限设置。
以下是一个简单的示例:
假设我们有两个销售部门:A和B,每个部门都有多个销售组。我们想要实现以下权限设置:
我们可以创建一个Role,名为SALES_DEPT_ROLE,并将以下Authorization Object添加到该Role中:
BSEG-BUKRS:控制用户对客户的访问BSEG-KUNNR:控制用户对客户的访问然后,我们可以使用Condition Technique来实现销售部门和销售组的权限设置。例如,我们可以创建一个Condition,名为SALES_DEPT_COND,用于控制用户对客户的访问。该Condition可以根据销售部门和销售组来控制用户的访问权限。
在SAP中,我们可以使用以下代码来实现Condition Technique:
REPORT zsales_dept_cond.
DATA: ls_bseg TYPE bseg,
lv_dept TYPE bseg-bukrs,
lv_group TYPE bseg-kunnr.
SELECT SINGLE bukrs kunnr
INTO (lv_dept, lv_group)
FROM bseg
WHERE bukrs = sy-uname.
IF lv_dept IS NOT INITIAL.
DATA(lv_cond) = 'BSEG-BUKRS = ''{ lv_dept }'' AND BSEG-KUNNR = ''{ lv_group }'''.
PERFORM set_condition USING lv_cond.
ENDIF.
FORM set_condition USING cv_cond TYPE string.
DATA: lv_cond TYPE string.
lv_cond = cv_cond.
CALL FUNCTION 'AUTHORIZATION_OBJECT_SET_CONDITION'
EXPORTING
cond_name = 'SALES_DEPT_COND'
cond_value = lv_cond
EXCEPTIONS
cond_name_invalid = 1
cond_value_invalid = 2
OTHERS = 3.
ENDFORM.
在上面的代码中,我们首先根据销售员的用户名来获取销售部门和销售组的信息,然后使用Condition Technique来控制用户对客户的访问权限。
这些只是一个简单的示例,实际情况中可能需要更多的权限设置和Condition Technique。