1、业务需求

针对用户使用销售订单时,判断是否有权限,没有权限时隐藏销售订单抬头和行项目的价格相关字段

2、增强实现

2.1、隐藏抬头和行项目价格

隐藏抬头和行项目表格中的净值和净价字段

在程序MV45AFZZ→USEREXIT_FIELD_MODIFICATION中写隐式增强

"--------------------@斌将军--------------------
FORM USEREXIT_FIELD_MODIFICATION. * CASE SCREEN-GROUP3.
* WHEN '900'.
* IF VBAK-VBTYP NE IF_SD_DOC_CATEGORY=>INQUIRY.
* SCREEN-ACTIVE = 0.
* ENDIF.
* ENDCASE. * CASE SCREEN-NAME.
* WHEN 'VBAK-VBELN'.
* SCREEN-ACTIVE = 0.
* ENDCASE. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1)
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1 ZSD_VA01_PRICE. "active version IF sy-tcode = 'VA01' OR sy-tcode = 'VA02' OR sy-tcode = 'VA03' OR sy-tcode = 'VA05'. IF (
screen-name = 'VBAK-NETWR' OR "抬头 净值
screen-name = 'VBAK-WAERK' OR "抬头 货币
* screen-name = 'RV45A-KOEIN' OR "项目 货币
screen-name = 'VBAP-NETPR' OR "项目 净价
screen-name = 'VBAP-NETWR' "OR "项目 净值
* screen-name = 'VBAP-WAERK' OR "项目 SD 凭证货币
).
AUTHORITY-CHECK OBJECT 'ZCONDMANT'
ID 'ZCHECK' FIELD 'M'.
IF sy-subrc <> 0."没有权限
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDIF.
ENDENHANCEMENT.
*$*$-End: (1)---------------------------------------------------------------------------------$*$*
ENDFORM.
"--------------------@斌将军--------------------

效果如下

2.2、隐藏条件页签价格

还需要隐藏抬头和行项目的条件页签中的价格数据

在程序LV69AF01→TCTRL_KONDITIONEN_INIT中写隐式增强。

此处的隐式增强必须写在FORM的末尾隐式增强点处,不能写在FORM开头的隐式增强点处。

因为抬头和行项目的条件页签都是调用了这段相同的代码,在第一次进入会对tctrl_konditionen进行重置,导致增强代码不起作用,所以要将增强代码写在FORM末尾

参考代码

"--------------------@斌将军--------------------
FORM tctrl_konditionen_init.
DATA: da_tfill LIKE sy-tabix. * Refresh table control if screen number has changed
STATICS: last_dynnr TYPE dynnr.
IF sy-dynnr NE last_dynnr AND gf_called_by_lord IS INITIAL.
last_dynnr = sy-dynnr.
REFRESH CONTROL 'tctrl_konditionen' FROM SCREEN sy-dynnr.
ENDIF. DESCRIBE TABLE xkomv LINES da_tfill. ...... """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1)
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1 ZSD_VA01_ITEM_PRICE. "active version IF sy-tcode = 'VA01' OR sy-tcode = 'VA02' OR sy-tcode = 'VA03' OR sy-tcode = 'VA05'. AUTHORITY-CHECK OBJECT 'ZCONDMANT'
ID 'ZCHECK' FIELD 'M'.
IF sy-subrc <> 0."没有权限 "隐藏净值、税收字段
LOOP AT SCREEN.
IF screen-name = 'KOMP-NETWR' OR screen-name = 'KOMP-MWSBP'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP. "隐藏表格中金额、定价值字段
LOOP AT tctrl_konditionen-cols INTO DATA(lv_acol).
IF lv_acol-screen-name EQ 'KOMV-KBETR' OR lv_acol-screen-name EQ 'KOMV-KWERT'.
lv_acol-invisible = 1.
MODIFY tctrl_konditionen-cols FROM lv_acol INDEX sy-tabix.
ENDIF.
ENDLOOP.
ENDIF. ENDIF.
ENDENHANCEMENT.
*$*$-End: (1)---------------------------------------------------------------------------------$*$*
ENDFORM. "tctrl_konditionen_init
"--------------------@斌将军--------------------

效果如下

抬头条件页签

行项目条件页签

VA01/VA02/VA03/VA05 销售订单隐藏价格的更多相关文章

  1. 实践笔记-VA05 销售订单清单 增加字段

    现在都自开发很多报表 ,估计没有多少人 用  VA05 1.在结构 VBMTVZ 中增加需要的字段 2.表t180a 中  添加一条 “添加字段”的数据,如下: 3.取值 修改程序 INCLUDE V ...

  2. SAP SD VA01 销售订单中的自动价格更新

    场景 :当用户使用假定物料" A"创建销售订单时,确定了价格,但随后用户意识到需要更改物料,因此他们更改了订单中的物料. 现在,它显示价格已经重新确定,但是在项目条件页面中时,他们 ...

  3. VA01销售订单批导问题解决

    1业务场景 事务代码:VA01创建销售订单,VA02修改销售订单 可以通过BAPI_SALESORDER_CREATEFROMDAT2批量创建 可以通过BAPI_SALESORDER_CHANGE批量 ...

  4. C4C销售订单行项目价格维护方法

    需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域. 如下图所示: 下面是具体配置. Business Configuration里,点击Sales Ord ...

  5. 【ABAP系列】SAP VA02修改销售订单的BAPI举例

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP VA02修改销售订单的B ...

  6. MV45AFZZ 销售订单的增强

    ***INCLUDE MV45AFZZ . *---------------------------------------------------------------------* * FORM ...

  7. [SAP ABAP开发技术总结]SD销售订单定价过程

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. SAP IDOC 通过采购订单输出消息生成销售订单

    题记: 在网络上看到一篇类似的公众号文章,叫<通过IDoc逐步指导PO&SO集成>,个人觉得整个配置过程中还是少了一些重点配置,也少了说明整个功能的核心逻辑,那么,趁着这个机会,就 ...

  9. [置顶]生鲜配送管理系统_升鲜宝V2.0 销售订单汇总_采购任务分配功能_操作说明

    做好生鲜供应链系统,要注意三个方面,1.分拣 2 采购  3 库存,市面上做的比较成熟的功能,还是分拣这一块(按客户分拣.按订单分拣.按商品分类分拣.按商品分拣.按线路分拣.客户自由组合分拣)[下篇文 ...

  10. 转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代

    转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代   原文地址:SAP囚徒 - 通过销售订单领用到成本中心,FI替代实现不同成本中心记账科目不同作者:SAP囚徒 物品领用通常是库存管理的范畴 ...

随机推荐

  1. 2021-10-02:单词搜索。给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母

    2021-10-02:单词搜索.给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false .单词必须按照字母 ...

  2. IDP 与 DevOps平台:相似之处与关键差异

    软件开发是一个复杂而动态的过程,涉及许多工具.技术和实践.为了更快.更好地交付软件,开发人员需要有效地协作,自动执行任务,并管理环境.然而,由于软件架构的日益复杂,工具和平台的多样性,以及对安全和合规 ...

  3. 从零玩转之JPOM自动化部署本地构建 + SSH 发布 java 项目

    简而轻的低侵入式在线构建.自动部署.日常运维.项目监控软件 一键部署Jpom 本文主要介绍: 如何从零开始使用一键安装的方式安装 Jpom 服务端+插件端配置 本文中服务端和插件端是安装在同一个服务器 ...

  4. 执行pod setup 报错error: RPC failed; curl 18 transfer closed with outstanding read data remainin

    执行pod setup 报错 error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal ...

  5. 代码随想录算法训练营Day40 动态规划

    代码随想录算法训练营 代码随想录算法训练营Day40 动态规划| 343. 整数拆分 96.不同的二叉搜索树 343. 整数拆分 题目链接:343. 整数拆分 给定一个正整数 n,将其拆分为至少两个正 ...

  6. Java方法的概念以及方法的四种语法

    一.方法 方法的概念 ​ 将一个功能抽取出来,放在类中的大括号中,形成一个独立的功能,当需要使用该功能时,则调用它,这样可以增强代码的复用性(重复利用),并解决代码的冗余现象. 方法的语法: ​ [访 ...

  7. Kali安装GVM

    1.安装gvm ┌──(rootkali)-[/home/kali] └─# gvm-setup 1 ⨯ [>] Starting PostgreSQL service [-] ERROR: T ...

  8. 【Python&GIS】通过经纬度创建矢量点文件

         最近在做项目时,需要判断某个点是否在感兴趣区内.所以需要使用Python先根据经纬度的点创建矢量文件,再通过点文件和面文件的位置关系判断点是否在面内.         这里我们使用osgeo ...

  9. OpenSSL 是什么?

    OpenSSL 是什么? OpenSSL 是开源的程序套件,该套件由三部分组成: libcrypto:具有通用功能的加密库,里面包含众多加密算法 libssl:实现 SSL/TLS 功能 openss ...

  10. 使用libswresample库实现音频重采样

    一.初始化音频重采样器 在音频重采样时,用到的核心结构是SwrContext,我们可以通过swr_alloc()获取swr_ctx实例,然后通过av_opt_set_int()函数和av_opt_se ...