Skip to Content

Getting to know 1.5 : Data Binding – A feature that deserves a lot of attention

I will focus in different new parts. See what they do and how I think they are now and how I imagine they can be in the future. . If you’re looking for more in depth information; Karol  already wrote an impressive amount of information that you can find here : Design Studio 1.5: What’s New in? A (technical) View

The first and second blog you can find :

part 1 : http://scn.sap.com/community/businessobjects-design-studio/blog/2015/06/07/getting-to-know-15-templates

part 2 :http://scn.sap.com/community/businessobjects-design-studio/blog/2015/06/03/getting-to-know-15-the-backend-connection

This blog on 1.5 new features is about data binding. It deserves a lot of attention, more than it is currently given I think, as it is a game changer in how you can manipulate components.  This is the third part in a blog series about new features in DS version 1.5.

On Data binding

A lot of properties of basic components have now the ability to use a data binding function to set the value of the property. This property potentially saves a lot of scripting as a lot of properties can be automatically updated when the bound data source changes. You will find the data binding option by pressing the yellow left- and right arrow icon on top of the properties pane after you’ve selected a property.

07_DataCellBinding.jpg

figure 1: Data cell Binding

Additionally you can do an output bind with list items where the choice of one of the members automatically triggers an action. Currently that is a filter action on a datasource.

07_DataCellBinding_InputandOutput.jpg

figure 2: ouptput binding

The fun part is however that it seems that all the components can get bound this way. This opens room for a lot of master data driven options. For example. Create a datasource with in rows, component names and 2 key figures: left margin and top margin:

The data binding looks like this :


MEASURES_DIMENSION)":"RightMargins","componentID":"CHECKBOX_1"}


The value that you get can get passed along to a formatter. You can review the formatter in your Central functions in the outline view.

  1. The one thing what would be really nice here is that I would be able to pass the name of the component to the data binding JSON. Then I can just copy the component with data binding and the binding function would refer to the new component name J

(By the way : I do not say you should go this far with master data driven: It is an example in how far you can go).

07_FormatScript_Binding.jpg

figure 3: value formatter function

What could be better?

What I notice is that once the data is populated the items aren’t refreshed if you filter the underlying Data Source. For the future I would like an option to make the binding either dynamic (update at each data source change) or static (stays the same). Now if I want something cascading I still have to fall back to scripting and as this is a common feature a lot of scripting has to be kept around, even after this feature is introduced.

Conclusion

Data binding will decrease scripting… a lot. Already this what we have can save us a lot of scripting. When the binding options get expanded even more you will be able to create large applications that can be managed for a large part by data sources.

The more I looked at it the more I thought that this could be actually the biggest feature for designers. Especially as I noticed in the SAP Insider Q&A today that a lot of people want to avoid scripting.

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

    thanks for sharing, but I’m a little bit confused that your binding is not refreshed when datasource is updated. All the things I used it already refreshed itself. And I was looking for a way to make it static…

    What did we do different?

    All the best

    Dirk

    • Bindings are updated automatically.

      If in some circumstances the value is not updated on data source change it is a bug that must be fixed. The idea of property binding is the automatic update. Else I could have simply used a startup script.

  • Hi,

    I couldn´t find the new property for data binding. I checked my client version an anything looks good. Any idea why I can´t see the new options?

    Kind regards

    Andre

    • Hi Baudouin,

      You may have cracked this by now, but I had to resize/expand the Properties pane for the Binding column to be visible

       


      Regards,

      Dave