1、业务需求

需要对来料检验增加“合格数量”和“不合格数量”字段,涉及三个增强开发

2、QE01\QE02\QE03\QE51N屏幕增强

增强表

增强点BADI:QEEM_SUBSCREEN_5000

创建程序,包含子屏幕,在增强点中调用

在程序屏幕中绘制字段

在输出流中可以通过事务代码控制字段编辑和必输效果

"--------------------@斌将军--------------------
MODULE status_9001 OUTPUT. DATA:lv_input TYPE char1,
lv_req TYPE char1. "可编辑设置
IF sy-tcode = 'QE01' OR sy-tcode = 'QE02'.
lv_input = '1'.
lv_req = '1'.
ELSEIF sy-tcode = 'QA11' OR sy-tcode = 'QA12'.
lv_input = '1'.
lv_req = '0'.
ELSE.
lv_input = '0'.
ENDIF. LOOP AT SCREEN.
IF screen-name = 'QALS-ZHGSL' OR screen-name = 'QALS-ZBHGSL'.
screen-input = lv_input.
screen-required = lv_req.
MODIFY SCREEN.
ENDIF.
ENDLOOP. ENDMODULE.
"--------------------@斌将军--------------------

在保存数据时,需要实现增强BADI:QE_SAVE

代码如下:

IS_ACTIVE

"--------------------@斌将军--------------------
METHOD if_ex_qe_save~is_active.
IF sy-ucomm = 'BU'.
rv_active = abap_true.
ENDIF.
ENDMETHOD.
"--------------------@斌将军--------------------

TABLES_IN_OPERATION

"--------------------@斌将军--------------------
METHOD if_ex_qe_save~tables_in_operation.
IF sy-tcode = 'QE01' OR sy-tcode = 'QE02'.
MODIFY qals FROM is_qals.
ev_saving_allowed = abap_true.
ENDIF.
ENDMETHOD.
"--------------------@斌将军--------------------

效果如下

3、QA11\QA12\QA13\QA14屏幕增强

BADI:QEVA_SUBSCREEN_1101

创建程序,包含子屏幕,在增强点中调用。此处共用了ZQM003程序

4、QA0\QA02\QA03屏幕增强

增强点CMOD:QPL10004

在TOP中定义变量

在屏幕100中绘制字段

输出流控制字段编辑

"--------------------@斌将军--------------------
MODULE status_0100 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
LOOP AT SCREEN.
IF screen-name = 'QALS_CUST-ZHGSL' OR screen-name = 'QALS_CUST-ZBHGSL'.
IF gv_display = 'X'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDMODULE.
"--------------------@斌将军--------------------

在EXIT_SAPLQPL1_004中展示数据

"--------------------@斌将军--------------------
*&---------------------------------------------------------------------*
*& 包含 ZXQPLU04
*&---------------------------------------------------------------------*
DATA: l_trtyp LIKE t160-trtyp,
l_fs_c(30) TYPE c VALUE '(SAPLQPL1)G_T185F_AKTI'. FIELD-SYMBOLS: <l_fs>. ASSIGN (l_fs_c) TO <l_fs>.
IF sy-subrc = 0.
l_trtyp = <l_fs>.
CASE l_trtyp.
WHEN 'A'.
gv_display = 'X'.
WHEN OTHERS.
gv_display = ''.
ENDCASE.
ENDIF. MOVE-CORRESPONDING i_qals TO qals_cust.
"--------------------@斌将军--------------------

在EXIT_SAPLQPL1_006中存储数据

"--------------------@斌将军--------------------
*&---------------------------------------------------------------------*
*& 包含 ZXQPLU06
*&---------------------------------------------------------------------* MOVE-CORRESPONDING qals_cust TO e_qals_cust. e_active = 'X'.
"--------------------@斌将军--------------------

欢迎关注,定期更文

QE01/QA11/QA02屏幕增强的更多相关文章

  1. [转载]ME51n,ME52n,ME53n屏幕增强

    原文地址:ME51n,ME52n,ME53n屏幕增强作者:cyzhang811 http://blog.sina.com.cn/s/blog_721b218c0100zch9.html 使用增强:ME ...

  2. 如何实现标准TCODE的屏幕增强

    如何实现标准TCODE的屏幕增强(HOWTO:Implement a screen exit to a standard SAP transaction) Introduction SAP provi ...

  3. ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST

    最近想更深入学习下classic BADI, 以前没玩过BADI屏幕增强, 所以决定玩一下. 这次的屏幕增强主要用到两个BADI: ME_GUI_PO_CUST和ME_PROCESS_PO_CUST ...

  4. SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)

    喜欢博主的读者也许会意识到,这是本博客中第一篇有关屏幕增强的文章.之前没有总结过相关的东西,除了因为相关经验有限之外,我个人也是不喜欢所谓dynpro编程的,它有许多“潜规则”一样的东西要记住,想要运 ...

  5. SAP销售订单屏幕增强行项目屏幕增强

    1.在vbap表中 append一个自定义结构,如下图: 2.TCODE:SE80     程序名:SAPMV45A   屏幕:8459 如图: 3.标记增强的屏幕字段 4.屏幕增强的位置 *& ...

  6. 增强篇4 CO01生产订单屏幕增强

    Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD  使用客户增强:PPCO0012    生产订 ...

  7. 【MM系列】SAP 交货单屏幕增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 交货单屏幕增强   前言部分 ...

  8. 【ABAP系列】SAP VA01屏幕增强(user-exit)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP VA01屏幕增强(user- ...

  9. SAP采购订单屏幕增强

    转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增 ...

  10. SAP 物料主数据屏幕增强

    1. 用事务代码OMT3C,(或者用SPRO进入,后勤-常规->物料主记录->配置物料主记录->创建定制子屏幕的程序)创建函数功能组,如ZMGD1,然后保存. 2. 用事务代码SE8 ...

随机推荐

  1. 微信小程序记住密码,让登录解放双手

    密码是用户最重要的数据,也是系统最需要保护的数据,我们在登录的时候需要用账号密码请求登录接口,如果用户勾选记住密码,那么下一次登录时,我们需要将账号密码回填到输入框,用户可以直接登录系统.我们分别对这 ...

  2. C++ MiniZip实现目录压缩与解压

    Zlib是一个开源的数据压缩库,提供了一种通用的数据压缩和解压缩算法.它最初由Jean-Loup Gailly和Mark Adler开发,旨在成为一个高效.轻量级的压缩库,其被广泛应用于许多领域,包括 ...

  3. 【主流技术】详解 Spring Boot 2.7.x 集成 ElasticSearch7.x 全过程(二)

    目录 前言 一.添加依赖 二. yml 配置 三.注入依赖 四.CRUD 常用 API ES 实体类 documents 操作 常见条件查询(重点) 分页查询 排序 构造查询 测试调用 五.文章小结 ...

  4. Vite4+Typescript+Vue3+Pinia 从零搭建(4) - 代码规范

    项目代码同步至码云 weiz-vue3-template 要求代码规范,主要是为了提高多人协同和代码维护效率,结合到此项目,具体工作就是为项目配置 eslint 和 prettier. editorc ...

  5. Python 中的单下划线和双下划线

    哈喽大家好,我是咸鱼 当我们在学习 Python 的时候,可能会经常遇到单下划线 _ 和双下划线 __ 这两种命名方式 单下划线 _ 和双下划线 __ 不仅仅是只是一种简单的命名习惯,它们在 Pyth ...

  6. 【Android】无法通过drawable下的selector类型改变背景颜色?

    举例 我在darwable目录下创建了selector文件,并设置了如下内容 <?xml version="1.0" encoding="utf-8"?& ...

  7. git推送时报错:fatal: unable to access 'https://github.com/xxx/xxx.git/': Failed to connect to 127.0.0.1 port 31181 after 2063 ms: Connection refused

    一.报错原因 1.因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理. 2.当 ...

  8. charles谷歌浏览器抓包方法

    charles谷歌浏览器抓包方法 在工作中,我们会在PC电脑上测试页面,查看后端接口,我们会选择浏览器F12的功能来查看后端请求的接口,那我们能不能用charles抓包工具去抓呢?下面简答介绍一下ch ...

  9. 快速认识,后端王者语言:Java

    Java作为最热门的开发语言之一,长居各类排行榜的前三.所以,就算你目前不是用Java开发,你应该了解Java语言的特点,能用来做什么,以备不时之需. Java 是一种高级.多范式编程语言,以其编译为 ...

  10. mysql的begin end嵌套

    这个教程基本很少,因为这个很简单,但又会让(新手)人难以完成这嵌套. 为了方便读者理解,我把不需要嵌套的也嵌套起来了.(就比如下面这几行代码) delimiter $$ drop procedure ...