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显示内部表;-)