2013年2月4日 星期一

[Code] How to reference whole itab by name

How to reference whole itab by name

Example: clearing all selection criteria
FORM screen_clearing_all .
  DATAselctab         LIKE rsscr    OCCURS 20 WITH HEADER LINE,
        itabname        TYPE c        LENGTH 30.

  FIELD-SYMBOLS<para> TYPE ANY,
                 <sele> TYPE ANY TABLE.

  CLEAR selctabREFRESH selctab.

* Get selection screen
  LOAD REPORT alv_repid PART 'SSCR' INTO selctab.

  LOOP AT selctab.
    IF selctab-kind 'P'.
*     Clear Parameter
      ASSIGN (selctab-nameTO <para>.
      CLEAR <para>.
    ELSEIF selctab-kind 'S'.
*     Clear select-option (work area)
      ASSIGN (selctab-nameTO <para>.
      CLEAR <para>.
*     Refresh select-option
      CONCATENATE selctab-name '[]' INTO itabname.
      ASSIGN (itabnameTO <sele>.
      REFRESH <sele>.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " SCREEN_CLEARING_ALL