如何在结构中显示值?见下面的例子:
DATA: BEGIN OF line,
col1 TYPE i,
col2 TYPE i,
END OF line.
DATA: itab LIKE TABLE OF line,
jtab LIKE TABLE OF line.
DO 3 TIMES.
line-col1 = sy-index.
line-col2 = sy-index ** 2.
APPEND line TO itab.
ENDDO.
MOVE itab TO jtab.
line-col1 = 10. line-col2 = 20.
APPEND line TO itab.
IF itab GT jtab.
WRITE / 'ITAB GT JTAB'.
ENDIF.
写:itab,jtab。
因为我想知道为什么itab比jtab更大?。
答案 0 :(得分:3)
如果您想纯粹出于调试目的看到字段的内容,您也可以在代码中放置一个断点并查看调试器中的内容。
请不要将断点留在生产代码中!
break-point.
"or use break yourusername <= this use is safer
编辑: 您也可以使用会话断点,这不需要您更改代码(并且仅在会话期间适用于您的用户):
在运行程序的系统中:
单击会话断点按钮
断点图标将出现在该行的旁边(您也可以单击图标出现的位置,设置/删除断点)。
答案 1 :(得分:2)
我认为这只是一个快速示例,您不希望在生产环境中使用(部分) - 所以我忽略了代码中存在的其他潜在问题。
根据您的问题,您需要遍历您的itab以访问其值。然后,您可以访问如下值:
DATA: ls_current_line LIKE line.
" ...
LOOP AT itab INTO ls_current_line.
WRITE / ls_current_line-col1.
ENDLOOP.
答案 2 :(得分:2)
您可以使用功能模块REUSE_ALV_GRID_DISPLAY
。
例如:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
TABLES
t_outtab = itab.
答案 3 :(得分:2)
ITAB比JTAB更大,因为它包含更多行; ITAB有4条线,而JTAB有3条线。
对于内部表格,GT运算符首先会查看表格中的行数。有关比较运算符(内部表)的更多详细信息,请参见http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3841358411d1829f0000e829fbfe/content.htm。 [我看到你的例子也来自这个帮助页面。]