使用CL_SALV_TABLE的具有工具栏功能的多个ALV

2020-09-22 03:03发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在使用分离器容器显示两个ALV。 对于第一个ALV,我将获得ALV工具栏。 但是对于第二个ALV,不会显示工具栏。 下面是我正在使用CL_SALV_TABLE的代码。 任何人都有使用工厂方法的两个alv的示例代码,请帮助我。

开始选择。
go_object-> get_data()。
go_object-> fill_output()。
呼叫屏幕100。
*&--------- -------------------------------------------------- ---------- *
*&方法STATUS_0100输出*
*&------------------------- -------------------------------------------- *
MODULE status_0100 输出。
设置PF状态为"状态"。
设置标题栏为"标题"。
调用方法go_object-> display_output()。
ENDMODULE。

方法显示输出。

display_alv(导出
container_name ='CONTAINER1'
更改im_grid = lo_grid1
i_data = t_mara)。

display_alv(EXPORTING
container_name ='CONTAINER1'
更改 im_grid = lo_grid2
i_data = t_marc)。

ENDMETHOD。

METHOD display_alv。

尝试。
调用方法cl_salv_table =>工厂
导出
r_container = im_grid
导入
r_salv_table = lo_alv
更改
t_table = i_data。
捕获cx_salv_msg INTO l_result。
go_object-> exception_msg(导出l_result = l_result)。
ENDTRY。

lo_columns = lo_alv-> get_columns()。

lr_column = lo_columns-> get_column(c_matnr)。
lr_column-> set_output_length(10)。

lr_column = lo_columns-> get_column(c_mtart)。
lr_column-> set_output_length(10)。

lr_column = lo_columns-> get_column(c_werks)。
lr_column-> set_output_length(10)。

lr_column = lo_columns-> get_column(c_ekgrp)。
lr_column-> set_output_length(10)。

*-显示ALV
lo_alv-> display()。

ENDMETHOD。

谢谢

HT

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在使用分离器容器显示两个ALV。 对于第一个ALV,我将获得ALV工具栏。 但是对于第二个ALV,不会显示工具栏。 下面是我正在使用CL_SALV_TABLE的代码。 任何人都有使用工厂方法的两个alv的示例代码,请帮助我。

开始选择。
go_object-> get_data()。
go_object-> fill_output()。
呼叫屏幕100。
*&--------- -------------------------------------------------- ---------- *
*&方法STATUS_0100输出*
*&------------------------- -------------------------------------------- *
MODULE status_0100 输出。
设置PF状态为"状态"。
设置标题栏为"标题"。
调用方法go_object-> display_output()。
ENDMODULE。

方法显示输出。

display_alv(导出
container_name ='CONTAINER1'
更改im_grid = lo_grid1
i_data = t_mara)。

display_alv(EXPORTING
container_name ='CONTAINER1'
更改 im_grid = lo_grid2
i_data = t_marc)。

ENDMETHOD。

METHOD display_alv。

尝试。
调用方法cl_salv_table =>工厂
导出
r_container = im_grid
导入
r_salv_table = lo_alv
更改
t_table = i_data。
捕获cx_salv_msg INTO l_result。
go_object-> exception_msg(导出l_result = l_result)。
ENDTRY。

lo_columns = lo_alv-> get_columns()。

lr_column = lo_columns-> get_column(c_matnr)。
lr_column-> set_output_length(10)。

lr_column = lo_columns-> get_column(c_mtart)。
lr_column-> set_output_length(10)。

lr_column = lo_columns-> get_column(c_werks)。
lr_column-> set_output_length(10)。

lr_column = lo_columns-> get_column(c_ekgrp)。
lr_column-> set_output_length(10)。

*-显示ALV
lo_alv-> display()。

ENDMETHOD。

谢谢

HT

付费偷看设置
发送
4条回答
Cikesha
1楼 · 2020-09-22 03:39.采纳回答

大家好,

感谢您的输入。

在使用工厂方法之后,我调用了
调用方法set_pf_status
更改了ch_salv = lo_alv。

现在我可以看到"主"工具栏和两个ALV的工具栏。


问题已解决。

谢谢

巴拉什

bbpeas
2楼-- · 2020-09-22 04:03

请使用代码格式,这样更易​​于阅读。

四川大学会员
3楼-- · 2020-09-22 03:42

在显示第二个ALV之前,请尝试清除引用。 它实际上是覆盖。

悻福寶寶
4楼-- · 2020-09-22 04:03

我建议使用两个不同的salv对象。

一周热门 更多>