cancel
Showing results for 
Search instead for 
Did you mean: 

Offline capable SMP Applications

Former Member
0 Kudos

Hi Everyone

I am looking for some information about the "true" offline capabilities of SMP applications.

I have been getting different information from different sources.
So I want to create an offline application which behaves in the following way:

1. I can access the application offline
2. I can view all data offline
3. I can edit data and save it offline
4. I can submit data offline
5. The application will "sync" with the back end when it comes back online.

From what I understand I have to write the functionality to do the above from scratch and I can only use a native approach according to SAP.

Is the above statement correct?

Does SMP (MBO's) provide any type of submission queuing functionality that is built in, that will sync with the server when it comes back online?

Do MBO's allow offline data editing and saving?
Is the above possible using oData proxy?

We have created a true offline capable HTML5 based app that runs in the HWC using a generic MBO, but we had to create it all from scratch, editing, saving and offline submission.
We also had to take into account the fact that windows phone uses a different db system than the other devices.
We store submissions of data in a database and trigger the submissions when the device comes back online or the app is restarted.

I want to know if I can use SMP to simplify the process, i.e. use built in offline functionality of MBO's or Odata.

Any ideas on views of the above are greatly appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

Jitendra_Kansal
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Andrew,

Your all 5 points are possible in an offline app. In one of my earlier project we have implemented all these functionalities using SUP 2.2 MBO for iOS device.

for SMP 3.0 onward, there is offline supportability for OData based apps.

Go with OData development approach.

Rgrds,

Jitendra

Former Member
0 Kudos

Thanks a lot for the link, very interesting.

Just out of interest, how did you implement the offline submission system using MBO API?

What area of the API did you use for the offline submission?

The new oDATA API seems great for offline functionality, I will investigate further.

Andrew

midhun_vp
Active Contributor
0 Kudos

A local DB is created by SUP in your device (ex.ultralite), when you are making changes to existing data it will be locally stored if the device is offline. The application checks whether the device is offline, if it yes you can call the API Save on the local DB (ex.MBOProjectDB.Save();) after calling the MBO operation. If the device is online along with save api you have to call Synchronize(); that will update the data.

- Midhun VP

Former Member
0 Kudos

Thanks for the detailed answer.

I will check it out, the oData API appears very helpful from an offline app point of view.

It makes me wonder why some of the fiori app's are not hooked in to allow this type of offline functionality.

Cheers

Andrew

midhun_vp
Active Contributor
0 Kudos

Fiori apps are based on SAPUI5, it is a UI framework for web applications. ie you can run these apps in mobile/desktop browsers. There are limitations for web applications, they are not capable to access native features of device like local db , camera etc. In future we can expect these additional features. Have a look at this interesting feature coming for fiori apps,

Again, using the cordova framework +sapui5 you can use native features. You can find examples on this.

- Midhun VP

Former Member
0 Kudos

Yes, I understand that Fiori apps are SAPUI5 + gateway, but why can't they be ported into SMP and hooked into use the oData offline API functionality.

Especially with a SAP Fiori client, why does the client not allow these offline API's by default?

They are all built by SAP?

Cheers

Andrew

midhun_vp
Active Contributor
0 Kudos

Fiori apps are based on web technologies. It has its own limitations. Thats why Fiori apps can't replace native apps, its meant only for small business scenarios. Odata SDK is for native apps, so the Odata APIs can't use with Fiori directly. SMP support Fiori in future to give more features to Fiori app set. Fiori apps are developed by SAP.

- Midhun VP

Former Member
0 Kudos

Hi Midhun,

Can you share some steps to do it?

or some screenshots?

Thanks in advance.

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Experts,

can anyone give me some steps to create offline odata service?

Thanks in advance.

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

Garima,

Please create a Discussion marked as a Question.  This question is already marked as answered.  This way others may benefit from your solution once it is found, but also because you will have more folks looking to provide a solution when your issue has the greater visibility of a Discussion.

--Bill

midhun_vp
Active Contributor
0 Kudos

All the above mentioned functionalities are possible with MBO approach for now. But the MBO based development is discouraged by SAP. The SAP recommended way of development is using Odata. Using Odata limited offline is possible for now (suppporting document,), a complete offline is possible in the future.

Native mobile app development approach is recommended when the application is complex/complete offline functionality needed/better user experience etc. Offline features like view all data offline ,edit data and save it offline , "sync" with the back end when it comes back online (synchronous call) are also possible with hybrid apps using third party frameworks like cordova, but for large amount of data management, and better UX it sometimes fails.


The are APIs available with MBO approach that works even the device is offline, that makes the life of a developer easy to do transactions when device is offline.


- Midhun VP

Former Member
0 Kudos

Hi Midhun,

1.Can I use UI5 code given in Fiori client in my SMP 3.0 kapsel application?

2. How to work with offline capabilities in SMP 3.0 ?

Regards,

Varahalu Babu Jampana

midhun_vp
Active Contributor
0 Kudos

1. You can reuse the code from Fiori (not sure about the license).

2. To make use of offline features of SMP 3 you need to develop Odata based native app, not Hybrid apps using kapsel. More info :http://help.sap.com/saphelp_smp303sdk/helpdata/en/7c/1c263c70061014b1a9c460b4347be9/content.htm

Midhun VP

Former Member
0 Kudos

Thanks for the info Midhun...!!

Former Member
0 Kudos

Hi Midhun,

Do you know if in SMP 3.0 can I storage common information  for a lot of devices. For example If have 10,000 products and I have to do an initial download each week, can I send the information one time and then SMP forward this data to devices? If not and the request come from devices we are going to have a lot of repeated requests for the same data. Thanks.

Regards,

Max.

midhun_vp
Active Contributor
0 Kudos

Hi Max,

SMP supports delta token, so only changed/new records will be downloaded to the device.

Regards, Midhun

SAP Customer Experience Group - CEG

Former Member
0 Kudos

Thanks for your answer Midhun.

Regards,

Max.

0 Kudos

Hi Midhhun,

As per above comments SMP supports delta token, so only changed/new records will be downloaded to the device.


1). How to identify only changed records from SMP is gone to device. For eg. Because when i log in the device for first i used to get 10 records via smp  server. Now i have added one extra record in the backend as i know from gateway which has  delta query ,i am able send only one record to SMP. How to keep track from smp to device for record changes .


Is there any DB created in smp server or  can we see the following in smp server logs? Any suggesstion.


Regards

Yogesh

Former Member
0 Kudos

Hi Midhun,


How to configure for SMP 3.0 kapsel application for offline, without delta query implemented in the backend .



Regards,

Nivetha Sankar

midhun_vp
Active Contributor
0 Kudos

Hi Nivetha,

Delta query is not mandatory to implement offline. For Kalsel offline you can follow this blog:

If you implement delta query in the backend the load on the SMP server will be less, if not SMP takes care of delta queries. But in that case you have to consider this while SMP sizing.

If you have other questions please raise a new thread since this thread is already closed. This will helps other to find the answers easily.

Regards, Midhun

SAP Technology RIG

Former Member
0 Kudos

Hi Midhun,

As you mentioned created new thread in SCN, below is the link.

http://scn.sap.com/thread/3690638

Need information how to achieve offline using SMP for delta query not implemented in the backend.

Regards,

Nivetha Sankar

Former Member
0 Kudos

Hi Andrew,

As far as I know, the MBO development model will be phased out from SMP, and the recommended technology for offline apps will be Agentry. The thing is that currently Agentry does not give you fully native approach (coming with next versions).

It will be interesing to see some answers from SAP internal guys here and the approach fro HTML5 perspective.

Cheers

Denis