ABAP 交货单屏幕增强
需求描述:
在内向交货单(VL31N / VL32N / VL33N) 与外向交货单(VL01N / VL02N / VL03N) 的抬头和行项目增加”自定义字段“页签,如下图所示
实现方法:
1. 往表LIKP和LIPS增加自定义字段
2. 新建函数组ZFG_SD002,定义增强子屏幕,以便增强使用
2.1 交货单抬头增强子屏幕9100
MODULE STATUS_9100设置了是否可以输入,判断逻辑如下:
① SAP根据Tcode在T180里配置了界面是否可编辑,故获取变量(SAPMV50A)T180-TRTYP的值,A为显示,其余为编辑
② 已发货过账完成的交货单为仅显示,判断条件为LIKP-WBSTK = 'C'
MODULE STATUS_9100 OUTPUT.FIELD-SYMBOLS <FS_ANY>.ASSIGN ('(SAPMV50A)T180-TRTYP') TO <FS_ANY>.IF <FS_ANY> IS ASSIGNED.LOOP AT SCREEN.IF <FS_ANY> = 'A'.SCREEN-INPUT = '0'.ELSE.IF GS_LIKP-WBSTK = 'C'.IF SCREEN-GROUP1 = 'G1'.SCREEN-INPUT = '1'.ELSE.SCREEN-INPUT = '0'.ENDIF.ELSE.SCREEN-INPUT = '1'.ENDIF.ENDIF.MODIFY SCREEN.ENDLOOP.ENDIF.ENDMODULE.
2.2 交货单行项目增强子屏幕9200
MODULE TEXTEDIT_9200是定义了一个文本框,将自建表数据拼接显示在文本框中,此功能在另一篇博客中,请参考https://blog.csdn.net/ROYHAO/article/details/119894307
MODULE STATUS_9200同抬头屏幕设置了是否可以输入
MODULE STATUS_9200 OUTPUT.LOOP AT SCREEN.IF GS_LIPS-WBSTA = 'C'.SCREEN-INPUT = '0'.IF GC_EDITOR IS NOT INITIAL.GC_EDITOR->SET_READONLY_MODE( 1 ).ENDIF.ELSE.ASSIGN ('(SAPMV50A)T180-TRTYP') TO <FS_ANY>.IF <FS_ANY> IS ASSIGNED.IF <FS_ANY> = 'A'.SCREEN-INPUT = '0'.IF GC_EDITOR IS NOT INITIAL.GC_EDITOR->SET_READONLY_MODE( 1 ).ENDIF.ELSE.SCREEN-INPUT = '1'.IF GC_EDITOR IS NOT INITIAL.GC_EDITOR->SET_READONLY_MODE( 0 ).ENDIF.ENDIF.ENDIF.ENDIF.MODIFY SCREEN.ENDLOOP.ENDMODULE.
3. 在上述函数组ZFG_SD002,创建屏幕和数据交互函数,以便增强使用
3.1 新建函数ZSD_SHP_HEAD_FROM_SUBSCREEN,将交货单抬头屏幕回传数据
3.2 新建函数ZSD_SHP_HEAD_TO_SUBSCREEN,将交货单抬头数据传到屏幕
3.3 新建函数ZSD_SHP_ITEM_FROM_SUBSCREEN,将交货单行项目屏幕回传数据
3.4 新建函数ZSD_SHP_ITEM_TO_SUBSCREEN,将交货单行项目数据传到屏幕
4. 交货单抬头屏幕增强BADI:LE_SHP_TAB_CUST_HEAD
4.1 修改方法ACTIVATE_TAB_PAGE添加页签
METHOD IF_EX_LE_SHP_TAB_CUST_HEAD~ACTIVATE_TAB_PAGE.EF_CAPTION = '自定义字段'(001).EF_POSITION = 20.EF_PROGRAM = 'SAPLZFG_SD002'.EF_DYNPRO = '9100'.CS_V50AGL_CUST = 'X'.ENDMETHOD.
其中EF_PROGRAM是函数组名字,EF_DYNPRO是屏幕号
4.2 修改方法TRANSFER_DATA_TO_SUBSCREEN,调用函数ZSD_SHP_HEAD_TO_SUBSCREEN,将交货单抬头数据传到屏幕
METHOD IF_EX_LE_SHP_TAB_CUST_HEAD~TRANSFER_DATA_TO_SUBSCREEN.CALL FUNCTION 'ZSD_SHP_HEAD_TO_SUBSCREEN'EXPORTINGIS_LIKP = IS_LIKP.ENDMETHOD.
4.3 修改方法TRANSFER_DATA_FROM_SUBSCREEN,调用函数ZSD_SHP_HEAD_FROM_SUBSCREEN,将交货单抬头屏幕回传数据
METHOD IF_EX_LE_SHP_TAB_CUST_HEAD~TRANSFER_DATA_FROM_SUBSCREEN.CALL FUNCTION 'ZSD_SHP_HEAD_FROM_SUBSCREEN'IMPORTINGES_LIKP = CS_LIKP.ENDMETHOD.
5. 交货单行项目屏幕增强BADI:LE_SHP_TAB_CUST_ITEM
S/4里显示该BADI已迁移至增强点LE_SHP_TAB_CUST_ITEM,故此情形需增强该增强点
5.1 修改方法ACTIVATE_TAB_PAGE添加页签
METHOD IF_EX_LE_SHP_TAB_CUST_ITEM~ACTIVATE_TAB_PAGE.EF_CAPTION = '自定义字段'(001).EF_POSITION = 20.EF_PROGRAM = 'SAPLZFG_SD002'.EF_DYNPRO = '9200'.CS_V50AGL_CUST = 'X'.ENDMETHOD.
其中EF_PROGRAM是函数组名字,EF_DYNPRO是屏幕号
5.2 修改方法TRANSFER_DATA_TO_SUBSCREEN,调用函数ZSD_SHP_ITEM_TO_SUBSCREEN,将交货单行项目数据传到屏幕
METHOD IF_EX_LE_SHP_TAB_CUST_ITEM~TRANSFER_DATA_TO_SUBSCREEN.CALL FUNCTION 'ZSD_SHP_ITEM_TO_SUBSCREEN'EXPORTINGIS_LIPS = IS_LIPS.ENDMETHOD.
5.3 修改方法TRANSFER_DATA_FROM_SUBSCREEN,调用函数ZSD_SHP_ITEM_FROM_SUBSCREEN,将交货单行项目屏幕回传数据
METHOD IF_EX_LE_SHP_TAB_CUST_ITEM~TRANSFER_DATA_FROM_SUBSCREEN.CALL FUNCTION 'ZSD_SHP_ITEM_FROM_SUBSCREEN'IMPORTINGES_LIPS = CS_LIPS.ENDMETHOD.
ABAP 交货单屏幕增强相关推荐
- SAP ABAP QA11屏幕增强 BADI QEVA_SUBSCREEN_1101
QA11屏幕增强: 效果图: BADI: QEVA_SUBSCREEN_1101 SE11添加客制化字段:QALS或者决策表. 创建自定义函数组,添加屏幕信息: 全局定义: FUNCTION-POOL ...
- ABAP ME21N屏幕增强
ME21N屏幕增强 XM06函数组 加屏幕 ZXM06ZZZ
- SAP ABAP QA01屏幕增强 SMOD QPL10004
效果图如下: QALS添加客制化字段. CMOD创建增强实施. 根据不同的检验类型,显示不同的屏幕信息. 全局变量定义: TABLES: qals_cust. CONSTANTS: BEGIN OF ...
- 【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强
先了解一下内向交货与外向交货: 1.外向交货:VL03N:内向交货:VL33N 2.外向与内向相对于库存来说的,一个出库,一个入库 场景:我们做一个外向交货单Header Level的一个屏幕增强. ...
- [ABAP] VF01/VF02/VF03 发票字段增强总结(BAPI赋值屏幕增强)
最近接到需求需要对销售发票(VBRK/VBRP)做字段增强,下面做一下实现这个增强功能的总结. 该功能的主要需求点是通过BAPI:BAPI_BILLINGDOC_CREATEMULTIPLE对增强附加 ...
- ABAP:增强篇-CJ20N屏幕增强
CJ20N的屏幕增强,如下所示 实现方法:CMOD->CNEX0006 600屏幕如下 代码如下 *&---------------------------------------- ...
- SAP ABAP 物料主数据(MM01/MM02/MM03)屏幕增强
增强步骤 1.为主表添加一个附加结构 根据业务需求新建一个结构,结构中放入需要增强的屏幕字段并激活. 打开事务代码SE11,在需要保存的主表中添加这个附加结构并激活. 注:根据业务需求及屏幕增强的视图 ...
- MIGO 行项目屏幕增强创建实例
本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系. 1.首先创建一张自建表用于存放客制化信息 2.建立结构,在屏幕数据交换时使用 3.建立表类型 4.给之前创 ...
- 【SAP Abap】SAP增强开发总结
SAP增强开发总结 1.概述 1.1.增强的概念 1.2.增强的类型 1.3.增强的发展 2.第一代增强(Form Exit) 2.1.简介 2.2.查找方法 2.3.实现方式 3.第二代增强(Fun ...
最新文章
- [整理]ADB命令行学习笔记
- Maven开发web项目的搭建
- Android之解决卸载app后再次安装提示room数据库错误
- 《操作系统真象还原》——0.23 操作系统是如何识别文件系统的
- Lombok注解使用详解
- java main传入参数_Main方法中传入参数
- 译稿:软件工程师不可不知的10个概念
- Oracle 创建表空间借鉴 保留,占版权留言告知
- canvas 从ondraw中获取_C# 在PDF中绘制多样风格的文本
- 【Java web 项目】医院药品管理系统
- 【例6-19】求字符串长度函数strlen()
- Matlab坐标修改 gca
- 安卓面试中高级安卓开发工程师总结之——如何写一份让HR主动邀请你面试的简历
- 苹果胜三星震惊国产手机
- Transformer25
- Houdini地形创建
- android仿照网易新闻源代码
- 阿里云推出“通达云OA”办公系统 基于钉钉的移动OA应用
- MAT400安全帽标签
- linux 备份iphone,备份苹果硬盘的数据
热门文章
- 华为Android面试真题解析,大厂直通车!
- 全球与中国多模光纤束市场现状及未来发展趋势
- git push 成功后如何撤销回退
- 解决win10\win11与jmeter5.1.1界面兼容问题
- IEEE 802.1Q VLAN技术原理
- 2022年全球市场人工智能平台总体规模、主要企业、主要地区、产品和应用细分研究报告
- 华为全联接2021:持续创新,深耕数字化
- 【解决方案】公用微波炉安全难管理?资产监测设备可保障微波炉使用安全
- 项目之利用 V4L2应用程序框架 进行视频录制
- git的添加git add、更新git pull、删除git rm 、克隆git clone