删除IDOC中的细分

2020-09-06 13:58发布

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

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


嗨,

是否有任何FM删除IDOC中的特定段。 对于DELVRY03中的ex,我想删除段E1EDL24来处理IDOC。

谢谢。

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

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


嗨,

是否有任何FM删除IDOC中的特定段。 对于DELVRY03中的ex,我想删除段E1EDL24来处理IDOC。

谢谢。

付费偷看设置
发送
6条回答
小熊yu生菜
1楼-- · 2020-09-06 14:45

为什么要删除此段? 由于它是标准IDoc定义的一部分,因此无需删除实际的细分。 它是否包含与您无关的任何数据,或者给您带来您无法处理的错误?

然后,我建议您找到一个用于初始化此段中数据的用户出口, 或者不使用标准功能模块来处理数据,而是自己创建并自己处理IDoc。

BTW:如果由于错误或可能的原因而无法处理IDoc,则它 在进一步处理IDoc之前解决此错误可能会更好。

追夢秋陽
2楼-- · 2020-09-06 14:31

一个人不应尝试删除IDOC中的细分,而应尝试减少IDOC

代楠1984
3楼-- · 2020-09-06 14:41

Hi ,

有一些用于删除段的标准功能模块,但我不确定您是否会在其中找到有用的模块(因为我所知道的模块通常依赖于相应的配置)。 通常,您可以通过应用适当的IDoc段过滤器来避免进行任何编码(我怀疑您是在谈论入站IDoc)。 假设您没有大量不同的发件人,则可以通过事务BD56定义分段过滤器。 在这里,您必须维护发件人和收件人的信息以及要过滤的网段(E1EDL24)。 SAP收到IDoc后将应用所有ALE服务,其中包括您通过BD56定义的段过滤器。 结果,存储在数据库中的IDoc将没有BD56中定义的段,并且没有相应的子段。

通过查看状态64的状态文本可以看到应用了过滤器,状态文本应类似于以下内容:数据已过滤,未进行转换,未更改版本。(对于 您,如果您还有其他运行的ALE服务。)

因此,该解决方案的优点是不需要编码,缺点是配置工作量大,可能会抱怨丢失数据(即有时在处理之前更好地操纵内存中的数据结构而不是弄乱IDoc内容) 在数据库上)。 但是,如果您确实不需要这些信息,则可能正是您所需要的。

如果您仍然想编码,则可以抓住一个向客户提供该表所有IDoc数据段的客户出口,然后删除E1EDL24及其所有子项(更通用的编码应通过PSGNUM中的IDoc层次结构信息找到这些子段。

干杯,哈拉德

Alawn_Xu
4楼-- · 2020-09-06 14:42

嗨,

我无法减少IDOC,因为我必须处理IDOC中的段,更新Z表,然后删除该段。 如果减少IDOC,则将丢失要更新的数据。 我能想到的唯一方法是在代码中检查PSGNUM和H LEVEL以删除E1EDL24下的所有子段。 如果有人有更好的解决方案,请告诉我。

此致

Abhi。

何必丶何苦呢
5楼-- · 2020-09-06 14:45

您是否要从IDoc基本类型中删除段? 还是要删除包含数据的已处理IDoc段?

第一个没有意义,如上述线程所述。 您应该远离标准的SAP基本类型。

第二个也没有意义。 已处理的IDoc应该被存档或删除。

SC_Yao
6楼-- · 2020-09-06 14:41

Hi
您已经解决了此问题吗? 我需要删除段E1EDL24和E1EDL24下的所有子段,但IDOC_DATA表中的PSGNUM和HLEVEL具有初始值。
谢谢!

一周热门 更多>