内联声明的变量未被识别
The inline-declared variable is not recognized
我遇到了系统无法识别我声明的局部变量的问题。代码如下:
DATA(lv_dmbtr) = ZSD_LGS-DMBTR.
IF ( lv_dmbtr MOD 10000000 ) LE 9.
lv_dmbtr / 10000000 = lv_tenmillions. //Error line
lv_tenmillions_check = lv_tenmillions MOD 1.
IF lv_tenmillions_check > 0.
"Convert
ENDIF.
IF lv_tenmillions_check < 0.
"ZERO
ENDIF.
ENDIF.
该程序在我在程序中输入的行中给我一个错误,其中显示“没有 LV_DMBTR 语句。请检查拼写。
有谁知道问题出在哪里吗?
提前谢谢大家!
行
lv_dmbtr / 10000000 = lv_tenmillions.
确实在语法上不正确。我和 ABAP 解释器一样对该行感到困惑。所以我不确定你到底想用它完成什么。但我猜想这似乎是对某个变量的某种计算分配。在一个赋值中,你赋值的变量总是在=
符号的左边,而创建值的表达式在右边 的 =
符号。
所以在等号的 left-hand 一侧有一个数学公式是没有意义的。
要么你想说“lv_tenmillion 应 lv_dmbtr 除以 10000000”。在这种情况下,正确的行是
lv_tenmillions = lv_dmbtr / 10000000.
或者您试图说“lv_dmbtr 的百万分之一应等于 lv_tenmillion”,这等同于说“lv_dmbtr 应等于 lv_tenmillion 乘以 10000000" 或
lv_dmbtr = lv_tenmillions * 10000000.
试试这个:
DATA(lv_dmbtr) = ZSD_LGS-DMBTR.
lv_dmbtr = ZSD_LGS-DMBTR MOD 10000000
IF lv_dmbtr MOD 10000000 LE 9.
lv_dmbtr / 10000000 = lv_tenmillions. //Error line
lv_tenmillions_check = lv_tenmillions MOD 1.
IF lv_tenmillions_check > 0.
"Convert
ENDIF.
IF lv_tenmillions_check < 0.
"ZERO
ENDIF.
ENDIF.
我遇到了系统无法识别我声明的局部变量的问题。代码如下:
DATA(lv_dmbtr) = ZSD_LGS-DMBTR.
IF ( lv_dmbtr MOD 10000000 ) LE 9.
lv_dmbtr / 10000000 = lv_tenmillions. //Error line
lv_tenmillions_check = lv_tenmillions MOD 1.
IF lv_tenmillions_check > 0.
"Convert
ENDIF.
IF lv_tenmillions_check < 0.
"ZERO
ENDIF.
ENDIF.
该程序在我在程序中输入的行中给我一个错误,其中显示“没有 LV_DMBTR 语句。请检查拼写。
有谁知道问题出在哪里吗?
提前谢谢大家!
行
lv_dmbtr / 10000000 = lv_tenmillions.
确实在语法上不正确。我和 ABAP 解释器一样对该行感到困惑。所以我不确定你到底想用它完成什么。但我猜想这似乎是对某个变量的某种计算分配。在一个赋值中,你赋值的变量总是在=
符号的左边,而创建值的表达式在右边 的 =
符号。
所以在等号的 left-hand 一侧有一个数学公式是没有意义的。
要么你想说“lv_tenmillion 应 lv_dmbtr 除以 10000000”。在这种情况下,正确的行是
lv_tenmillions = lv_dmbtr / 10000000.
或者您试图说“lv_dmbtr 的百万分之一应等于 lv_tenmillion”,这等同于说“lv_dmbtr 应等于 lv_tenmillion 乘以 10000000" 或
lv_dmbtr = lv_tenmillions * 10000000.
试试这个:
DATA(lv_dmbtr) = ZSD_LGS-DMBTR.
lv_dmbtr = ZSD_LGS-DMBTR MOD 10000000
IF lv_dmbtr MOD 10000000 LE 9.
lv_dmbtr / 10000000 = lv_tenmillions. //Error line
lv_tenmillions_check = lv_tenmillions MOD 1.
IF lv_tenmillions_check > 0.
"Convert
ENDIF.
IF lv_tenmillions_check < 0.
"ZERO
ENDIF.
ENDIF.