1

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

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

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

4

1 回答 1

1

只是用户界面中的一个缺陷。如果允许,则应将其列为可能值。

但我猜 SAP 只是不想纠正这种过时技术的那些小问题(即智能表单……现在更喜欢 Adob​​e 表单或第三方解决方案)。请注意,值列表来自 table RSFBTYPEIN,并且可能LIKE先前已在此表中定义,但随着 LIKE 在功能模块中键入导入和导出参数已过时,SAP 可能将其删除:多数胜过少数。只是一个猜测。

如果您愿意,您可以在 SAP 支持处开票以进行更正。

ABAP 7.52 SP01 中的行为(使用 DDIC 对象完成的测试:平面表 SCARR、非平面表 SOTR_TEXTU、表类型 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 参数可以使用它。

于 2019-07-30T12:45:20.543 回答