我们在使用报表时,在一定情况下需要存储自己的专属变式,方便自己之后对报表的使用。可是,有时候存储报表变式时,特定于用户(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,均不可编辑。
值 | 功能 |
X | 只能设置全局布局 |
U | 只限特定用户的布局 |
A | 同时包含X和U |
SPACE | 不保存布局 |