以下是纯顾问群~
QQ群 :SAP干货铺, 群号:775662808
所有群管理严格,严格禁止一切外来链接、招聘、广告等垃圾信息!
如果您觉得这篇干货文章有用,请帮忙转载、分享给更多人,谢谢~
之前文章使用的是 下面的方式 填充 fieldcat,来确定输出字段。
字段特别多的时候,这么写太烦了。
所以我自己一般是先建一个需要输出的结构:
然后使用 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.
效果:
标签:02,GT,LAYOUT,REUSE,FIELDCATALOG,ALV,GS,DATA From: https://blog.51cto.com/u_15680210/5757791