abap alv输入负值
时间: 2023-07-31 16:11:38 浏览: 90
在 ABAP ALV 中,可以通过对字段进行格式化来允许输入负值。可以使用以下代码将字段格式化为允许负值:
```
DATA: lr_column_settings TYPE REF TO cl_salv_column_settings,
lr_column TYPE REF TO cl_salv_column.
* 获取列设置
lr_column_settings = lo_alv->get_column_settings( ).
* 获取要格式化的列
lr_column = lr_column_settings->get_column( 'FIELD_NAME' ).
* 设置负值输入允许
lr_column->set_cell_editor( cl_salv_editable_alv=>create( data_type = 'CURR' decplaces = 2 negative_values = abap_true ) ).
```
在上面的代码中,'FIELD_NAME' 应替换为要格式化的字段的名称。通过设置 `negative_values = abap_true`,就可以允许输入负值了。
相关问题
abap alv编辑只能输入数值型
在ABAP (Advanced Business Application Programming) 中,ALV (Application Programming Library for Visual Display) 是一种用于创建图形用户界面的工具包,它允许用户交互式地查看、编辑表格数据。当你设置ALV编辑模式,比如使用`SELECTIONSCREEN`或`EDITTABLE`等,默认的行为通常是只允许输入预定义的数据类型,如数字、文本、日期等。
如果你想要限制用户只能输入数值类型,你可以在创建ALV屏幕时,设置字段的`DATA_TYPE`属性为`TYPE numeric`, `type float`, 或者更具体的整数/小数类型,例如`TYPE sy-ucomm1`(表示16位整数)。同时,也可以通过定义`FIELD-SYMBOLS`并使用`DISPLAY-TYPE`来限制字段的输入模式,比如:
```abap
DATA: ls_field_symbols TYPE STANDARD_TABLE OF fieldspec_t.
ls_field_symbols = VALUE #( (field_name = 'your_field'
data_type = TYPES_NUMERIC
display_type = DISPLAY_TYPE_E entry = VALUE ('0'))
).
SELECT * INTO TABLE it_table ASSIGNING TO DATA(ls_table).
EDITTABLE ls_table WITH ls_field_symbols.
```
在这里,`fieldspec_t`是自定义的数据类型结构,包含字段名称、类型和显示类型信息。
abap alv五子棋
ABAP ALV五子棋是一个用ABAP语言和ALV(ABAP List Viewer)技术实现的五子棋游戏。根据引用的内容,可以了解到实现这个游戏的大致思路和方法。
首先,通过设计和封装,创建一个五子棋的类(class),并利用SALV模拟棋盘,内表模拟棋盘数组,图标模拟棋子。同时,选取一个适合的估值算法作为AI的策略,用于决定电脑下棋的位置。
执行画面中,用户可以输入下棋的时间,并执行程序。如果在10秒内有两个用户输入了相同的时间并执行程序,那么这两个用户将自动联机,其中先执行者将执黑棋。
关于每个方法的用处,可以在代码中的注释中找到详细说明。注释在代码中起到了很好的解释作用,对于理解代码的功能和实现方式非常有帮助。
总的来说,这个ABAP ALV五子棋的实现是为了练习ABAP语言和ALV技术,而不是为了实际应用。通过约300行的代码,可以实现一个简单的AI五子棋游戏。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文