cancel
Showing results for 
Search instead for 
Did you mean: 

Non-blocking serialization

Former Member
0 Kudos

Dear all,

Does anybody know whether PI/XI supports the non-blocking serialization function?

And in which version?

If not, is there any work-around?

Thanks a lot.

best regards

Jing

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Thanks all of you.

But why none of you mentioned block or non-block message type?

Dit that mean, the serialization works for both scenarios?

Please help.

Best regards

Jing

VijayKonam
Active Contributor
0 Kudos

Hi Jing,

This is my understanding why I said it was mutually exclusive. Serialization means maintaining order at runtime. That means if you need to post 3 messages and you say serializing, it means that, 3 messages should be sent in sequence one after the other. This technically means that, You block the other two untill the first one is completely sent. Means the send operation for first message is blocking.

When you say, you want serializing with non blocking, it is essentially parallel processing which is non-blocking.

VJ

Former Member
0 Kudos

Hi, VijayaShankar,

Thanks a lot! That was very helpful!

The non-blocking which I meant is a typical symbol for an asynchronous communication meaning the sender system does not need to wait any response from receiver system. - I found this in the link from Vinod also in this thread.

So from the sender application side it is a non-blocking.

What you said is in the runtime in PI, and EOIO is the solution for the asynchronous solution.

That is my understanding, therefore I don't see the conflict with the serialization.

Did I understand correctly?

Thanks!

Best regards

Jing

VijayKonam
Active Contributor
0 Kudos

Yup. EOIO confirms that the messages are delivered in sequence.

VJ

Answers (5)

Answers (5)

Former Member
0 Kudos

HI

Serialization plays an important role in distributing interdependent objects, especially when master data is being distributed.

IDocs can be created, sent and posted in a specified order by distributing message types serially.

Errors can then be avoided when processing inbound IDocs.

Interdependent messages can be serially distributed in the following ways:

Serialization by Object Type

Serialization by Message Type

Serialization at IDoc Level

(not for IDocs from generated BAPI-ALE interfaces)

Serialization at IDoc Level

Use

Delays in transferring IDocs may result in an IDoc containing data belonging to a specific object arriving at its destination before an "older" IDoc that contains different data belonging to the same object. Applications can use the ALE Serialization API to specify the order IDocs of the same message type are processed in and to prevent old IDocs from being posted if processing is repeated.

ALE provides two function modules to serialize IDocs which the posting function module has to invoke:

u2022 IDOC_SERIALIZATION_CHECK

checks the time stamps in the serialization field of the IDoc header.

u2022 IDOC_SERIAL_POST

updates the serialization table.

Check the following link:

http://help.sap.com/saphelp_nw04s/helpdata/en/0b/2a66d6507d11d18ee90000e8366fc2/frameset.htm

http://help.sap.com/saphelp_nw04s/helpdata/en/78/2175a751ce11d189570000e829fbbd/frameset.htm

cheers

Former Member
0 Kudos

Hi,

serialization means

If it is important for the inbound IDocs to be processed in the correct order,

you can make use of the ALE serialization function to check whether an IDoc

has been overtaken or not.

To use serialization you need to:

· Define the serialization object for your message type - ALE extracts the object/document number from the IDocu2019s data segments, and hence needs to know which field to use.

· Call the function module Serialization_Check at the beginning of your inbound function module.

· Handle overtaken IDocs according to your needs.

· Ensure that the inbound function moduleu2019s export table SERIALIZATION_INFO contains the serialization table from the function module Serialization_Check (see the example below).

Serialization at idoc level:

Prerequisites:

IDocs generated by BAPI interfaces cannot be serialized at IDoc

level because the function module for inbound processing does not

use the ALE Serialization API.

ALE provides two function modules to serialize IDocs which the posting function module has to invoke:

· IDOC_SERIALIZATION_CHECK

checks the time stamps in the serialization field of the IDoc header.

· IDOC_SERIAL_POST

updates the serialization table.

Regards,

suryanarayana

former_member537867
Active Contributor
0 Kudos
Former Member
0 Kudos

Hi,

could you please explain why do you think this requirement is "mutually exclusive".

That would be very helpful for me to understand.

Thanks a lot!

Jing

VijayKonam
Active Contributor
0 Kudos

Aren't the requirements mutually exclusive??

VJ