>我必须从表中读取一些数据并显示它。程序启动,但我不知道如何显示我选择的任何数据。我想把它作为一张桌子拿出来。
老实说,我什至不知道以下代码是否正确。
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所说,您可以使用调试器检查您的代码/选择是否有效。
您可以通过不同的方式输出数据,但最简单的方法是使用类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( ).
如果您需要真正的单行代码,只需使用 ABAP 演示输出标准类cl_demo_output
,它可以处理任何类型的表,包括内部表:
SELECT *
FROM scarr
INTO TABLE @DATA(carriers).
cl_demo_output=>display( carriers ).