cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronization order of the Sync BO's

chinna_babu2
Active Participant
0 Kudos

Hi All,

Can any body tell me where can we set the order for synchronization either in Middleware or in Client.

We are having some problems with this order.

We are working with standard MAM30 application. Here our scenario is we are creating time confirmations for a new work order and completing all the time confirmations as final confirmations. So In backend, this order status must be set to TECO status.

At the time of synchronization first MAM30_005(Time confirmation) sync bo is being synchronized, after that the order (MAM30_001) sync bo got synchronized. In Middleware for both MAM30_005 and MAM30_001 sync bo's it is giving an error as

Return code from RFC Bapi Wrapper Call: updation could not be completed.

What I understood for the problem is, before creation of order, all the time confirmations are being created. and is trying to update the order. At that point of time it is givig this erorr.

Can any body suggest me whether can we set sync order. I want MAM30_001 must be synced, before sync of MAM_005.

Your Help in this regard is highly appreciable.

Regards,

Chinna.

Accepted Solutions (0)

Answers (3)

Answers (3)

chinna_babu2
Active Participant
0 Kudos

found the solution myself.

former_member304703
Contributor
0 Kudos

Hi,

First of all, if needs be you should generate merepmeta.xml from the middleware and NOT create or change it manually. You can get into all kind of trouble and everywhere in documentations it says so.

Secondly, about your problem - scenario that you have described (user creates TConfs from the device and after they are sycnhronised order gets completed which means removed from the device) is the most common behaviour. It has been known and tested by MAM development team forever.

For this scenario to work TConf has to synchronised from the device before order.

So I am really surprised that you have the issue of wrong synchronisation order with standard MAM.

My advice is to open CSS message to SAP asking to fix it as it is obviously a bug in a standard code.

If you just fix it yourself you locally any upgardes will require more efforst from your customer.

It is always better to have an official bug fix.

Cheers,

Larissa Limarova

Former Member
0 Kudos

Hi Larissa,

you are right, SAP has tested the scenario to add TConf from mobile device and you are right as well - this is one of the most common scenarios.

But in that case, we have a different issue: the user create an order LOCALLY on the device if I understood it correctly and then - before he even has synced - he creates TCONF for this LOCAL oder as well. In that case the error makes sence:

MAM syncs perhaps MAM005 before MAM001 - and so backend is not aware of MAM001 while it tries to process MAM005..... I think that is not the most common process for SAP xMAM.

But at the end I totally agree with your opinion - manually changing MEREMETA.XML - I know, it is not a good idea... and an OSS is perhaps a good idea in that case anyway.

I am not 100% sure - but if you create an oder locally on the device - this oder does not show up on the device after sync automatically in standard MAM anyway. First it has to be assigned to that user and has to set active.

Regards,

Oliver

former_member304703
Contributor
0 Kudos

Hi Oliver,

I see the point now. There are two different situations:

1. Global order change that puts order in TECO status + TConf - in this case TConf has to be processed (synched first), order is processed after (and is removed).

2. Local orde is created together with TConf - in this case obviously Order has to be processed first.

If you need both scenarios to work - it is obviously impossible to control via order of sync as there can only be one sync order, either order or TConf processed first.

In this case I will review business process - as we need second scenario order MUST be processed first and this will define sync order. Now to make second process to work as well - I will do enhancements on the backend - order gets TECOed as a result of TConf only. Which means order changes will be synced first (order still remains in a user list), then TConf is processed, then some process is triggered to TECO the order, only after this order disappears from the user list and device.

It might cause order to stay on the device after it was closed from the user perspective and changes synched but I don't see other way if both scenarios are required.

As for new order coming back to the device right away - it is possible as far as I know. First, as you mentioned correctly, it has to be assigned to a user either from the device (and I think that is done by default in standard MAM) or by backend process, secondly, an MAM setting "Release Immediately" must be set ON.

Regards,

Larissa Limarova

AjithC
Employee
Employee
0 Kudos

Hi All,

In case of MAM, order will syncronize before Time & Mat Conf. MI always ensure that parent object is synced before the child unless the download order is manually adjusted.

You can check the order in the merep_mon. The sequence number of order will be lesser than that or time/mat conf.

The error you are getting might be due to some other reasons..

Regards

Ajith

pvannest
Participant
0 Kudos

Ajith,

I agree with you. We are also using MAM3.0. Order updates are getting sequence numbers which are less than there matching time confirmations. In meRepMeta.xml, i can see the downloadorder, which confirms this sequence. But is this also the update order? In 99% of the time, orders are gettings updated before the timeconf in our system, which causes in our case no problem, since we are using global orders only. But in rare occasions, the timeconf has a sequence number less than the order update, which triggers an error in middleware (record not on device, missing synchronisation key in replication db). Where is this update order then defined? How are the sequence numbers generated? What could be the reason for this unexpected order?

thx in advance

regards

Peter

Former Member
0 Kudos

Hi Peter,

I think this is due to the fact, that your order got removed form the client and added again. Well, TimeConf is in MAM30_005 - and you can create MAM30_005 only if the order is on the device. So it should be on the device already. Now it can be in some cases, that the order gets removed from the client before the timeconf got processed. This will cause the issue you are talking about. But there is apatch available for that - so the question is: are you on latest SP level or MI?

Regards,

Oliver

pvannest
Participant
0 Kudos

Hi Oliver,

THx for your reply. We are not on the latest SP. This is planned for summer. So probably this solves our issue.

One thing I don't understand however is:

... Now it can be in some cases, that the order gets removed from the client before the timeconf got processed....

What do you mean by that? What causes the removal of the order on the client?

thanks

regards

Peter

Former Member
0 Kudos

Hi,

if I see it correct, you have an order in the backend and this comes down to the client. Then on the client you create the time confirmation...

If it is correct up to here - I would like to know if it makes a difference if you only do one step after the other and sync in the middle. Do you get the error then as well?

Sync order can be defined in MEREPMETA.XML file in the xMAM folder. The file can be either changed manually - but this is critical if you do anything wrong here. Well, you could as well create a scenario in MEMSD_DEP in the middleware and then download the MEREPMET.XML file via MEREP_SBUILDER and change the file in the client. The problem in both cases: if you want to test it, do a client reset after you switched the file - otherwise you still use the old settings...

Hope that helps to get a little further.

Regards,

Oliver

chinna_babu2
Active Participant
0 Kudos

Hi Oliver,

I am creating time confirmations for a local order which I have created it from client. In this case in middleware it is giving this Updation error.

But when I did the time confirmation for a Global order which came from backend, all the time confirmation got created and this order staus changed to TECO in backend.

Thanks & Regards,

Chinna.