F110调试-退出FEDI0003

2020-08-26 16:54发布

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

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


预先致歉,因为该主题已发布过。 我确实意识到论坛上已经有很多关于此的话题,但是大多数(如果不是以前的帖子)除了"谢谢,已解决的问题"之外,没有列出明确的答案。 话虽如此,这是我的问题:

我希望能够在创建文档之前更改IDoc PEXR2002中的值。

我已完成以下步骤:

1。 在CMOD中创建项目,并激活以下增强功能:FEDI0002(EXIT_SAPLIEDP_101),FEDI0003(EXIT_SAPLIEDP_002),FEDI0004(EXIT_SAPLIEDP_902)。 在每个出口的代码中,我都在每个出口中插入了" BREAK-POINT"。 我什至尝试通过指定段名称来在代码中更具体。 所有出口均处于活动状态。

2。 在表" FEDICUS"中为消息类型PAYEXT,基本类型PEXR2002创建条目,并列出该Idoc的所有段。 据我了解,此表中必须存在选定段的条目,以便调用用户出口。

在通过F110(交互)运行多个付款时,我的任何断点都不会激活。 我试过在后台运行F110,以及在前景/后台运行F110S,结果相同。

我已经检查了注释1248868和937966。它们都没有为我解决此问题。

其他人有什么想法或希望得到答案吗?

谢谢。

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

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


预先致歉,因为该主题已发布过。 我确实意识到论坛上已经有很多关于此的话题,但是大多数(如果不是以前的帖子)除了"谢谢,已解决的问题"之外,没有列出明确的答案。 话虽如此,这是我的问题:

我希望能够在创建文档之前更改IDoc PEXR2002中的值。

我已完成以下步骤:

1。 在CMOD中创建项目,并激活以下增强功能:FEDI0002(EXIT_SAPLIEDP_101),FEDI0003(EXIT_SAPLIEDP_002),FEDI0004(EXIT_SAPLIEDP_902)。 在每个出口的代码中,我都在每个出口中插入了" BREAK-POINT"。 我什至尝试通过指定段名称来在代码中更具体。 所有出口均处于活动状态。

2。 在表" FEDICUS"中为消息类型PAYEXT,基本类型PEXR2002创建条目,并列出该Idoc的所有段。 据我了解,此表中必须存在选定段的条目,以便调用用户出口。

在通过F110(交互)运行多个付款时,我的任何断点都不会激活。 我试过在后台运行F110,以及在前景/后台运行F110S,结果相同。

我已经检查了注释1248868和937966。它们都没有为我解决此问题。

其他人有什么想法或希望得到答案吗?

谢谢。

付费偷看设置
发送
3条回答
蓋茨
1楼-- · 2020-08-26 17:17

我可以建议一些要分析的东西。

根据某些条件,正在从include LIEDPF15调用这些用户出口。 在这些IF条件上设置一个断点,并查看其触发时间和触发方式。

谢谢

SKJ

Alawn_Xu
2楼-- · 2020-08-26 17:10

再次感谢您输入的毗湿奴和大家。

从我在一些SAP注释(准确地说是注释1248868)和其他过帐中阅读的内容来看,似乎有些人说EXIT_SAPLIEDP_002是要使用的正确出口,但是您说EXIT_SAPLIEDP_902是正确的出口。 为了更全面地进行测试,我决定将相同的代码放在两个代码中并进行尝试。 这是我输入的内容:

IF segment_name ='E1EDKU3'。

DATA ls_e1idku3就像e1idku3。

数据:我输入i。

DESCRIBE TABLE edidd_table LINES i。

如果edidd_table-segnam ='E1EDKU3'。

ls_e1idku3 = edidd_table-sdata。

如果ls_e1idku3-pairzawe ='A'。

ls_e1idku3-pairzawe ='D'。

edidd_table-sdata = ls_e1idku3。

修改edidd_table索引i。

ENDIF。

ENDIF。

ENDIF。

本质上,我正在尝试将付款方式的值从一个值更改为另一个值。 当我在顶部的IF语句中设置一个外部断点时,我看到该出口被调用,但是即使满足了条件,底层的代码也会被跳过。

您或任何人在这里看到我的逻辑问题吗?

谢谢!

shere_lin
3楼-- · 2020-08-26 17:16

大家好,

Dedug F110。

在付款建议书和付款后运行f110,单击打印输出

取消选中开始立即给出1小时后的开始时间。 现在,以便sm37寻找我们的工作

转到步骤

1个SAPFPAYM_SCHEDULE ABAP&0000000042857

2 RFFOEDI1 ABAP&0000000000756

我们需要在forground中运行。 运行程序SAPFPAYM_SCHEDULE并从后台作业中运行变量。

现在保持断点RFFOEDI1与后台作业不同并删除作业。

对于用户出口,请转到SM37:FI_EDI_PAYEXT_PEXR2001_OUT

搜索:执行store_pexr_segment保持断点

包括:LIEDPF15

呼叫客户功能'001'
导出SEGMENT_NAME = PEXR_EDIDD-SEGNAM
SEGMENT_DATA = PEXR_EDIDD-SDATA
位置= AKT_POS
REGUH_DATA = REGUH_IN
REGUP_DATA = TAB_REGIMS = USER_MSG
表格EDIDD_TABLE = PEXR_EDIDD
REGUP_TABLE = TA

运行:RFFOEDI1,它在断点处100%停止。

一周热门 更多>