cl_salv_table-保存布局

2020-08-31 16:35发布

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

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


我正在使用cl_salv_table来显示ALV,但是我无法使用"保存布局"选项(在菜单路径或工具栏上)。 这不可能吗? 下面是我要显示的代码:

   调用方法cl_salv_table => factory
 *出口
 * list_display = IF_SALV_C_BOOL_SAP => FALSE
 * r_container =
 * container_name =
     输入
       r_salv_table = gr_table
     改变
       t_table = it_out。

 gr_functions = gr_table-> get_functions()。
   gr_functions-> set_all(abap_true)。

   gr_display = gr_table-> get_display_settings()。
   gr_display-> set_striped_pa​​ttern(cl_salv_display_settings => true)。
   gr_display-> set_list_header('现金收据日志')。

   gr_sorts = gr_table-> get_sorts()。
 *尝试。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='BUKRS'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='GKONT'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='XREF1'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='ZUONR'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='BUDAT'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => true
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。


   gr_columns = gr_table-> get_columns()。
   gr_column?= gr_columns-> get_column('GKONT')。
   gr_column-> set_long_text('Account Assignment Number')。
   gr_column-> set_medium_text('Account Assignment')。
   gr_column-> set_short_text('Account#')。


   gr_agg = gr_table-> get_aggregations()。
   gr_agg-> add_aggregation('WRBTR')。

 *显示
   gr_table-> display()。

此致

戴维斯

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

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


我正在使用cl_salv_table来显示ALV,但是我无法使用"保存布局"选项(在菜单路径或工具栏上)。 这不可能吗? 下面是我要显示的代码:

   调用方法cl_salv_table => factory
 *出口
 * list_display = IF_SALV_C_BOOL_SAP => FALSE
 * r_container =
 * container_name =
     输入
       r_salv_table = gr_table
     改变
       t_table = it_out。

 gr_functions = gr_table-> get_functions()。
   gr_functions-> set_all(abap_true)。

   gr_display = gr_table-> get_display_settings()。
   gr_display-> set_striped_pa​​ttern(cl_salv_display_settings => true)。
   gr_display-> set_list_header('现金收据日志')。

   gr_sorts = gr_table-> get_sorts()。
 *尝试。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='BUKRS'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='GKONT'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='XREF1'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='ZUONR'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => false
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。

   调用方法gr_sorts-> add_sort
   出口
     columnname ='BUDAT'
 *位置=
 *顺序= IF_SALV_C_SORT => SORT_UP
     小计= if_salv_c_bool_sap => true
 *组= IF_SALV_C_SORT => GROUP_NONE
 *必填= IF_SALV_C_BOOL_SAP => FALSE
 *    接收
 *值=
     。


   gr_columns = gr_table-> get_columns()。
   gr_column?= gr_columns-> get_column('GKONT')。
   gr_column-> set_long_text('Account Assignment Number')。
   gr_column-> set_medium_text('Account Assignment')。
   gr_column-> set_short_text('Account#')。


   gr_agg = gr_table-> get_aggregations()。
   gr_agg-> add_aggregation('WRBTR')。

 *显示
   gr_table-> display()。

此致

戴维斯

付费偷看设置
发送
4条回答
jovirus
1楼 · 2020-08-31 17:22.采纳回答

如果我想允许用户指定一个变体,我该怎么做。 现在,我正在使用f4_layouts方法,并传递了变体。

参数:p_layout TYPE不变变量。

 * -------------------------------------------------  --------------------- *
 *在价值要求的选择屏幕上*
 * -------------------------------------------------  --------------------- *
 在p_layout值请求的选择屏幕上。
   使用cl_salv_layout => restrict_none更改p_layout来执行f4_layouts。


 *&------------------------------------------------  --------------------- *
 *&表格F4_LAYOUTS
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> P_IF_SALV_C_LAYOUT => RESTRICT_NON文本
 * <-P_P_LAYOUT文字
 * -------------------------------------------------  --------------------- *
 FORM f4_layouts使用i_restrict TYPE salv_de_layout_restriction
 更改c_layout TYPE不变变量。

   数据:ls_layout TYPE salv_s_layout_info,
         ls_key TYPE salv_s_layout_key。

   ls_key-report = sy-repid。

   ls_layout = cl_salv_layout_service => f4_layouts(
   s_key = ls_key
   限制= i_restrict)。

   c_layout = ls_layout-layout。

 ENDFORM。  " F4_LAYOUTS 

允许用户按F4键,但布局不会转移到ALV。 我包含了Rich发布的代码,现在可以保存了。

此致

Davis

风早神人
2楼-- · 2020-08-31 17:30

谢谢。 我正在阅读文档,听起来好像覆盖了所有用户定义的布局。

关于此,

Davis

Bunny_CDM
3楼-- · 2020-08-31 17:29

使用以下代码启用保存布局功能。

数据:gr_layout类型参考cl_salv_layout。
 数据:密钥类型salv_s_layout_key。

 gr_layout = gr_table-> get_layout()。
 键报告= sy-repid。
 gr_layout-> set_key(key)。
 *您可以将跟踪值传递给SET_SAVE_RESTRICTION方法。
 * RESTRICT_NONE
 * RESTRICT_USER_DEPENDANT
 * RESTRICT_USER_INDEPENDANT
 gr_layout-> set_save_restriction(if_salv_c_layout => restrict_none)。

此外,您可能希望参考一下。

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/eac1fa0b-0e01-0010-0990-8530de4908a6

此致

Rich Heilman

微wx笑
4楼-- · 2020-08-31 17:22

nubility :)谢谢

一周热门 更多>