1.怎么设置报表权限
具体参考-https://blog.csdn.net/qq_55488207/article/details/118110075
2.怎么设置GUI是否隐藏,踩坑点:设置GUI检查一定要在PF_STATUS里面做设置而不是在外边设置,这样是无法生效的
FORM pf_status_set USING rt_extab TYPE slis_t_extab.
"权限检查--2024年6月13日
AUTHORITY-CHECK OBJECT 'ZINFO_AUTH'
ID 'ZINFO_AUTH' FIELD '01'.
IF sy-subrc = 0.
gv_print = 'X'.
ENDIF.
" 无打印权限时隐藏打印按钮
IF gv_print IS INITIAL.
APPEND '©_INFO' TO lt_exfcode.
ENDIF.
SET PF-STATUS '0100' EXCLUDING lt_exfcode..
* SET PF-STATUS '0100' .
ENDFORM.
详细参考–https://blog.csdn.net/qq_44826887/article/details/117419498
这一段代码主要是权限检查的
这一段代码则是设置GUI是否显示的
3.怎么读取所在光标行呢?
3.1在内表增加一个标识字段
3.2在GS_LAYOUT设置属性
3.3使用REUSE_ALV_GRID_DISPLAY_LVC这个函数来展示
3.4通过循环即可把全部的光标选中行读取到
4.调本地的BAPI
5.如何刷新更新后的数据呢?这一段代码就是执行刷新更新后的结果的代码
FORM frm_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: lo_guid TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lo_guid.
CALL METHOD lo_guid->check_changed_data.
CALL METHOD lo_guid->refresh_table_display.