Skip to Content

Mobilizing SAP

During high school days, I had worked on Accessing ERP Database (Oracle) using mobile device (Nokia 6600) using J2ME Technology. The idea now was to make SAP accessible using mobile devices. I was informed by my colleagues about SAP MI (Mobile Infrastructure) which could have been used for the above requirement. I had previously worked on SAP Java Connector(JCO) and decided to use it to connect to SAP.

The architecture is as follows:


A J2ME MIDP 2.0 application was built and tested using Sun Wireless Toolkit 2.1. The application can be moved to real mobile device using Bluetooth, Infra- red or USB cable etc. The application could also be downloaded from the server using OTA (On The Air) provision. The application is then installed in the mobile device by the Application manager on the device.

This application on demand makes an HTTP/HTTPS connection with the web application server (SAP WebAS, in our case) in order to get the required information. It uses GPRS to make the HTTP connection to the web server.

On the server side, we have a J2EE application, an EAR application deployed, which makes use of JCO to connect to the SAP system and call the respective BAPI or RFC enabled function module in order to obtain the required information.

On SAP, we have standard or customized function module which is remotely enabled. ABAP coding is required for the customization.

In our case, we used the application to extract information like Receivable Dues, Contract Status and Contacts of a particular client. We also tried updating the system for Pending Complaints for a particular client.

J2ME enabled device being a thick client, we could also put some decision making logic on mobile front, provided it’s not very complex as we are dealing with mobile phones which have limited processing abilities. The whole thing was tried out in simulation form using Sun Wireless Toolkit 2.1. This can also be tested successfully in real environment. Here are some snapshots of the application..

1. Login Page


2.Client Search


3.Contact Details


You must be Logged on to comment or reply to a post.
  • Hi,

      This blog gives good pictorial representation of how mobile devices can be linked with SAP, however to understand the technology better it would be good if you can give some code samples of the same,


    • Hi,
      I wanted to first focus on the business part of this application..Didnt intend to mix both the functional and technical part.. Shall post a blog soon on the technical aspect of the same..
      Thanks for your comments..
  • hi Tanveer,
    This blog is interesting. i’ve a few questions here.

    1. Your Application is online. Do we need J2Me for the same? Won’t just a Browser enabled Phone do the trick?

    2. There is a concept of Mobile Online Solutions using WebDynPro for Mobile in Netweaver Stack? Could u tell me how your application has an edge over that?

    Right Away,

    • Hi Arun,
      Thanks for yor valuable comments..
      Let me try and answer your question one by one..
      1. Your Application is online. Do we need J2Me for the same? Won’t just a Browser enabled Phone do the trick?
      Yes.. A Browser Enabled phone shall make the data accessible. However, everytime for a user action a request shall be send to the server to retrieve the information. Also the UI needs to be downloaded from the server everytime. In this case, you have the UI in your phones plus some basic decision logic plus some data persistance facility. All you need to download is the data and not any other GUI component. This saves your airtime which in turn saves your money and time. Also, the size of a J2ME application is very low. For eg. the size of the application I demonstarted above is only 6kb.

      2. There is a concept of Mobile Online Solutions using WebDynPro for Mobile in Netweaver Stack? Could u tell me how your application has an edge over that?
      Mobile Sales Online is again Web Application running on Web Dynpro Java. So, the above explanation holds here. Also, poor response time is one problem in this soution. In J2ME, the amount of data that can be viewed is restricted. So, time taken to download this data(only useful data is downloaded) is very low resulting in better reponse time and increasing customer satisfaction.

      Please let me know if further clarification is required..


      • Well Explained Tanveer!

        So, instead of Going for an online solution, we could go in with yours! – Agreed!

        Can u strike a comparison between this and the features you find Mobile Infrastructure 2.5? The Pros n Cons kind of comparison? I guess that will make your blog Complete! 🙂

        Right Away,

  • This one looks so tempting.. getting the status on the mobile according to ur all looks so easy..
    Its interesting to read the new uptrends linking up to SAP… looking for coded examples and scenario’s in ur next blog..
    • Hi Sri,
      I have discussed some business scenarios in my new blog Mobilizing SAP Episode 1.
      Please have a look and comment on the same.


  • Hi Tanveer,

    Can you please throw some light on how the application is making an http connection to SAP,
    if through the web server, then do we require a service provider in place who will authenticate our URL (used to access J2ME app on webserver).
    because ultimately like a mobile webdynpro app its an online application.


    • Hi,
      Thanks for your comments.
      A mobile service provider shall be needed. The user shall need to have GPRS access. Also, as you have mentioned the J2ME application wont be on the server but would be on the mobile. The server shall have a J2EE application deployed.
      I guess this solution is better than Mobile webdynpro in terms that only the useful data is downloaded from the server rather the UI components. Please refer to my reply to Arun’s query.
      I shall soon post a blog on technical aspect of the same where the Http connection part shall be explained.
      Please feel free to ask more questions for further clarifications..


  • vhello tanver,

    i already had seen similar thing on the feature article
    for Mobile. i know there would be differences in design
    and implementation but the concept are all the same.

    perhaps, might be better if you would explain more
    on how
    the application manager manages your apps. does this
    trigger the all deployed applications a synchronized
    sync or the application has to take care of everything.

    i actually had been in a project with DoCoMo wherein we tried
    accessing SAP system via an iAppli. the mobile application
    only exchanges data with the middleware as well, but having
    a limited memory support on the device, only limited functionalities
    and set of data could be processed in the device; which greatly affect the usability of the product.

    anyway, nice article and i would love to hear how your
    architecture would address such problems.


    • Hey Jo,
      Thanks for your comments.
      Let me take up your question one by one..
      1.How the application manager manages your apps.
      The application manager is the software on a mobile device that is responsible for installing, running, and removing MIDlets(The J2ME application on the mobile). The manager is not responsible for any sync and the application shall be resposible,if developed to work in offline mode, to later sync with the system. However, the application which I have shown in the blog is an online application.

      2.Memory being a bottleneckk??
      Well the memory provided by the phones these days are good enough to run a small application. For eg: the mobile application which I have shown above is as small as 7kb and it gives you Login screen,Search screen, Option list, Output screen plus it holds logic to handle the incoming HTTP data plus some decision making logic.
      I have tested an application of similar kind on Nokia 6600 and the results are decent enough.
      Nokia 6600 comes in with a 6Mb of Phone Memory plus you can attach extra memory cards.
      The bottleneck if there is any is the bandwidth of the mobile service provider which I believe affects the performance of indeed all the online mobile solutions. I have heard services like EDGE have higher bandwidth and have edge over GPRS. This I guess shall solve the problem of bandwidth.Havent tested it with EDGE though..

      Hope I managed to solve your doubts.
      Please let me know if further clarifications are required. This could just help me make the application better and come up with a better blog.