智能表单错误 "Flat types may only be referenced using LIKE for table parameters"

Smartform error "Flat types may only be referenced using LIKE for table parameters"

我在 se11 中创建了一个 table ZPDETAIL01 并激活了它。 在 smartforms 的表单界面中,我在 tables 选项卡中创建了一个 table 参数 zdetail,类型分配为 TYPE,关联类型为 ZPDETAIL01。 当我检查它时,发生错误,"ZPDETAIL01 Flat types may only be referenced using LIKE for table parameters"

这个是我table本身的错误还是我参数设置的错误?谢谢。

我将类型分配更改为 LIKE,问题已解决。但是我想知道为什么在搜索帮助按钮中我找不到 LIKE 选项,只有 TYPE 和 TYPE REF.

简直是UI中的一个瑕疵。如果允许,则应将其列为可能的值。

但我猜 SAP 只是不关心纠正这种过时技术的那些小东西(即智能表单......现在更喜欢 Adob​​e 表单或第三方解决方案)。请注意,值列表来自 table RSFBTYPEIN,可能 LIKE 之前已在此 table 中定义,但随着 LIKE 在函数中输入导入和导出参数变得过时模块,SAP 可能会删除它:多数人胜过少数人。只是猜测。

如果您愿意,可以在 SAP 支持部门开工单进行更正。

ABAP 7.52 SP01 中的行为(使用 DDIC 对象完成的测试:平面 table SCARR,非平面 table SOTR_TEXTU,table 类型 BAPIRETTAB):

Typing   Associated type    Button           Error message
------   ----------------   --------------   -------------------------------------------
TYPE     Flat struc/table   Check            SCARR Flat types may only be referenced 
                                             using LIKE for table parameters
TYPE     Flat struc/table   Activate         Only table types may be used as the 
                                             reference type for a table parameter
TYPE     Non-flat str/tab.  Check/Activate   Only table types may be used as the 
                                             reference type for a table parameter
TYPE     Table type         Check/Activate   None
LIKE     Flat struc/table   Check/Activate   None

LIKE     Non-flat str/tab.  Check/Activate   None but short dump at runtime (because of
                                             syntax error in FM: "&1" must be a flat 
                                             structure. Internal tables, strings, references, 
                                             and structures cannot be used as components.)
LIKE     Table type         Check            Type BAPIRETTAB is not allowed in this context
LIKE     Table type         Activate         Tables using LIKE may only reference flat structures

如您所见,有一个比不显示 LIKE 更大的问题,在一个案例中有一个简短的转储!

请注意,我没有测试 TYPE REF TO,但我怀疑 TABLES 参数是否可以使用它。