SAP 之SD模块常用权限检查
序
HELLO,这里是百里,一个学习中的ABAPER,在SAP中分成了很多个模块,其中SD模块主要是业务相关的模块,包括销售订单,发货单,收货单,发票等等数据.今天所讲述的内容是SD模块的常用权限检查.包括销售组织,工厂,部门等数据的检查.
什么是权限检查
权限检查顾名思义,就是有某个权限查看某个东西,因为SAP中的工厂和销售组织等有很多很多,但是我们的代码只有一个代码.如果不同公司对应的数据都可以展示出来那么慢是一说,如果相互泄密不是更不好.这个时候就需要使用数据检查. 就是在我们输入选择屏幕时候,只能选择对应的数据内容,如果选择其他的非规定部门这提示,没有权限.
语法解析
我们主要是调用系统中自带的检查函数,来进行权限检查.
如检查销售组织和部门V_VBAK_VKO
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD 'xxxxxxxx'
ID 'VTWEG' FIELD 'xxxxxxxx'
ID 'SPART' FIELD 'xxxxxxxx'
ID 'ACTVT' FIELD 'xxxxxxxx'.
IF sy-subrc <> 0.
* Implement a suitable exception handling here
ENDIF.
如检查销售组织和产品组的V_KONH_VKO
AUTHORITY-CHECK OBJECT 'V_KONH_VKO'
ID 'VKORG' FIELD 'xxxxxxxx'
ID 'VTWEG' FIELD 'xxxxxxxx'
ID 'SPART' FIELD 'xxxxxxxx'
ID 'ACTVT' FIELD 'xxxxxxxx'.
IF sy-subrc <> 0.
* Implement a suitable exception handling here
ENDIF.
调用方式
我们在SE38中,点击上面的模式,点击对应位置的权限检查. 输入检查函数名称.
系统就会自动带出对应检查数据. 通过修改对应的参数和字符串拼接达到检查的目的 .
实例演示
我们这里拿V_VBAK_VKO
做个案例 . 包括单选时和区间使用两种方式 .
数据准备
检查函数前我们需要先准备数据集,这里通通都要调用基础表数据,如果不调用基础表数据会时的界面非常的卡顿.比如我们这里检查的是销售组织和部门两个字段. 我们这里就取基础表tvkos
的字段 .
DATA:l_err TYPE string.
SELECT DISTINCT
vkorg,spart
INTO TABLE @DATA(lt_vkorg)
FROM tvkos
WHERE vkorg IN @s_vkorg AND spart IN @s_spart.
区间时使用方式
在区间时使用方法是将上述结果内容放在内表中,我们通过循环内容的内容将数据放在工作区中,再逐一检查.
LOOP AT lt_vkorg INTO DATA(ls_vkorg).
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD ls_vkorg-vkorg
ID 'SPART' FIELD ls_vkorg-spart.
IF sy-subrc <> 0.
l_err = '销售组织' && ls_vkorg-vkorg && '部门' && ls_vkorg-spart && '无权限'.
MESSAGE l_err TYPE 'S' DISPLAY LIKE 'E'.
STOP.
ENDIF.
ENDLOOP.
单选时使用方式
单选是使用方式,比较简单,直接将获取数据内容的值放入到对应的工作区内即可.调用时我们只需要调用一次就可以.
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD ls_vkorg-vkorg
ID 'SPART' FIELD ls_vkorg-spart.
IF sy-subrc <> 0.
l_err = '销售组织' && ls_vkorg-vkorg && '部门' && ls_vkorg-spart && '无权限'.
MESSAGE l_err TYPE 'S' DISPLAY LIKE 'E'.
STOP.
ENDIF.
注意:我们在发现权限不对时一定要跟带着一条STOP使程序,停止下来,毕竟人家没有权限肯定需要权限停止 .
技术总结
今天讲述的内容是在ABAP 自开发程序中肯定会用到的内容,权限检查,当然不同模块的权限检查是不一样的,我们需要逐一的发现记录,百里也是初学者,本次只是针对对应的SD模块的常用检查进行讲解 .
百里鸡汤
朝为田舍郎,暮登天子堂。将相本无种,男儿当自强.
这里是百里,一个努力的学习者. 努力学习好好记录,点滴进步,就是成功.
- 点赞
- 收藏
- 关注作者
评论(0)