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、效果展示:


962

被折叠的 条评论
为什么被折叠?



