Abap 是否显示内部表格?
我必须从表中读取一些数据并显示出来。程序启动了,但我不知道如何显示我选择的任何数据。我想把它摆成一张桌子 老实说,我甚至不知道下面的代码是否正确Abap 是否显示内部表格?,abap,Abap,我必须从表中读取一些数据并显示出来。程序启动了,但我不知道如何显示我选择的任何数据。我想把它摆成一张桌子 老实说,我甚至不知道下面的代码是否正确 REPORT ZT_THIEMANN_TEST. types : begin of ts_output, object_id type CRMD_ORDERADM_H-object_id, created_by type CRMD_ORDERADM_H-created_by, end of t
REPORT ZT_THIEMANN_TEST.
types : begin of ts_output,
object_id type CRMD_ORDERADM_H-object_id,
created_by type CRMD_ORDERADM_H-created_by,
end of ts_output,
tt_output type table of ts_output.
PARAMETERS Mel_Nr TYPE CRMD_ORDERADM_H-Object_ID obligatory.
data gt_output type tt_output.
START-OF-SELECTION.
SELECT cm~object_id cm~created_by
from CRMD_ORDERADM_H as cm
into corresponding fields of table gt_output
where cm~object_id like Mel_Nr.
正如Sandra所说,您可以使用调试器检查您的代码/选择是否有效 您可以以不同的方式输出数据,但最简单的方法是使用class
CL\u SALV\u表
。在不添加任何附加功能(如标题、工具栏按钮、排序、热点等)的情况下,下面的代码是如何使用oo alv网格显示数据的
...
DATA: go_alv TYPE REF TO cl_salv_table,
gx_salv_msg TYPE REF TO cx_salv_msg.
...
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = go_alv
CHANGING
t_table = gt_output ).
CATCH cx_salv_msg INTO gx_salv_msg.
MESSAGE 'error' TYPE 'E'.
ENDTRY.
go_alv->display( ).
如果您需要一个真正的单行程序,只需使用ABAP demo output标准类
cl_demo_output
,它可以处理任何类型,包括内部表:
SELECT *
FROM scarr
INTO TABLE @DATA(carriers).
cl_demo_output=>display( carriers ).
嗨@Teaman,请用谷歌搜索“ALV网格”。据我所知,显示内部表格是最简单的选择。@konstantin请将您的评论转换为答案,我认为您不需要添加太多额外的信息,只需添加一个片段(例如使用
CL\u SALV\u TABLE
),只需使用调试器(添加断点并运行程序)。PS:在您的情况下,您希望在最后一行代码之后有一个断点(SELECT
),因此您可能会发现在该行之后添加一个伪语句更容易。警告:CL\u DEMO\u OUTPUT
只应在测试程序中使用,它(与其他CL\u DEMO*类一样)。对于生产性使用,像CL_SALV_TABLE
这样的东西是一个很好的解决方案。事实上,OP没有声明他想在生产中使用它。我们不知道他的意图,也许它只是一个测试程序:)无论如何,它比LegXister提出的检入调试器更难(后端调试器可以通过ALV显示内部表;-)