ABAPSALV 基本显示外观设置列设置

作者:ABAP猿 约 5 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

点击上方 蓝字 关注我们

ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

Motivation will almost always beat mere talent.

动机总是能战胜天赋。

功能说明

本系列将通过模拟用户与开发者之间的对话场景, 来逐步演示SALV的使用。 将采用一个实际的开发流程,假定用户提出了某些需求,

然后开发者根据这些需求一步步实现功能,完善程序。

在 这个过程中,将会按照功能将代码拆分成多个部分, 这样分阶段呈现,更有利于按部就班学习SALV的用法。 如果您打算使用SALV,

建议认真学习和实践本系列的代码案例。 相信通过这种类似对话的学习方式, 您一定可以快速上手SALV,提高工作效率。

那我们就开始SALV之旅吧!

赶 快动手试一试 ,掌握它的用法。

功能效果

ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

第 1 天 用户说

从表SPFLI获取数据,并进行基本展示。

DATA gt_spfli TYPE TABLE OF spfli .

SELECT * FROM spfli INTO TABLE gt_spfli UP TO 30 ROWS .

DATA go_salv TYPE REF TO cl_salv_table .

cl_salv_table => factory (

IMPORTING

r_salv_table = go_salv

CHANGING

t_table = gt_spfli ) .

go_salv -> display ( ) .

ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

第 2 天 用户说

能否修改下抬头标题文本,并斑马纹展示?

IF p_day02 EQ 'X' .

DATA lo_display TYPE REF TO cl_salv_display_settings .

lo_display = go_salv -> get_display_settings ( ) .

lo_display -> set_list_header ( 'ABAP SALV演示程序-公众号(ABAP猿)' ) .

lo_display -> set_striped_pattern ( 'X' ) .

. . .

ENDIF .
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

第 3 天 用户说

能否优化下列宽?

IF p_day03 EQ 'X' .

DATA lo_columns TYPE REF TO cl_salv_columns_table .

lo_columns = go_salv -> get_columns ( ) .

lo_columns -> set_optimize ( 'X' ) .

. . .

ENDIF .
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

源码分享

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1 . SELECTION-SCREEN BEGIN OF LINE . SELECTION-SCREEN COMMENT 1 ( 79 ) day01 . SELECTION-SCREEN END OF LINE . SELECTION-SCREEN BEGIN OF LINE . SELECTION-SCREEN COMMENT 1 ( 79 ) day02 . SELECTION-SCREEN END OF LINE . SELECTION-SCREEN BEGIN OF LINE . SELECTION-SCREEN COMMENT 1 ( 79 ) day03 . SELECTION-SCREEN END OF LINE . SELECTION-SCREEN END OF BLOCK b1 .
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t2 .

PARAMETERS p_day01 AS CHECKBOX DEFAULT 'X' . "01、基本展示

PARAMETERS p_day02 AS CHECKBOX DEFAULT 'X' . "02、外观设置

PARAMETERS p_day03 AS CHECKBOX DEFAULT 'X' . "03、列设置

SELECTION-SCREEN END OF BLOCK b2 .

INITIALIZATION .

sy \- title = 'ABAP SALV演示程序-公众号(ABAP猿)' .

t1 = '用户说' .

t2 = '你来做' .

day01 = '01、从表SPFLI获取数据,并进行基本展示。' .

day02 = '02、能否修改下抬头标题文本,并斑马纹展示?' .

day03 = '03、能否优化下列宽?' .

%_p_day01_%_app_% \- text = '01、基本展示' .

%_p_day02_%_app_% \- text = '02、外观设置' .

%_p_day03_%_app_% \- text = '03、列设置' .

START-OF-SELECTION .

*------------------------------------*

CHECK p_day01 EQ 'X' .

DATA gt_spfli TYPE TABLE OF spfli .

SELECT * FROM spfli INTO TABLE gt_spfli UP TO 30 ROWS .

DATA go_salv TYPE REF TO cl_salv_table .

cl_salv_table => factory (

IMPORTING

r_salv_table = go_salv

CHANGING

t_table = gt_spfli ).

*------------------------------------*

IF p_day02 EQ 'X' .

DATA lo_display TYPE REF TO cl_salv_display_settings .

lo_display = go_salv -> get_display_settings ( ).

lo_display -> set_list_header ( 'ABAP SALV演示程序-公众号(ABAP猿)' ).

lo_display -> set_striped_pattern ( 'X' ).

...

ENDIF .

*------------------------------------*

IF p_day03 EQ 'X' .

DATA lo_columns TYPE REF TO cl_salv_columns_table .

lo_columns = go_salv -> get_columns ( ).

lo_columns -> set_optimize ( 'X' ).

...

ENDIF .

*------------------------------------*

go_salv -> display ( ).

**小贴士:**

• **** 可使用BC_DATA_GEN生成数据,以便查看演示效果;

• 以上纯属个人总结,如有纰漏请联系我;

以上是今日分享,希望对你有所帮助~~~

欢迎点赞、留言、分享

ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

往期推荐

[ ABAP SALV系列文章

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247492672&idx=1&sn=a10709828c6f167ecb91bdd11b43a226&chksm=cf0a30aef87db9b8555e554e4cc15d215c5f6aeae59ac9041b99ffb3124b212e25f57c130e27&scene=21#wechat_redirect)

[ ABAP 选择屏幕-级联下拉列表

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247492501&idx=1&sn=41583409b37a01d5efca06527f027cea&chksm=cf0a377bf87dbe6d7b8131d96f633b3d3e7fc7cea97587411d707dc95eccf0cc53a42522b94b&scene=21#wechat_redirect)

[ ABAP 选择屏幕-选择布局

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247492486&idx=1&sn=234ad41b83e94c335cf2b4a8d66963be&chksm=cf0a3768f87dbe7ed5d938ad1de3543ac3b9ccae53f9d1a1bb5ece25352ff74235592d9fb04f&scene=21#wechat_redirect)

ABAPSALV 基本显示外观设置列设置 - 封面图
ABAPSALV 基本显示外观设置列设置 - 封面图

点个 在看 你最好看

ABAP猿

关于作者:ABAP猿

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ABAPSALV基本显示外观设置列设置.md」整理生成,仅用于内部技术分享与学习交流。