Skip to Content

OpenUI for Agentry in SMP 3.0

OpenUI is now available in SMP 3.0 for Agentry.  This new feature-set allows programmers to extend the Agentry user interface to include controls you create yourself for the native OS: iOS, Android or Windows.  With this flexibility, your Agentry user inteface is limited only by your imagination.  Check out the recorded demo for an excellent introduction to this new technology by OpenUI experts Dave and Kunal from Syclo showing what is possible and how to accomplish it.

SMP 3.0 is still in ramp-up and not yet released officially.  OpenUI support is included in SP01 for SMP 3.0, so make sure you download and install that patch to make use of the new features seen in the demo video if you have ramp-up access.

Documentation Resources:

SAP official documentation


Check back here for more information on OpenUI as it becomes available!

You must be Logged on to comment or reply to a post.
  • Wow!  Great news Jason.  I was not expecting this until SMP 3.1.

    I have had a lot of people asking about Open UI for months.

    Cheers, Mike

    SAP Rapid Innovation Group - RIG

  • Hi Jason,

    Thanks for the links! As I understood from one of the slides in the beginning, with SMP 3.0, we will have OpenUI just for the controls and the full OpenUI for the whole metadata structure will come with the next versions of SMP... is this correct? If yes, in which version should we expect this?

    Also, could you give some details how to register in the SAPjam?



  • Hi Jason,

    When i tried to access

    • SAP Agentry Open UI Friends and Family

    it says I dont have access to this resource.

    PS: i have logged in SAP JAM my credentials.

    • Hi Jitendra,

      Why don't you DM the author and ask if there is a problem with external access.  It really should not be posted in SCN unless it is released externally.  However, SMP 3.0 is still in Ramp Up and you need to register for the RU program to get access to the SMP 3.0 technical objects.  It is pretty easy to do in Services Marketplace.

      Regards, Mike

      SAP Rapid Innovation Group - RIG

    • Guys,

      Sorry about the Jam site not giving access to external users who are not SAP employees.  I am working on changing that to give everyone access.

      Also to clarify, SMP 3.0 is still in ramp up and not yet released officially.  OpenUI support is included in SP01 for SMP 3.0, so make sure you download and install that patch to make use of the new features seen in the demo video.

      Jason Latko - Senior Product Developer at SAP

      • Hi Jason,

        you wrote that you are working on giving access to the content on the Jam site to everyone.

        Is there any progress?

        We are looking for an example of the ESRI integration with OpenUI.

        Regards Dirk

        • Dirk,

          While not available yet, (target is toward the end of Q2 but may change) as I udnerstand it the ESRI integration OpenUI control will not be distributed as source code but instead as libraries to be added into OpenUI agentry client.  Users will need to have access to the necessary ESRI libraries and ESRI server within their organization to combine it all together into the Agentry Client with the ESRI Open UI integration.

          I expect when it becomes availabel that it will also include some documetnation of how to use it within an Agentry application in terms of what data can and needs to be passed into the control to make it work.


  • Everyone,

    Sorry but the links have been removed temporarily until the content can be reviewed.

    Jason Latko - Senior Product Developer at SAP

  • Hi,

    you talk about extending the Agentry UI. Is there something you can tell us about OpenUI replacing the AgentryClient API (which is deprecated since SMP 3.0 and was used for exposing actions, transactions etc to external processes)?

    Regards, Daniel

  • Hi Jason,

    We are on the Ramp Up program for SMP 3 and I was wondering if there is an example project that we might look at so as to get an understanding of the OpenUI stuff.

    Do you have anything you can share?



    • Marty,

      As part of the SMP3 SDK in the Agentry Toolkit folder there is an OpenUISDK fodler that includes sample applications for iOS, Android and WPF.  Each of these include an Agentry export of an application that you can load to start exploring the Open UI functionality.



      • HI Bill,

        Got the sample app and can successfully import into eclipse.

        The documentation that I have is rather confused on the subject of publishing this to the SMP 3.0 SP2 server. It would seem that I need to somehow create a ZIP file from eclipse first and deploy this manually to SMP before I am able to get into the usual mode of simply hitting the Publish button from within the eclipse plugin.

        Would you (or anyone else reading this for that matter) have some better doco on getting an SMP 3.0 Agentry app setup for development?



        PS. The Admin guide having both Agentry and the other types of SMP apps all lumped together makes it extraordinarily confused. Does anyone else think that the doco is not up to snuff or am I somehow looking at the wrong ones?

        • Marty,

          I think you are all but there.  If you have your Agentry application created in the SMP3 Management Cockpit then you will have your application directory created. Assuming default path installation this will be C:\SAP\MobilePlatform3\Server\configuration\

          This is where you should be publishing to from the Editor.  However, under SMP3.0 SP02 when you install your SMP server as a developer instance and then create an Agentry application the Agentry.ini defaults to running to production mode (equivalent to ServerProd).  To use as a development server simply edit the file and change the developmentServer=false to true.  Then when you go to publish from your Editor it will work as you expect without needing the production zip publish process.

          Note, in SMP 3.0 SP03 when installed as a development installation and you create the Agentry application in the Management Cockpit it correct defaults to a development mode Agentry server.


          • Hi Bill,

            Thanks for the assist. The app now seems to publish. Files are created on the server as one would expect at least.

            I'm not able to get a client (WPF or ATE) to sync to the server but suspect that the problem may be in setting up a backend or the security profile. Either that or it's something to do with the public/private key encryption.

            Do you know of a nice clear set of instructions that can walk you through all the steps to get this OpenUI sample app to publish and deploy or am I being unreasonable in thinking that there should be such documentation when the product is still in Ramp-Up?



          • Marty,

            Unfortunately this appears to be a gap in the OpenUI SDK documentation.  The OpenUI Agentry project assumes you have a database already setup and loaded with the data contained in the OpenUIPlayersDB.linq file in the Sample directory.  By the way what platform are you attempting to look at?

            For the database you can use SQL Server Express or another supported database of your choice.  It is assumed that you have access to a database server and know how to setup the database.  Depending on what server you are using you may need to edit the file to adjust the SQL.  I have loaded it to both SQL Server and SQLite for my own internal testing.

            It is also important to note that you will need to either edit the .linq script to change the tablename or in the Agentry project fix the script which downloads the data since teh  Agentry project assumes the tablename is Players instead of OpenUIPlayers as in the script.  Probably easiest to fix the step in your Editor project.

            Once you publish from your Editor to your SMP3 server (and it is running) you will need to go into the SAP Management Cockpit and for your application edit the Backend settings to point it to your database.  The settings will vary based on what type of database you are using and the settings for it.

            As you mention, security (certificates) is the other area you may run into issues with SMP3.  You will need to make sure the certificate for your SMP3 server is installed on your client device or you will get errors attempting to connect the first time.  How / where the certificate gets loaded to the client will vary depending on what type of client you are using.

            In your client you will need to specify the URL to access your SMP3 server and it will be in the form of

            https://{hostname from smp_crt.cer file}:8081/OpenUI

            My recommendation is to get your SMP3 server up and running with the OpenUI sample Agentry application first using a default agentry client and then look at the next step of tackling the process of building your OpenUI Agentry client containing the code for your OpenUI control or in this case the sample SDK code but that should be at least partially documented in the SMP3 link Jason posted.


          • If you are going to use SQLite for the database you will also have to fix the date formats on the insert strings to match SQLite expectations YYYY-MM-DD instead of MM/DD/YYYY as in the .linq file.


          • Hi Bill,

            Thank you for the post!

            I'd twigged to the need for a database last week after taking a closer look at the contents of the Project. Hadn't hit upon the script though (installed the old Northwind DB from back when I did my original Syclo training). I do at least have that backend showing up in the Admin console now. Will switch to the script you mentioned.

            I figured that syncing the WPF client of ATE would be a first step before getting down to the business of fiddling with the actual OpenUI code.

            Do you have the OpenUI setup working? Any chance of a screenshot of the relevant screens from the Admin interface (particularly the backend)?

            There seems to be little in the way of doco about the setup of the required encryption. Will have a play using the details in your post but do you know if there are instructions somewhere for configuring this stuff? I know I spent a bunch of time on the encryption for SMP 2.3. It's not an area that is suited to guesswork. (IMHO)

            For initial testing I will be running the client on the same bow as the server (my Dev VM).

            My platforms are Windows Server 2008 R2 on the backend, Windows 8 on the mobile devices. SQLExpress for the DB.



  • This comment started so as to justify things back to the left of the page! It is the ongoing saga of getting the OpenUI project up and running.

    So, have made progress in various areas.

    My WPF client appears to be able to sync to the SMP 3.0 server (i.e. the encryption issue seems to be solved)

    The Database setup however is a different matter. I created an ODBC System DSN, made sure it worked and then setup my backend to look like:


    I've created a DB with the previously mentioned OpenUIPlayersDB.linq script.

    Have been bashing my head against SMP3.0 all today and am convinced that it is failing due to the syntax present in the getUserName.sql and validateUser.sql files under c:\SAP\MobilePlatform3\Server\configuration\\sql.

    04/08/2014 16:01:02, 1,   

    16,   103, Thr   2968, BackEnd SQL-OpenUI.ini [Misc] getUserName=getUserName.sql, 3: SA_DBMS_API_Error, DB Code: 102, DB Text:42000 [Microsoft][SQL Native Client][SQL Server]Incorrect syntax near 'flunky'.

    42000 [Microsoft][SQL Native Client][SQL Server]Statement(s) could not be prepared., query.cpp#145:SQLQuery::run

    The reference to 'flunky' has me a little perplexed.

    The getUserName.sql file looks like this (from installation):

    <!-- get user name from database -->

    select <<database.unicodePrefix>>'<<ID>>' as NAME


    Now, I've tried various mods to this but you would expect the following to work (at least to get us past this stage):

    select 'dev' as NAME

    Assuming that 'dev' is the name of the user. (Yes I did try it with the Unicode modifier etc). Once you change the getUserName.sql to return a value the error massage changes to suggest that the validateUser.sql isn't returning true....

    Did you manage to get working versions of these sql scripts when you setup against SQL Server?



    PS. I'm currently trying the SQLServer driver and named pipes but this may well be an entirely new can of worms.

      • Hi Steve,

        Thanks for the assistance!

        BTW. The file is SqlServer_sd.ini (no 't')

        I now have the whole shebang working and syncing.



    • You could always build your own agentry application from scratch without any SQL backend and just add some screens with OpenUI Elements (basically copying them from the sample project). This is what I did for the WPF Client (and it worked).

      Btw. you should build your own minimalistic Agentry application anyway... that way, you can test features a hundred times faster (deployment times are much slower and you dont need to get tons of tables and objects from the backend system). We also found it to be a good way to reproduce bugs in the platform and add them to support tickets.

      Regards, Daniel

  • Hi, when I try to add Agentry SDK I have these errors:

    Description    Resource    Path    Location    Type

    error: Error: No resource found that matches the given name: attr 'actionOverflowButtonStyle'.    themes.xml    /AgentryAndroidClientResources/res/values    line 32    Android AAPT Problem

    error: Error: No resource found that matches the given name: attr 'background'.    themes.xml    /AgentryAndroidClientResources/res/values    line 33    Android AAPT Problem

    error: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'.    themes.xml    /AgentryAndroidClientResources/res/values    line 27    Android AAPT Problem

    error: Error: No resource found that matches the given name: attr 'actionBarTabTextStyle'.    themes.xml    /AgentryAndroidClientResources/res/values    line 38    Android AAPT Problem

    error: Error: No resource found that matches the given name (at 'resource' with value '@raw/license_short').    about.xml    /OI File Manager/res/xml    line 10    Android AAPT Problem

    error: Error retrieving parent for item: No resource found that matches the given name 'Widget.Sherlock.ActionBar.TabText'.    styles.xml    /AgentryAndroidClientResources/res/values    line 137    Android AAPT Problem

    • Lukasz,

      Can you please tell what Library did you add to fix the issue,I have been searching about the initial  project setup from the past two weeks.

      Also If you can write a post for doing the Initial Android and IOS Set-Up.



      • Please create a Discussion marked as a Question.  Not only so 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.  Also suggest that you visit the Getting Started link at the top right of each SCN page for help with creating a good Discussion.


    • Jason,

      I'm struggling with the idea behind the openui possibility in syclo.

      When you use openui to build a native part within a syclo application (for instance for gis integration), you loose the concept of "design once, run anywhere". At that time, aren't you investing (too) much time in the integration of the two technologies, and would it not be better to choose for custom development in this case (hybrid kapsel, native, ...)?

      Of course, if there is a standard app from syclo which covers 90% of the requirements of the customer, i understand openui could be used to cover everything. But using syclo for custom development and openui for creating a "cool" user interface, seems overkill to me.

      Any thoughts on this?