While the quick start wizards in Visual Builder Cloud Service (VBCS) make it very easy to create tables and other UI components and bind them to business objects, it is good to understand what is going on behind the scenes, and what the wizards actually do. Knowing this will help you achieve things that we still don’t have wizards for.
For example – let’s suppose you created a business object and then created a UI table that shows the fields from that business object in your page. You probably used the “Add Data” quick start wizard to do that. But then you remembered that you need one more column added to your business object, however after you added that one to the BO, you’ll notice it is not automatically shown in the UI. That makes sense since we don’t want to automatically show all the fields in a BO in the UI.
But how do you add this new column to the UI?
The table’s Add Data wizard will be disabled at this point – so is your only option to drop and recreate the UI table? Of course not!
If you’ll look into the table properties you’ll see it is based on a page level ServiceDataProvider ( SDP for short) variable. This is a special type of object that the wizards create to represent collections. If you’ll look at the variable, you’ll see that it is returning data using a specific type. Note that the type is defined at the flow level – if you’ll look at the type definition you’ll see where the fields that make up the object are defined.
It is very easy to add a new field here – and modify the type to include the new column you added to the BO. Just make sure you are using the column’s id – and not it’s title – when you define the new field in the items array.
Now back in the UI you can easily modify the code of the table to add one more column that will be hooked up to this new field in the SDP that is based on the type.
Sounds complex? It really isn’t – here is a 3 minute video showing the whole thing end to end:
As you see – a little understanding of the way VBCS works, makes it easy to go beyond the wizards and achieve anything.
Powered by WPeMatico