ABAP实战案例—ALV弹窗显示超长文本

1、业务场景:

ALV报表中根据业务需要,把某些超长文本字段显示在报表页面;实际情况下,因为字段限制,只能显示部分字段,需要通过特殊显示完整的超长文本。

2、超长文本字段定义:

data:ZLONG_T(1024) TYPE C. "长文本显示联合体单位明细拼接

3、超长文本字段数据处理,此处举例为简单拼接:

    "获取项目联合体单位明细
    LOOP AT LT_LHT ASSIGNING FIELD-SYMBOL(<FS_LHT>)
      WHERE PARENT_KEY = LS_XMLX-DB_KEY.
      LS_XMLX-ZLONG_T = LS_XMLX-ZLONG_T && <FS_LHT>-ZLHTDW_ID && '&' && <FS_LHT>-ZLHTDW_NAME && ';'.
    ENDLOOP.

4、子例程:USER_COMMAND中的代码逻辑:

主要应用函数:ADA_POPUP_WITH_TABLE

FORM USER_COMMAND USING U_UCOMM TYPE SY-UCOMM
                        US_SELFIELD TYPE SLIS_SELFIELD.
  DATA:BEGIN OF LS_TEXT,
         ZTEXT(2048) TYPE C,
       END OF LS_TEXT.
  DATA:LT_TEXT LIKE STANDARD TABLE OF LS_TEXT.

  CASE U_UCOMM.
    WHEN '&IC1'.
      READ TABLE GT_XMLX INDEX US_SELFIELD-TABINDEX INTO DATA(WA_XMLX).  "获取单击行
      IF US_SELFIELD-FIELDNAME = 'ZLONG_T' AND WA_XMLX-ZLONG_T IS NOT INITIAL.
        APPEND WA_XMLX-ZLONG_T TO LT_TEXT.
        CALL FUNCTION 'ADA_POPUP_WITH_TABLE'
          EXPORTING
            STARTPOS_COL = 1
            STARTPOS_ROW = 1
            TITLETEXT    = '联合体单位明细'    "弹窗显示标题文本
          TABLES
            VALUETAB     = LT_TEXT.
      ENDIF.

  ENDCASE.
  CLEAR  U_UCOMM.
ENDFORM.

5、效果展示:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

混沌破晓

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

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

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

打赏作者

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

抵扣说明:

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

余额充值