智能表单中的语法错误“字段“ L_TABDEF–TLTYPE”未知”

时间:2019-06-06 02:34:15

标签: sap abap

我已经在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.

我在这里想念什么?

1 个答案:

答案 0 :(得分:2)

l_tabdef–tltype中,破折号实际上是无效的Unicode字符EN DASH U+2013,使您感到困惑,因此它不会被识别为“ structure component selector”(即{{3 }}),编译器将整个名称视为经典数据对象,而不是结构组件。

该错误可能是由您喜欢的文本处理软件的复制/粘贴引起的。

解决方案:请在"-"中重新输入l_tabdef–tltype

PS:感谢您提供了此dash character U+002D,否则将无法解决该问题!