创建WBS元素(CJ20)中的自定义表

2020-09-23 20:15发布

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

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


大家好,

我正在尝试使用显示为ALV网格的自定义表格来增强wbs元素分支数据。 现在,我知道对CI_PRPS增强字段进行了增强 CNEX0007 。 但是在我的情况下,我没有单个字段,但要填充的是Z表。

要在更新z表之前进行一些检查,我想使用BADI WORKBREAKDOWN_UPDATE 和AT_SAVE方法。 不幸的是,由于标准WBS程序未设置值更改标志,因此BADI未被触发。 那么,现在我该怎么办才能使BADI触发我的ALV Z表更改? 设置值更改标志后,我直接找到了一个增强点,但我希望避免使用增强点。 有什么想法吗?

致谢

迈克尔

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

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


大家好,

我正在尝试使用显示为ALV网格的自定义表格来增强wbs元素分支数据。 现在,我知道对CI_PRPS增强字段进行了增强 CNEX0007 。 但是在我的情况下,我没有单个字段,但要填充的是Z表。

要在更新z表之前进行一些检查,我想使用BADI WORKBREAKDOWN_UPDATE 和AT_SAVE方法。 不幸的是,由于标准WBS程序未设置值更改标志,因此BADI未被触发。 那么,现在我该怎么办才能使BADI触发我的ALV Z表更改? 设置值更改标志后,我直接找到了一个增强点,但我希望避免使用增强点。 有什么想法吗?

致谢

迈克尔

付费偷看设置
发送
4条回答
闻人可可
1楼-- · 2020-09-23 20:29

您可以使用SMOD增强功能CNEX0007来显示客户z表的更新,但是在CMOD项目中,您必须自己处理更新任务。

为此,您可以在Exit函数组中使用某种PERFORM ON COMMIT/ROLLBACK形式的表单,在FORM调用更新任务中的某些z-update FM。 您还应该考虑在CI_PRPS中维护一个字段,以在子屏幕中更改数据时触发更新(例如,z表的上次更改时间戳)。

天桥码农
2楼-- · 2020-09-23 20:18

仅在PERFORM ON COMMIT注册的表单将 可以在COMMIT上执行,因此当事务主程序执行COMMIT-WORK时,您可以以此形式添加自己的CALL IN UPDATE TASK。 由于该表单应在退出功能组中定义,因此您可以访问功能组的全局数据,以便访问ALV的内部表。

Nir深蓝
3楼-- · 2020-09-23 20:41

Hello Raymond,

是的,我使用CNEX0007增强功能来显示alv网格。 效果很好,但我不想在此增强功能中保存数据,因为我认为这是尽早取消在单击"保存"时发生的标准字段上的一些错误。

PERFORM ON COMMIT是什么意思? 我从未听说过。 我以相同的方式对CI_PRPS中的某些z字段进行了思考。 为此,我使用了一个标志,当z表中发生更改时,我可以设置和取消设置该标志(我将db值与单击save时的值进行比较)。 这可以正常工作,但对我来说似乎并不是最好的解决方法。 但是您说的没错,更改时间戳听起来更罪恶了;-)

致谢

Michael

渐行渐远_HoldOn
4楼-- · 2020-09-23 20:41

我现在发现在自定义功能组中使用网格的另一个问题。

当我将数据从CNEX0007传输到我的自定义功能组时,它始终仅针对具有prps结构的一个wbs元素。 但是,当用户更改事务CJ20N中的wbs元素时,他可以通过在左侧的层次结构上单击它们来更改多个wbs元素,而无需在完成一个wbs元素后进行保存。 因此,当单击"保存"时,可能不得不更新几个wbs元素。 知道如何处理吗?

一周热门 更多>