abap中 REUSE_ALV_POPUP_TO_SELECT 的用法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/champaignwolf/article/details/79975214
  SELECT *
    INTO CORRESPONDING FIELDS OF TABLE lt_itab
    FROM tvta.

  SORT lt_itab BY vkorg vtwku.
  DELETE ADJACENT DUPLICATES FROM lt_itab COMPARING  vkorg vtwku.

  LOOP AT lt_itab.
    SELECT SINGLE
      vtext
      INTO lt_itab-vtext
      FROM tvkot
      WHERE vkorg lt_itab-vkorg
        AND spras sy-langu.

    SELECT SINGLE
      vtext
      INTO lt_itab-vtext1
      FROM tvtwt
      WHERE vtweg lt_itab-vtwku
        AND spras sy-langu.



    MODIFY lt_itab.
  ENDLOOP.

  IF lt_fieldcat[] IS INITIAL.
    CLEAR lh_fieldcat.
    lh_fieldcat-fieldname  'VKORG'.
    lh_fieldcat-seltext_l '销售组织'.
    lh_fieldcat-outputlen 20.
    APPEND lh_fieldcat TO lt_fieldcat[].
    CLEAR lh_fieldcat.
    lh_fieldcat-fieldname  'VTWKU'.
    lh_fieldcat-seltext_l '分销渠道'.
    lh_fieldcat-outputlen 10.
    APPEND lh_fieldcat TO lt_fieldcat[].


    CLEAR lh_fieldcat.
    lh_fieldcat-fieldname  'VTEXT'.
    lh_fieldcat-seltext_l '销售组织描述'.
    lh_fieldcat-outputlen 20.
    APPEND lh_fieldcat TO lt_fieldcat[].
    CLEAR lh_fieldcat.
    lh_fieldcat-fieldname  'VTEXT1'.
    lh_fieldcat-seltext_l '分销渠道描述'.
    lh_fieldcat-outputlen 10.
    APPEND lh_fieldcat TO lt_fieldcat[].
  ENDIF.

  CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
    EXPORTING
*     I_TITLE              =
*     I_SELECTION          = ‘X‘
*     I_ALLOW_NO_SELECTION =
      i_zebra              'X'
*     I_SCREEN_START_COLUMN         = 0
*     I_SCREEN_START_LINE  = 0
*     I_SCREEN_END_COLUMN  = 0
*     I_SCREEN_END_LINE    = 0
      i_checkbox_fieldname 'BOX'
*     I_LINEMARK_FIELDNAME =
*     I_SCROLL_TO_SEL_LINE = ‘X‘
      i_tabname            'LT_ITAB'
*     I_STRUCTURE_NAME     =
      it_fieldcat          lt_fieldcat[]
*     IT_EXCLUDING         =
*     I_CALLBACK_PROGRAM   =
*     I_CALLBACK_USER_COMMAND       =
*     IS_PRIVATE           =
*     IMPORTING
*     ES_SELFIELD          =
*     E_EXIT               =
    TABLES
      t_outtab             lt_itab
    EXCEPTIONS
      program_error        1
      OTHERS               2.
  IF sy-subrc <> 0.
*  CALL FUNCTION ‘MESSAGE_TEXT_BUILD‘
*    EXPORTING
*      MSGID               = SY-MSGID
*      MSGNR               = SY-MSGNO
*      MSGV1               = SY-MSGV1
*      MSGV2               = SY-MSGV2
*      MSGV3               = SY-MSGV3
*      MSGV4               = SY-MSGV4
*    IMPORTING
*      MESSAGE_TEXT_OUTPUT = L_MESSAGE.
*  MESSAGE L_MESSAGE TYPE ‘E‘.
  ELSE.
    LOOP AT lt_itab WHERE box 'X'.
      l_line sy-tabix.
      CONCATENATE l_message '您选中的有第' l_line '行...' INTO l_message.
    ENDLOOP.
    MESSAGE l_message TYPE 'I'.
  ENDIF.
阅读更多

没有更多推荐了,返回首页