【ABAP】ALV报表set_table_for_first_display方法参数i_save

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

 【ABAP】ALV报表set_table_for_first_display方法参数i_save_第1张图片

这和我们介绍的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,均不可编辑。

I_SAVE参数选项
功能
X 只能设置全局布局
U 只限特定用户的布局
A 同时包含X和U
SPACE 不保存布局

你可能感兴趣的:(ABAP,abap)