不使用Screen的ALV GRID。

2020-08-21 08:35发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 大家好, 我已经开发了一份...

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

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



大家好,

我已经开发了一份报告,其中我正在使用ALV OOPS概念来分散报告

数据。

我正在使用以下代码:

调用全局类的方法如下:

方法:

创建对象o_alv
导出
i_appl_events ='X'
i_parent = v_custom_container。



如果i_fieldcat不初始。

v_variant = sy-repid。

调用方法o_alv-> set_table_for_first_display
*导出
* is_layout = v_layout
* i_default ='X'
* i_save ='U'
* is_variant = v_variant
更改
it_outtab = i_inventory []
it_fieldcatalog = i_fieldcat []
例外
invalid_parameter_combination = 1
程序错误= 2
too_many_lines = 3
其他= 4。

I_inventory []和i_fieldcat []包含数据,但未显示网格。我不希望报表中有任何屏幕。

谢谢

Arpita

6条回答
空代码
2020-08-21 09:08

亲爱的Arpita,

有一个叫做SALV的概念!

*&--------------------------------------------- ------------------------ *

*&此代码段将显示如何使用CL_SALV_TABLE来

*&生成ALV

*&--------------------------------------------- ------------------------ *

报告ztest_oo_alv_main。

*

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

* CLASS lcl_report定义

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

CLASS lcl_report定义。

*

公共部分。

*

*最终输出表

类型:ty_vbak的开始,

vbeln TYPE vbak-vbeln,

erdat TYPE erdat,

auart TYPE auart,

kunnr TYPE kunnr,

ty_vbak结束。

*

数据:ty_vbak的t_vbak类型标准表。

*

* ALV参考

数据:o_alv类型参考cl_salv_table。

*

方法:

*数据选择

get_data,

*

*生成输出

generate_output。

*

* $ * $ * ..... CODE_ADD_1-开始................................. 1 .. * $ * $ *

*

*在本节中,我们将定义可以使用的私有方法

*用于设置ALV的属性,并且可以

中调用的

*

*

* $ * $ * ..... CODE_ADD_1-结束................................. ..1 .. * $ * $ *

*

ENDCLASS。 " lcl_report定义

*

*

开始选择。

数据:lo_report类型参考为lcl_report。

*

创建对象lo_report。

*

lo_report-> get_data()。

*

lo_report-> generate_output()。

*

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

* CLASS lcl_report实施

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

CLASS lcl_report实施。

*

方法get_data。

*数据选择

选择vbeln erdat auart kunnr

插入表t_vbak

来自vbak

最多20行。

*

终结法。 " get_data

*

* .............................................. .........................

方法generate_output。

*新的ALV实例

*我们正在调用静态的Factory方法,该方法将返回

* ALV对象引用。

*

*异常类

数据:lx_msg类型参考cx_salv_msg。

尝试。

cl_salv_table =>工厂(

导入

r_salv_table = o_alv

改变

t_table = t_vbak)。

捕获cx_salv_msg INTO lx_msg。

ENDTRY。

*

* $ * $ * ..... CODE_ADD_2-开始................................. 2 .. * $ * $ *

*

*在此区域中,我们将调用设置

的方法

*与ALV不同的属性

*

* $ * $ * ..... CODE_ADD_2-结束.................................. ..2 .. * $ * $ *

*

*

*显示ALV

*在这里,我们将调用DISPLAY方法以在屏幕上获取输出

o_alv-> display()。

*

终结法。 " generate_output

*

* $ * $ * ..... CODE_ADD_3-开始................................. 3 .. * $ * $ *

*

*在这一领域,我们将实现

中定义的方法

*类定义

*

* $ * $ * ..... CODE_ADD_3-结束................................. ..3 .. * $ * $ *

*

*

ENDCLASS。 " lcl_report IMPLEMENTATION

请复制上面的代码并进行调试,然后您就会知道! 希望能帮助到你!

此致

Dhruvin

一周热门 更多>