ABAPOOALV 合计小计

作者:ABAP猿 约 5 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

Lif e is short, and it’s up to you to make it sweet.

生命短暂,而你可以决定让它活出灿烂。

ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

1

程序效果

ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

2

源码分享

REPORT zooalv_demo NO STANDARD PAGE HEADING .

DATA gt_spfli TYPE TABLE OF spfli .

DATA go_alv TYPE REF TO cl_gui_alv_grid .

DATA gs_layout TYPE lvc_s_layo .

DATA gs_sort TYPE lvc_s_sort .

DATA gt_sort TYPE lvc_t_sort .

DATA gt_filter TYPE lvc_t_filt .

DATA gs_filter TYPE lvc_s_filt .

DATA gt_fieldcat TYPE lvc_t_fcat .

DATA gs_fieldcat TYPE lvc_s_fcat .

INITIALIZATION .

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

START-OF-SELECTION .

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

CREATE OBJECT go_alv

EXPORTING

i_parent = cl_gui_container => default_screen .

CLEAR gs_layout .

gs_layout \- zebra = 'X' .

gs_layout \- cwidth_opt = 'X' .

"添加排序

CLEAR gs_sort .

gs_sort \- spos = '1' .

gs_sort \- fieldname = 'CARRID' .

gs_sort \- subtot = 'X' . "<\------

gs_sort \- up = '' .

gs_sort \- down = 'X' .

APPEND gs_sort TO gt_sort .

"添加过滤

CLEAR gs_filter .

gs_filter \- fieldname = 'CARRID' .

gs_filter \- sign = 'E' .

gs_filter \- option = 'EQ' .

gs_filter \- low = 'JL' .

APPEND gs_filter TO gt_filter .

"字段目录

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'SPFLI'

CHANGING

ct_fieldcat = gt_fieldcat .

FIELD-SYMBOLS <fcat> LIKE gs_fieldcat .

LOOP AT gt_fieldcat ASSIGNING <fcat> .

CASE <fcat> \- fieldname .

WHEN 'DISTANCE' .

<fcat> \- do_sum = 'X' . "<\------

WHEN OTHERS .

ENDCASE . ENDLOOP .
CALL METHOD go_alv -> set_table_for_first_display

EXPORTING

is_layout = gs_layout

• i_structure_name = 'SPFLI'

CHANGING

it_outtab = gt_spfli

it_fieldcatalog = gt_fieldcat "<\------

it_sort = gt_sort

it_filter = gt_filter .

cl_abap_list_layout => suppress_toolbar ( ).

WRITE space .

3

AI解释

ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

仅供参考

ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

标题: ABAP OOALV演示程序解释

介绍:

这段ABAP代码是一个演示程序,用于创建一个ALV(ABAP List Viewer)报表,以展示来自数据库表 SPFLI

的飞行信息。我们将逐步解释每个部分的作用。

1\. 数据准备:

首先,我们定义了一个内表 ` gt_spfli ` ,用于存储我们从数据库表 SPFLI 中提取的数据。这个表将包含最多30行的飞行信息。

2\. ALV对象创建:

我们创建了一个ALV网格对象 ` go_alv ` ,这个对象负责在屏幕上显示我们的报表。我们还设置了一些显示布局的选项,比如启用斑马线和列宽优化。

3\. 数据提取:

通过 ` SELECT * FROM spfli INTO TABLE gt_spfli UP TO 30 ROWS `

语句,我们从数据库中提取了飞行信息,并将其存储在我们之前定义的内表中。

4\. 排序和过滤设置:

我们定义了排序条件,按照航空公司代码('CARRID'字段)进行升序排列,并在 'CARRID'

字段上显示小计。同时,我们设置了一个过滤条件,不显示航空公司代码为 'JL' 的数据。

5\. 字段目录设置:

我们使用函数模块 'LVC_FIELDCATALOG_MERGE' 自动生成了字段目录,这是用于描述我们要在报表中显示的字段及其属性的结构。

6\. 字段属性修改:

在字段目录中,我们检查每个字段,如果是 'DISTANCE' 字段,我们标记它需要在ALV报表中进行求和操作。

7\. ALV显示设置:

最后,我们通过调用 ` set_table_for_first_display `

方法,将数据、字段目录、排序和过滤条件传递给ALV对象,从而设置好报表的显示。

总结:

这段代码的目标是展示如何使用ABAP创建一个简单的ALV报表,以便清晰地展示和分析飞行信息。通过理解每个部分的作用,你将能够更好地理解和修改类似的ABAP代码。

ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

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

欢迎点赞、留言、分享

ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

往期推荐

[ ABAP SALV-合计、小计

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

[ ABAP SALV-演示程序 源码分享

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247494081&idx=1&sn=671c4de5734c7131744f47fd6abeab65&chksm=cf0a3d2ff87db43943c9a773f2572b79df043fae880909bed6178a5c2e5a308cf16f39f75aba&scene=21#wechat_redirect)

ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图
ABAPOOALV 合计小计 - 封面图

点个 在看 你最好看

ABAP猿

关于作者:ABAP猿

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

来源说明:本文内容由「ABAPOOALV合计小计.md」整理生成,仅用于内部技术分享与学习交流。