OO ALV的标准工具栏按钮的编码?

2020-08-22 11:01发布

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

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


你好

我正在使用功能模块" REUSE_ALV_GRID_DISPLAY"在我的报告中显示输出。 但是,与标准gui状态" REUSE_ALV_GRID_DISPLAY"中的"导出"按钮的功能相比,OO方法" cl_gui_alv_grid => set_table_for_first_display"的标准工具栏中使用的"导出"按钮的功能更适合我的需求。 在哪里可以找到标准工具栏按钮功能的编码,以便可以将其粘贴到GUI状态中? 该特定类或方法的编码中的某个地方?

非常感谢!

Garrett

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

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


你好

我正在使用功能模块" REUSE_ALV_GRID_DISPLAY"在我的报告中显示输出。 但是,与标准gui状态" REUSE_ALV_GRID_DISPLAY"中的"导出"按钮的功能相比,OO方法" cl_gui_alv_grid => set_table_for_first_display"的标准工具栏中使用的"导出"按钮的功能更适合我的需求。 在哪里可以找到标准工具栏按钮功能的编码,以便可以将其粘贴到GUI状态中? 该特定类或方法的编码中的某个地方?

非常感谢!

Garrett

付费偷看设置
发送
3条回答
ZJXianG
1楼-- · 2020-08-22 11:49

更好地将报表转换为使用OO类。

尽管如此,您(阿拉斯)不需要这样做,因为您可以找到隐藏在旧的和过时的OO类实例。 使用诸如GET_GLOBALS_FROM_SLVC_FULLSCR之类的FM重用FM,因此您可以为老式FM USER_COMMAND表单调用OO方法...

ZJXianG
2楼-- · 2020-08-22 11:49

对于OO类,通常 -thumb,我认为SAP建议使用更多CL_SALV_TABLE,这是CL_GUI_ALV_GRID的包装,因为CL_SALV_TABLE仅提供了官方支持的CL_GUI_ALV_GRID功能。

如果要保留REUSE_ALV_GRID_DISPLAY,我认为是 很难做到这一点。 相反,如果仅希望功能"导出到XLSX",则对它进行专门编码会更容易。

亦是此间程序员
3楼-- · 2020-08-22 11:45
用于生成标准工具栏的代码。

嘿,

首先,在类定义的私有部分(您的偏好)中创建一个方法。

我已使用cl_salv_table生成ALV。 代码如下:

 CLASS lcl_class定义。

   公共部分。

     TYPES:开始于ty_type1,
               TYPE A,
               b类型b,
               c类型c
               d类型d,
               e TYPE e,
               f TYPE f,
             ty_type1的结尾。

     数据:o_alv类型参考cl_salv_table,
            lt_type1 ty_type1的类型标准表

     方法get_data。

     方法generate_output。

   专用部分。

     方法set_pf_status
       将co_alv类型参考更改为cl_salv_table。

 ENDCLASS。

 CLASS lcl_class实施。
 *此方法称为generate_output是显示ALV的方法。

 方法generate_output。
     数据:lc_msg类型参考cx_salv_msg,
            列类型参考至cl_salv_columns_table,
            TYPE REF TO cl_salv_column列,
            not_found类型参考cx_salv_not_found。
     尝试。
         呼叫方法cl_salv_table =>工厂
           输入
             r_salv_table = o_alv
           改变
             t_table = lt_type1。

         列= o_alv-> get_columns()。
         列-> set_optimize('X')。
         尝试。
             column =列-> get_column('MANDT')。
             column-> set_long_text('Client')## NO_TEXT。
             column-> set_medium_text('Client')## NO_TEXT。
             column-> set_short_text('Client')## NO_TEXT。
           捕获cx_salv_not_found INTO not_found。
         ENDTRY。

       捕捉cx_salv_msg INTO lc_msg。
     ENDTRY。

     呼叫方法set_pf_status
       改变
         co_alv = o_alv。

     o_alv-> display()。

   终结法。

 *此方法是在输出ALV中设置标准工具栏。

 方法set_pf_status。


 数据:lo_functions类型参考cl_salv_functions。

 lo_functions = co_alv-> get_functions()。

 lo_functions-> set_all(abap_true)。

 ENDMETHOD。

一周热门 更多>