插入自定义表奇怪的行为

2020-09-20 09:46发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我在自定义表中插...

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

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


专家们,

我在自定义表中插入INSERT条目时遇到了一些问题。

FIDCCP02 idoc(入站)通过RDBAPP01报告进行处理。 我已经创建了自定义功能过程代码和功能模块。 我的要求是基于一些计算,它将更新3个自定义表。 当我通过此报告运行更多idoc时,2个表正在更新,而最后一个表未插入。 此行为仅在某些idocs和某些时间发生。 当我再次重新处理同一个idoc时,将插入所有3个表。 插入后,将处理Catch并处理错误消息。 出现错误时我找不到模式。

4条回答
nice_wp
2020-09-20 10:51

嗨Vinuta Hegde,

关于您的问题-"自定义功能模块正在更新3个自定义表"。

SAP拥有处理此业务情景的最佳实践,如下所示。

1。 创建一个新的特定自定义(Z_INSERT_DB_TABLE)功能模块( abap-fm-update-module.png )(已标记为"更新功能模块")。

2。 在新的一个FM(Z_UPDT_DB_TABLE)内部,实现ABAP代码"在COMMIT上执行PERFORM insert_db_table"。 并为自定义表封装了INSERT数据库语句,而无需执行COMMIT WORK,但是您可以在每个INSERT之后检查sy-subrc。

 FORM insert_db_table。

 从表gt_xpto []中插入z_xpto。

 IF sy-subrc NE 0。
 信息 ...
 万一。

 ENDFORM。

3。 调用FM(Z_UPDT_DB_TABLE)后,触发COMMIT WORK。

让我知道结果。

此致

一周热门 更多>