ABAP中like和like行的区别是什么?

ABAP中like和like行的区别是什么?,abap,Abap,我有一个疑问。我可以知道ABAP中LIKE和LIKE行的区别吗?我在某处看到,在申报工作区域时,他们正在申报 wa LIKE it_one wa LIKE LINE OF it_one LIKE LINE OF表示变量为表格行类型 LIKE表示变量的类型将与该关键字后面的变量的类型完全相同 范例 TYPES: BEGIN OF t_my_example_structure, my_example_field1 TYPE i, my_example_field2 TYPE n,

我有一个疑问。我可以知道ABAP中
LIKE
LIKE行的区别吗?我在某处看到,在申报工作区域时,他们正在申报

wa LIKE it_one
wa LIKE LINE OF it_one

LIKE LINE OF
表示变量为表格行类型

LIKE
表示变量的类型将与该关键字后面的变量的类型完全相同

范例

TYPES: BEGIN OF t_my_example_structure,
    my_example_field1 TYPE i,
    my_example_field2 TYPE n,
  END OF t_my_example_structure.

TYPES tt_my_example_structure TYPE STANDARD TABLE OF t_my_example_structure.

DATA: l_tab_my_example TYPE tt_my_example_structure.

* has structure of row of l_tab_my_example so in this case t_my_example_structure.
DATA: l_str_my_example LIKE LINE OF l_tab_my_example.

* is exactly the same table type as l_tab_my_example so in this case tt_my_example_structure.
DATA: l_tab_like_my_example LIKE l_tab_my_example.

* I use it often for LOOP AT <tab> ASSIGNING <fs>.
FIELD-SYMBOLS: <fs_str_my_example> LIKE LINE OF l_tab_my_example.
TYPES:t_my_示例_结构的开头,
我的\u示例\u字段1 i型,
我的示例字段2类型n,
结束我的示例结构。
类型tt_my_example_结构类型t_my_example_结构的标准表。
数据:l_选项卡_我的示例类型tt_我的示例结构。
*具有l_tab_my_示例行的结构,因此在本例中t_my_示例_结构。
数据:l_str_my_示例,如l_tab_my_示例行。
*与l_tab_my_示例完全相同,因此在本例中为tt_my_示例结构。
数据:l_tab_like_my_示例like_tab_my_示例。
*我经常在分配时将其用于循环。
字段符号:如l_tab_my_示例中的行。

好吧,区别在于当您使用or表将表传递到子例程时

在第一种情况下,您将得到一个没有标题线的表,因此
WA_LIKE
也将是一个表

在第二种情况下,
IT_数据
将是一个带有
标题线的表:这导致
IT_数据
实际上意味着
IT_数据
作为结构或
IT_数据[]
作为表,具体取决于上下文。特别是,
数据。。。与此类似,数据将引用标题行,而不是整个内部表

您可以使用调试器进行检查:

DATA T_DATA TYPE STRING_TABLE.

PERFORM TEST_01 USING  T_DATA.
PERFORM TEST_02 TABLES T_DATA.

FORM TEST_01 USING IT_DATA TYPE STRING_TABLE.
  DATA : WA_LIKE LIKE         IT_DATA  "This is a Table
       , WA_LINE LIKE LINE OF IT_DATA.
  BREAK-POINT.
ENDFORM.

FORM TEST_02 TABLES IT_DATA TYPE STRING_TABLE.
  DATA : WA_LIKE LIKE         IT_DATA  "This is a String
       , WA_LINE LIKE LINE OF IT_DATA.
  BREAK-POINT.
ENDFORM.

只是为了改进这个-
表\u行
在技术上不是一种数据类型。您最可能的意思是非结构化的内部表。在任何情况下-不仅仅是结构化表
LIKE-LINE OF
是指表的行类型(如果您愿意,可以称之为记录类型)。谢谢您的提示。我将重新表述答案。我想知道您是否已经查看了