本文介绍了如何在只有引用数据的表中循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用功能模块RSAQ_QUERY_CALL,取回一张表:

I am using the function Module RSAQ_QUERY_CALL, getting back a table:

DATA: gr_data TYPE REF TO data.

CALL FUNCTION 'RSAQ_QUERY_CALL'
     EXPORTING
       query          = 'ZXXXXXXXX'
       usergroup      = 'XXX'
       VARIANT        = 'TEST'
       SKIP_SELSCREEN = 'X'
       DATA_TO_MEMORY = 'X'
     IMPORTING
       ref_to_ldata   = gr_data
     EXCEPTIONS
       OTHERS         = 11.

现在我怎样才能在那个桌子上循环?

我尝试了什么:

  • 分配给字段符号
  • 传递字段符号而不是 dref

两者都不起作用.

推荐答案

我找到了解决方案(询问高级开发人员后..)

I found the solution (after asking the senior dev..)

FIELD-SYMBOLS: <gt_data> type table,
               <row>     type any.

ASSIGN gr_data->* to <gt_data>.

LOOP AT <gt_data> ASSIGNING <row>.

  DO.
    ASSIGN COMPONENT sy-index OF STRUCTURE <row> TO <field>.
    IF sy-subrc <> 0.
      EXIT. " last field of row
    ENDIF.

    WRITE : / 'Field', sy-index, ':', <field>.

  ENDDO.

ENDLOOP.

这篇关于如何在只有引用数据的表中循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 06:37