如何在ooalv中删除/修改变体

2020-09-23 00:11发布

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

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


嗨,我想允许用户使用goto> variant> delete删除其变体。但是这些选项是灰色的。


我的工具栏是这样的,但是只有第二个工具栏可以工作,为什么?

在此处创建变量:



感谢您的帮助。

我使用这些表格来制作变体作品:

 *** --------------------------------------------  ---------------------- ***
 ***表格SUB_VARIANT_INIT ***
 *** ---------------------------------------------------  ------------------- ***
 ***显示默认变种***
 *** ---------------------------------------------------  ------------------- ***
 表格SUB_VARIANT_INIT。
 I_VARIANT1-REPORT = SY-REPID。
 *搜索报告的默认变体
  通话功能'REUSE_ALV_VARIANT_DEFAULT_GET'
  出口
  i_save ='A'
  改变
  cs_variant = i_variant1
  例外情况
  not_found = 2。
 *如果找到默认变体,则将其用作默认变体。
 *否则,使用变量LAYOUT1。
  如果sy-subrc = 0。
  p_var = i_variant1-variant。
  其他。
  p_var =''。
  万一。
 最终形式。  " SUB_VARIANT_INIT

 *** ---------------------------------------------------  ------------------- ***
 ***表格SUB_CHECK_PVAR ***
 *** ---------------------------------------------------  ------------------- ***
 ***用户输入变体后,检查其存在性***
 *** ---------------------------------------------------  ------------------- ***
 表格SUB_CHECK_PVAR。
 *如果变量名称不为空,请检查其是否存在
 如果不是p_var是初始的。
  清除i_variant。
  i_variant-report = sy-repid。
  i_variant-variant = p_var。
  通话功能" REUSE_ALV_VARIANT_EXISTENCE"
  出口
  I_SAVE ='A'
  改变
  CS_VARIANT = I_VARIANT。
 *如果未找到此类变体,则会显示错误消息
  如果sy-subrc ne 0。
  消息e398(00)带有"不存在此类变体"。
  其他。
 *如果存在变体,请使用变体名称填充结构
 * I_VARIANT1将用于导出参数:IS_VARIANT
 *在功能模块中:REUSE_ALV_GRID_DISPLAY
  清除i_variant1。
  将p_var移至i_variant1-variant。
  将sy-repid移至i_variant1-report。
  万一。
  其他。
  清除i_variant。
  万一。
 ENDFORM。  " SUB_CHECK_PVAR

 *** ---------------------------------------------------  ------------------- ***
 ***表格SUB_VARIANT_F4 ***
 *** ---------------------------------------------------  ------------------- ***
 ***当用户***显示报告的各种变体列表
 ***在变体字段中按F4键***
 *** ---------------------------------------------------  ------------------- ***
 表格SUB_VARIANT_F4。
 i_variant-report = sy-repid。
 *使用报告的名称,此功能模块将搜索变体列表并获取所选的变体
 *进入变量的参数字段
 通话功能'REUSE_ALV_VARIANT_F4'
  出口
  IS_VARIANT = I_VARIANT
  I_SAVE ='A'
  I_DISPLAY_VIA_GRID ='X'
  输入
  ES_VARIANT = I_VARIANT1
  例外情况
  NOT_FOUND = 1
  PROGRAM_ERROR = 2
  其他= 3。
  如果SY-SUBRC = 0。
  P_VAR = I_VARIANT1-VARIANT。
  万一。
 ENDFORM。  " SUB_VARIANT_F4 

(11.4 kB)

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

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


嗨,我想允许用户使用goto> variant> delete删除其变体。但是这些选项是灰色的。


我的工具栏是这样的,但是只有第二个工具栏可以工作,为什么?

在此处创建变量:



感谢您的帮助。

我使用这些表格来制作变体作品:

 *** --------------------------------------------  ---------------------- ***
 ***表格SUB_VARIANT_INIT ***
 *** ---------------------------------------------------  ------------------- ***
 ***显示默认变种***
 *** ---------------------------------------------------  ------------------- ***
 表格SUB_VARIANT_INIT。
 I_VARIANT1-REPORT = SY-REPID。
 *搜索报告的默认变体
  通话功能'REUSE_ALV_VARIANT_DEFAULT_GET'
  出口
  i_save ='A'
  改变
  cs_variant = i_variant1
  例外情况
  not_found = 2。
 *如果找到默认变体,则将其用作默认变体。
 *否则,使用变量LAYOUT1。
  如果sy-subrc = 0。
  p_var = i_variant1-variant。
  其他。
  p_var =''。
  万一。
 最终形式。  " SUB_VARIANT_INIT

 *** ---------------------------------------------------  ------------------- ***
 ***表格SUB_CHECK_PVAR ***
 *** ---------------------------------------------------  ------------------- ***
 ***用户输入变体后,检查其存在性***
 *** ---------------------------------------------------  ------------------- ***
 表格SUB_CHECK_PVAR。
 *如果变量名称不为空,请检查其是否存在
 如果不是p_var是初始的。
  清除i_variant。
  i_variant-report = sy-repid。
  i_variant-variant = p_var。
  通话功能" REUSE_ALV_VARIANT_EXISTENCE"
  出口
  I_SAVE ='A'
  改变
  CS_VARIANT = I_VARIANT。
 *如果未找到此类变体,则会显示错误消息
  如果sy-subrc ne 0。
  消息e398(00)带有"不存在此类变体"。
  其他。
 *如果存在变体,请使用变体名称填充结构
 * I_VARIANT1将用于导出参数:IS_VARIANT
 *在功能模块中:REUSE_ALV_GRID_DISPLAY
  清除i_variant1。
  将p_var移至i_variant1-variant。
  将sy-repid移至i_variant1-report。
  万一。
  其他。
  清除i_variant。
  万一。
 ENDFORM。  " SUB_CHECK_PVAR

 *** ---------------------------------------------------  ------------------- ***
 ***表格SUB_VARIANT_F4 ***
 *** ---------------------------------------------------  ------------------- ***
 ***当用户***显示报告的各种变体列表
 ***在变体字段中按F4键***
 *** ---------------------------------------------------  ------------------- ***
 表格SUB_VARIANT_F4。
 i_variant-report = sy-repid。
 *使用报告的名称,此功能模块将搜索变体列表并获取所选的变体
 *进入变量的参数字段
 通话功能'REUSE_ALV_VARIANT_F4'
  出口
  IS_VARIANT = I_VARIANT
  I_SAVE ='A'
  I_DISPLAY_VIA_GRID ='X'
  输入
  ES_VARIANT = I_VARIANT1
  例外情况
  NOT_FOUND = 1
  PROGRAM_ERROR = 2
  其他= 3。
  如果SY-SUBRC = 0。
  P_VAR = I_VARIANT1-VARIANT。
  万一。
 ENDFORM。  " SUB_VARIANT_F4 

(11.4 kB)
付费偷看设置
发送
3条回答
SAP小菜
1楼 · 2020-09-23 00:55.采纳回答

只是黑暗中的镜头:如果您使用的是REUSE_ALV_GRID_DISPLAY,则有一个参数I_SAVE,它确定用户如何管理变体(FM中的文档)。 我不知道要删除这些变体的特殊授权。 但是,如果存在,则可以通过简单的授权跟踪找到它。

Doze时光
2楼-- · 2020-09-23 00:42

他们在哪里创建变体? 请在创建的屏幕上添加代码。

Baoming ROSE
3楼-- · 2020-09-23 00:55

我认为您阅读这本书介绍了所有3种ALV技术(示例:我对此进行了技术综述)。

我不确定"预配置的菜单栏"是什么意思。 当我们使用REUSE_ALV ... FM时,ALV带有标准菜单和工具栏。 使用SALV时,"普通"工厂方法调用将导致没有工具栏和受限菜单。 您可以在SALV_DEMO_TABLE_REAL_SIMPLE程序中看到它。 如上面的屏幕截图所示,上面提到的演示程序还有处理工具栏的其他代码。 通过FM和SALV,我们还可以应用自定义GUI状态。 当然,它的编码不同。

我没有使用也不熟悉的第三种ALV技术。 AFAIK SALV是当前的最佳实践。 通过在SE38中搜索SALV * DEMO *,可以找到更多的SALV演示程序。

一周热门 更多>