PF状态在函数调用和工厂方法中的行为不同

2020-09-26 13:47发布

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

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


当我使用pf状态bu功能调用alv的send to选项时,我复制了一个标准pf状态,并且我也获得了所有功能键,但是当我使用samr pf状态离子alv工厂方法时 它仅显示一些功能键并从菜单栏发送到选项也变灰。 请提供解决方案

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

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


当我使用pf状态bu功能调用alv的send to选项时,我复制了一个标准pf状态,并且我也获得了所有功能键,但是当我使用samr pf状态离子alv工厂方法时 它仅显示一些功能键并从菜单栏发送到选项也变灰。 请提供解决方案

付费偷看设置
发送
4条回答
追夢秋陽
1楼 · 2020-09-26 13:58.采纳回答

从技术上讲,REUSE_ALV_GRID_DISPLAY和SALV的标准GUI状态看起来相同,但在技术上有所区别(分别来自程序SAPLKKBL,另一个来自SAPLSLVC_FULLSCREEN),因此您最好从SALV复制一个并添加自己的状态 自定义按钮,而不使用您从SAPLKKBL复制的按钮。

但是,请问,您最初复制了哪种标准GUI状态(STANDARD,STANDARD_FULLSCREEN等),以及使用REUSE_ALV_GRID_DISPLAY启用了哪些键/菜单,并使用SALV禁用了它们/将其灰显了?

d56caomao
2楼-- · 2020-09-26 14:05

我根据SALV_TEST_TABLE_FUNCTIONS程序进行了测试。 没问题(在7.31系统上测试)。 确保已激活所有内容。 确保没有针对这种症状的纠正性SAP注释。

悠然的二货
3楼-- · 2020-09-26 14:02

尝试以下代码

 go_salv-> get_functions()-> set_all()。
ZJXianG
4楼-- · 2020-09-26 14:03
对我有用:

具有从SAPLKKBL的GUI状态STANDARD复制的PF_STATUS,以及此完整的可执行代码:

报告。
 数据gt_final sflight类型表。
 CLASS lcl_app定义。
   公共部分。
     CLASS-METHODS display_data。
 ENDCLASS。
 类别lcl_app实施。
   方法display_data。
     " cl_salv_table的对象参考
     数据:lr_alv类型参考cl_salv_table,
     lv_repid TYPE sy-repid,
     gr_functions类型参考cl_salv_functions,
     "列和列的对象引用
     l_cols_tab类型参考cl_salv_columns_table,
     l_col_tab类型参考cl_salv_column_table。
     常量:lc_pf_status TYPE sypfkey值'STANDARD_PF1'。
     lv_repid = sy-repid。

     " alv grid fm,传递您的内部表
     尝试。
         呼叫方法cl_salv_table =>工厂
           输入
             r_salv_table = lr_alv
           改变
             t_table = gt_final。
       捕捉cx_salv_msg。
     ENDTRY。
     lr_alv-> get_functions()-> set_all()。

     尝试。
       呼叫方法lr_alv-> set_screen_status
         出口
           报告= sy-repid
           pfstatus ='PF_STATUS'
           set_functions = lr_alv-> c_functions_all。
     ENDTRY。

     "表的字段目录
     呼叫方法lr_alv-> get_columns
       接收
         值= l_cols_tab。
     尝试。
         l_col_tab?= l_cols_tab-> get_column('CARRID')。
         呼叫方法l_col_tab-> set_short_text
           出口
             值='gc_vblen_s'。
         呼叫方法l_col_tab-> set_long_text
           出口
             值='gc_vblen_l'。
         呼叫方法l_col_tab-> set_output_length
           出口
             值= 30。
       捕捉cx_salv_not_found。
     ENDTRY。
     " lr_alv的呼叫显示方法
     lr_alv-> display()。
   终结法。
 ENDCLASS。
 选择开始。
   执行主要。
 表格主要。
   SELECT * FROM sflight进入表gt_final。
   lcl_app => display_data()。
 ENDFORM。
 

一周热门 更多>