cancel
Showing results for 
Search instead for 
Did you mean: 

Server Driven SyncBo

Former Member
0 Kudos

Hi all,

I need to know more about server driven SyncBos. Can somebody explain the activities to me, escecially when the getlist and getdetail bapis are called. I know there are called by the replicator and the deltas are written to merep_207. What happens when the client starts the synchronization? From the table merep_207 it gets the r3keys. Are the getlist and getdetail are called again? Can somebody bring some light into it?

thanks in advanced,

Anika

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Anika,

As you know T51 (Server driven syncbo) is different from other syncbos.

Difference between T51 syncbo and T01 synbo is the way it replicates.

<b>T01 SYNCBO:</b>

Replication is done from the middleware .i.e middleware triggers replication.

<b>T51 SYNCBO:</b>

Replication is done from the backend i.e. backend triggers replication.

When ever there is change in the backend, backend trigers the replication.

so we can be assured that the latest data is available in the middleware.

Coming to the point, when we trigger replicator from backend, only delta records are put in MEREP_DELATABO table and in middleware MCD should have entries regarding the T51 syncbo.

then based on the delay time we mention in MCD these records from MEREP_DELTABO are pushed to MEREP_207.

So now the middleware calls the getdetail to those of getlist records.

Let me know if need more information.

Cheers,

Karthick

Former Member
0 Kudos

thank you for your quick response.

The replication process is clear to me. I need to know, what happens when the client starts synchronization. What exactly happens? The merep_207 is read for that syncbo.... and then? Is the getlist/getdetail for the corresponding data called again? How does the client get the data of the header and item structure back?

Former Member
0 Kudos

Hi Anika,

Suppose take example of T01 syncbo.

Initially you dont have any data in the client after assigning the application.

Data is present in backend and middleware (assume replication has been done for this Syncbo).

When we sync to get the initial data to client...all data wat is present in middleware gets to the client..here no getlist and getdeatils are executed becaz all data in there in middleware..Client is more concern abt middleware data.

Suppose when you create a records in client and sync..wat happends.........First the record gets created through syncbo in middleware which has create bapi wrappers (Backend)...so that record gets created and then replicated (NOW HERE GETLIST,GETDEATIL ARE CALLED)...after replication, Middleware has that created record and this record is downloded from Middleware to client.

Similarly for delete or modify.:)

Client only considers the data present in middleware not backend..

Hope this is clear....let me know if you need more information.

Cheers,

Karthick

Former Member
0 Kudos

but there exists the "real data" to be transfered to client ? In merep_207 there are only the r3keys.

Message was edited by:

Anika Pfefferle

Former Member
0 Kudos

Hi Anika,

According to my knowledge middleware consistes of all the data with all the fields..but we cannot see the data deatils in middleware...When we replicate the data from backend to middleware all data will be replicated to the replica RDB in middleware..

When client syncs only data that is present in middleware comes to client..

Can you perform this simple scenario..you will be clear :

Create a record in backend...replicate it to middleware...make sure that the record exists in middleware..sync the client to get the record...

Now change the data for that record in backend..dont replicate the data to middleware..NOW FOR THE SAME RECORD R/3 KEY WE HAVE DIFFERENT DATA IN THE FIELDS in Backend and Middleware..

Now sync the client..you will get the same data wat is there in middleware..but not the changed data in backend.....

Hope this is clear.

Let me know if any furthur quiries..

Cheers,

Karthick

Former Member
0 Kudos

okay I will try it. Thank you.

Just let me summarize: For server driven synchronization, when the clients synchronizes, no getlist/getdetail are called. All the data is still on the middleware. The replicator is the only one which calls the getlist/getdetail. ???

Former Member
0 Kudos

Hi Anika,

Yeah ........

For T01 or T51 syncbos....when all data is present in middleware and when no change has been done to the client data..then you will get only the data present in the middleware..

And getlist and getdeatil is called only when replicator is called...

When you change some data in client or create a record in the client and synchronize..then replicator is automatically called and thus getlist and getdetail is called...

PS: When we generate syncbos synchronizer code is automatically generated.....Synchronizer : 1) Upload 2) Replicator 3) download codes are present in it.

Cheers,

Karthick

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Anika,

SO1 syncbo: no. of getlist,getdeatil calls is equal to the no. of synchronizations.

T01 syncbo: no. of getlist,getdeatil calls is equal to the no. of replications itriggered from middleware to backend.

T51 syncbo: no. of getlist,getdetail calls is equal to the no. of replications triggered from backend to middleware.

PS: For T01 syncbo when we replicate all the records in backend are compared to those existing in iddleware and then update the delta records.

For T51 syncbo when we replicate only delta records come to merep_207.

So performance wise and the upto date data wise T51 is the best option.

Cheers,

Karthick