abap中 REUSE_ALV_POPUP_TO_SELECT 的用法

本文介绍了一个使用 ABAP 语言创建 ALV 报表的过程,包括从数据库中选择数据、处理数据、删除重复项以及通过 ALV 控件展示数据等步骤。示例还展示了如何设置字段目录及通过弹出窗口让用户选择记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值