cancel
Showing results for 
Search instead for 
Did you mean: 

Discussion on persistency

Former Member
0 Kudos

We had an argument in my project team about persistency of XI. Our objective is not to loose any data that is being passed through XI. My argument is that if there is any failure in any one of the components of XI, we could resend the message again. But one of my friends has other ideas that the messages are not persisted enough and the data consistency has to be maintained by application residing in the source/target system. I invite the all XI experts to express their point of view.

Thanks in advance,

Regards,

Arul

Accepted Solutions (1)

Accepted Solutions (1)

STALANKI
Active Contributor
0 Kudos

As I told you they are cluster tables.

the cluster id is the one which z used to export & import messages.

if you want to understand about cluster tables you can search in abap section for more info on cluster tables.

There is no loss of data as long as XI is up.

MichalKrawczyk
Active Contributor
0 Kudos

unless... the logging is not turned off

Regards,

michal

Former Member
0 Kudos

Where can we switch on/off this logging ? Is it from VA or in sxmb_adm ? am a bit curious to know this option.

Thanks

Saravana

MichalKrawczyk
Active Contributor
0 Kudos

sxmb_adm + the message header must not

turn the logging ON

cause as far as I remember even if logging is of

in sxmb_adm the message header can turn if ON

again

Regards,

michal

Former Member
0 Kudos

So, this means the adapter framework will have to turn the header off before delivery to IE or else the persistence still holds. I had this qn, cos i do not have an explicit LOGGING ON in our prod box & also cos restarts are available in both AF & IE components.

Appreciate your insight into minute details like this Michel

Thanks

Saravana

Former Member
0 Kudos

according to the XI documentation asynchronous XI messages are still persisted even if logging is of (http://help.sap.com/saphelp_nw04/helpdata/en/41/b714fe5ffc11d5b3ea0050da403d6a/content.htm), only synchronous messages require explicit configuration for logging.

For asynchronous messages logging only affects how often a message is persisted (after each step in the pipeline or at inbound, after receiver determination and at outbound).

As already written a couple of times here, persistence is in database and so there is not really the danger to loose messages in XI.

Normal message handling should be to restart failed messages from XI if error was recoverable (like network not working etc.) or cancel message in XI and resend from sender application if error was related to bad message content.

I'm not sure if your question goes in the direction of SOX compliance and other legal requirements with data retention. Anyway XI is able to meet this requirements just like any other SAP system does. XI is based on the WAS, so you can also use Archiving, Backups etc. as for any other SAP.

Regards

Christine

Answers (5)

Answers (5)

STALANKI
Active Contributor
0 Kudos

Arul..

Christine was right there is no danger to loose of messages and you can take the back of servers as like any SAP products.

You want to understand how messages are stored then crack the source code rsxmb_supportrestart.It z fun to carck it.

Former Member
0 Kudos

Hi sravya,

Thanks for useful comments. i hope that you are referring to regular back-up of SAP Servers.

I have seen few IS parameters about persistance and trying to make sense out of those parameters. Do you have any idea about PERSIST_DURATION/ASYNCH and PERSIST_DURATION_UNIT/ASYNCH?

I was reading the weblog about resending failed messages. what happens if the message fails at the adapter engine.. Ofcourse we can configure the engine to resend. But where does adapter engine persist the message and its payload?.

Former Member
0 Kudos

Hi Arul,

It has its own queing mechanism in the J2EE adapter engine and it is persisted over there.So once the message reaches the integration engine, the message is persisted in the cluster tables of ABAP stack.

Regards,

abhy

Former Member
0 Kudos

Do we know the persistence mechanism used in the adapter engine?. Does it use the WAS - Java Schema database tables to store the data? or file system?

Arul

udo_martens
Active Contributor
0 Kudos

Hi Arul,

usually you dont recover data manually. Asynchron messages are queued (that means they are persistent - in a database!) and there are serveral configurable mechanism to restart failed messages.

Synchronous errors should give the sender an error message, of course they cant be restartet.

/people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically

Regards,

Udo

STALANKI
Active Contributor
0 Kudos

Yes miche..:)

STALANKI
Active Contributor
0 Kudos

XI store messages in database only.It stores in cluster tables.there will not be any loss of data as long as servers are not down..

you can check sxmclu tables.

Former Member
0 Kudos

I agree with you on theory. But I looked at the tables that you have mentioned. they do not seem to store the payload data.. They only have message id. Any idea why?.

Arul

STALANKI
Active Contributor
0 Kudos

Asynchronous messages are definetly persisted and you can definetly resend the messages.

Can you be clear on what they mean by data consistency so that I can clarify ?

Former Member
0 Kudos

Hi Sravya,

We are dealing with business sensitive data so they dont want to miss any data in the middle. Some architects here claims that XI does not persist the messages in database and hence there could be loss of messages even while sending the data through asynchronous (Exactly once in order).. Eventhough i dont believe that, I need to convince people with good arguments and demonstrations.