干货:

屏幕字段存哪儿,header的就存vbak表里吧。


在vbak表里增强字段

增强Demo 01 销售订单屏幕增强-header 增强_java


增强Demo 01 销售订单屏幕增强-header 增强_java_02

就简单只有一个comment字段吧

增强Demo 01 销售订单屏幕增强-header 增强_java_03

然后激活。


找增强的位置:


SAPMV45A

下有两个留给header 和 item 做屏幕增强的 屏幕 8309 8310 8459 8460。


点进去可以看到,是空屏幕


如果想直接修改,是需要access key的,这应该算第一代增强了吧。

你可以直接申请或者破解key来操作,肯定是不建议的。

另外,可以考虑下面的方法。


还以header为例:

SE18 BADI_SLS_HEAD_SCR_CUS

找到header对应的,右键创建实例:


回车

然后可见


怎么把vbak增强的字段显示在屏幕上。


SE80 ,自己建一个Function group

 

增强Demo 01 销售订单屏幕增强-header 增强_java_04

特别注意一下,把屏幕属性设置为子屏幕

增强Demo 01 销售订单屏幕增强-header 增强_java_05

字段是 so号和comment字段

增强Demo 01 销售订单屏幕增强-header 增强_java_06

 

下面开始挂屏幕:

首先查看function group对应的主程序

增强Demo 01 销售订单屏幕增强-header 增强_java_07


回到增强实例

代码如下

METHOD if_ex_sls_head_scr_cus~activate_tab_page.

  DATA:ls_tab LIKE LINE OF ct_cus_head_tab.

  IF sy-tcode CP 'VA**'
    .
    ls_tab-head_caption = 'ZLM_COMMENT'."描述
    ls_tab-head_program = 'SAPLZLM_FG_SO_HEADER_SCREEN01'."function group 对应的主程序
    ls_tab-head_dynpro = '9001'."屏幕号

    APPEND ls_tab TO ct_cus_head_tab.
  ENDIF.
ENDMETHOD. 



怎么保存该值?


怎么带出已有的值


具体两个函数代码:

增强Demo 01 销售订单屏幕增强-header 增强_java_08

增强Demo 01 销售订单屏幕增强-header 增强_java_09

增强Demo 01 销售订单屏幕增强-header 增强_java_10

另外,VA03 不可编辑,可以简单的控制下

增强Demo 01 销售订单屏幕增强-header 增强_java_11

增强Demo 01 销售订单屏幕增强-header 增强_java_12


关于这个VA03 display模式展示,我再说一下。


可以使用标准状态判断是否可编辑:

增强Demo 01 销售订单屏幕增强-header 增强_java_13

增强Demo 01 销售订单屏幕增强-header 增强_java_14

增强Demo 01 销售订单屏幕增强-header 增强_java_15


实现方法:

增强Demo 01 销售订单屏幕增强-header 增强_java_16

然后在屏幕PBO中

增强Demo 01 销售订单屏幕增强-header 增强_java_17