0

我对 ABAP 相当陌生,并编写了一条 SQL 语句来将项目列表返回到 ALV。但是,当我执行程序时,它什么也不返回。下面是我写的代码。我创建了一个表格类型来仅显示结果中我需要的列。

REPORT  Z_DISPLAY_RESULTS.

TYPES: BEGIN OF t_Display,
 foodItem TYPE foodList-foodItem,
 foodDescription TYPE foodList-foodDescription,
END OF t_Display.
DATA: it_Display TYPE STANDARD TABLE OF t_Display INITIAL SIZE 0,    
  wa_Display TYPE t_Display,                   
  wa_Display1 LIKE LINE OF it_Display.

START-OF-SELECTION.

SELECT foodItem foodDescription
FROM foodList INTO TABLE it_Display
WHERE foodID = '00001'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
*   I_INTERFACE_CHECK              = ' '
*   I_BYPASSING_BUFFER             =
*   I_BUFFER_ACTIVE                = ' '
*   I_CALLBACK_PROGRAM             = ' '
*   I_CALLBACK_PF_STATUS_SET       = ' '
*   I_CALLBACK_USER_COMMAND        = ' '
I_STRUCTURE_NAME               = 'foodList'
*   IS_LAYOUT                      =
*   IT_FIELDCAT                    =
*   IT_EXCLUDING                   =
*   IT_SPECIAL_GROUPS              =
*   IT_SORT                        =
*   IT_FILTER                      =
*   IS_SEL_HIDE                    =
*   I_DEFAULT                      = 'X'
*   I_SAVE                         = ' '
*   IS_VARIANT                     =
*   IT_EVENTS                      =
*   IT_EVENT_EXIT                  =
*   IS_PRINT                       =
*   IS_REPREP_ID                   =
*   I_SCREEN_START_COLUMN          = 0
*   I_SCREEN_START_LINE            = 0
*   I_SCREEN_END_COLUMN            = 0
*   I_SCREEN_END_LINE              = 0
*   IR_SALV_LIST_ADAPTER           =
*   IT_EXCEPT_QINFO                =
*   I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER        =
*   ES_EXIT_CAUSED_BY_USER         =
TABLES
 T_OUTTAB                       = it_Display
* EXCEPTIONS
*   PROGRAM_ERROR                  = 1
*   OTHERS                         = 2
      .
IF SY-SUBRC <> 0.

ENDIF.
4

1 回答 1

1
  1. 不要学习过时的东西——使用新的基于类的 API
  2. 使用调试器仔细检查表是否实际填充。
  3. I_STRUCTURE_NAME指全局 DDIC 类型。如果您使用本地类型,您可能需要自己提供字段目录 - 使用这个过时的功能模块。有了新的基于类的 API,就不需要(不再需要?)了。
于 2016-08-02T14:33:55.040 回答