将按钮添加到全屏ALV(cl_salv_table)

2020-08-25 21:41发布

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

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


专家您好,

我使用" cl_salv_table"创建ALV网格。

当我在容器中显示ALV时,我会添加如下按钮:

* ...§3.2通过设置自己的状态来包含自己的功能

尝试。

l_text = text-b01。

lr_functions-> add_function(

名称='GET_SEL'

图标=空格

文字= l_text

工具提示= l_text

position = if_salv_c_function_position => right_of_salv_functions)。

捕获cx_salv_wrong_call cx_salv_existing。

努力。

但是当我将ALV显示为全屏网格时,则以上内容无法添加按钮。

然后,我必须通过这样的gui状态:

* ...§3函数

* ...§3.1激活ALV通用功能

* ...§3.2通过设置自己的状态来包含自己的功能

gr_table-> set_screen_status(

pfstatus ='SALV_STANDARD'

报告= gs_test-repid

set_functions = gr_table-> c_functions_all)。

但是这样做会覆盖我的默认按钮,如下所示:

* ...§3.1激活ALV通用功能

lr_functions = gr_table-> get_functions()。

lr_functions-> set_all(gc_true)。

是否可以像将按钮添加到容器网格ALV一样,将按钮添加到我的全屏网格? 我宁愿不要以GUI状态执行此操作...

提前谢谢!

此致

肯尼思

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

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


专家您好,

我使用" cl_salv_table"创建ALV网格。

当我在容器中显示ALV时,我会添加如下按钮:

* ...§3.2通过设置自己的状态来包含自己的功能

尝试。

l_text = text-b01。

lr_functions-> add_function(

名称='GET_SEL'

图标=空格

文字= l_text

工具提示= l_text

position = if_salv_c_function_position => right_of_salv_functions)。

捕获cx_salv_wrong_call cx_salv_existing。

努力。

但是当我将ALV显示为全屏网格时,则以上内容无法添加按钮。

然后,我必须通过这样的gui状态:

* ...§3函数

* ...§3.1激活ALV通用功能

* ...§3.2通过设置自己的状态来包含自己的功能

gr_table-> set_screen_status(

pfstatus ='SALV_STANDARD'

报告= gs_test-repid

set_functions = gr_table-> c_functions_all)。

但是这样做会覆盖我的默认按钮,如下所示:

* ...§3.1激活ALV通用功能

lr_functions = gr_table-> get_functions()。

lr_functions-> set_all(gc_true)。

是否可以像将按钮添加到容器网格ALV一样,将按钮添加到我的全屏网格? 我宁愿不要以GUI状态执行此操作...

提前谢谢!

此致

肯尼思

付费偷看设置
发送
5条回答
Cikesha
1楼 · 2020-08-25 22:26.采纳回答

感谢双方,这就是我所期望的...我想我会再做一个屏幕和一个容器。 不幸的是,这意味着我的名单未显示。

在全屏网格中,我使用它来显示页面顶部:

gr_table-> set_top_of_list(lr_content)。

如何在容器中显示列表顶部? 看来它不会自动显示。

欢呼

宇峰Kouji
2楼-- · 2020-08-25 22:00

是的,肯尼斯,您是对的。 方法文档明确指出

设置标题显示对象(在线)

您可以定义要在输出表上方的区域中显示的文本和图形元素

  • 注意:在ALV可以控制整个dynpro的那些显示类型中,您仅影响ALV输出上方和下方的区域。 如果是容器显示(简单,二维列表,树结构),则无法使用ALV对象模型来更改此区域。

这适用于在线显示,使用SET_TOP_OF_LIST创建的标题数据将在打印版式(假脱机)中可见。 另一种方法是实施拆分器控制,其中一部分用于页面顶部显示,另一部分用于网格显示数据。

致敬Vinod

消息的编辑者:Vinod Kumar

DafaDDDa
3楼-- · 2020-08-25 22:22

CL_SALV_FUNCTIONS_LIST-> ADD_FUNCTION不能用于"全屏网格和列表"。 如您在帖子中提到的,您可能必须使用CL_SALV_TABLE-> SET_SCREEN_STATUS添加自定义按钮。

请参阅方法CL_SALV_FUNCTIONS-> ENABLE_FUNCTION的行号10-21,该方法从的ADD_FUNCTION方法调用 同班。 如果显示对象类型不是3(容器中的网格)或5(树),则引发异常" CX_SALV_METHOD_NOT_SUPPORTED" 。

关于此,Vinod

PS:SAP文档参考- SAP库-SAP列表查看器(ALV)

消息的编辑者:Vinod Kumar

SKY徐
4楼-- · 2020-08-25 22:19

谢谢。 这行得通。

BR,法妮

spaceman01
5楼-- · 2020-08-25 22:19

嗨肯尼思,

要在全屏模式下导航,您需要使用GUI状态。

获取所有标准功能。 转到FunctionGroup SALV_METADATA_STATUS并将GUI状态SALV_TABLE_STANDARD复制到您的程序。

将所需的功能添加到复制的GUI状态中。

在上面的代码中使用复制的GUI状态,您将拥有默认功能以及添加的功能。

关于亨德里克

一周热门 更多>