ABAP选择屏幕字段无法输入负值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP选择屏幕字段无法输入负值相关的知识,希望对你有一定的参考价值。

ABAP选择屏幕中,我定义了一个选择定段 SELECT-OPTIONS: L_BRGEW FOR MARA-BRGEW,但运行的时候,我输入负数提示:请仅指定正值,请问我要怎么设置才能输入负数呢?谢谢

你无法输入负数,是因为你参照的数据类型不允许输入负数,MARA-BRGEW是quan类型的
就像你定义一个日期类型的SY-DATUM,但是输入字符abcd的话,是不允许的
这是一种系统自带的数据正确性检查
你要想输入负值,可以换一个允许输入负值数据类型
或者,在选择屏幕上加一个标识,如果为负,打钩,在程序中,用标识判断,是否乘以-1
希望可以帮到你
参考技术A 首先确定MARA-BRGEW对应的Data Element中对应的Domain是否是可以有负数形式的,即sign标致是否已经勾选。如果没有可以换用其他的数据类型,或者自己创建domain并引用。
也可以在选择屏幕上添加一个check box来标示当前输入为一个负数,然后在程序中判断手动修改L_BRGEW。
参考技术B parameters p type i.

试试这个,指定i类型就能够输入负数了。
不过,话说selection screen里面输入负数有什么实际意义么?仅仅作为学习测试么?
^_^
参考技术C 你确定这是一种消极的屏幕上输入?
没有其他需求,需求在它之下。
可能是我不经常听到的负输入屏幕。
参考技术D 假如BRGEW字段定义的就是不能取负值,那你为什么要输入负值呢?这样最后数据要是需要重新传入MARA岂不是会报错?

abap选择屏幕中的输入字段,怎么触发

参考技术A 你要触发什么动作,一般回车或者点击按钮都会触发的

以上是关于ABAP选择屏幕字段无法输入负值的主要内容,如果未能解决你的问题,请参考以下文章

abap选择屏幕中的输入字段,怎么触发

ABAP 如何获取屏幕输入的字段,不是选择屏幕,是screen painter中用数据库直接生成的可以输入的字段?

请问ABAP中,如何从标准屏幕上获取到选择屏幕中一个字段的输入值。可以举个例子吗?这里感谢大家了。

ABAP 如何实现屏幕字段不可输入

abap更改标准屏幕文本不影响其他程序

abap开发中,在屏幕上怎样显示alv