我已经在SMARTFORMS的程序行中定义了局部变量,但似乎即使在程序行节点中进行了局部声明,也看不到变量。
错误如下所示。
字段“ L_TABDEF–TLTYPE”未知。它都不是其中之一 指定的表,也不由“ DATA”语句定义。 “数据”状态
FIELD-SYMBOLS: <f_tab> TYPE tsftabdef.
DATA: l_tabdef TYPE ssftabdef , " Work Area for the Table
t_ltypes TYPE tsfltype , " Table – Line types
l_ltypes TYPE ssfltype , " Work Area for the table
t_colinfo TYPE tsfcolinfo , " Table – Columns
l_colinfo TYPE ssfcolinfo , " Work area for the table
t_border TYPE tsfctaba , " Tables – Borders
l_border TYPE ssfctaba . " Work Area for the border
ASSIGN ('(SAPLSTXBC)TABDEFS') TO <f_tab>.
* Table definition table
LOOP AT <f_tab> INTO l_tabdef.
LOOP AT l_tabdef–tltype INTO l_ltypes WHERE linetype = 'LINE'.
LOOP AT l_ltypes–tcolinfo INTO l_colinfo.
LOOP AT l_colinfo-borders INTO l_border.
CLEAR l_border-intensity.
l_border-fillcolor-red = '255'.
l_border-fillcolor-green = '000'.
l_border-fillcolor-blue = '000'.
l_border-fillcolor-used = 'X'.
l_border-cfillcolor-color = 'X'.
l_border-cfillcolor-xred = 'FF'.
l_border-cfillcolor-xgreen = '00'.
l_border-cfillcolor-xblue = '00'.
MODIFY l_colinfo-borders FROM l_border.
ENDLOOP.
MODIFY l_ltypes-tcolinfo FROM l_colinfo.
ENDLOOP.
MODIFY l_tabdef-tltype FROM l_ltypes.
ENDLOOP.
MODIFY <f_tab> FROM l_tabdef.
ENDLOOP.
我在这里想念什么?
答案 0 :(得分:2)
在l_tabdef–tltype
中,破折号实际上是无效的Unicode字符EN DASH U+2013,使您感到困惑,因此它不会被识别为“ structure component selector”(即{{3 }}),编译器将整个名称视为经典数据对象,而不是结构组件。
该错误可能是由您喜欢的文本处理软件的复制/粘贴引起的。
解决方案:请在"-"
中重新输入l_tabdef–tltype
。
PS:感谢您提供了此dash character U+002D,否则将无法解决该问题!