QE01/QA11/QA02屏幕增强
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屏幕增强的更多相关文章
- [转载]ME51n,ME52n,ME53n屏幕增强
原文地址:ME51n,ME52n,ME53n屏幕增强作者:cyzhang811 http://blog.sina.com.cn/s/blog_721b218c0100zch9.html 使用增强:ME ...
- 如何实现标准TCODE的屏幕增强
如何实现标准TCODE的屏幕增强(HOWTO:Implement a screen exit to a standard SAP transaction) Introduction SAP provi ...
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
最近想更深入学习下classic BADI, 以前没玩过BADI屏幕增强, 所以决定玩一下. 这次的屏幕增强主要用到两个BADI: ME_GUI_PO_CUST和ME_PROCESS_PO_CUST ...
- SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)
喜欢博主的读者也许会意识到,这是本博客中第一篇有关屏幕增强的文章.之前没有总结过相关的东西,除了因为相关经验有限之外,我个人也是不喜欢所谓dynpro编程的,它有许多“潜规则”一样的东西要记住,想要运 ...
- SAP销售订单屏幕增强行项目屏幕增强
1.在vbap表中 append一个自定义结构,如下图: 2.TCODE:SE80 程序名:SAPMV45A 屏幕:8459 如图: 3.标记增强的屏幕字段 4.屏幕增强的位置 *& ...
- 增强篇4 CO01生产订单屏幕增强
Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD 使用客户增强:PPCO0012 生产订 ...
- 【MM系列】SAP 交货单屏幕增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 交货单屏幕增强 前言部分 ...
- 【ABAP系列】SAP VA01屏幕增强(user-exit)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP VA01屏幕增强(user- ...
- SAP采购订单屏幕增强
转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增 ...
- SAP 物料主数据屏幕增强
1. 用事务代码OMT3C,(或者用SPRO进入,后勤-常规->物料主记录->配置物料主记录->创建定制子屏幕的程序)创建函数功能组,如ZMGD1,然后保存. 2. 用事务代码SE8 ...
随机推荐
- 提高cin cout的速度
ios::sync_with_stdio(false) :用来关闭iostream与stdio的同步,从而提高 cin cout 的效率,但是就不能再用 scanf printf 了,因为不关闭之前 ...
- Android 11 使用 BroadcastReceiver 监听短消息
使用装有MIUI系统的小米手机,静态注册的广播接收器监听短消息. 在AndroidManifest.xml中声明权限 <uses-permission android:name="an ...
- 聊聊分布式 SQL 数据库Doris(四)
FE层的架构都能在网上找到说明. 但BE层的架构模式.一致性保障.与FE层之间的请求逻辑,数据传输逻辑等,我个人暂时没有找到相应的博客说明这些的.当然这些是我个人在学习与使用Doris过程中,对内部交 ...
- C语言水仙花数
#include<stdio.h> void main() { int i, j, k, n=100;//分别设置三个数和一个三位数 for(i=1;i<=9;i++) //一个一个 ...
- 音色逼真、韵律自然的AI人声克隆限时福利!
声音,为数字人注入灵魂. 2023云栖大会上,阿里云视频云接受了CCTV-2财经频道的采访,分享并演示了如何利用云端智能剪辑,一站式完成数字人渲染及视频精编二创. 正如视频开头所呈现的AI重现演员&q ...
- 如何使用JavaScript 将数据网格绑定到 GraphQL 服务
前言 作为一名前端开发人员,GraphQL对于我们来说是令人难以置信的好用.它可以用来简化数据访问,这让我们的工作变得更加容易. 什么是 GraphQL?它是一个抽象层,位于任意数量的数据源之上,并为 ...
- Android学习day01【搭建Android Studio】
是Google开发的操作系统 Android开发是移动应用开发的表现形式之一 还有很多的开发形式,就不一一列举了 完整项目精简的开发流程 开发工具 Android studio(强烈建议) Andro ...
- springMvc_快速入门
概念:是一种基于Java实现mvc模型的轻量级web框架 优点:使用简单,开发便捷 灵活性强 总体来说springMvc就是来替代servlet的一种工具 快速入门: 1.创建maven-web ...
- C++ Qt开发:QItemDelegate 自定义代理组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QStyled ...
- lca(数链剖分)板子
#include<bits/stdc++.h> #define endl '\n' #define int long long using namespace std; const int ...