0
点赞
收藏
分享

微信扫一扫

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客


这个其实属于table control 技术的范畴。

比如根据table control 内容的某列的值,来判断该行某列是否可编辑等等。

在表维护视图的时候也会用到。


还是以之前的视图为例。




​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_vue

​​


显示数据


​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_vue_02

​​



做过简单的demo,没有实际业务意义。


当物料 = 60008030 的时候,日期字段可编辑。


首先步骤:

根据view 找到对应的表维护 的screen,也就是对应的table control。


​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_java_03

​​


在loop里面,这个位置添加一个module。


​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_数据库_04

​​


添加如下代码

*&---------------------------------------------------------------------*
*& Module MDL_CONTRL_INPUT OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE MDL_CONTRL_INPUT OUTPUT.

DATA:LV_MATRN TYPE MATNR.
LV_MATRN = ZLM_V_002-MATNR .

SHIFT LV_MATRN LEFT DELETING LEADING '0'.

IF LV_MATRN = '60008030'.

LOOP AT SCREEN.
IF SCREEN-NAME = 'ZLM_V_002-DATUM'.
SCREEN-INPUT = 1. "可输入状态
MODIFY SCREEN.
ENDIF.
ENDLOOP.

ENDIF.
ENDMODULE.

执行效果:


​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_vue_05

​​


但是,到这里还没有结束,你如果编辑这个字段,然后点保存,发现修改的不起作用。

所以如果想保存编辑字段的值。还需要做下面的处理。

针对这个字段加一个on request module。


​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_java_06

​​


(因为是使用的之前的视图,把之前的自动日期赋值给注释掉)


代码:


​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_数据库_07

​​


*----------------------------------------------------------------------*
MODULE MDL_CHANGE_DATE INPUT.

FIELD-SYMBOLS TYPE ANY.
FIELD-SYMBOLS TYPE ANY.
FIELD-SYMBOLS TYPE ANY.

LOOP AT EXTRACT ASSIGNING .

"按物料做主键(表维护程序前台工厂必输)
ASSIGN COMPONENT 'MATNR' OF STRUCTURE TO .
CHECK = ZLM_V_002-MATNR.

ASSIGN COMPONENT 'DATUM' OF STRUCTURE TO .
IF SY-SUBRC = 0.
= ZLM_V_002-DATUM.
ENDIF.

ENDLOOP.


ENDMODULE.


修改日期,回车或者点保存即可。


​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_数据库_08

​​



​​

表维护视图DEMO(4):单元格级别编辑_SAP刘梦_新浪博客_git_09

​​



举报

相关推荐

0 条评论