2020-09-06 13:58发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
是否有任何FM删除IDOC中的特定段。 对于DELVRY03中的ex,我想删除段E1EDL24来处理IDOC。
谢谢。
为什么要删除此段? 由于它是标准IDoc定义的一部分,因此无需删除实际的细分。 它是否包含与您无关的任何数据,或者给您带来您无法处理的错误?
然后,我建议您找到一个用于初始化此段中数据的用户出口, 或者不使用标准功能模块来处理数据,而是自己创建并自己处理IDoc。
BTW:如果由于错误或可能的原因而无法处理IDoc,则它 在进一步处理IDoc之前解决此错误可能会更好。
一个人不应尝试删除IDOC中的细分,而应尝试减少IDOC
Hi ,
有一些用于删除段的标准功能模块,但我不确定您是否会在其中找到有用的模块(因为我所知道的模块通常依赖于相应的配置)。 通常,您可以通过应用适当的IDoc段过滤器来避免进行任何编码(我怀疑您是在谈论入站IDoc)。 假设您没有大量不同的发件人,则可以通过事务BD56定义分段过滤器。 在这里,您必须维护发件人和收件人的信息以及要过滤的网段(E1EDL24)。 SAP收到IDoc后将应用所有ALE服务,其中包括您通过BD56定义的段过滤器。 结果,存储在数据库中的IDoc将没有BD56中定义的段,并且没有相应的子段。
通过查看状态64的状态文本可以看到应用了过滤器,状态文本应类似于以下内容:数据已过滤,未进行转换,未更改版本。(对于 您,如果您还有其他运行的ALE服务。)
因此,该解决方案的优点是不需要编码,缺点是配置工作量大,可能会抱怨丢失数据(即有时在处理之前更好地操纵内存中的数据结构而不是弄乱IDoc内容) 在数据库上)。 但是,如果您确实不需要这些信息,则可能正是您所需要的。
如果您仍然想编码,则可以抓住一个向客户提供该表所有IDoc数据段的客户出口,然后删除E1EDL24及其所有子项(更通用的编码应通过PSGNUM中的IDoc层次结构信息找到这些子段。
干杯,哈拉德
我无法减少IDOC,因为我必须处理IDOC中的段,更新Z表,然后删除该段。 如果减少IDOC,则将丢失要更新的数据。 我能想到的唯一方法是在代码中检查PSGNUM和H LEVEL以删除E1EDL24下的所有子段。 如果有人有更好的解决方案,请告诉我。
此致
Abhi。
您是否要从IDoc基本类型中删除段? 还是要删除包含数据的已处理IDoc段?
第一个没有意义,如上述线程所述。 您应该远离标准的SAP基本类型。
第二个也没有意义。 已处理的IDoc应该被存档或删除。
Hi 您已经解决了此问题吗? 我需要删除段E1EDL24和E1EDL24下的所有子段,但IDOC_DATA表中的PSGNUM和HLEVEL具有初始值。谢谢!
最多设置5个标签!
为什么要删除此段? 由于它是标准IDoc定义的一部分,因此无需删除实际的细分。 它是否包含与您无关的任何数据,或者给您带来您无法处理的错误?
然后,我建议您找到一个用于初始化此段中数据的用户出口, 或者不使用标准功能模块来处理数据,而是自己创建并自己处理IDoc。
BTW:如果由于错误或可能的原因而无法处理IDoc,则它 在进一步处理IDoc之前解决此错误可能会更好。
一个人不应尝试删除IDOC中的细分,而应尝试减少IDOC
Hi ,
有一些用于删除段的标准功能模块,但我不确定您是否会在其中找到有用的模块(因为我所知道的模块通常依赖于相应的配置)。 通常,您可以通过应用适当的IDoc段过滤器来避免进行任何编码(我怀疑您是在谈论入站IDoc)。 假设您没有大量不同的发件人,则可以通过事务BD56定义分段过滤器。 在这里,您必须维护发件人和收件人的信息以及要过滤的网段(E1EDL24)。 SAP收到IDoc后将应用所有ALE服务,其中包括您通过BD56定义的段过滤器。 结果,存储在数据库中的IDoc将没有BD56中定义的段,并且没有相应的子段。
通过查看状态64的状态文本可以看到应用了过滤器,状态文本应类似于以下内容:数据已过滤,未进行转换,未更改版本。(对于 您,如果您还有其他运行的ALE服务。)
因此,该解决方案的优点是不需要编码,缺点是配置工作量大,可能会抱怨丢失数据(即有时在处理之前更好地操纵内存中的数据结构而不是弄乱IDoc内容) 在数据库上)。 但是,如果您确实不需要这些信息,则可能正是您所需要的。
如果您仍然想编码,则可以抓住一个向客户提供该表所有IDoc数据段的客户出口,然后删除E1EDL24及其所有子项(更通用的编码应通过PSGNUM中的IDoc层次结构信息找到这些子段。
干杯,哈拉德
嗨,
我无法减少IDOC,因为我必须处理IDOC中的段,更新Z表,然后删除该段。 如果减少IDOC,则将丢失要更新的数据。 我能想到的唯一方法是在代码中检查PSGNUM和H LEVEL以删除E1EDL24下的所有子段。 如果有人有更好的解决方案,请告诉我。
此致
Abhi。
您是否要从IDoc基本类型中删除段? 还是要删除包含数据的已处理IDoc段?
第一个没有意义,如上述线程所述。 您应该远离标准的SAP基本类型。
第二个也没有意义。 已处理的IDoc应该被存档或删除。
Hi
您已经解决了此问题吗? 我需要删除段E1EDL24和E1EDL24下的所有子段,但IDOC_DATA表中的PSGNUM和HLEVEL具有初始值。
谢谢!
一周热门 更多>