使用增强:MEREQ001 购买申请中的客户自有数据

1、如果需要向PR中加入自定义字段,事务码se11,打开透明表EBAN,双击include:CI_EBANDB,创建结构CI_EBANDB,维护自定义的字段。

2、事务码CMOD create project:ZMMpr001,在Enhancement assignment中添加增强MEREQ001,保存。

3、事务码smod:MEREQ001,打开如下图,

 
有三个function module,还有screen area,可知screen :0111便是预留的屏幕,可以在其函数组中创建screen 0111,然后在其上画一些需要的字段栏位就ok了。
双击其中一个function module,然后点击display object list按钮,显示如下图
 
在函数组XM02中create screen 0111,然后在其上画一些需要的字段栏位,注意0111设置为subscreen。

激活,CMOD中激活ZMMpr001,此时在事务码ME51n中就能看到多了一个客户数据tab页,相应me52n,me53n等也有。

到此为止,屏幕做好了,但是要在屏幕栏位上输入数据并能保存到透明表,及显示的时候能从透明表读出到屏幕栏位,就需要在上述三个function module中写代码。

4、在函数组XM02中,有include:ZXM02TOP,目前是空的,create it,添加代码:

data : gv_trtyp type aktvt.
DATA: FL_INPUT TYPE FLAG.

激活EXIT_SAPLMEREQ_001中的include添加如下代码:

TABLES : ci_ebandb.
DATA : i_mereq_item TYPE mereq_item.
CALL METHOD im_req_item->get_activity
  RECEIVING
    re_aktvt = gv_trtyp.
CASE gv_trtyp.
WHEN 'A'.
    fl_input = space. "Output only
WHEN 'V'.
    fl_input = 'X'.          "Input/Output
ENDCASE.
IF im_req_item IS INITIAL.
CLEAR: ci_ebandb.
ELSE.
  i_mereq_item = im_req_item->get_data( ).
MOVE-CORRESPONDING i_mereq_item TO ci_ebandb.
ENDIF.

激活EXIT_SAPLMEREQ_003中的include,添加下面代码:

DATA : i_mereq_item TYPE mereq_item.
IF NOT im_req_item IS INITIAL.
  i_mereq_item = im_req_item->get_data( ).
MOVE-CORRESPONDING ci_ebandb TO i_mereq_item .
CALL METHOD im_req_item->set_data( i_mereq_item ).
  ex_changed = 'X'.
ENDIF.

最后对上述建立的subscreen 0111添加PBO,如下代码:

*----------------------------------------------------------------------*
***INCLUDE ZXM02O01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  STATUS_0111  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0111 OUTPUT.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.
CHECK fl_input IS INITIAL.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ENDMODULE.                 " STATUS_0111  OUTPUT

OK,到此为止,ME51n等的屏幕增强就完成了,屏幕0111上栏位可以保存到eban中,修改,显示等。
这是比较简单的逻辑,如果有其他复杂的要求,可以对上述代码大做文章。

[转载]ME51n,ME52n,ME53n屏幕增强的更多相关文章

  1. ME51N, ME52N 创建采购申请的一个BADI

    ME51N ME52N创建修改采购申请时的一个BADI (2013-07-11 16:50:58) 转载▼ 标签: 采购申请 me51n me52 badi me_process_req_cust 分 ...

  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. 【转载】 Python 调整屏幕分辨率

    转载来自: http://www.cnblogs.com/fatterbetter/p/4115423.html 需要用windows的api,ChangeDisplaySettings 实现代码如下 ...

随机推荐

  1. [Lonlife1031]Bob and Alice are eating food(递推,矩阵快速幂)

    题目链接:http://www.ifrog.cc/acm/problem/1031 题意:6个水果中挑出n个,使得其中2个水果个数必须是偶数,问有多少种选择方法. 设中0代表偶数,1代表奇数.分别代表 ...

  2. C# 模拟鼠标写字

    经常看到别人拿个四四方方的写字板用笔写字,用C#其实也可以实现,大致思路就是处理鼠标的坐标和Graphics, 代码如下: 首先声明两个全局变量 bool isMouseDown = false; P ...

  3. paoracle中的包头(Package)与包体(Package body)

    http://www.th7.cn/db/Oracle/201406/56949.shtml 简单的实例 create or replace package body integrationEgoTo ...

  4. html5 和css3的小知识!

    阿里web字体的使用 (1)进入官网  点击webfont (2)输入对应的文字 然后选择添加字体 (3)可以直接引用线上地址或者本地下载,引用线上地址需要添加http,(在服务器环境下可以不用),如 ...

  5. GO数据库

    Golang 数据库操作 Golang 数据库 MySQL Golang支持DB操作位于database包下,支持基本CRUD操作.事务和Prepared Statement,本文以MySQL为例. ...

  6. overridePendingTransition动画只设置一个

    退出动画可以设置为0, 但是两个动画的duration需要一样. 退出动画:<?xml version="1.0" encoding="utf-8"?&g ...

  7. zabbix监控系统客户端安装

    原文:http://blog.chinaunix.net/uid-25266990-id-3387002.html 测试使用agentd监听获取数据. 服务端的安装可以查看http://blog.ch ...

  8. chmod修改文件的权限/chown修改文件和目录的所有者

    ll指令的显示的信息为(当前目录下只有nameservice1一个目录): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述信息分别表示: ...

  9. Html表单的正则校验--将不符合指定正则表达式的字符串自动替换为空

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  10. commonJS — 字符串操作(for String)

    for String github: https://github.com/laixiangran/commonJS/blob/master/src/forString.js 代码 /** * Cre ...