Using SAP River to Simplify Native Development on SAP HANA: Q&A with John Appleby and Chaim Bendelac

April 08, 2014

Thanks to everyone who joined in our Q&A with SAP mentor John Appleby and SAP's Chaim Bendelac. There were tons of questions on what, exactly, SAP River is, how you will use it, and how to get started. 

Review all the questions for Chaim and John here, in the chat replay, or read the edited transcript of all the discussion below.

Sponsored by HANA 2014 and moderated by HANA 2014 conference producer Bridget Kotelly




Bridget Kotelly, HANA 2014:  Thanks to everyone for joining us! 

Bridget Kotelly: Our topic today is using SAP River for native development for SAP HANA, and we’re very pleased to have SAP mentor John Appleby and SAP’s Chaim Benedelac take your questions today. John, Chaim, thank you for joining us today!

Chaim Bendelac: Hi, my name is Chaim Bendelac. I am a senior software architect with the HANA/River team at SAP. I hope to be able to answer your questions today, if any of your questions still appear to be unclear/unanswered, don't hesitate to drop me a line at, and I'll answer you after this live event.

John Appleby: Hi, I'm John Appleby. I'm not as organized as Chaim! I'm the Global Head of SAP HANA at Bluefin Solutions and a SAP River early adopter. Very glad to be able to add a partner/customer perspective to the River conversation!

Bridget Kotelly: Well, we have quite a few questions from our readers... I’ll let you get to those now! 

Comment From Guest:  Hi everyone.

Comment From JP:

Exactly what is SAP River?

Chaim Bendelac: Well, River is a new development language for developing entire applications natively on SAP HANA.

The SAP River language allows you to design and specify all the semantic elements of a data-centric business application, including its data model, data constraints, the business logic and role based access control, within a single, coherent and integrated program specification.

John Appleby: Exactly. From what I understand, SAP intended SAP River to be an answer to the ultimate batch process - the process of writing software. River is intended to redefine the experience of development.

Chaim Bendelac: I can't show you pictures here, but River broadly occupies the place where you used to develop stored procedures (close to the data), but with the full power of an application language. Fundamentally, River allows you to collapse two separate programming tiers into one, without duplicate data models or ORM.

In addition to all the regular stuff of programming languages, River implement a relational model. When you define a "data structure" in River (we call it ian entity), it becomes a table in the database. And you can have variables of that type, you can operate on these variables (by doing projections, selections, unions, and other operators), right there in your program. No SQL, no connection to a database, no ORM, as you would have in Java, for instance.


Comment From Vasanth S

What are the pre skills required to start SAP River Language?

Chaim Bendelac: To develop River, you need only two components: development tools and a HANA system (activation, execution). The tools come as a plugin for the HANA Eclipse based Studio environment, and we will release a web-based environment later this year as well.

Of course you need some basic programming skills, but that is enough to get started...

John Appleby: Yep - I think in practical terms, any development experience will help. Understanding how Entity Modeling works is really helpful. A procedural language like Java, plus some SQL skills would all be helpful to starting out with SAP River.


Comment From allan

Does River replace existing methods, supplement them, or create a higher-level facility with which to generate them?

Chaim Bendelac: River is a higher-level language than some of the other development tools that we provide with HANA, like SQLScript, for instance.

It is complementary, but River is intended to provide a comprehensive development experience, allowing you to define the entire app...


Comment From Trond, Nestlé

What are the similarities between RDL and CDS (Core Data Services), and will the two merge in the future? Both seem to overlap to some degree, with the possibility to define complex data models including relations.

John Appleby: RDL and CDS - great question. Remember that River was always intended to be platform independent. Currently, River has been built on top of SAP HANA for strategic reasons, but that's not the intended end place. So, RDL compiles code into SQL Tables, Views, CDS and SQLScript. That's just the HANA instantiation of the River language.


Comment From Johannes

Hi gents! If I am hiring a few juniors to pick up this skill, what good base skills should they have to start with?

Chaim Bendelac: Hi Johannes, basically, to use River, you need some familiarity with business application programming. Things like data models, some understanding of their SQL relational model, and stuff like that.


Comment From Christian

When modelling processes with River, will there be an option to export the River code into a graphical model (e.g. UML or BPMN)? Will there be an option to start with a graphical model and then drill into the implementation from there?

Chaim Bendelac: Hi Christian, that is an interesting question. I don’t see why not; it is just a matter of integrating the meta-model underneath both (XML?). But I would need to look into this a bit.

The River tools will come with graphical representations, as part of our roadmap, too.

Comment From Giovanni

Is SAP River the appropriate development approach in case you use BI4.x tools on top of HANA?

John Appleby: I think that depends. Certainly, River and BI4 aren't mutually exclusive but you should look at what you're looking to build. River is ideal for building new, contextual, business applications. If you're in that place and it makes sense to use the BI4 suite, then sure, you can integrated River to BI4.


Comment From Vasanth S

Does SAP River support only HANA??

Chaim Bendelac: The current implementation of River is indeed HANA-specific, but the development language is general, and not SAP specific.

John Appleby: Let's not forget where River came from - it was an existing application development platform and SAP already built some apps on that in 2010. River and HANA are just friends, not exclusive partners :-) 

Comment From Amarinder

How is SAP River different from SAP HANA and is it part of SAP HANA Development?

John Appleby: River is an addition to SAP HANA - it sits within the HANA platform. When you compile your RDL, it builds HANA artifacts. This is the power of River - you can express complicated constructs in a few sentences.

Chaim Bendelac: So hopefully, this is already clear. HANA is a platform; River is a development environment for developing applications that run on that platform.


Comment From Guest

How would you compare River with SQLScript?

Chaim Bendelac: River is a high-level programming language (modern syntax, objects, typed structures, nested namespaces, access control) to develop full applications. SQLScript is a language only for writing HANA-specific stored procedures. River code compiles to SQLScript, but also provides the power of higher-level languages, similar to JavaScript or Java.


Comment From Johannes

Guessing at this time it makes little sense to get River when you go the BW on HANA route, and as a result, River is included in the native HANA license?

Chaim Bendelac: Yes, River is part of the HANA license, of all HANA editions.

John Appleby: Yes but to add some context, we often find that BW customers do then turn to do native development once they have deployed BW on HANA. In many cases, SAP can offer a mixed-mode license that allows for HANA native development on a BW box. But each customer is different so I don't talk licenses :-)

Comment From Johannes: I therefore get River when I buy the BW / HANA license only?

Chaim Bendelac: Let me be more precise. River will be in "General Availability" with the next version HANA, revision "SPS8".

It is part of the HANA XS development environmrent, so if you have a license for the XS tools (Studio, XS runtime), then you also have a license to use River.

John Appleby:  Johannes - licensing is often customer-specific so best to check/negotiate with your account rep. but I don't think the BW Runtime license would include River. You would need Enterprise Edition or Platform Edition.


Comment From Victor

What kinds of SAP HANA views can use SAP River (Attribute view, Analytic view, EE Calculation view)? How does the type of SAP HANA view depend on the speed of data processing SAP River? What kind of  SAP HANA view is preferable for SAP River?

John Appleby: So from a conceptual perspective, River is intended to remove the reliance from creating views and expressing specific optimized content. From a practical perspective it's not there today and I find myself having to create SAP Information Views in some cases. In that case, the View methodology is the same as native HANA. And you can reimport those views back into River.


Comment From Guest

Which SAP Course# teaches River?

Chaim Bendelac: We have started to teach River at TechEd, and there will be additional events during this year as well. Also, you can take a look at the HANA "Academy"; there are about 20 or so videos on line already.

John Appleby:  Right - there's no SAP Education classroom course yet. The HANA Academy course combined with is a great place to start!

Chaim Bendelac: We have no books yet, but I invite you to take a look at, where we have several reference manuals and tutorials for you, free to read :-)

Comment From Michel: How can I (an ABAP developer) learn the complete RDL? 

Chaim Bendelac: has tutorials to get you started...

Comment From Guest

Hi Chaim, when you say programming skills...which skills are you referring to...ABAP/SQL/Java...?

Chaim Bendelac: You don't need ABAP experience. Understanding SQL is very helpful, because the "relational model" is natively part of River.

John Appleby: Yes, also River actions are quite similar to any other procedural language like Java

Comment From MOHAMMED TAHA FARIDI: Is the syntax in SAP River similar to that in ABAP?

Chaim Bendelac: Not really. Have look at the links I sent you. River looks more "object-oriented"-ish, with namespaces, rich structures, objects, free syntax, nesting, etc. Some traces of JavaScript there as well. Take a look at the docs, to get a sense of it.


Comment From allan

Can one achieve new functionality with river that does not exist in other languages, or is it more about a new process, toolset and methodology - and potential advantages to those?

Chaim Bendelac: It isn't really about "new" functionality, but a far more convenient way to build entire applications. You have to experience to see. River collapses basically the "application tier" into the database, using the power of HANA processoirs, and the closeness to the data, to achieve good performance, but as a programmer, it is mainly about convenience: one environment for defining the data foundation, model, and even access control layer.


Comment From Gurpreet

Is SAP themselves going to write all their future HANA code in River? Are you also going to convert the code for the existing Business Suite on HANA to River?

Chaim Bendelac: Not at all. River is meant to be used by customers to either write green-field apps, or EXTENSION apps, that integrate with existing applications.


Comment From Vasanth S

I'm the functional consultant and having 3yrs of experience. Have many ideas, Want to change and automate the business process. Will it be useful to my career if i start learning and developing small-mid sized apps by using SAP River?

John Appleby: I've learnt not to offer career advice :-)

But seriously, SAP River is a new technology and you should take this into account in terms of the number of job opportunities available. Learning River will differentiate you but without many large projects on the go, you may find it tough.


Comment From Vasanth S

Is SAP RIVER open source platform to learn and deploy?

John Appleby: No, River is proprietary to SAP, but there are free developer editions available.


Comment From Guest

Would River be the recommended approach to do native HANA development? Can you build analytic vies/calculation views etc. in River as well?

Chaim Bendelac: Yes. you can, although there may be a few aspects of analytic views that are not yet spported by River.


Comment From allan

Will River be used in future SAP-supplied applications?

Chaim Bendelac: Yes.


Comment From Navaz

So it sounds like River can also act as the Application tier and output the results. Is there specific formats that it can output? Does the output work with mobile?

John Appleby: So River is really a Data Platform right now. It is OData compliant. If you want to build apps, you need a UI layer. SAP have a nice project coming for this - WATT or Web Application Toolkit. WATT will be the UI to River's Data Platform, and will sit on HANA or other platforms.


Comment From allan

For enterprise-class applications, how would you envision offering team programming, source code control, etc.? Is River entirely visual? Does it produce artifacts which can be source-code controlled and lexically searched for regressions, etc?

Chaim Bendelac: The HANA platform has a built-in souce control system, although it is not very sophisticated. It allows source sharing between multiple developers, for instance, version merging, etc.

You always have the option of using GIT or your oewn prefered toosl, and just add a "connector" to import the final source into HANA for compilation.

John Appleby: So in my opinion in SP07, SAP hasn't completed all the work here. River are HANA XS artifacts so RDL does have source code control, team programming etc. It's completely written in text wright now, and the artifacts are HANA artifacts. But, there are quite a few limitations in the detail today.

John Appleby:  :-) We answer the same question. In a similar way :-)


Comment From Rajesh

Is EWM 9.0 HANA compatible? What do I need to take care or know as consultant when I propose HANA for EWM 9.0?

John Appleby: So we're not EWM experts but the answer should be yes - you can integrate River with BAPIs. But I'm not necessarily sure this is the right question: rather, think in terms of what solution design is required for the customer, and how HANA/River integrate.


Comment From Guest

What is the difference between building HANA Native App using XS and River?

Chaim Bendelac: Good question.

River is *part of* XS.

If you are familiar with XS, you know that to build an application takes a lot of different moving parts. Tables, views, OData controls, access control, XSJS, stored procedures are all different components.

River pulls it together in one environment, but you still have the option of developing certain partos of your app "outside" River, and then just import/invoke/reference from River.

XS and River are fully interoperable.

Comment From Sandeep

Is River an extension to the HANA Native App development which is available now using XS?

Chaim Bendelac: Yes. The River tools are part of XS, and compatible with XS. River allows you to develop a comprehensive app, using one language and one tool, which makes it significantly easier.

Comment From Guest

If the apps are written using River, are they compatible with iPad, iPhone etc? How do we use them on iPad, iPhone etc?

John Appleby: River is a Data Platform that exposes OData. So yes, you can consume that OData within an app that you build in an iPhone. Or, you can write HANA XS applications using SAPUI5. SAPUI5 works great on any device, depending on how you write the code. If you use sap.m, then you will get a responsive UI.


Comment From Jacques-Antoine

Would there be an integration between the HANA Studio and the Cloud Application Studio based on River?

Chaim Bendelac: So, yes. You can use the River studio tools with the recentyl announced HANA Cloud platform, which comes with River.

We are also planning a web-based (browser based) set of River tools, but these have not yet been released.


Comment From Rajesh

In EWM 7.0 we have written programs using class and methods (ABAP OOPS). What will be the impact if client decides to go for HANA in the future? Should we re-write the programs?

John Appleby: This isn't really a question that relates to River specifically. When you port your traditional RDBMS to HANA, you may find that you need to refactor custom ABAP. Usually, we do this by profiling the ABAP that has a high impact and making changes.


Comment From Mohammed Taha Faridi

Will it require SAP NetWeaver in the application layer; if yes, are there any plans to rid it of the NetWeaver dependency?

John Appleby: No, there is definitely no dependency between SAP River and NetWeaver.


Comment From Guest

Is River only adapted to new development starting from scratch or can we also use it to develop new UI on top of SAP Business Suite?

Chaim Bendelac: River creates "backend" applications, that run in the DB.

Clients (GUIs) communicate over the web, using ODAta.

Having said so, watch for future news about the integration of UI-application building tools from SAP and River.


Comment From Guest

Michel: How can I (an ABAP developer) learn the complete RDL. So far I watched the video's at

John Appleby: Best place to go is - there is the complete RDL reference guide there.


Comment From Vasanth S

What is the future of SAP ABAP when talking about SAP River??

John Appleby: I don't think that River and ABAP are mutually exclusive. ABAP and NetWeaver are the basis for nearly 100k SAP Business Suite customers. Those customers will continue to use ABAP and may extend ABAP solutions using River. Others will build new apps directly on River.


Comment From Eddie

Can you please provide a brief overview of Development tools and software we need for River development? If this environment is not tightly intergrated into SAP NW like SAP GUI(ABAP), how can we ensure the controls, versioning etc. Thanks

Chaim Bendelac:   You need HANA, and you need tools. The tools we offer are a plug-in into the HANA studio, Eclipse-based.


Comment From Vasanth S

Why is SAP River required to build native apps? Why not other?

John Appleby: SAP River isn't required to build Native HANA Apps - it's an option. We find that River really reduces the amount of development effort required. But it's a choice.


Comment From Guest

I haven't done any native HANA development. What does it take to learn River? Will Java help me?

John Appleby: Honestly - what it will take is for you to go and do it. You can get access for free and the HANA Academy is free. is also free, so you have all you need. Go build!


Comment From Guest

For ByDesign development, will SAP implement River development as ByDesign should go on HANA soon?

John Appleby: So my understanding is that some of the ByDesign teams are looking to build extension apps already in River, because it is convenient to do so. I don't think that there's a strategic stated direction to do this yet, but in my mind it will happen because River makes development easier and faster.


Comment From Mohammed Taha Faridi

Can we develop Web applications and also, can we deploy the code in the cloud through HANA Cloud Platform or Cloud Portal?

Chaim Bendelac: Yes, and yes.


Comment From Gurpreet

Is River only meant to develop small-footprint apps, like mobile? If an SAP development team wants to support BI on HANA, or ECC on HANA, is it better off learning HANA-native SQL script or River?

John Appleby: So I think that in most cases, if you are in the SAP install base, then understanding how to optimize your existing apps for HANA will be priority #1.

River is a neat way once you are on HANA to build extension apps for the install base.

But, you will need people who know SQLScript either way.


Comment From michael

Is it supporting multiple developers working in parallel on the same project? Is there a configuration/transport management?

Chaim Bendelac: Yes, multiple developers is supported (as of SPS, which introduces application sharing, and applications that span multiple source files).


Comment From allan

Does River introduce a new engine into HANA?

John Appleby: Mostly, River uses the existing HANA database engine for tables and stored procedures, XS engine for OData and generated code.

But there are some River-specific developer components which could be considered an engine - from what I can see these are used for certain types of OData access.


Chaim Bendelac: Let me just add one more clarification: River is currently not yet Generally Available (in SAP terms), but in a "Early Adoption" mode. This means that early adopters have to download it; we work closely with those of our customers who have started to use River. As of release SPS8, River is expected to be in full GA mode, meaning that it will come pre-installed with HANA.

And a final wrapup, here is the list of links again, in one convenient place:

All our documentation:
Forum to ask questions:
Videos on River:
Test it out yourself:

Bridget Kotelly:  Thanks again, everyone, for all your great questions. For more on this topic, I invite you to join us at HANA 2014 – for those in the US, you may have seen John this past March in Orlando! We’ll be hosting HANA 2014 next in Europe, in Nice, May 21-23. We hope to see you all there.

And thanks again, John and Chaim, for joining us today and taking some time out to answer these questions – great information to prepare everyone for the upcoming SAP River launch.

Chaim Bendelac: Thanks everybody! Again, for any unanswered questions, feel free use one of the links above to post a question to our forum, or contact me at  Bye, and thanks!

John Appleby: Thanks all! Hope we have helped clarify the way that you view SAP River. You can contact me on if you need me!

You might also be interested in...
the Spotlight on SAP BusinessObjects BI 4.1 featuring the top 10 reasons to upgrade to SAP BusinessObjects BI 4.1, best practices for upgrading your BI platform, and a look at how SAP is simplifying the BI portfolio moving forward.

Read the full report today

An email has been sent to:

More from SAPinsider