我必须从表中读取一些数据并显示它。该程序启动,但是我不知道如何显示我选择的任何数据。我想把它摆成桌子。
老实说,我什至不知道以下代码是否正确。
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.
答案 0 :(得分:4)
正如Sandra所说,您可以使用调试器检查代码/选择是否有效。
您可以用不同的方式输出数据,但是最简单的方法是使用类CL_SALV_TABLE
。在不添加任何其他功能(例如标题,工具栏按钮,排序,热点等)的情况下,下面的代码是如何使用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( ).
答案 1 :(得分:2)
如果您需要一个真正的单行代码,只需使用ABAP演示输出标准类cl_demo_output
即可处理任何类型,包括内部表:
SELECT *
FROM scarr
INTO TABLE @DATA(carriers).
cl_demo_output=>display( carriers ).