2020-09-10 09:48发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我想将字符串或字符字段与0进行比较
ex:数据lv1类型的字符串值'hai'。
尝试。
如果lv1> 0。
ENDIF。
捕获cx_sy_arithmetic_error。
ENDTRY。
我尝试了不同的标准异常分类,但是我无法解决问题。
任何人都可以帮助我解决此错误。
我附上了转储屏幕截图。
提前感谢
anusha
首先尝试将字符串移动到数字变量(转换可能会在cx_sy_arithmetic_error异常中捕获)。 然后,您可以进行比较(num_variable> 0)。 无法捕获比较转储。
您是否尝试过CX_ROOT?
是否使用 Tomas 在逻辑表达式之前,如 SAP帮助示例 ...
,或者在继续操作之前仅检查您的值是否实际上是" IS NUMERIC": p>
DATA lv1 TYPE字符串值'hai'。 尝试。 IF cl_dba_format => is_numeric(lv1)。 如果lv1> 0。 万一。 其他。 写"非数字!"。 万一。 捕获cx_sy_arithmetic_error INTO DATA(excp)。 DATA(msgtxt)= excp-> get_text()。 写msgtxt。 ENDTRY。
如果您的简短转储没有指出异常类的名称(对于基本错误,通常为CX_SY_ *),则没有可以处理的异常类。 因此,在比较字符串或将字符串分配给数字之前,请确保该字符串仅包含数字字符(例如,如果lv1 CO'0123456789')。
我认为字符串和 number =>没有异常类可以处理它。 如果要进行这样的比较,请在"''中输入0,它将比较字符串与字符串。
感谢Sandra Rossi
我知道比较文本和数字的错误方法,上面的注释中已经提到。 主要的答案是没有异常类,替代方式是在引号中放入0(仅针对此特定情况),建议进行比较的是检查字符串是否只有数字作为答案,这就是我的意思:)
最多设置5个标签!
首先尝试将字符串移动到数字变量(转换可能会在cx_sy_arithmetic_error异常中捕获)。 然后,您可以进行比较(num_variable> 0)。 无法捕获比较转储。
您是否尝试过CX_ROOT?
是否使用 Tomas 在逻辑表达式之前,如 SAP帮助示例 ...
,或者在继续操作之前仅检查您的值是否实际上是" IS NUMERIC": p>
如果您的简短转储没有指出异常类的名称(对于基本错误,通常为CX_SY_ *),则没有可以处理的异常类。 因此,在比较字符串或将字符串分配给数字之前,请确保该字符串仅包含数字字符(例如,如果lv1 CO'0123456789')。
我认为字符串和 number =>没有异常类可以处理它。 如果要进行这样的比较,请在"''中输入0,它将比较字符串与字符串。
感谢Sandra Rossi
我知道比较文本和数字的错误方法,上面的注释中已经提到。 主要的答案是没有异常类,替代方式是在引号中放入0(仅针对此特定情况),建议进行比较的是检查字符串是否只有数字作为答案,这就是我的意思:)
一周热门 更多>