首页 > 其他分享 >ALV DMEO 02:REUSE_ALV_GRID_DISPLAY 使用函数填充 FIELDCAT

ALV DMEO 02:REUSE_ALV_GRID_DISPLAY 使用函数填充 FIELDCAT

时间:2022-10-14 19:11:58浏览次数:43  
标签:02 GT LAYOUT REUSE FIELDCATALOG ALV GS DATA

以下是纯顾问群~
QQ群 :SAP干货铺,  群号:775662808
所有群管理严格,严格禁止一切外来链接、招聘、广告等垃圾信息!

如果您觉得这篇干货文章有用,请帮忙转载、分享给更多人,谢谢~


之前文章使用的是 下面的方式 填充 fieldcat,来确定输出字段。

ALV DMEO 02:REUSE_ALV_GRID_DISPLAY 使用函数填充 FIELDCAT_微信

字段特别多的时候,这么写太烦了。


所以我自己一般是先建一个需要输出的结构:

ALV DMEO 02:REUSE_ALV_GRID_DISPLAY 使用函数填充 FIELDCAT_字段_02

然后使用 REUSE_ALV_FIELDCATALOG_MERGE 函数。


具体代码如下:

 

REPORT ZLM_ALV010.

DATA:GT_DATA TYPE TABLE OF SPFLI.

DATA:GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA:GT_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV .

DATA:LV_ALV_STRUCTURE TYPE DD02L-TABNAME VALUE 'ZLMS_ALV'.


START-OF-SELECTION.


SELECT * FROM SPFLI INTO TABLE GT_DATA.


CLEAR GT_FIELDCATALOG[].

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = LV_ALV_STRUCTURE
CHANGING
CT_FIELDCAT = GT_FIELDCATALOG
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.

ENDIF.
*&------显示长文本 根据需要添加即可
FIELD-SYMBOLS <LS_FILEDCAT> LIKE LINE OF GT_FIELDCATALOG.
LOOP AT GT_FIELDCATALOG ASSIGNING <LS_FILEDCAT>.
<LS_FILEDCAT>-DDICTXT ='L'.
ENDLOOP.
*& GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LAYOUT-ZEBRA = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_GRID_TITLE = 'SAP干货铺测试'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCATALOG
* I_STRUCTURE_NAME = 'SPFLI'
TABLES
T_OUTTAB = GT_DATA
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.

IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.



效果:

ALV DMEO 02:REUSE_ALV_GRID_DISPLAY 使用函数填充 FIELDCAT_微信_03

标签:02,GT,LAYOUT,REUSE,FIELDCATALOG,ALV,GS,DATA
From: https://blog.51cto.com/u_15680210/5757791

相关文章