cancel
Showing results for 
Search instead for 
Did you mean: 

MSGFN in sap IDOC

Former Member
0 Kudos

Hi All,

When SAP will send delta to datahub then how to identify any segment has been deleted or inside the segment any value has been changed?

When SAP will send delta then they will send only those segment in which they did the changes sometimes and they will not send other segment

EX:inside E1MVKEM segment they did some changes , so when they will send delta then they will not send other segment like E1MEANM in iDoc and when they will delete whole segment then also they will not send that segment

How can we identify that? segment has been deleted or that segment have not any changed that's why we are not getting that segment?

From SAP end I got below response,

There is a field in each IDOC segment called MSGFN. Possible values of MSGFN are as follows:

003 Delete: Message contains objects to be deleted 004 Change: Message contains changes 005 Replace: This message replaces previous messages 009 Original: First message for process 023 Wait/Adjust: Data should not be imported 018 Resend

Anyone have any idea, above things are implemented in OOB datahub or not.

Regards Navneet

former_member224482
Active Contributor
0 Kudos

Could you re-phrase the question ?

Former Member
0 Kudos

HI Robin,

Please look into question now, I hope this time it will be clear.

Thanks

Navneet

Accepted Solutions (1)

Accepted Solutions (1)

former_member224482
Active Contributor
0 Kudos

Data Hub lack many features to properly handle all scenario of MSGFN within all segments. Is it currently a case by case scenario implementation. In fact only sapcustomer extension use these values. For all other IDOCs, it is expected that the IDOCs are sent in full.

Removal scenario are not all supported, in fact very few are. Scenario like updating to blank or removing values of collections are supported. But removing a complete sales organization of a product is not.

Here is a few scenario :

A system always send a complex nested entity which create many canonical items. The next time this complex entity is sent in full, it update less canonical item meaning that old canonical items shall be deleted. This scenario is not supported by Data Hub OOTB.

A system always send delta changes of complex entities using many canonical items. Doing so, only few canonical items are updated and published. This publication cannot be used by systems that always expect the complete entity.

Former Member
0 Kudos

Thanks Robin, this info will be useful to give the response SAP back. As you mentioned above in your comment, for SAPCustomer these values has been used. Can you please tell me , where they have wrritten this logic inside sapcustomer(v 5.6.0.0)? I looked inside that but did not find that. I also looked in ADR3MAS but there is no MSGFN filed inside segment.Is for customer in iDoc some other field for that?

Thanks Navneet

former_member224482
Active Contributor
0 Kudos

Here are the references I could find :

Class : com.hybris.datahub.sapcustomer.grouping.impl . RawDEBMASPartnerDeletionMessageGroupingHandler

sapcustomer-datahub-extension.xml :

  • RawDEBMAS : E1KNA1M-E1KNVVM-E1KNVPM-MSGFN

  • CanonicalSalesCustomerAddressRel : messageFunction

Former Member
0 Kudos

Thanks Robin..

Answers (0)