cancel
Showing results for 
Search instead for 
Did you mean: 

Do we need Physical Connecion to R/3 for synchronization?

Former Member
0 Kudos

Hi,

I am confused about the fact of synchronization,

when we say MI provides offline disconnected mode of accessing ERP [for exp : R3],

Does that mean we do not need to physically connect the mobile device to R3 system or network at the EOD for synchronization?

If so, How does it happen?

Please explain it to me?

Deepak

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Deepak,

If the employee wants to be getting the data all the time then he needs to be online. Then your device should be connected to the network all the time. As i had mentioned earlier the advantage here is the offline scenario. So he can synchronize before he leaves for the customer's place and he could synchronize to get the updates as soon as he reaches the customer's site if network is available.

This can be done by exposing your server over the net ie making it as a static ip. So he can synchronize from the customer's place itself.

regards

Arun

Former Member
0 Kudos

hi deepak,

The architecture is a three tier architecutre. All your Mobile device does is to connect to the Middleware ie WebAS. it sends the data to the WebAS and goes offline again.

The Middle Ware sends the data to backend using a background job. It needn't be connected Physically to R/3 but is connected thro RFC.

Mobile Device connects to your WebAS thro LAN/HTTP.

Regards

Ak.

Former Member
0 Kudos

Hi,

The mobile device needs to be connected with the network at the time of synchronization.

The mobile device talks to your R/3 via the mobile server (MI configured on WAS). Once the synchronization is done, the data tranfer takes place from your R/3 to your mobile and vice versa and you can disconnect your mobile device from the network and work offline.

There are two modes of synchronization Generic and Smart.

To get into details go through this link

<a href="http://media.sdn.sap.com/public/html/submitted_docs/MI/MDK_2.5/index.htm">MDK</a>

In order to understand what happens in the middleware during <b>genericsync</b> go thru this blog

<a href="/people/arun.av/blog/2006/03/09/process-flow-of-generic-synchronization-in-mi-abap-server-component server</a>

regards

Arun

Message was edited by: Arun A V

Former Member
0 Kudos

Arun,

That means if an employee, having the mobile device is at the customer's site, he will not be able to know the exact status of R3, I mean what data is there in R3 at that point of time,

so at the EOD, when he will come back and connects to R3 through WebAS, he will be able to synchronize and see the actual data which may be changed in the meantime by some other employee,

So How can we ensure that the employee would get the up to date data all the time; when he is in the field,

Is there any way out for this?

Please comment,

Deepak

Former Member
0 Kudos

Deepak,

The main advantage here is <b>working offline</b>.

The customer will have the application on his mobile device only when the application is assigned to him.

This is done by the administrator(Technically owner of the application) in webconsole.

The important point here is that the customer will be able to see and transfer the data that is pertained only to him.

The first time the customer synchronizes his client device with the MI server a unique device ID is generated and his user ID is assigned to that device ID, so that he can see and transfer only his data using the application assigned to him.

regards

Arun

Former Member
0 Kudos

hi,

An employee in customer site can find the status in R3 from the customer site itself. He needn't come back and connect to WebAs. your WebAS will be exposed via HTTP(s) protocol and can be accessed from your Mobile thro GPRS.

Regards

Ak.

Former Member
0 Kudos

Ak,

As you said we can access R3 from Customers site,

But through HTTP protocol we can only access the WebConsole,

What can we find on the webConsole? [Relsted to R3 information]

that means only Java Stack of the WebAS can be accessed over the internet,

not the ABAP stack,

Am I making sense?

Please comment,

Deepak

Former Member
0 Kudos

Deepak,

Yes your java stack communicates with your mobile client via http protocol.

And also your java stack communicates with your abap stack via a jco. These things will be done when you configure MI on your WAS.

On your webconsole you can find to which user and device ID the application has been assigned.

regards

Arun

Message was edited by: Arun A V

Former Member
0 Kudos

Deepak,

You write code(application) that resides on a mobile device on a special container called as MI Client Component. This application can talk to your R3 thro your MI Server - WebAS. you can expose this WebAS to the WWW.

So your application will access the Server as such thro the connection parameters on your Mobile Client device.

I'll put the architecture here.. (might look bit clumsy though :D.. read the "---" as "talks to"

User

-


Application

-


MI Client Component

-


MI Server(java component --> Jco --> ABAP Component)

-


R3 Backend.

-


Gotcha?

Regards

Ak.

PS: Pl. reward useful answers.

Former Member
0 Kudos

yes, now I got it,

Thanks a lot Arun & ak,

Really I have cleared a typical doubt that was in my mind earlier,

Thanks again,

Regards:

Deepak

kishorg
Advisor
Advisor
0 Kudos

Hi Deepak Gupta ,

Data of the MI user is up to date or not , that depends upon the type of Application.

If ur application is generic one ,

it will be up to date(depends also on ur Wrapper programming logic)

If ur MI application is SmartSync ,

depends upon the type of the SyncBOs used in ur Application.

S01 - data up to date (depends also on ur Wrapper programming logic)

T01 - for this , u have to schedule a back ground job to fill the data corresponing to ur MI Users(mobile id) in the MI server. So the up to date data depends upon the frequency of running the back ground job.

T51 - Back end driven syncBos. (depends also on ur Wrapper programming logic).

In the client side , the up to date data from the MI server itself can be monitored.

This can be achieved using the SmartSync API.

In this case , the consistency of data is considered (compared with the data in the MI server Outbox corresponding to particular Device).

u have to develop a custom application for that in the client device to monitor..

refer help regarding these ,,

com.sap.ip.me.api.smartsync.ErrorConflictInbox;

com.sap.ip.me.api.smartsync.SmartSyncRuntime;

com.sap.ip.me.api.smartsync.SyncBo;

com.sap.ip.me.api.smartsync.SyncBoResponse;

com.sap.ip.me.api.smartsync.SyncState;

in this help , u can see sample codes .. u can even use that.

refer the latest MDK API document..

Regards

Kishor Gopinathan

Former Member
0 Kudos

Cool Deepak. Good to know we managed to clear your doubts.

Regards

ak.

Pl. reward posts appropriately and mark the thread solved if done.