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 ...
随机推荐
- 算法训练 递归 s01串
问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据规模和约定 0~ ...
- C语言从键盘上输入年份和月份,计算并输出这一年的这一月共有多少天。
#include<stdio.h> void main() { int y, n, s = 0;//定义变量 scanf_s("%d-%d", &y, & ...
- 深入理解RC4加密算法
RC4(Rivest Cipher 4)是一种广泛应用的加密算法,由Ronald L. Rivest于1987年发明.它是一种流密码(stream cipher)算法,适用于对网络通信中的数据进行加密 ...
- C#中LINQ的使用知多少?LINQ常功能整理,实例源代码解析
LINQ(Language-Integrated Query)是C#语言中的一个强大的查询技术,它提供了一种统一的查询语法,可以用于查询和操作各种数据源,包括集合.数据库.XML等.下面详细描述了LI ...
- 最好用的oa办公系统?
OA办公系统是一种集成办公自动化.协同办公.信息管理等功能于一体的软件系统,旨在提高办公效率,优化流程管理,提供更好的团队协作和信息共享.下面将详细介绍几个目前市场上认为较为优秀的OA办公系统. 一. ...
- StackGres 数据库平台工程,使用 Citus + Patroni 创建生产级高可用分布式 PostgreSQL 分片集群
系列 StackGres, 可私有部署的云原生数据库平台工程 StackGres 数据库平台工程功能介绍与快速上手 StackGres 1.6 数据库平台工程集群配置管理(K8S Pods/Postg ...
- 如何从Webpack迁移到Vite
本文将介绍如何将前端web应用程序从 Webpack 升级到 Vite. Vite 是最新的前端开发工具,其受欢迎程度和采用率都在大幅增长.可以查看下图中来自 npm trends 的下载. 推动这一 ...
- vue-test --------模板引用
<template> <input type="text" v-model.lazy="message"> <div>{{m ...
- IDEA在new对象的时候不显示其parameter
问题现象 最近安装了一个IDEA2023.1版本,出现了new对象不显示相关构造参数 解决办法 在IDEA的设置中开启相关提示 勾选上面的几个设置,保存 效果
- 研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库
沉淀,成长,突破,帮助他人,成就自我. 大家好,我是冰河~~ 在研发的过程中,很多企业都会针对自身业务特点来定制研发一些工具类库,但是这些工具类库又不会对外公开,那如何在组织内部共享这些类库呢?一种很 ...