Introduction

One of the silent gems of new features in SAP HANA in SPS06 was actually the inclusion of new browser based development tools.  I call this a ‘silent’ gem because although we didn’t keep the launch of this new feature a secret it also wasn’t necessarily easy to find.

The content for the browser based development tools was shipped as what we called Non-Automatic Content. This means the Delivery Units were shipped in both new system installations and systems which were upgraded to SPS06. However the content was only stored on the file system of the HANA server and not automatically imported. You had to manually import the delivery units in SPS06 if you wanted to use these new web based development tools. However, in SPS07 the content is now automatically installed and ready to start using. 

This is just one of several new or enhanced features for the web based development tools in SPS07. In this blog we want to have a look at many of these features as well as how to find some of your old SPS06 features in the new version of the tools. Whether you are a long time users of the web development tools during SPS06 or new to the subject, I think you will find something interesting in this blog.

If you prefer a video of a topic over reading a blog, I’ve also prepared a video which covers must of the same content as this blog:

I will also intermix specific video points when discussing specific features later in this blog.

We also have a What’s New document (PDF version of presentation slides) which you can download and study:

http://www.saphana.com/docs/DOC-4286

Advantages of Web Based Development Tools

No longer are you required to install the SAP HANA Studio and Client if you only need to do some basic development object creation or editing in the SAP HANA Repository. This means you can be coding your first application within seconds of launching a SAP HANA instance.

The usage of such browser based development tools is particularly appealing to cloud-based SAP HANA development scenarios, like SAP HANA one.  You only need access to the HTTP/HTTPS ports of the SAP HANA server and avoid the need for any additional client side software installation. A browser pointed at the SAP HANA server is all you need to begin development.

On the openSAP forums, I was recently asked why SAP decided to invest in browser based tools when we already have SAP

HANA Studio. I’m going to plagiarize myself and repost the response here:

Web IDEs require no installation on the client side.  So if you are using a MacOS device today, there is no officaly supported Mac version of the HANA Studio. Therefore the Web IDE offers an alternative if your OS doesn’t support Studio.

Web IDEs run on the HTTP port. Especially in the cloud usage scenario, it’s probably easier to get this port open rather than the various ports used by the Studio.

Web IDEs work on mobile devices. No you probably don’t want to develop day to day on a mobile device, but what if you get a support call in the middle of the night?  It’s a great way to quickly check on something. I’ve used it to fix a demo in the middle of an event from my phone.

Web IDEs are good for system admins that might want to only change a xsaccess file.  Even if they have HANA Studio, they will probably feel more comfortable with the direct edit/save workflow of the Web IDEs rather than the project check out /commit /activate of the HANA Studio.

  

Getting Started

Before we jump right in and start discussing new features, let’s make sure you have all the knowledge you need to begin using the Web-based Development Workbench. One of the major changes from the SPS06 version of the web based development tools is the inclusion of new authorization checks.  This also differs from the HANA Studio for development. Of course you’ve always need package or schema privileges to perform development tasks, but no general Developer role was needed. 

This changes with the  Web-based Development Workbench in SPS07 where several new standard roles are delivery and the Application Privileges they contain are required in order to even launch the web based development tools.

First of all there are four individual roles which cover the various capabilities of the web based tools:

sap.hana.xs.ide.roles::CatalogDeveloper

sap.hana.xs.ide.roles::EditorDeveloper

sap.hana.xs.ide.roles::SecurityAdmin

sap.hana.xs.ide.roles::TraceViewer

These are nice for specialized situations. For example you have have a user who only does user maintenance. Therefore you can give them sap.hana.xs.ide.roles::SecurityAdmin and they won’t have access to tools they don’t need such as Catalog maintenance or trace viewing. 

Most developers, however, are going to want access to all of these tools within the Web-based Development Workbench. Therefore there is one nicely consolidated role which contains the same capabilities of all the above mentioned roles. So developers can simply have sap.hana.xs.ide.roles::Developer added to their existing role or granted directly to their user.

Although not specific to the Web based development tools, most developer are also going to want to be able to debug as well. If you already have the debugging authorization and setup from using the HANA Studio; don’t worry – there isn’t anything additionally needed for debugging from the web based tools. However if you are new to debugging or unsure if the setup is complete, please refer to the SAP HANA Developers Guide – Section 8.8 Debugging Server-Side JavaScript for all the necessary setup steps.

Navigation

Another major change from SPS06 to SPS07 is the general navigation between the tools.  In SPS06 we actually introduced two separate browser based IDEs. One was a kind of ‘lite’ IDE which focused on code editing and debugging. The other was named the Web-based Development Workbench also had code editing and debugging as well as expanded features for Catalog, Security, and Trace viewing.

In SPS07 we merge the capabilities of both of these tools together into a single Web-based Development Workbench. Gone are the two duplicate editors/debuggers; replaced by a single implementation that takes the best features from both approaches in SPS06.

Therefore when you load the URL of the former Web-based Development Workbench – /sap/hana/xs/ide/ – you are now greeted by a launch page with easy navigation to the various major tools capabilities.

WebLaunch1.png

No longer are the Catalog, Security or Trace tools tabs within the Editor application itself. Now each major capability is broken out into its own independent web application. This better facilitates the separate authorization concepts we discussed previously. This also means that each of these tools has its own direct URL:

Editor: /sap/hana/xs/ide/editor/

Catalog: /sap/hana/xs/ide/catalog/

Security: /sap/hana/xs/ide/security/

Traces: /sap/hana/xs/ide/trace/

  

Editor

Looking at each of the tools categories in more detail, it probably makes the most sense to begin with the Editor. This tools allows for the lightweight creation and editing of development objects and debugging without the need for the SAP HANA Studio. Whereas the HANA Studio has tooling for all possible development artifacts, the browser based editor primarily focuses on the textual based development artifacts. This means if you want to edit the graphical modeling objects (like Analytical or Attribute views), you still are likely using the HANA Studio. However for XSODATA, JavaScript or even HTML objects, the browser based editor offers an equally good experience. In many cases you might actually find the workflow simpler than the HANA Studio.  There is no project check-out, commits, or activation. One of the of focuses of the web based development tools is the simplified workflow of directly editing a development object.

However this editor isn’t just simplistic.  For HTML and JavaScript (including Server Side JavaScript- XSJS), it has advanced editing features like Syntax Coloring, Code Folding, and even Code Completion.

CodeEditors1.png

CodeEditors2.png

There are also a lot of features in the Editor which focus on developer productivity.  For example there are application wizards.  At the package level such wizards can be used to create new development artifacts from templates. For example creating the initial .xsapp and .xsaccess files or even creating complete mobile or desktop UI5 framework pages.  There are also special UI5 templates which can be injected into existing HTML pages.

And if you have a large number of files to bring into the HANA Repository, the Web based tools also have you covered. For example you might have multiple images to upload into your project.  You don’t have to do that one file at a time thanks to the Multi-File Drop Zone.Multi-File_Drop_Zone1.png

Testing and debugging are also particularly strong points from the browser based development tools.  When you choose the run option, the service or html page will simply open in a new browser window. There are even options to simulate mobile device modes for SAPUI5.

DirectTest1.png

But the debugging is a favorite of mine. Just set a breakpoint and run the application and you will find yourself in an interactive debugger in the browser. No need to lookup the session id from the browser as we must do in the HANA Studio debugger.  Although you are in the browser, you still get a rich debugger experience with critical features such a viewing and changing variable values.

Debugging1.png

I really encourage to have a look at this section of the video which details the debugger. It helps to see this particular feature in action:

Another great new feature of the Web based development tools is access to Version Management.  The HANA Repository has always kept track of all version history for each time a development object is committed to the server. The HANA Studio currently doesn’t have the APIs or tools to interact with this server history. Instead it only presents local editing history. 

The web based tools, however, access the HANA Repository for all version history as persisting history on the client side wouldn’t make any sense. Therefore you get version comparison and restore from previous versions based upon the complete object history on the server.

Versions1.png

Catalog

The catalog tool gives you access to HANA Schemas and the runtime objects within. There are tools here to display the definition of tables, views, procedures, functions, etc. You can even use the Catalog tools to view the contents of a table or view.  There is also a SQL Console where you can issue any arbatery SQL statements.

Catalog1.png

Security

The Security tool gives you access to User and Role details.  Its a great tool for the security administrator that might otherwise have no reason to log into the HANA Studio.  From here you can assign roles, reset passwords, unlock users, etc.

Security1.png

Traces

Often when something goes wrong during the development process, the first place you should look is the trace files.  If you’ve ever used the trace files from the HANA Studio, you probably have been overwhelmed by the number of files to choose from. This is where the trace tool in the web based tools is nice. It only shows you the XS Engine and Index Server trace files – the two developers are most likely to need to interact with. The index server trace files will display activation error details and SQLScript trace messages and dumps.  The XS Engine trace will cover error situations with Server Side JavaScript and the XSODATA framework.

Traces1.png

Changes between SPS06 <-> SPS07

As described already there are many changes if you had previously used the Web based development tools in SPS06.  Therefore we’ve prepared a special video section which specifically discusses where to find some of the common features and functions which have moved during the changes for SPS07.  If you were a regular user of these tools in SPS06, I strongly encourage you to review this video before using the tools on SPS07.

To report this post you need to login first.

14 Comments

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

  1. Kevin Coy

    I have been unable to find a complete set of instructions, that work, for using the trace viewer. I can get it to work for the SYSTEM user, but the trace statements go to the indexserver_* files, not the xsengine_* files like I was expecting.

    When I log in with a user other than SYSTEM, I see this

    /wp-content/uploads/2014/04/empty_trace_viewer_437261.png

    I have the roles and privileges I believe I need:

    /wp-content/uploads/2014/04/my_roles_437262.png

    /wp-content/uploads/2014/04/my_application_privileges_437263.png

    Lastly, here is my test XSJS code:

    function testTrace () {

         $.trace.info(‘My name is Kevin Coy’);

         $.trace.error(‘My name is Kevin Coy’);

         $.trace.debug(‘My name is Kevin Coy’);

         $.trace.fatal(‘My name is Kevin Coy’);

    }

    testTrace();

    (0) 
    1. Kevin Coy

      Also, I seem to be able to see trace messages at all levels from the SYSTEM user (ie, info, debug, error, fatal), but from my own user, I can only see trace messages at error and fatal. How/where is this configured?

      (0) 
    2. Thomas Jung Post author

      I use a development user and not SYSTEM on my system and I view both of the trace types just fine from the Web IDE.  However my role also contains the SYSTEM Privilege TRACE ADMIN.  That’s the only obvious difference I see between what you described and my development user.  You might try adding that.

      As far as the SYSTEM user only showing error and fatal: that would seem likely due to the trace level currently configured in your system. From the Trace Configuration you can set system wide and user-specific trace levels.

      Trace.png

      (0) 
      1. Kevin Coy

        Hi Thomas, thanks for the suggestion; however, addint “TRACE ADMIN” to my “system privileges” did not seem to help. Perhaps it is a bug in HANA Rev 73?

        (0) 
        1. Thomas Jung Post author

          Have you tried viewing them from the HANA Studio?  If you can view them there but not in the WebIDE that would seem like a bug.  Still if SYSTEM can view them and your user can’t, it would seem to be authorization related but I’m not sure what else you could be missing.

          (0) 
          1. Kevin Coy

            Yeah, I tried from HANA Studio as two other users, besides SYSTEM, and I couldn’t even get to the “Administration” page. Both attempts yielded the following:

            /wp-content/uploads/2014/04/administration_error_438207.png

            (0) 
    1. Thomas Jung Post author

      BW transaction codes have nothing to do with the SAP HANA Web-based Development Workbench. The Web workbench is for HANA Native Development (XSJS, XSODATA, UI5, SQLScript, etc).  For BW Transaction codes you would still use the SAPGUI.

      (0) 
  2. Sankarganesh Thirumalaisamy

    Hello Thomas Jung,


    I don’t know is  the right place to ask this question.


    I have created a SAUI5 application by consuming oData service created from SAP BW Bex query and i have some doubts here.


    Using SAP UI5 i am able to display the data but i want to drill down based on characteristics(like we used to do in Bex query).


    is it possible to drill down the results at run time of the application?


    What is the advantages of consuming BW queries using SAPUI5 instead of other BO tools?


    Thank you in advance!

    (0) 

Leave a Reply