当前位置: 首页 > news >正文

VT01N/VT02N进行交货的时候,对装运点加权限控制的增强

目录

  • 1、VT01N前台操作界面:
  • 2、VT02N前台操作界面
  • 3、增强代码实现
  • 4、VT02N中对于没有装运点权限的装运单不允许更改

背景:
(1)在VT01N进行创建装运单的时候,点击交货,只带出权限控制下面的装运点的数据。
(2)在VT02N进行更改装运单的时候,如果点击了交货,那么也只带出权限控制下面的装运点的数据。

1、VT01N前台操作界面:

1.1、输入运输计划点和装运类型
在这里插入图片描述

1.2、点击交货
在这里插入图片描述

1.3、可以看见:找到的交货数据有48条,但是我们显示的只有5条,因为其他的交货数据不是这个权限下面的装运点数据。
在这里插入图片描述

在这里插入图片描述

2、VT02N前台操作界面

2.1、输入装运编号:
在这里插入图片描述

2.2、不管是在VT02N界面点击交货还是敲击回车进去后点击交货,都只带出权限下面的装运点数据
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、增强代码实现

3.1、隐私增强的位置点:
SE37输入:/DSD/RP_DSD_FIELDS
在可以增强的地方创建隐式增强即可。
在这里插入图片描述

3.2、具体代码:

ENHANCEMENT 1  ZIM_EN_SD_VT01.    "active version
field-symbols: <fs_xvttk_tab> type v56i1_vttk_tab,
               <fs_xvttp_tab> type v56i1_vttp_tab,
               <fs_vtrlk_tab> type v56i1_vtrlk_tab,
               <fs_vtrlp_tab> type v56i1_vtrlp_tab,
               <fs_xvttk>     type v56i1_vttk,
               <fs_xvttp>     type v56i1_vttp,
               <fs_vtrlk>     type v56i1_vtrlk.

data: lf_vttk  type vttkvb.

if sy-tcode = 'VT01N' or sy-tcode = 'VT02N' or sy-tcode = 'VT03N'.

  if not cp_ref-xvttp is initial.
    assign cp_ref-xvttp->* to <fs_xvttp_tab>.
  endif.
  if not cp_ref-vtrlk is initial.
    assign cp_ref-vtrlk->* to <fs_vtrlk_tab>.
  endif.
  loop at <fs_xvttp_tab> into data(ls_xvttp).
    "MODIFIED BY DS4K904566 20250409
    "标准的权限对象:V_LIKP_VS无法管控,因为更改为自建的权限对象
    authority-check object 'Z_V_LIKP'
             id 'VSTEL' field  ls_xvttp-vstel
            id 'ACTVT' field '02'.
    if sy-subrc <> 0.
      delete <fs_xvttp_tab>.
      delete <fs_vtrlk_tab> where vbeln = ls_xvttp-vbeln.
    endif.

  endloop.

endif.
ENDENHANCEMENT.

4、VT02N中对于没有装运点权限的装运单不允许更改

实现的效果如下图所示:
不管是敲击回车,还是点击交货或者点击装运与交货都不允许进行操作
在这里插入图片描述

4.1、增强点:程序:SAPMV56A----->包含文件:MV56AF0V---->子例程:varianten_check
在这里插入图片描述

4.2、增强代码:

ENHANCEMENT 2  ZSD_ENHANCE_TRANSPORT.    "active version
*****---- ADD BY DS4K904566 20250409 BGEIN ------*****
   if sy-tcode = 'VT02N'.
     if fcode = 'MM_TKAL'or fcode = 'MM_LFSL'OR fcode = 'MM_UETP'.
       select a~vstel,
         a~vbeln
         from likp as a
         inner join vttp as b on b~vbeln = a~vbeln
         where b~tknum = @vttk-tknum
         into table @data(lt_likp).
       loop at lt_likp into data(ls_likp).
         authority-check object 'Z_V_LIKP'
                     id 'VSTEL' field  ls_likp-vstel
                    id 'ACTVT' field '02'.
         if sy-subrc <> 0.
           delete lt_likp.
         endif.
       endloop.
       if lt_likp is initial.
       "您没有该装运单权限
         message e012(zsd001).
       endif.
     endif.
   endif.
ENDENHANCEMENT.

相关文章:

  • 原生SSE实现AI智能问答+Vue3前端打字机流效果
  • 【语法】C++的list
  • 模糊测试究竟在干什么
  • 41、web前端开发之Vue3保姆教程(五 实战案例)
  • 结合大语言模型整理叙述并生成思维导图的思路
  • C语言--常用的链表操作
  • 分布式存储怎样提高服务器数据的安全性?
  • Vue3+Vite+TypeScript+Element Plus开发-09.登录成功跳转主页
  • CentOS8.5 LLaMA-Factory训练模型
  • ChatDBA:一个基于AI的智能数据库助手
  • 基于C8051F340单片机的精确定时1S的C程序
  • 代码随想录算法训练营--打卡day8
  • 状态同步梳理
  • 如何精准控制大模型的推理深度
  • 解密工业控制柜:认识关键硬件(PLC)
  • NO.84十六届蓝桥杯备战|动态规划-路径类DP|矩阵的最小路径和|迷雾森林|过河卒|方格取数(C++)
  • Stable Diffusion + Contronet,调参实现LPIPS最优(带生成效果+指标对比)——项目学习记录
  • Java接口性能优化面试问题集锦:高频考点与深度解析
  • 【设计模式】访问者模式
  • 微软庆祝它成立整整50周年
  • wordpress手机移动版/关键词seo排名
  • ps网页设计作品欣赏/seo搜索引擎优化工资多少钱
  • 旅游景点网站建设方案/中国网站建设公司
  • 网站怎么在百度搜不到/搜索引擎seo优化
  • 县城服务网站如何做/百度指数教程
  • 佛山做外贸网站的公司吗/漳州seo网站快速排名