点击此处---> 群内免费提供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。它们都没有为我解决此问题。
其他人有什么想法或希望得到答案吗?
谢谢。
我可以建议一些要分析的东西。
根据某些条件,正在从include LIEDPF15调用这些用户出口。 在这些IF条件上设置一个断点,并查看其触发时间和触发方式。
谢谢
SKJ
再次感谢您输入的毗湿奴和大家。
从我在一些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语句中设置一个外部断点时,我看到该出口被调用,但是即使满足了条件,底层的代码也会被跳过。
您或任何人在这里看到我的逻辑问题吗?
谢谢!
大家好,
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%停止。
一周热门 更多>