abap alv输入负值
时间: 2023-07-31 08:11:38 浏览: 290
ABAP中的ALV操作
如果您想在 ABAP ALV 表格中输入负值,可以考虑以下步骤:
1. 在 ALV 布局中将相应的列定义为输入列。
2. 在相应的事件处理程序中,处理用户输入的数据,并将其转换为负值。例如,如果用户输入了数字 10,则将其转换为 -10。
下面是一个示例代码片段,展示如何在 ABAP ALV 表格中输入负值:
```
DATA: lt_alv TYPE TABLE OF ty_alv,
ls_alv TYPE ty_alv.
* 将“VALUE”列定义为输入列
ls_alv-fieldname = 'VALUE'.
ls_alv-edit = 'X'.
APPEND ls_alv TO lt_alv.
* 显示 ALV 表格
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = lt_alv
TABLES
t_outtab = lt_data.
* 在用户输入时处理数据
MODULE user_command INPUT.
DATA: lv_value TYPE i.
CASE sy-ucomm.
WHEN 'SAVE'.
LOOP AT lt_data INTO ls_data.
lv_value = ls_data-value.
IF lv_value > 0.
ls_data-value = lv_value * -1.
ENDIF.
MODIFY lt_data FROM ls_data TRANSPORTING value.
ENDLOOP.
EXIT.
ENDCASE.
ENDMODULE.
```
在上面的代码中,我们将“VALUE”列定义为输入列,并在用户输入时处理数据。如果用户输入了一个正数,我们将其转换为负数。请注意,在处理数据之后,我们需要使用 MODIFY 语句将修改后的数据重新写入 ALV 表格中。
阅读全文