SAP中的报表变式设置参数(I_SAVE)

原文链接:SAP ALV报表开发中的变式设置参数SAP ALV报表开发中的变式设置参数https://mp.weixin.qq.com/s/gyg_-NGB2H9h7TAPSa70RQ

大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。

愿大家的学习,轻松且愉快。

如果大家觉得有用,希望转发关注,谢谢

下图是免费的知识星球,欢迎大家一起讨论分享。

图片

 

导读

本篇分享SAP ALV report开发中一个容易忽略,却比较实用的参数设置 I_SAVE。

正文

我们在实用报表时,在一定情况下需要存储自己的专属变式,方便自己之后对报表的使用。可是,有时候存储报表变式时,User-specific 却不能编,如下图所示。

这和我们介绍的I_SAVE参数有关系。

我们在开发ALV报表时,有参数I_SAVE,如下代码样例所示,程序会根据I_SAVE值的不同,去设定User-specific 和 Default Setting是否可编辑。

CALL METHOD g_grid->set_table_for_first_display

  EXPORTING

    "is_layout = gs_layout

    is_variant = gs_variant

    i_save = 'A' "possible values U,X,A,' ' or space

  CHANGING

    "it_sort = gt_sort " for SubTotals

    it_fieldcatalog = gt_fieldcatalog

    it_outtab = gt_outtab. "

当 I_SAVE = U时,意味着,只允许用户存储针对个人的默认变式;

即,如下图,User-Specific 是勾上的,且不可编辑,而default setting却可编辑;

当用户存储变式时,勾选上default setting,系统也仅会针对此用户,将所存储的变式,设为默认变式。

当I_SAVE = X时,意味着,只允许用户存储针对所有人的默认变式;

即,User-specific 是不被勾选,且不可编辑,而default setting可编辑;

当用户在存储变式时,勾选default setting,系统将针对所有人,将所存储的变式设为默认变式。

当I_SAVE = A 时,意味着,用户可以设置个人默认变式或者所有人默认变式;

即,User-specific 和 Default setting,均可编辑;

用户可以根据自己的要求,设置个人变式或者针对所有人的变式;

当 I_SAVE = 空 时,意味着,用户不能设置个人默认变式,也不能设置所有人的默认变式;

即,User-specific 和 Default setting,均不可编辑。

参考资料如下:

U: An i_save parameter value "U" means that the user can only save user-specific layouts.

X: An i_save parameter value "X" means that the users are enabled to save only global layouts. So other users can also use these global layouts too.

A: An i_save parameter value "A" means that the SAP user can save both user specific and global layouts.

Space: An empty or space i_save parameter value which is default for i_save means users cannot save own layouts either global or user specific layout.

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP是一种SAP系统的编程语言,SAP DOI(Document Object Infrastructure)是SAP系统的一个组件,用于处理文档对象。其,I_OI_SPREADSHEET接口可用于读取和写入Excel电子表格数据。 以下是使用I_OI_SPREADSHEET接口读取Excel数据的简单示例: ``` DATA: lr_spreadsheet TYPE REF TO i_oi_spreadsheet, lr_worksheet TYPE REF TO i_oi_spreadsheet_worksheet, lr_cell TYPE REF TO i_oi_spreadsheet_cell, lv_value TYPE string. * 创建电子表格对象 CREATE OBJECT lr_spreadsheet TYPE cl_oi_spreadsheet. * 打开Excel文件 lr_spreadsheet->open_file( 'C:\data\example.xlsx' ). * 获取第一个工作表 lr_worksheet = lr_spreadsheet->get_worksheet( 1 ). * 逐个读取单元格数据 DO 10 TIMES. lr_cell = lr_worksheet->get_cell( sy-index, 1 ). IF lr_cell IS BOUND. lv_value = lr_cell->get_value( ). WRITE: / lv_value. ENDIF. ENDDO. ``` 以上代码会逐行读取Excel文件的第一个工作表的第一列数据,并输出到屏幕上。 如果希望写入Excel数据,可以使用类似以下的代码: ``` DATA: lr_spreadsheet TYPE REF TO i_oi_spreadsheet, lr_worksheet TYPE REF TO i_oi_spreadsheet_worksheet, lr_cell TYPE REF TO i_oi_spreadsheet_cell. * 创建电子表格对象 CREATE OBJECT lr_spreadsheet TYPE cl_oi_spreadsheet. * 打开Excel文件 lr_spreadsheet->open_file( 'C:\data\example.xlsx' ). * 获取第一个工作表 lr_worksheet = lr_spreadsheet->get_worksheet( 1 ). * 写入数据到单元格 lr_cell = lr_worksheet->get_cell( 1, 1 ). IF lr_cell IS BOUND. lr_cell->set_value( 'Hello World!' ). ENDIF. * 保存Excel文件 lr_spreadsheet->save( ). ``` 以上代码会将字符串“Hello World!”写入Excel文件的第一个工作表的第一个单元格,并保存文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值